Smartphone Application Development Using Phonegap

If you are looking for a full fledged framework to create Smartphone Apps in a very short time, Phonegap is the answer. This intuitive framework that could turn a seasoned web developer to an app developer by harnessing their existing web development knowledge. It makes development effort a lot easier  by drastically reducing the development time and cost. It’s the best development approach as far as developing an app that compliments a web site or web application.


Recently Phonegap emerged as a powerful framework that brings lot of power to the hands of developers to build powerful apps in a comparatively less time than building device native apps.


How does it work?

The Phonegap framework will act as a wrapper that translates the device native commands into a single Javascript file that can be easily linked to a HTML5 file to invoke from your app. Yes, the phonegap features a number of APIs that makes it really easy for one to implement device features into an app.  To cite a basic example, the contacts stored in your device can be managed from your app using the corresponding API. Likewise, the geo-location feature enables you to integrate a full fledged map into your app.

Multi-Platform Deployment

Not yet convinced about using Phonegap for your next smartphone app? Let’s consider the biggest advantage of using Phonegap. It lets you to deploy your app simultaneously targeting multiple platforms that includes Apple, Android,Windows, Blackberry devices. Since the core remains web, it is easy to manage and release future versions.

Building User Interface

You can use Jquery mobile, which is a web framework to create pages in conformance with the smartphone app specification. Jquery mobile can handle different transition effects that are demanded by the app using CSS3 transitions. A Jquery mobile page can be a single page for the whole application or multiple pages loaded into the main interface. This framework lets the app to load HTML5 loaded faster inside the app applying different transition effects as chosen by the programmer.

To conclude, the strategy is to go for Phonegap if you are developing an app for a web site or web application. But if you are looking at a more dynamic development such as required for games, I recommend using the native coding that offers greater performance. There are large number of applications built with this amazing framework. You can browse these apps here.

Why you need an on-site consultant?





These days, software applications play a major part in the running of any organization.  Doing business without a properly configured technology platform could lead to ultimate chaos in an organization.


For example, a CRM software could help a business to track all those leads that are originating from different sources and an effective follow-up can be made sure. Likewise, an ERP (Enterprise Resource Planning) software can integrate all the vital functionality of an organization and effective management of business is made possible with the maximum utilization of resources.

Whatever the case, the software needs to be selected on the basis of the current requirement as well as the future ones. Scalability, as the organization grows bigger, is one of the key issues to be addressed here. Here comes the role of a software consultant who can fine tune your business requirements and help you to choose the best software for running the business without interruption. A software consultant has the responsibility to analyze the existing system, how the business is done and help the management to decide what are the software that are best suitable for the business under review. Based on the cost consideration and other factors, the consultant could lead the management to select a customized software or a ready-made one.

Once the software selection is done, it’s now the implementation. During the implementation phase, all the basic requirements have to be studied and properly integrated to the software. Vijay Software work model requires on-site consultants to act as the intermediary between the client and our software team in Kochi, India. They review the customer requirements and after careful analysis prepare a proposal and work estimate, to be reviewed and approved by the customer before proceeding to the implementation phase. This work process prevents last minute changes of the project and resultant cost overruns.

How to Integrate Newsletters To your Website





Sending out periodical newsletter is important for a successful business as it updates the prospective clients with the latest that’s happening with the company. It can be used for promoting brands and add a professional touch to your customer relationship endeavors. Having a well defined newsletter strategy will improve your customer relationship efforts.  The new product releases, upcoming events and anything matters can become the content of a newsletter.  These newsletters could also cover general aspects pertaining to an industry giving a broader outlook on the business prospective.

Integrating with a website

Integrating Newsletter management with your web site is now possible with services such as Constant Contact or MailChimp. While constant contact offers a 60 days free trial, MailChimp gives you a free pakcage that can be used for managing up to 2000 subscribers. By integrating one of these services to your website, you can enjoy seamless sending of newsletter to your clients by using APIs provided by these services. With some good coding, it is possible to integrate Newsletter signup and campaign creation from within your web application. Subscribers can easily signup from the homepage while campaign creation functionality could be integrated to the admin console, so that admin can easily send newsletters.

Improving the Effectiveness

While exploring the possibilities of maximum to reach for your newsletters, you may find it more convenient to have them published by providing social sharing capabilities.  By adding those glittering social sharing buttons to it, you can make it more easy to share by your readers.  Instead of just forwarding the Newsletter, these social sharing buttons will actually share your Newsletters making it more acceptable for the new recipients. Another area to look is the layout. A simple layout used in your Newsletter adds more compatibility to it. By compatibility, I mean the display of your layout in different email clients. A complicated design and usage of html tags may result in problems with at least some of the email clients. Different email clients interprets at least some part of those HTML in a different way or ignores the instructions completely.  MailChimp Inbox Inspection Report is a specialized service to check how your layout will look like in different email clients by providing a series of screen shots.

It’s important to note here that you should be taking some precautions so that your subscribers will not mark your Newsletters as spam causing trouble to you. Double opt-in is the best way to make sure that your subscribers are genuinely interested in your content.  This functionality, when enabled will add the new subscriber to your list only when he or she confirms the subscription by responding to an email from the inbox

Vijay software implemented Newsletter integration to web sites using constant contact and mailchimp. The biggest challenge was to come up with the right HTML that works on a wide variety of devices and email packages  (iPhone, iPad, Android smart-phones, Blackberry, Outlook Express, so on.).

Ensuring Quality in Software Development, Manual Testing and Automated Testing

Software testing is inevitable in an application development process. Testing for the windows and web based applications has different methodologies to follow. When it comes to a web application, the most important thing is to make sure that it is secured from various hacking possibilities such as SQL injection, session hacking, etc.

Selection of testing type i.e. Manual or Automated testing, entirely depends on the type of application and client requirements. For e.g., if the client insists on an automated script, you have to resort to automated test generating scripts for all the tests conducted.


Functionality, compatibility, performance, network, scalability, user interface, database, etc., all are subjected to vigorous testing for a trouble free application.


Manual Testing
Manual testing is preferred over automated testing because it gives full control over the testing process. The test engineer performs an ad-hoc (random) testing on the website without worrying about the scripts. Browser compatibility testing is yet another area that manual testers can perform in an efficient way. The User Interface, alignment of the controls, functionality, etc are to be tested as the application is accessed using different browsers. During manual testing, testers should always keep in mind about the regression errors that can occur when correcting existing errors.

Tools for Automated Testing
Automated testing comes handy when you have to automate the tests you’re doing on a web application. If the client insists on a script of all the tests conducted, you can generate a script by automating the tests. My favourite tool is Selenium to automate the tests and generate scripts. With this tool, you’re just doing a recording of your testing process so that it can be played back by your client.The script generated after recording the processes can be modified later by adding more testing scenarios. The serious limitation this tool suffers is that it doesn’t allow you to test the functionality of compiled components such as a flash swf for which you may have to resort to a more advanced tool like qtp. Load testing is done to verify how the application behaves under a high stress environment . For e.g., if the application has to handle high network traffic then load testing is a must. It can create thousands of virtual users under load testing environment and see how the multiple access to the application affect the performance.

Testing is thus an essential process in Software Development Cycle, which requires an eye for details and an in-depth understanding about the whole process that will result in a user-friendly application that meets customer requirements fully.