Recently, we decided that in order to stay competitive in today's IT world, we were going to have to develop and deploy a mobile app for our users and do it quickly. We felt that we were already behind the curve.
Users of technology today are moving more and more to hand-held devices to do their everyday job because they aren’t always behind the desk anymore and are expected to be productive anywhere and anytime. More apps are developed for hand held devices than the growth of websites and website functionality. Every software project is also a mobile project. We need and want instant access to information and tools.
As the CIO, I can manage my entire Amazon Web Services infrastructure, receive and respond to alerts, pay bills, order new services and many other functions today from my mobile device using mobile apps. And, I can distribute those same administrative roles across my team members who can also use a mobile app. So, why would our community members not want to search our database for information, ask questions, watch videos to learn new technologies or network with others anywhere they are at any time? They would!
The first question one has to ask is, if I have an entire staff of web developers, do I have to go out and hire mobile developers. The short answer to that is No, but the longer answer to that depends upon the application you have, what you want to do with your mobile app and what are the types of features and functions that you want to expose to your users. Of course, what you think your adoption rate is going to be should be taken into consideration too.
The second question that should be next is, what platform(s) do you want to develop for? For example, IOS vs Android vs Blackberry vs Windows Mobile and phone and/or tablet size.
We chose for our first deployment of a mobile app to develop using Appcelerator Titanium. This allowed us to take full advantage of our existing website and extensible API infrastructure and not have to hire an entire team of mobile developers. Titanium is “an open-source software development kit for cross-platform mobile development. It is an extensible development environment for creating beautiful native apps across different mobile devices and OSs including iOS, Android, and BlackBerry, as well as hybrid and HTML5” (www.appcelerator.com/titanium/
). They have a 3-5 day course where a web developer can learn how to build and deploy mobile apps using their product within that short time. They also have a good support forum if you have questions.
The next question we asked ourselves is what functionality we wanted to have in our mobile app. We had been developing our website and its functionality for 15+ years and had built a large list of features, but we needed to prioritize. We decided to start with the premise of our core business functions first and then build on top of that. At a previous financial services company I worked at where we needed to make the same decision while developing the mobile app for example, we decided to allow people to first login in and see their balances and positions within their account. From there, we added functions to place trades and get quotes and then continued to add from there.
Since we had just moved to an agile development methodology from waterfall, focusing on our core business for the first version of our mobile app and then adding building blocks was easy. We began documenting our user stories that would define our first app release/epic. This allowed us to focus on small chunks of development goals and test each set of code on the two primary platforms we decided on, IOS and Android.
Development was easiest on an Apple computer. Downloading the Titanium developer toolkit was free and you can run the simulator for all the mobile platforms from there. I suggest getting at least an iPod or mini iPad and a Galaxy to start with so that when you want to actually test beyond the simulator, you can.
Some quick items you need to think about when developing a mobile app that is different than developing for a website:
- The user experience and visual navigation within the app and the fact that we use our fingers in swipe and click motions vs the movements of a mouse,
- Screen sizes and how much data you should display before asking the user if they want more (you don’t know if they are on a Wi-Fi network or a data plan),
- Defining what actions are important and mandatory vs. nice-to-have,
- Colors, action calls, icons, etc. and their meaning are more critical as real estate is sacred and
- Your website has (or can be easily implemented) an extensible set of API’s that will be used by the mobile device.
Developing your first mobile app can be very easy if you follow some of the principles I have documented above. We will likely have our first mobile app within 90 days of starting development and using Appcelerator. We are implementing with a very small, dedicated team. We have an engineer, a front-end developer, a designer that also has UX/UI experience and a quality assurance tester.
One last recommendation; decide how you will deploy your mobile app in the Apple store and Android market. Check the rules about charging for your app and payment due back to companies like Apple. We are going to deploy ours as a free app in both. However, you will still owe money to Apple (30%) if your app collects any credit card or payment information. I suggest you do as we are doing and as others like Netflix; politely send them to your website to complete their registration process.