Mobile device with its many sensors including touch and actuators provides great application opportunities. The software development techniques have not evolved significantly to keep with the pace of hardware development. The conventional method of programming is time consuming and prone to errors that are caught only through tedious testing process at various levels. Hence the dependencies on the coding experts to get the end solution still remains. Moreover this has the challenge of synchronizing the understanding of the requirements and functionalities between the functionality designers and developers. Hence the developing software even for the mobile is still done using the desktop and then migrated to the mobile.
How about this? The new subcontract manager of a company wants to collaborate with his vendors using mobile device by sharing the forecast and firm demands. For that a simple mobile app is required to connect to his database, read only the forecast and display. He connects to the codeless programming kit in his mobile, picks a container frame to hold the functional components, places the spreadsheet component that has three inputs- item, date and quantity, places the database connector with the SQL query to return the data required by spreadsheet and connects the component ports using the virtual connectors to allow the data flow from database connector to the spreadsheet. All this is done directly using the touch screen and with very less text entry. His simple collaboration system is in place within some hours and now he can consider scaling it with new functional components from the kit.
This method uses assembling of various functional components rather than instructing the system. The virtual functional components are already tested for input and output with well-defined digital interfaces for connecting. Most importantly these components are handled and integrated or assembled by hand. This facilitates quick visualization, faster building of digital solutions and directly on the device that will be used for operations. The advantage of this is tremendous for the companies and individuals who would like to leverage the technology for their application at very low cost and time.
A framework is necessary to build the virtual functional components, its connectors and the base containers. The elements of this will still need developers to build, ensure that proper interfaces are in place and form a code programming kit that the end user can use his hands to assemble and get the desired solution. This will lead to developers focusing more on the architecture and the specific functional components without getting bothered about its impact on end to end data flow. The functionality designer or the end users assemble these components on base containers or frames. Several of these assemblies is linked to form a process. This is very much like the having the manufacturers of components of integrated circuits, wires and base boards focusing on its development and coming up with new improved versions without compromising on the interfacing standards. The end users then assemble them to get the desired results.
As per Gartner, by 2017 the market for mobile apps development will grow five time faster than the ability of the IT organizations to deliver them. The forecasted 2.1 billion mobile device sales by 2019 will only increase the demand for apps development in future. What is the better method of making that happen than giving the power to program to the users themselves?