Developing Mobile Apps for the Future

Jul 17
09:02

2013

Jennifer Lewis

Jennifer Lewis

  • Share this article on Facebook
  • Share this article on Twitter
  • Share this article on Linkedin

In a recent interview, Larry Page, the co – founder and the current CEO of Google, was asked why he was investing in projects like Google Glass, which were far from the reality today, and very futuristic.

mediaimage
In a recent interview,Developing Mobile Apps for the Future Articles Larry Page, the co – founder and the current CEO of Google, was asked why he was investing in projects like Google Glass, which were far from the reality today, and very futuristic. To this question, Larry gave a very insightful response that the technology that provides incremental benefits over the existing options becomes obsolete in a short span of time, like 5-6 years. It is the technologies that address the needs of not today, but tomorrow’s population, which can think of a long-term sustenance. This is a thought provoking notion, and is valid for almost all hardware and software being developed today, including mobile applications.

Future – readiness is not just a concept. It is an entirely different way of thinking. It is fundamentally different from the standard product development and SDLC techniques. Let us see how.

SCOPE - System Requirement Specifications versus Use case scenarios – The first step that any software developer takes before starting the coding is to freeze the requirements and specifications with the customer or the internal teams. This allows the coding efforts to be directed towards a fixed goal instead of a moving target. Everything from process to workflows to screens get discussed, debated, and set in stone via the Scope of Work (SoW) document.

If you are really looking to create software that will be useful for a long time to come, you need to take a different approach. You need to define the use cases that you think would be valid in the time frame of reference you are targeting. This takes a certain amount of imagination and perception, but once done, it will help you set a course for your efforts. Remember, if you are designing for the day after tomorrow, then tomorrow might change your opinion. Be open to that.

DEVELOPERS - Servers versus chefs – Most coding teams behave like servers in a restaurant. They present you with a menu of options that they have, listen carefully to your requirements, all the while taking notes, and then get you exactly what you want, the way that you want it. This behavior is driven by two factors – firstly, most coders are very close to the technology, and are more comfortable when dealing with bits and bytes that with business scenarios; secondly, the customers want to dictate what they want, and how they want it. This limits the scope of the output.

Programmers who would define the future of mobile apps will need to be creative, innovative, and inventive. They need to be the chefs who dare experiment and be creative with their ingredients, to ensure that the customer with the biggest smile is the one who ordered the chef’s special. Sometimes, it is difficult to change the mindset of the techie teams despite motivation. In such situations, it is beneficial to attach a product manager profile person, who can define the strategy that the team can execute.

SYSTEMS - Tightly integrated versus loosely coupled – The mobile applications, especially enterprise applications, seldom operate in isolation. They need to be integrated with backend systems in order for them to fulfill their tasks. Typically, the best integrations are said to be hard-coded and tight integrations, which bind the two systems at a system call level.

However, as we look for more forward looking programs, the landscape that the mobile interfaces interact with in the backend may change rapidly, causing the tight integrations to fail. The need of the hour is modular; SOA based loosely coupled systems that can easily integrate with other platforms through open standards.