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.
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.
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.
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.
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.
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 Safaricom, African software developer Innova Ltd, the Kenyan ICT Authority and the Kenyan Education Network discussed the challenges and debated how to overcome them.
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.
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.
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.
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