This is part 2 in a series of posts based on a talk I gave recently at the Chicago Information Technology Architects Group. Feel free to leave feedback.
In the previous post I discussed what reasons a company might have for creating a smartphone application. In this installment I will cover some of history and state of the different platforms as well as features that can be leveraged for building enterprise smartphone applications.
Before you start choosing a platform to develop your solutions on it is good to understand how we got here and what features you can leverage.
To my memory we owe all of this to a product called the Apple Newton that came out in 1987. It was the first PDA and back then I was much more of an Apple fan. I was very impressed with this device even though it never really went anywhere. The Palm Pilot by US Robotics was the next major advancement in PDA. It had a simple short hand window that allowed for quick stylus entry..
Later, Windows CE came out and started the broadening of the PDA market. After that it was the Palm and CE operating systems that started showing up on cell phones and for some time these were the two dominant operating systems that were distributed with devices from multiple hardware vendors.
The iPhone was the first smartphone to take away the stylus and give us a multi-touch interface. It was a revolution in usability and really changed the attractiveness of smartphones for the general public. This brought us to the beginning of the current state of the market with the concept of an online store that makes it easy for customers to get new features and functionality on demand.
With Android, Google made this more than a one horse race. Not only did they come to compete, their low cost actually made them the leading OS. Of course what made Android so attractive also is its major fault. It is so open that it has been a target for malware which leaves consumers exposed. Fortunately for Google though, most consumers aren’t aware of the threat that they are under.
Although Microsoft had put out one of the first smart phone operating systems with CE it had to play catch up and finally came out with the Windows Phone. They have gone for a market approach between those of iOS and Android. They support multiple hardware vendors like Google, but they kept a certification process for applications that is similar to Apple. They also created a user interface that was different enough to give it a clear separation from the other two platforms.
The result of all this is hundreds of millions of smartphones being sold monthly across all three platforms giving us a wide range of choices and challenges when it comes to developing solutions.
So what are the features that make these devices flexible enough be considered for use in the enterprise?
The biggest advantage of today's devices is network connectivity. The ability to access information from multiple sources at a moment’s notice is critical for businesses. Add to that the ability to communicate over a variety of text, voice and video modes and we have a powerful starting point.
Every smartphone has a cameras and they are not just useful for posting to Instagram. We are seeing more applications such as Bing vision that allow us to scan just about any printed code or text to find information. These capabilities have been made available to developers in the form of standard libraries for reading barcodes of just about an flavor and optical character recognition (OCR) interpretation.
Bluetooth give us the ability to communicate with multiple devices. Whether these are headsets, keyboard or printers the wireless communication capabilities are just starting to evolve. The more these wireless communication protocols grow, the more opportunities we will see to transfer data between users and a variety of devices.
Local storage of information that can be called up even when the device cannot reach the network is the other big capability. This give users the ability to work offline as well and transmit information when connections are restored.
These are the tools that we have to work with to build applications that can be leveraged to gain a competitive advantage for companies that implement them.
In the third installment I will cover key concerns that you face when building enterprise smartphone apps.