Friday Droidcon keynote – John Kimani

(More Kenya notes)

On Friday morning at Droidcon, the keynote was given by John Kimani, developer ecosystem manager at Google. He talked about the state of the Android ecosystem, and also about what’s coming next in Android.

There were a lot of fascinating statistics in the talk. Two that stood out:

There were 1 Billion Android devices activated in 2022.

There are currently 3 Billion Android devices active in the world. This includes not just phones, but also watches and cars, among other things.

Another interesting thing that he talked about was memory requirements – specifically, that in Android 11 and earlier, there was a specific focus on keeping the OS small, so that it could run on older devices. This is particularly important in the African market, where there are lots of older devices in rural areas. The focus on low memory footprint meant that Android apps were typically also low footprint, and available to those customers.

But in the latest Android versions, that is no longer required, and as of 11, devices with less than 1Gb are no longer supported. This means that 60% of Kenyan customers can not run the latest version of Android.

American and European software companies do tend to ignore the rest of the world, in the rush for the latest and fanciest. Another talk I attended emphasized the importance of visiting your customer *before* you start developing, so that you can ensure that you’re designing for them, rather than for your own ego. (Link goes here, once I’ve written that one up.)

Kenya Day 5, Droidcon Day 2

(More Kenya notes)

Day 5 was spent all day at Droidcon, so I don’t have much more to write other than to mention that I attended a couple of talks, including one on WearOS development.

Then, on the way back to the hotel, I shared a cab with Louis and Rosario. Louis, who had given another talk about WearOS earlier that day, was wearing four different WearOS watches, and showed me some of how the different ones work differently.

He also offered a bunch of sample code, as well as suggestions of what I might work on – he says he’s got lots of ideas and no time to implement them. I might take him up on that.

 

WearOS development – Kenichi Kambara and Josh Murigi

(More Kenya notes)

On Wednesday, I attended a session about WearOS development, delivered by Kenichi Kambara and Josh Murigi.

Much like the Android Auto presentation earlier in the day, this made me curious about doing some WearOS development. Major challenges – I don’t have a WearOS device, and I don’t have any actual ideas for something that I’d want to build for a watch. But, still, it looks very, very cool. And the frameworks for building apps look really easy to work with.

Or maybe it’s just that Kenichi and Josh were great presenters.

This is the kind of talk that I love attending – where I come away with a passion to try a new thing. Even though I realize that finding time for this is going to be very challenging.

 

Android Auto development – Benard Ngoda

Brief notes on a session I attended at Droidcon.ke.

Benard Ngoda presented on Android Auto development, which made me want to tinker with Android app dev. Maybe.

There are two main Android platforms for cars.

Android Auto is a platform for writing Android apps that are installed, and run, on a mobile phone, but can export some element of the UI to the car head unit.

Automotive OS, on the other hand, is for apps that are installed directly on the head unit itself. This is, as far as I can tell, harder, because every auto manufacturer, as well as every after-market car head unit manufacturer, have their own custom spin/distribution of it.

Benard’s github repo has a bunch of sample code for getting started. Apparently the best IDE for doing this is Android Studio. It’s unclear to me if you must use Android Studio, but it seems that everyone does.

 

Driving in Kenya

(More Kenya notes)

I’ve alluded a few times to driving in Kenya, so here’s a little more on that topic.

It is terrifying. And the drivers seem completely at ease with the terror.

There are no stop lights. No stop signs. Barely any signs of any kind. And the drivers just know what to do. I was amazed by how few dents I saw on cars while I was there.

I did see some traffic lights while was there, 2 or 3 times, but they were purely decorative. Nobody was paying the least bit of attention them. And I did, in fact, see a stop sign once or twice. There was no evidence that anyone else was aware of what it meant.

When you come to a major intersection (did I mention, no lights or signs?) people just go. They find a gap, and they go for it, and the other drivers look like they’re not going to let them in, but somehow it works out. Clearance around cars is inches, at best, but it all somehow works out, with very few accidents.

And then sometimes, traffic just … stops. For 10, 15, 20 minutes. Just stops. And then something clears up, and it starts again. This happens a lot in the evenings.

There were numerous situations where we’d be flying along at 125kph (75 mph) and then suddenly we’d be at a standstill. As you inched along, you’d realize that a matatu (passenger bus) had just stopped in the road. Sometimes in the middle lane. Sometimes to pick up and drop off passengers, but sometimes it was because they had broken down, and were fixing it, right there, in the middle of the road. This was not an isolated event.

Meanwhile, among all of this, bicycles and motorcycles and pedestrians are all just weaving around among traffic, and I didn’t see one crash the entire time I was there.

Oh, also, any time the traffic slows down, there are vendors walking between the lanes selling everything, from food to live animals to toys to windshield wipers. I saw one guy selling neck ties, soccer balls, and an inflated Spiderman. Another had dog leashes and slingshots. And another had a book and two scrabble games. All just wandering in and out of traffic while we were driving along.

On the way to the airport on the last evening, the driver had a music video playing on the car stereo screen. Which seemed somehow not very safe. But he was navigating traffic just fine.

And then there are speed bumps. Just randomly, you’ll encounter a speed bump, And they are huge, such that most cars end up crabbing over them to avoid high-centering or, best case, scraping the bottom of the car on them. And folks don’t seem to be at all bothered by this.

When I left Nairobi, the population was just under 1 million. It’s now around 4.5 million, and a huge percentage of those people have cars, which was not the case in 1988.

There’s a fancy new expressway that goes from Westlands to the airport. You can get there in less than 20 minutes, even when traffic is terrible. It’s elevated, and is built in the median of other roads. Most people use the lower road, since the upper road is a toll road, so the expressway is largely empty.

It turns out that there’s more to this story, though.

This entire expressway was built in just 8 months. This happened because the outgoing president, Uhuru Kenyatta, wanted to leave a legacy, and realized that he was running out of time. So he made a huge deal with the Chinese government to come in and build this. Also, he happens to have a large interest in the construction that happened to get the contract. And this was largely done without the government approving it. He just … did it.

So there’s definitely a love/hate thing with the road. It greatly improves traffic – although only for a subset of the drivers who want to pay a toll. But it leaves the country with a huge debt to pay – both financial, and in leverage by the Chinese government.

Also, in the process, thousands of trees were cut down, which gave a lot of shade to pedestrians. And it’s made it very difficult for pedestrians to get certain places, because the construction destroyed a lot of sidewalks in places where there used to be a lot of pedestrian traffic. People were very upset by the trees, some of which were decades old and popular gathering places.

I briefly considered renting a car, when I was planning this trip. I’m awful glad I didn’t.

 

Developer Communities and their Impact – Panel (Droidcon)

The best session I attended on Wednesday – day one of Droidcon.ke – was “Developer Communities and their Impact” – (Wayne Gakuo, Tabitha Kavyu, Naamini Yonazi, Eric Ampire ) – Moderators – Jacqui Gitau

The panelists are community managers in various communities, in various countries, and had a lot of great insight for the audience. I just wanted to highlight a few of these.

Tabitha talked about how people new to communities will try to emulate prominent community leaders, and as a result the communities become a cult of personality, rather than a diverse community of individuals. She stressed that community participation is a process, and that you should embrace where you are in that process. Don’t try to be someone else. Be yourself. And this isn’t just for yourself, but for the health of the community as a whole. Communities draw strength from the diversity of individuals.

Eric talked about burnout and delegation. He said it’s so important not to make yourself indispensable, or you will never have a free moment ever again. Ensure that if you take a week off, things keep happening. If nothing can happen when you’re not there, then you have failed as a community leader. Delegate, and then let people fail, or do it in their own way – don’t yank it back, or you will, once again, ensure that you are the bottleneck of all community activity.

This is definitely a mistake that I have made in the past – setting up process such that nothing could happen without me. And this is indeed a recipe for burnout.

I wish I had taken more notes. Wayne and Naamini also had great insights, and this was the highlight of the event for me.

Not that I’d want to take these folks from their communities, but if you’re looking for community managers, these four really get it.

Kenya, Day 4, Droidcon.ke Day 1

(More Kenya notes)

Wednesday November 16, 2022

Today was the first day of Droidcon, which was, of course, my actual excuse for coming to Kenya in the first place.

Uber picked me up at 7:30ish – my talk was to start at 9 – and it started raining on the way to the venue. Kenya has been in drought all year, and it’s been getting worse over the last few years, so rain is very welcome. But it rained HARD.

When I got to the venue – United States International University, on Thika road, the rain had abated a little. Frank called and said to just stay in the car and someone would come get me.

I should mention that everywhere in Nairobi has LOTS of security. High walls, high gates, and at least one askari (watchman) guarding the entrance, checking ID, looking under the car with mirrors. This is everywhere. And the driver didn’t want to go through the hassle of going through the gate, just to go back out again.

So, after a few minutes, Marvin came to get me and walk me to the auditorium, which was about a quarter mile walk into campus. But on the way there, it started raining in earnest. Zero visibility, and instant drenched to the skin raining. We took shelter in a student cafe, and got some chai to sit and wait.

African tea, which we always called chai growing up, is tea brewed with as much milk as sugar. It’s amazing, and fresh Kenya tea, in Kenya, is even better. I may have overdosed a little on the chai while I was there.

Marvin called for umbrellas, which never materialized, but eventually the rain slowed enough that we decided to make a run for it, and arrived at the auditorium soaked.

9 came and went, and there were very few attendees there yet. Around 10 the rain stopped, and people started trickling in, and at 11 Frank decided that it was sufficiently populated to start.

I gave my talk – an overview of how the Apache Software Foundation governs projects, and how you can run your project the Apache way as well, even if you don’t see the need for a foundation. It was, I think, well received, and I continued getting comments about it, and deeper conversations, all week long, so overall I’m pleased, even though the attendance was pretty paltry.

I attended sessions most of the day, and will write about each of those individually. See this post for the listing of those, once I get them written.

At the end of the day, Frank wanted to take me to dinner, and asked where I wanted to go. I said, I want to go where you would go if you were picking. This turned out to be very wise.

I caught a ride with one of the other speakers, and went to a little restaurant in the CBD (Central Business District) where they served food from Frank’s part of the country – Nakuru area. Grilled fish. Greens, Ugali. So, so, so good.

I got back to the hotel at 10ish, and once again crashed hard. Overall, an amazing day, and very satisfying. The content at the event was fantastic. The conversations with brilliant young African developers were even more fantastic.

I am so glad I came.

Kenya, Day 3

Tuesday, November 15, 2022

(More Kenya notes)

This morning I walked over to the “Maasai Mall”, which is a collection of little stores, all selling mostly the same stuff, for tourists. I presume the tour companies bring their foreigners here to buy stuff.

It’s set up as a dozen independent stores, but they are clearly all working together, and the rivalry between them is part of the show. But when it comes time to pay, they all defer to the boss man, who collects the money.

I got a couple of kikois, ad several shukas, and a few other things. They asked for 25,000ksh and I ended up paying 13,000, which I’m sure was still twice what a local would pay. But it’s all part of the experience, right? (The shilling is currently about 120 to the dollar.)

The history of the shuka is interesting, by the way. Worth doing a little reading about. These brightly colored woven cloths didn’t start to become part of Maasai dress until they were introduced as part of european trade, but have become inextricably connected with the Maasai now. Also, they’re great as a blanket, a table cloth, a dress, a skirt, whatever you need at the moment.

At lunch time, my highschool friend Sandeep picked me up for lunch, with her driver. I had a chance to talk with him – David – a little about the fascinating art of driving in Nairobi. More on that later.

We went to the Muthaiga club, which I always dreamed of going to, as a kid. It’s the pinnacle of ex-pat (specifically English) high society social gathering places in Kenya.

If you’ve seen Out Of Africa, and remember, there’s a moment where Karen Blixen is invited, finally, to have a whisky with The Men in the private bar. That bar is still there, and is still men-only, except one day a year when the women are allowed in. Yes. Still. In 2022. The English overseas are always far more English than the English.

I had the fried tilapia, and OH MY WORD it was good. I used to love tilapia. It is, by far, the best fish in the world. And then I moved to the US, where tilapia is sad tasteless frozen briquettes of sadness. But in Kenya, when it’s fresh out of the lake, and not from a farm thousands of miles away, it’s absolutely amazing.

I had a great time catching up with Sandeep, and seeing where life has taken her.  34 years is, indeed, a lifetime.

On the way back to the Jacaranda, Sandeep dropped me off at the Village Market, which is a delightful little mall, where I bought some more overpriced gifts for family and friends. And yet, it was still far less than I would have paid for the same items imported to the US, so I’ll fool myself and say I got a deal.

In the afternoon I worked out on the courtyard for a few hours. Annoyingly, people don’t stop sending me email when I’m traveling.

Kenya trip, November 2022

I’ve written about my trip to Kenya in a bunch of individual blog post:

Daily travel log

Droidcon Sessions

Other notes

Kenya, Day 2

(More Kenya notes)

After two nights sleeping sitting up on planes, I slept like a rock, and woke up late. I had breakfast in the hotel restaurant. The chai, which apparently people now call African tea, rather than chai, was just amazing.

After breakfast I walked to the city market – just over 2 miles. I have been told, since, that this was probably not the smartest thing I ever did, due to the recent surge in crime, but I felt very safe. Nobody appeared at all sinister or threatening. Really the only even uncomfortable thing was all of the young kids begging, which is always so heartbreaking, no matter what country I encounter it in.

The new expressway (more on that in a later post) is very disruptive, and appears to have erased a lot of pedestrian paths, leaving wide swaths of mud and broken sidewalks, which was annoying. And the sidewalks that exist would suddenly disappear in a mud pit, or even a deep hole.

Downtown looks somewhat familiar, but a lot is new. The CBD – Central Business District – is fairly crowded, and there are kiosks everywhere selling everything.

I went to the city market, and it was much as I remembered it, although there were no tourists there at all, as far as I could tell. In fact, the entire time I was downtown, the only other foreigners (ie, white people) I saw were *inside* the Stanley Hotel.

I got a couple of kikois, and some bracelets, and I’m confident I paid about 3 times what I should have, even after bargaining a little. And I walked around the inside of the market for a bit.  I suspect that some of the tour companies bring tourists there to do their shopping, since almost everything was souvenirs, in that part of the market. The old food market was of course still there, smelling as strongly of fresh fish as ever.

I walked around downtown a bit more, seeing a few familiar places, and more unfamiliar ones. And I finally made it over to the Sarova Stanley (formerly the New Stanley, formerly the Stanley) and the Thorn Tree Cafe.

When I was a kid I used to go to the Thorn Tree in Saturday mornings for samosas and chai, which then cost about 5 shillings. It was much the same as I remembered it, although the tree died in 1998, and was replaced, and has been replaced again since then, so it’s still pretty small compared to the monster tree that was there when I was a kid.

The last week I was in Kenya, I went to the Thorn Tree, and ordered my usual, and thought about how it was the last time I would ever get to do that. So it was delightful to have chai and samosas again at the thorn tree, although so much has changed since then.

Another familiar site was the Trattoria, looking exactly as I remembered it. (That’s also one of only two Jeeps, in that photo, I have seen the entire time I’ve been here.)

I took a cab back to the hotel, since by that point I had walked about 6 or 7 miles, and was carrying all that stuff.

After resting a bit, I decided to go out to Karen, and visit some of the places I knew as a kid. There, too, I encountered everything completely different. I went to NEGST (now renamed to Africa International University) and saw my old house. That was much the same, although nobody was home. And the rest of campus was very different – all of the original buildings are still there, although they’re very run down. And there are many new buildings, several named after people I knew.

Next, I visited Nairobi Academy, although it was about 4:30 by the time I got there, and most of the staff had already left. Not that there would have been anyone left who knew me. I signed the visitors book and walked around a little. It was largely as I remembered it, although there are a few new buildings.

One more note, the guy that took me out to Karen, drove me for more than 3 hours, and waited for me 15 or 20 minutes at each place we went. For all of this, he charged me 4000 ksh, which comes to right around $32. It cost me twice that to go from DTW to my hotel in Detroit, which was maybe 15 miles. Meanwhile gas costs right around $6/gal. I’m not sure how he makes ends meet. He also provided some sightseeing pointers, and marveled at this being the first trip back in 34 years.

Nostalgia isn’t what it used to be, as the old saying goes. (If it’s not an old saying, it should be.) I don’t know what I expected, but it was somewhat disappointing, nevertheless. But I’m glad I got to see them.

The Margin Is Too Narrow