Wednesday 10 July 2013

DEVELOPING A MOBILE APP ON THE CLOUD IN LESS THAN AN HOUR

  Two of the hottest topics in technology today are “mobile” and “cloud.” They are at the top of most CTOs list of objectives, yet they also seem to be the ones most shrouded in mystery. So where do our young Kenyan tech savvy and/or computer aficionados start?
With the video and do-it-yourself guide below!
2013-05-17 14.06.14This year, at NCSIT 2013 Nairobi, I ran a session where we built a complete database-backed web application from scratch using the SpringSource Tool Suite and the Grails framework for Java. Then, we published the application to Cloud Foundry—an open VMcloud Platform-as-a-Service offering. Finally, we proceeded to build a mobile application that consumed the data from the web application built earlier.  I broke a cardinal rule by doing the entire session live, but it all went off without a hitch and audience participation with the application was an absolute blast. By the time we were done, we had built two applications from the ground up, and folks had an application that looked, smelled, and tasted like a native mobile application running on their phones. And, we did all of this in less than one hour!
In the months since, I have had multiple interactions with STEM advocates for Africa,start-ups Innovation firms in Kenya,Youth initiative programs directed towards Konza city and OpenWorld Ltd attendees. I have heard from many who followed the session content—they were building their own mobile applications using the same technologies and using the guide we used at OpenWorld!
In particular, a gentleman in the audience interrupted me recently as I was presenting at an event in Sarova Panafric. As I started talking about Cloud Foundry, he said that he was in our OpenWorld session and had redone the whole lab himself. And, the best part of his interruption? He wasn’t a traditional programmer. He was more focused on infrastructure, which was very rewarding to hear.  These are the things that make it fun to get up and go to work each day.
During the OpenWorld session we talked a bit about the “mobile dilemma” and the challenges that exist in mobile application development.  In this post, I thought I would:
a) trim down the session content into just the programming pieces,
b) make a video to share with the blogosphere,
c) provide a complete “Do It Yourself Guide” to download and follow along.
  The guide is a walkthrough and very basic introduction to some 101 “mobile web” concepts and technologies.  So, let me attempt to pull on my flame-proof suit up front with the following disclaimers:
    This is not a formal dissertation on proper enterprise mobile application development methodologies and lifecycle management.
    This is not a “full stack” bootcamp that will make you a mobile rockstar.
    This is not a formal class on any specific development technology.
    This is not a  “best practices” view on mobile development.
    This is not a substitute for taking a proper mobile development course!
The purpose of this blog post is to simply have some fun and provide a simple introduction to help folks write their own mobile applications using a web technology stack that could easily be scaled in the future. And, I wanted to do it with technologies that
a) folks could go and grab easily and
b) implement immediately without having to buy anything, require existing services, or have any other “stuff” to deal with.  We will show you everything: from how to sign up for your very own Cloud Foundry account and download the SpringSource Tool Suite; to writing the web and mobile applications.  All from scratch.
In my travels,trainings and interactions, I find many enterprises big and small(SMEs) struggling to get started in this space.  Most everybody has a mobile application of some sort nowadays, but many times they are little more than what used to be a static website in the late 90’s.  Or perhaps, it’s a marketing tool.  More times than not, the entire development process was outsourced.  But now, people want to start building mobile apps themselves with real data and real logic.  And, they want real applications that provide business value or competitive differentiation. A good example of such an application is "OpenBusiness" which is 100% Kenyan made from design to the functionalities that befit the Kenyan business environment. My hope is that you will get an introduction to some technologies that allow you to reuse the web skills you have in house to build your very own mobile applications and use the experience as a launching pad into your next generation mobile strategy.
If nothing else, I hope you have some fun and can show off your new crazy mad mobile chops to your friends!   :-)
Now go build something!
Author:Samwel