- Computers & Software»
- Computer Science & Programming
What is Mobile Application Development
(c) 2012 kevin languedoc (klanguedoc)
Most mobile application development is about developing software applications for mobile devices like iPhone, iPad, iPod Touch, Android, Windows Mobile and BlackBerry. Mobile applications are distributed through the respective web stores and deployed to smartphones and tablets. That is the main view of mobile application development but there is another side to this story: industrial mobile application development and medical mobile application development. We will explore these different market segments in this article.
Mobile application development is an important and growing market in the information technology field. The mobile market is the fastest growing market segment of all times, surpassing the growth of social networking, the internet boom of the 90s and the first decade of the new millennium and the PC revolution of the 80s. The mobile application market began only about 5 years ago and is only starting to emerge from the early adopters stage and into the mainstream.
The mobile application market can be broken down into very broad sub-segments of consumer and commercial applications, instrustrial mobile applications which also can include telecommunications and medical mobile applications.
Besides looking at these specialized markets, I will present some of the programming technologies and tools that can be used or are being used to develop mobile applications.
Mobile Application Development: Consumer and Commercial Markets
The consumer and commercial mobile markets are dominated by smartphones and tablets. The distribution of apps that target these devices is pretty much controlled by Apple (iTunes App Store), Google (Google Play), Amazon (Amazon Mobile), BlackBerry (AppWorld) and Microsoft (Microsoft App Store).
Mobile application development for the consumer and commercial market involves creating applications that target a specific platform. If you want to develop applications for iPhones, iPads and iPod Touch’s, you would need the iOS platform with its Cocoa Touch framework and Objective-C programming. If you want to develop mobile applications for Android smartphones and tablets which can be for a slew of manufacturers like LG, HTC, samsung or Motorola, you would need to use the Android SDK or NDK. Likewise for Windows Mobile, which is currently at version 8, you would need to use the Microsoft .Net framework for mobile. Research in Motion, the makers of the infamous BlackBerry smartphones and Playbook tablets, have a kind of “you can use whatever you want” application development strategy also a developer like yourself to use their native C or Java SDKs or you can use their native web SDK or the Android SDK or even the Adobe Flex framework with the BlackBerry Native Extensions.
While the consumer market applications are mostly games and productivity apps that are purchased and used on a single device and are considered standalone since the apps don’t interface with back-end systems like database servers or ERPs (Enterprise Resource Planning) systems, the commercial market on the other hand is completely the opposite.
These applications may be found as storefronts to allow users to purchase goods through them. They may also be mobile clients to back end systems like Salesforce or SAP. They are used to allow users to check and manage inventories, to conduct business, to perform some business function. These mobile applications are often free to download as they require a commercial license to be used with an enterprise system like a transactional system, an ERP or MRP system or a database system.
These commercial applications can also be found credit card handheld devices and barcode readers that can process a commercial transaction and check inventories. You could also find these commercial applications in remote commercial kiosks.
If you are developing application for this market, you would most likely be selling these apps through the B2B marketplace like Apple’s B2B (Business to Business) AppStore, or they will be distributed as part of an enterprise licensing program.
Industrial Mobile Application Development
The Industrial mobile applications are apps that are used in an industrial setting like manufacturing, distribution, shipping, infrastructure like electrical utilities or telecom networks. They can be used to interface with production, packaging or assembly lines or warehousing systems. Many of these applications are used with RFID (Radio Frequency Identification) handheld devices and scanners. They can be used to interface with barcode readers and sensors and HMI (Human Machine Interface) devices that can control machines and generators, electrical distribution. These industrial mobile applications can also be used to operate remote robots to control oil pipelines, to control robots like the rover machines like those being used by NASA on Mars or to control satellites and aerial drones. They can also be found in remote control devices television controllers, telephone or any other electronic device that operates through an interface in an autonomous or semiautonomous manner.
These advanced and a single use applications are most often written in languages like Assembler or C/C++ or Java.
Medical Mobile Devices Application Development
These applications are akin to industrial devices but have a more narrow focus by providing functionality to mobile devices that are used by the medical industry. These may include portable ultrasound devices or ambulance monitoring system, electronic devices for temperature readings and blood pressure., or blood sugar glucose measuring instruments and monitors. These apps have a very narrow focus and are developed to operate the electronic devices.
Of course there has been tremendous crossover in the last few years and industrial and medical apps are being developed for use with the iPhone or Android smartphones, but primarily for the iPhones and iPads. Recently the FDA has published guidelines for developing mobile applications for mobile devices. This oversight will likely be copied by other health organizations around the world.
While it is technically feasible to develop applications with any type of programming language and or technology, the industry has focused their innovation efforts on a select few languages. The table above provides some insight on which language and technology each major platform is using.