Should Existing Software Be Developed From Scratch

Several companies have started the process of transitioning from PC and desktop versions to mobile platforms because they have realized that a huge chunk of their customers and target audience can be reached there. The advantage with traditional laptop PCs and desktops is that you have a standard screen size, form factor and other features in them, but when it comes to mobile platform, you have to target and reach four different platforms – Android, Blackberry, iOS and Windows Phone. If you are creating an app or software for mobile platforms then it would be advisable to modify and use the older versions of the software than creating a fresh one from scratch. With each new version of the software, you can expect less number of bugs and more features. This way, you don’t have to bother with the bug fixing part (as the bugs are already fixed). You can modify the software and create a new version or tweak it to suit the mobile platforms without wasting time on bug fixes.

Each new version of software comes with new features that customers ask for. Whenever a new software is released, software companies get the feedback from their customers saying they want more features added in it. And that is not the only reason. IT companies take care to retain the older versions of their software because there are people demanding it. Yes, it is true that there are takers for older versions of software, probably because they are used to it or because older versions take up less memory.

Why it is better to modify the old software when you want to create an app for the mobile platform

It is also much cheaper to tweak the old software than create a new one from scratch. So many software companies prefer to modify the existing one so it would work on mobile platforms. The software development team would need more time to create new software from scratch when compared to tweaking an existing one. The best thing about modifying existing software is that the cost is negligible and you don’t have to deal with the immense complexities that arise while you are creating a new one.

However, there are few parameters to consider when you are switching from desktop applications to web applications. Modifying existing software is the answer to create an app for mobile platforms, but in order to make it successful, you have to remember these points as well:

Screen size

Applications designed for desktop platforms are naturally much larger than what you see on mobile platforms. The apps must be designed in such a way that they load quickly on the mobile applications; the navigation buttons must be easily accessible, the font readable and the text and images perfectly aligned.

User input

The user input must be clearly defined. It is not the keyboard and mouse input method that you use in mobile applications, but different kinds of “touch” – single tap, double tap, move and sling, and long touch. This must be clearly defined when you are modifying the app. The keys for data entry must also be comfortable; enabling fast typing and minimal manual typing. It would be perfect if you could add different options for better accessibility, thereby eliminating the typing hassle. In the desktop version, you can use links to go to another page, but doing the same thing on a mobile device may turn out to be undesirable. When you are making the software, ensure you put in big buttons, tabs and bars so they will not click on the wrong link and go to a page they did not wish to.

The screen density

The screen density for different phones is different. You have phones with 120 dpi and you have phones with 240 dpi. The screen will be very fuzzy for the phones that have low resolution. Your app will look much finer on a higher end phone probably. So when you are designing an app make sure it is clear and accessible in all kinds of mobile devices. You can do this by scaling your custom drawing code with various display metrics and multiple resolution images. The controls should also not be too small or else the user might “miss” them.

Mobile phones have limited CPU, battery and memory resources

This is where it is going to get more challenging. Mobile phones have lesser memory and battery resources when compared to the desktop. So the software version that you create for the mobile device must not be memory or battery draining. If your app takes 1 GB of memory, it may not be much in a desktop, but it is a huge strain when on a mobile phone. Make sure the tweaked software does not have any sub optimal codes or complex algorithms because those could eat up battery fast and could be disaster when you release them.
Hence, while it could be a good idea not to create software from scratch, it would be even greater if the software can be tweaked so it works on mobile platforms easily and smoothly.

Interesting links about the topic:
Why Professional Programmers Prefer To Write Programs From Scratch?
Why Do You Have To Use Existing Software Instead of Building A New Software?

Pictures: Flickr.com/ Betsy Weber | Ash Kyd | Craig Dietrich


The author: Reema Oamkumar is engaged as a thought leader at www.Software-Developer-India.com, which is a part of the YUHIRO Group. YUHIRO is a German-Indian enterprise which provides programmers to IT companies, agencies and IT departments.

3 Comments
  1. Hi Reema,
    This blog was very informative. Yeah thats a great idea to update the older version mobile app with new features.

  2. it was informative and such a great idea to update the version and what about ios developers in it?

  3. I don’t think one should go with software development from scratch waterfall model can work in the iteration cycle and new functionality can be added at any cycle.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.