Taking application development to the next level in Kenya

This month I had the opportunity and great privilege of spending time with developers in Kenya’s capital Nairobi. Dubbed the Silicon Savannah, Nairobi has earned its role as a hub of innovation for the East African development community. The entrepreneurial spirit of the developers was energizing and infectious.

What struck me most about the developer community in Kenya is the strong social conscience they share. The emphasis among entrepreneurs here is on contributing to address some of the many challenges in the region. Financial success is seen as a by-product of making Africa a better place.

My role in Kenya was to help organize and deliver a range of activities to help transfer skills and experience to the local developer community. In partnership with a local Nairobi university – Strathmore University – we developed a special one-off training program. Our joint goal was to explore ways to take application development in Kenya to the next level.

As a leading ICT (Information Computing Technology) educator in Kenya, Strathmore University had already developed a world class facility for training developers – iLab Africa. However they recognised a great continuing need to ensure developers are trained on the latest technologies, practices and techniques to better prepare them to be able to work within teams in a professional environment. As well as technical training, Strathmore also nurtures innovation within its iBiz Africa incubator hub where local start-ups can get access to mentoring, working spaces and introductions to venture capitalists. However, Strathmore University also saw a need to help grow the non-technical skills of entrepreneurs helping them develop their business acumen, their ability to identify and solve real needs and to effectively seek venture capital for their ideas.

devs

When meeting the developers on the first morning of the course I was struck by their quiet humility, their keen enthusiasm to learn and their passion to create the next generation of world conquering applications.  I was also pleased to see a much better gender mix than I was expecting.

The majority of developers taking part in the course were students from Kenya and a few from neighbouring countries. Many were Masters students planning their projects, and whose regular studies has been temporarily replaced by our course. Several developers were entrepreneurs from local start ups, who had all been grappling with creating the infrastructure needed to make their ideas commercially viable.

The interests and focus of developers in Kenya is in many ways similar to those throughout the world. The pervasive mega trends of Cloud, Social, Mobile, Big Data and the Internet of Things are all hot topics. But there are subtle differences in how these mega trends are affecting developers in East Africa.

4 mega trends

Mobile is not just put first in Africa – Mobile is fundamental to everything. When planning the 2 week program this became very clear – a Mobile track was not expected or wanted: surely everything we’re covering would relate to Mobile. The developers in Kenya were very experienced at creating Mobile applications – almost everyone present had already created a Mobile app or was in the process of doing so. However, everyone was laboriously hand-crafting native Mobile apps. As a result, they were struggling to create apps to support more than one Mobile platform, were concerned about keeping pace with update, struggling to learn the nuisances of each Mobile OS and unable to easily access all the various Mobile devices.

Seeing the developers’ eyes open wide as they learnt about Hybrid Mobile app development was extremely satisfying. Using Hybrid Mobile development tools like Worklight, the Apache Cordova JavaScript plug-ins and the Ionic frameworks, the developers saw that they could quickly create Mobile apps that would run on a range of Mobile platforms, and still be able to take advantage of platform specific features like cameras. You could see that a massive weight had been lifted from their collective shoulders and you could also see a twinkle in their eyes as they discovered a faster, easier way to make their Mobile aspirations a reality.

008

Cloud was also top of mind. The main driver for developers in Kenya was the desire to use the cloud to create applications that could grow and scale from tiny origins to serve countrywide and then at a global scale. Developers in the start-ups had been already grappling with this challenge. One Kenyan start-up present had already spent over a year trying to work out how to implement the backend infrastructure required to support a project – and they still had no end in sight. The course focused on using a Cloud Platform to speed up deployment of applications, as well as taking advantage of pre-built Cloud hosted services that make applications easier to scale, in addition to removing the need to keep re-inventing the wheel to add common features to applications. For this the developers took advantage of IBM Codename: BlueMix. Cloud Platforms were an entirely new concept to the developers but before the end of the first afternoon’s workshop they had all deployed Javascript applications into BlueMix’s nodejs runtime, modified and re-deployed them using the BlueMix Web UI as well as the cf command line. The developers also learnt how to process workloads faster by using BlueMix to provision more application instances, and also to scale how the workload is processed at the backend using BlueMix’s ElasticMQ messaging service to distribute processing and free up the user facing applications.

Using the cloud for big data was a hot topic for developers in Kenya. The main driver was using cloud to manage, store and process big data rather than setting up, maintaining and scaling databases themselves. Many of the Mobile applications the team created involved handling location data or tapping into external systems. Big data processing techniques like map reduce helped the developers make sense of large volumes of data, while APIs provided developers with access to a range of services like product QR code lookups, Twitter social media feeds and Twilio SMS text messaging.

Several of the developers had been exploring solutions involving data from sensors. One start-up had been attempting to develop a weather monitoring system for a prospect, struggling with soldering components onto circuit boards. “You have no idea what you’ve just shown us” they kept repeating to me, when they saw how quickly they could connect off-the-shelf sensors to the Internet and create BlueMix applications to use the data with the Node-Red tool. Now, with some Texas Instruments equipment we donated, this Kenyan start-up is using the BlueMix Internet of Things service to prototype a solution for their client.

talking

As a special one-off-program we had the exciting opportunity to experiment with the format and delivery of the course content. The course was focused on a hands-on activities and we quickly saw the results. Once the participants had received a grounding in the technologies – as well as practices and techniques to help them work effectively in teams, they were challenged to deliver a fully functioning application within just two days. We encouraged the teams to assign specific roles to each member and to use Scrum to quickly ensure the team were on track. It was very rewarding to arrive for sessions to see teams scrumming, even though they were quite embarrassed to do so at first – especially in front of an audience! The teams also made use of code repositories, taking advantage of the Git integration devOps feature in BlueMix. All the teams rose to the challenge and surprised themselves with how rapidly they could use the Cloud platform to create a real working application.

Next Generation Applications created with BlueMix

Once the developers had a grounding in Cloud and Hybrid Mobile development, each team had just over a day and a half to implement their solution. The applications they produced were focused on addressing real problems they had researched.

  • Mobile app to help drivers locate better routes to avoid traffic jams and incidents
  • Mobile app to help small scale farmers sell their crops for the best price and locate buyers
  • Mobile app to help consumers compare prices of goods and ultimately ensure goods bought are genuine
  • Mobile app to help manage micro-loan applications for the Women’s Enterprise Fund
  • Mobile app to help the Ministry of Agriculture manage which types of crops are being grown and how to respond to crop disease
  • Mobile app to report traffic incidents and violations to nearby Police officers
  • Mobile app to help reduce food shortages by advising farmers on how to optimize their yield and increase their harvests

The two week course culminating in an mini-expo where the developers showcased their applications to an audience of executives from Universities and local enterprises that help promote the development community. This event gave the developers real focus, as they knew they needed to prepare a concise, punchy presentation, a slick demo and be ready to answer questions about their solution – especially how it addressed a real need. It was fulfilling to see the timid developers I had met on the first day transform into confident CEOs.

001 002 003

Clearly between local Universities and Businesses much is already being done to promote and grow developer skills. To help stimulate thinking about how to unite and expand their efforts, we hosted a panel discussion (or “fire-side chat”) about taking application development in Kenya to the next level. Representatives from Strathmore’s iLab, IBM BlueMix, local telco SafaricomAfrican software developer Innova Ltd, the Kenyan ICT Authority and the Kenyan Education Network discussed the challenges and debated how to overcome them.

pannel

Kenya Edu­ca­tion Network

In addition to the intensive two week course, we organized several other events during May for the developer community. Last week we held the inaugural meetup for developers in Nairobi who are interested in creating next generation applications using cloud technologies like BlueMix. The theme for our first meetup was Mobile where we focused on Hybrid Mobile app development and Mobile Backend-as-a-Service (MBaaS). We also held the first face-to-face meetup of the Big Data developers in Nairobi community which until then had assembled only virtually. Yesterday we hosted the first Kenya BlueMix day at the IBM Nairobi offices, with a discussion of the challenges and advantages of using Cloud in Africa followed by a hands-on workshop.

meetup

To reward the developers for their hard work during the intensive course, we decided to end with a fun event – a 1 day code-a-thon (the term Hackathon in Kenya almost always refers to an ethical hacking event to test out cyber security) using the BlueMix Internet of Things service. The theme of the challenge was to create a solution to help make Africa safer. The teams started with a workshop by taking a Texas Instruments SensorTag and using it to capture temperature readings as JSON messages, make decisions based on the data with nodejs apps and send the output over SMS using Twilio or into Twitter. Node-Red enabled them to rapidly create this application and deploy into BlueMix.

hack

In the next few hours the teams created a broad range of solutions to the challenge, including:

  • Surveillance applications using quadrocopter drones piloted with nodejs that relayed video footage to browsers
  • Motion-sensing transportation sensors that captured movement data to trigger alerts
  • Proximity detection solution that measures water levels to manage supplies and alert when water stores are leaking
  • Automated weather monitoring
  • Personal safety and ergonomics

The University was particularly excited about the possibilities of quadrocopter applications, including the excitement and creativity these generate among the students. We decided to donate one of our drone fleet to the University so that the students could continue their projects after we left.

What a great privilege it was to spend time with the developers in Kenya. Their drive to create applications that improve the world around them is inspiring; their enthusiasm to learn is infectious; their gratitude for what they had learnt, humbling.

Most of all, what affected me most, is how the developers viewed the projects they’d started with us on this brief course. They didn’t view the applications they’d started building as temporary – just for the two weeks and then discarded. They didn’t view the teams we’d formed them into as temporary working groups that just dissolved on the last day. We witnessed companies forming. We saw a community coming together. Starts-ups attacking their projects with renewed vigor. From the first day, I’d often told the teams I expected to read about them soon in African Business Magazine. They all laughed, but I wasn’t joking.On the last day of the course, when I restated my expectations, one developer quipped back “No – Fortune Magazine!” They were all grinning, but I knew they weren’t joking either.

dsc06170

Comments from participants
 
“We did this in 1 1/2 days – to have this prototype working using BlueMix – so we can call it rapid development and deployment of mobile solutions”– Douglas
 
“A lot of times when you’re told to create an application it’s needed really, really soon, so it really helps in that sense that we were able to come up with an app in such a short time.” – Angela
 
“The IBM [BlueMix] infrastructure is awesome, as in it’s very good… we haven’t experienced any other infrastructure like that before.” – Ian
 
“The BlueMix infrastructure is actually a wonderful tool… I am hoping the accounts that we have will last for some days”– Jackson
 
“Prior to 2 weeks ago, if you asked me to do the same thing, I would do it but it wouldn’t be ready to go to the whole world.” – Nick
 
“I actually learnt a new way of building applications… the way you have BlueMix and that integration, it just takes your application development skills to the next level… and I would also wish to transfer the same knowledge to [other developers in the Kenya] and let them know that there is a new way to build next generation applications, that there’s an easier way to do it.” – Barnabas

 

Developers’ Tweets

Image5Image8Image7

Image1 Image2 Image3   Image6

 

Advertisements

One thought on “Taking application development to the next level in Kenya

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s