One common mistake that a lot of our prospective clients make is not realizing that their mobile app projects are often software as services delivered on the mobile platform. In this model the mobile app is mostly acting as a client that connects to the service.
Some good examples are the apps for Facebook, Instagram, Twitter, Foursquare, Paypal, Netflix, Path, Pinterest and so on. Most of these services are available via desktop and mobile browsers while they also provide applications developed using native OS environment such as iOS or Android where users can access all or some aspects those services. Some of these services are only available through mobile apps. For example: Instagram and Path.
When it gets to mobile services, most of the work is actually happening on the server side. That means a server application on the cloud becomes the brain of the system to which all the different mobile and desktop apps (Clients) connect to.
Some entrepreneurs, by mistake, call the server side the “database”. Yes, the server application does in fact use a database in a lot of cases, however most of the logic, communication, and data management happens through the server application. Building mobile services requires both mobile and web software development knowledge and skill sets.
Such services are eventually aiming to serve millions of people. In the beginning, these systems are often developed in smaller scales for a smaller group of users  and then in many iterative stages grown and scaled up until they can serve a very large user base. This also means these projects require round the clock attention for maintenance, community management, marketing, etc. They also require lots of experimentation and modifications until a lot of people would want to use them. That is why an entrepreneur cannot just hire a software company to build an entire system and deliver it on a certain time and date.
These types of projects are better done as startup companies where technical founders, co-founders, or dedicated software teams babysit their projects until they grow and thrive. In the mean time outside software companies can supply infrastructure technologies and consulting services to help these startups save significant amount of time and financial resources.
Depending on the complexity and nature of the mobile service, different types of web application technologies can be used to develop the server side. Some of the existing technologies are as following:
- Content Management Systems (CMS): WordPress, Joomla, Drupal
- Social Networking platforms and frameworks: Anahita
- Software Development Frameworks: Anahita, Nooku, Ruby On Rails, or other MVC frameworks
It is often a challenge to find software companies who are willing to develop both the server and clients side for a mobile server. Many of the mobile app developers in the market are not so keen on developing server side software and many web application developers are still testing the waters in the iOS and Android environment. Some entrepreneurs try to find separate mobile and web application developers, hoping that these people may spark enough chemistry to work together, however in our experience we yet have to see some impressive results.
Questions? Comments? Woud like to know what you think. Please post them as comments.