Smartphones need web apps not app store apps

via @andyi on flickr


I don't think you need to learn objective C, or the android environment in order to make useful smartphone applications. Html & javascript should be able to cover 90% (99%?) of the sorts of applications that are being written. I think it is actually a step backwards to force people with good ideas to have to write "close to the metal" (C) code, especially if you already know HTML and the concepts behind flash.

Take for instance this link:

http://sixrevisions.com/web-development/html5-iphone-app/

It teaches you how to create a nice version of tetris that runs in your phone's web browser using html and javascript (iphone and android, maybe blackberry's, microsoft and PalmOS too?) . Not only is it touch friendly, but it works offline, and can even save your high scores on your phone (much of this is due to HTML5 stuff like manifest files and local data stores).

Jon Resig, the creator of JQuery (the wonderful and ubiquitous javascript library) has just released an alpha version of jquery mobile, which makes creating smartphone UIs easy. I believe this, and not objective C, is the future:

http://jquerymobile.com/2010/10/jquery-mobile-alpha-1-released/

If you hone your skills in developing browser based solutions that are awesome on smartphones, then you are gaining long term valuable skills, as you can expect that pretty much all phones for the next 5 years will have browsers on them. Learning objective C or the android API is a higher risk investment of your time - who knows what phone will be hot next year?

If you need to access lower level hardware, like the accelerometer or the camera then you probably need some closer to the metal code. Then again, location aware browsers show me that these sorts of interfaces will be exposed more and more through the browser as time goes on. Maybe you are doing graphically intense 3D visualizations, then that needs hard core C, but again 3D optimized graphics libs for browsers are on their way. Finally, smartphone browser apps don't get you into the app store, which might or might not be a good thing (no approval process but no chance to hit the app store lottery and make money).

I Hate Farm Subsidies

Boll is Opening to Reveal the Cotton
Via @judybaxter on flickr

I just listened to an excellent Planet Money Podcast about cotton, cotton subsidies and a trade war between the US and Brazil. It interviewed Dahlin Hancock an American cotton farmer, as well as Brazilians and WTO people. It reminded me how much I hate American farm subsidies. Here's what I sent:

Thanks so much for the podcast on cotton and cotton subsidies. It was fascinating, and I loved how the story twisted and turned through the WTO process and showed how Brazil eventually found leverage despite the WTO having no power of enforcement. Great stuff.

But here is what I was disappointed not to hear:

* Mr Hancock, why do you need subsidies, and isn't that cheating? I mean, he was complaining about Brazil, but as far as I understand it, the American farmer gets paid extra because he can't otherwise compete with Brazil.

* What about African cotton farmers? It was only after Brazil became powerful and savvy enough to hire American lawyers that it had a chance to fight unfair subsidies. This leaves Nigeria, Tanzania, Zimbabwe and many other developing countries with no voice. The result of the Brazil v US cotton war (the US now subsidizes Brazilian farmers too) only leaves an increasingly unfair playing field for everyone else. I mean not only do they have to fight already deflated American prices, but now the Brazilian industry has $150 million per year to subsidize itself with.

It seems to me that the result is a loss for the American taxpayer and a loss for developing countries. The only winners are Texan farmers, who should be in other industries (he dropped out of electrician school) but can't handle the extra training required. Is this actually a subsidy of under-education?

What a fascinating but grim story! More like it please!

American farm subsidies seem wrong to me. I love hearing my Grandpa talk about his boyhood days on the farm, but for America, those days are over. America is no longer a country of millions of farmers anymore. America has about as many computer programmers as we do farmers. For Americans, the future is about creativity, strategy, technology. Subsidizing those fields is a long term investment, and it can be done through education.

The only farming that the vast majority of Americans will ever do is in Farmville.

The next chance to kill farm subsidies is in 2012, when the farm bill comes up. How do we do it?

Mobile Phone Banking in Developing Countries to Leapfrog Old Banks

Money makes the world go round. The more money, the faster we spin. In America each of us spends, on average about $50,000 per year. That works out to be $136 per day. Imagine if the only way to spend my daily $136 was to hand over cash. Not only does this mean carrying around $136 in my pocket every day, but it also means carrying my cash to the person that I am buying stuff from. Buying a sandwich - no big deal there. Paying bills sucks. You have to go the electric company, the phone company, the water company. How about going to the Amazon.com office in Washington DC with cash in hand to pay for the headphones I want them to send me. That would be lame. All of those businesses that you are buying from - they also have to deal in cash. Before you bought your sandwich, the sandwich shop owner had to carry cash to the flour seller. But where did she get the cash to buy the flour? She has to save it from the day before. To make sure no one stole yesterday's profits, she carried it home and hid it under the mattress at home.



Sounds crazy, but this is the reality in many developing countries. Introducing banks helps a lot, but only for people who have bank accounts. I have seen business owners carrying boxes and dufflebags full of cash to the bank in Malawi. I used to spend half a day locked in a storage closet every month counting out stacks of 500 kwacha notes (about $3) so that I could pay 25 Baobab Health employees. Walking out of the bank and then driving home with all of that cash stuffed in my bag was rather thrilling.

When everyone has a bank account and a credit card, this problem pretty much goes away. Instead of having to carry around money everywhere we have about a month's worth of available spending on our credit cards ($4000). This means that over the course of a month, my money can bounce around from employer to me to baker to flour grinder to farmer, before anyone really needs to settle up. This is such a monumental step forward in efficiency, yet so commonplace, that we take it for granted.

Why are some countries without banks and credit cards? Well bank accounts depend on reliably identifying who people are, which is hard if government documents like drivers licenses and passports are out of reach for most. And credit cards depend on banks, credit scoring and a communications infrastructure that is pretty much a non-starter in many places. (2% of all consumer spending in the US is spent on proprietary credit card infrastructure, which is ridiculous now that everyone is connectable via the internet and that credit cards depend on 40 year old technology to read a 16 digit number off a card)

Developing countries, are therefore left to plod along until that tipping point hits when enough people are rich enough to get bank accounts to get credit cards to build their national network and start scoring credit. Up until that point, people are carting around cash. After that point, money stops getting buried and starts flowing. Money jumps from person to person, with each person holding it just long enough to make more money. And if they decide to hold onto it, then the bank will figure out how to make more money with it.

In Malawi I plodded along with cash, as did everyone else. But mobile phone banking promises a leapfrog over both traditional banks and credit cards. And developing countries don't need to wait - they can get started now. Here's why:

Mobile phones can identify people even more reliably than a passport. Phone number (something you have) plus pin (something you know) is enough to securely setup a bank account. But mobile phones also come with a built-in communications network. This means that there is no need to visit a bank to do banking. Deposits and withdrawals can be performed by anyone with cash and a sufficient balance in their account. In these, the early stages of mobile phone banking, these activities are facilitated by agents who are trained and supplied by the mobile phone banking provider. This ensures a good experience for the customer, who might not understand how banking, let alone mobile phone banking works. Agents can accept cash and then transfer funds from the agent's own mobile phone banking account into the client's. They can also accept a funds transfer from a client and then pay them out in cash. Deposits and withdrawals sorted, although the agents and the mobile phone banking provider will charge for the transactions.

From here things get very fun. People can safely store money in their phones, so money is no longer stagnating under mattresses or buried in a field. When it is stored on a phone, it isn't just sitting there doing nothing. Banks will let other people use it, by investing with it. Practically this means that interest can be earned and more money is generally available to everyone the economy. Win! But it is more than just a savings device. Funds can be transferred securely between accounts, which means that any payment that used to happen in cash can now be done as a funds transfer between phones. I can now pay for my sandwich with a funds transfer to the sandwich shop, which is convenient. But now the sandwich maker doesn't have to carry the cash I paid him with to the flour seller. He can just transfer the funds and during the flour seller's next delivery it will be efficiently delivered to my sandwich maker. Money flows, economy grows.

Eventually the need to use cash at all pretty much disappears and a cashless ecosystem emerges, but that is years, perhaps decades away. Yet each step taken towards that eventual goal affords many opportunities for individuals and businesses to increase efficiency, save money and in many cases start entirely new businesses. I am particularly interested in looking at the edge cases, watching how people use mobile phone banking to do things that no one every thought of before.

One of the most obvious things that will happen will be replacing some formal mobile phone banking agents with informal cash in and cash out facilities. Many businesses take on a lot of cash during their daily operations. If the business could deposit this cash into their account by providing cash out services to individuals or other local businesses (people withdrawal from their accounts by transferring funds to someone that gives them cash) then neither group has to visit the bank or an ATM machine. Vice versa for businesses that need a lot of cash on hand, or who routinely make trips to the bank. Businesses can accept deposits by transferring funds to people giving them cash. The efficiencies gained from avoiding standing in line at the bank alone, are important, let alone the expense of travel, or for the banks, the expense of maintaining high capacity facilities and staff.

Other businesses are sure to emerge as well. Sending money to rural villages was the big surprise business in Kenya when m-pesa (the biggest mobile phone banking success story so far) was first launched. I expect online purchasing, discounts for electronic payments, loyalty schemes, real-time credit scoring, microfinance, credit card services, outsourced micro jobs and all sorts of other things will emerge that we can't even think of. These killer apps, will be the surprises that drive adoption.

Wow! Sounds great - why isn't this already happening? A number of reasons I think. Firstly, it takes a significant amount of time and resources to write the software and forge the required partnerships between banks, mobile phone operators and regulators. Massive marketing campaigns and having formal banking agents available throughout the target market are necessary to get to scale, and without scale mobile phone banking is virtually pointless. Marketing is critical financial education. I still know many Americans who don't use ATMs because they think see ATMs as a banking scam to extort fees. Malawian preachers warned congregations against fingerprint based ATM machines which "scanned your soul"! These sorts of barriers are not insignificant.

Finally, banking regulators are responsible for making sure that we have safe mechanisms for saving and investing money. Without financial regulation (think FDIC insurance), banks can close and people's money can disappear. It only takes one time for your money to disappear for you to never trust a bank again. Unfortunately, this happens a lot in developing countries and money gets stuck back under the mattress (literally) and a generation of financial progress is lost. These financial regulators are doing the important work in figuring out how to save people from getting burned by mobile phone banking. But like everyone else, they are moving slowly! But it will eventually happen, and it will be a great ride. I can't wait!

(thanks to Claudia for letting me read the cool stuff she comes across in her job researching this stuff at CGAP)

From Great Need Comes Great Innovation

This past weekend I attended and presented at Africa Gathering DC - an Africa ideas oriented  event with social media craftfully employed to amplify the great messages. There were artists, entrepreneurs, engineers, development workers and more sharing and remixing their hope for Africa.



I presented a broad overview of the amazing things that I got to be a part of, when I lived in Malawi and worked with Baobab. My zooming/swooping/rotating "prezi" can be seen here: http://prezi.com/z1tsvo_xftb8/. I think a video was made too, but it isn't posted yet.

Here's a selection of the tweets people made about my presentation (thanks everyone!).



tracy1314 #agdc up now... Mike McKay of Boabab Health

tracy1314 #agdc @mikemckay social justice hacker... Setting up his presentation.

tracy1314 #agdc talking abt HIV killing the people who hold the future of africa in their hands

KateBomz #AGDC Mike Mckay "Social Justice Hacker" of Baobab HEALTH running a chilling @prezi presentation.

tracy1314 #agdc stuff is happening in developing countries that does not happen anywhere else. Good stuff!

tracy1314 #agdc there is shout from the roof tops awesome stuff happening in Africa.

KateBomz #AGDC "POVERTY PORN!"

MByrd No place for poverty porn in @mikeymckay book at #agdc

digitalafrican RT @tracy1314: Baobab health started with an idea that touch screen computers could improve health in Malawi. #agdc

tracy1314 I wish my Dr. Had this system! 30 sec to check in at the dr? Awesome. #agdc

ideasforafrica Hospital registration with this touchscreen system has gone from 20 minutes to 57 seconds in Malawi (Boabab Health) #agdc

nicktadd there are less than 300 doctors for 1million people in Malawi #agdc #omidyar

tracy1314 1 million HIV positive people and 300 dr. In Malawi. Plenty of HIV medication, not enough medicine to distribute medicine #agdc

nicktadd "I wish my Dr. Had this system! 30 sec to check in at the dr? Awesome. #agdc" -@tracy1314 - agreed awesome

KateBomz RT @ideasforafrica: Hospital registration with this touchscreen system has gone from 20 minutes to 57 seconds in Malawi (Boabab Health) #agdc

VaxTrac @mikemckay #agdc Great presentation on health, tech and !Success! by Baobab Health in Malawi.

EGlue RT @ideasforafrica: Baobab Health-started by using touch screen computers to improve healthcare in Malawi @mikemckay #agdc

KateBomz Truly awesome! 'at least' you have a doctor RT @tracy1314 I wish my Dr. Had this system! 30 sec to check in at the dr? Awesome. #agdc

AfricanAncestry #agdc @liveafrican used social media to promote sales of scarves; 5% of gross sales goes toward educating child of artisan for 1 year


tracy1314 Treatment protocols have to be strictly managed and documented... Result unmanageable paper mess #agdc

jkainja RT @africagathering: there are less than 300 doctors for 1million people in Malawi #agdc #omidyar

tracy1314 Time waste managing the paper. Touch screen clinical work stations at every point of contact. That guide them thru the protocol. #agdc

ideasforafrica Baobab Health- touch screen clinical work stations to guide healthcare worker through treatment protocol- more efficient #agdc

KateBomz Prime example of visual transparency #problem & #solution..Baobab Health presentation #agdc

marcopuccia LOL I agree! RT @tracy1314 I wish my Dr. Had this system! 30 sec to check in at the dr? Awesome. #agdc

tracy1314 #agdc helps w accuracy and prediction of supplies. Problem: computers are a non starter in Africa

tmarente RT @africagathering: there are less than 300 doctors for 1million people in Malawi #agdc #omidyar

marcopuccia "From great need comes great innovation!" - @mikeymckay #agdc

KateBomz RT @marcopuccia: "From great need comes great innovation!" - @mikeymckay #agdc

mollymali 9 months is avg life of a computer in rural village in Africa, @mikemckay of Baobab Health. #agdc

tracy1314 #agdc what to do abt power? You can't assume reliable power. Computers need power... What to do?

danyasteele Love that >> RT @ideasforafrica: "from great need comes great innovation" @mickemckay #agdc

tracy1314 #agdc low power machines run by car battery. When power on it chrges the batteries, when power down, baterries kick in. This same set up...

ideasforafrica Innovation 4 power: Use car batteries to run a whole clinic's touch-screens, works for days if power is cut. @mikemckay #agdc

tracy1314 #agdc works with out main power... Replace it with solar or wind>> again awesome!

marvintumbo RT @ideasforafrica: Innovation 4 power: Use car batteries to run a whole clinic's touch-screens, works for days if power is cut. @mikemckay #agdc

mollymali Hey @VOA_Crystal you should contact @mikeymckay from Baobab Health about putting computers into rural areas. #agdc

marcopuccia Focusing African ingenuity into high-impact innovation can create disruptive change! #agdc

ideasforafrica African innovation isn't just low-tech ingenuity, it can be harnessed for the high impact and high tech- @mickemckay #agdc

tracy1314 #agdc William kawemba on screen with Malawian building touch screen computers for boabab. >> thats some awesome innovation in that pix

africagathering Great presentation done by Mike McKay #agdc #omidyar

nicktadd Great presentation done by Mike McKay #agdc #omidyar

marvintumbo RT @ideasforafrica: African innovation isn't just low-tech ingenuity, it can be harnessed for the high impact and high tech- @mickemckay #agdc

madayo So impressed with @mikeymckay on necessity and innovation and "just figuring out how to do stuff" in Africa. #agdc

NYTimes on why Crowdsourcing with Ushahidi is the Future

A few of my friends (Eric, Soyapi) have been working on Ushahidi for a while. The NY Times has an excellent article about how Ushahidi enables crowdsourcing and is providing transparency and insights in diverse situations all over the world.

Could wiki technology find Osama bin Laden?

Imagine if anyone in the rugged far reaches of Pakistan or Afghanistan could send an anonymous text message to the authorities suggesting where to look. Each location could be plotted on a map. The dots would be scattered widely, perhaps, with promising leads indistinguishable from rubbish. But on a given day, a surge of dots might point to the same village, in what could not be coincidence. Troops would be ordered in.
...
Ushahidi remixes can be found all over the Internet. They have been used in India to monitor elections; in Africa to report medicine shortages; in the Middle East to collect reports of wartime violence; and in Washington, where The Washington Post built an Ushahidi-powered site called “Snowmageddon” to map road blockages and the location of available plows.
...
What we would know about what passed between Turks and Armenians, between Germans and Jews — and indeed would it have happened at all — if each of them had had a chance to declare and be heard saying: “I was here, and this is what happened to me”?

Hacking Air Travel

I travel a fair amount. This is the post where I plan to continuously refine and collect hacks that make travelling more enjoyable.

But first off, let me be clear on my scope. These are the unexpected things that I have picked up from other people or figured out myself. These are not seat exercises advertised in the seat back pocket nor is this a web site about earning air miles by buying silver dollar coins with your miles-earning credit card (although I do like that one). These are hacks.

Sit in the back, Jack

Window or aisle? Row 24 or 34 on a 767? Sites like seatguru.com have solved this question. But those answers are static and totally leave out the human factor. More important then where you are sitting is who you are sitting with. Three empty seats in the back of cattle class trumps one wide seat with a footrest in business class next to a chatty frequent flyer. Even one empty seat next to you with that extra tray table and foot room is a big win in my book. If there is only one empty seat on the plane, I want it to be the one next to me.

Airlines make you feel like you have power by asking, "window or aisle" but really we are at the whim of a seat selecting robot; an algorithm that determines your continent hopping happiness that is actually pretty easy to reverse engineer. It goes something like this: for a given person and their window or aisle preference loop over the available seats until a seat is found that matches their preferences. Like most algorithmic loops, they start at the beginning, or in our case at the front of the plane. Hence, all of the seats in the front get filled first. If you get a seat in the back, the chances that you will have an empty one next to you are pretty good. But the algorithm that we are hacking is slightly more complex than that. The seating algorithm also has to handle people that want to sit together. Instead of splitting up two people that are together the algorithm marches through the plane until it finds two empty seats together. So keeping this all in mind, my goal is to always aim for the back of the plane next to a seat where an individual and his/her preferences and potentially his/her partner are least likely to be placed. Most long haul flights have three or more seats down the middle. These are great for seat algorithm hacking, because they eliminate people with the window preference and because no one wants to be penisinbetweenis (as opposed to shotgun, left nut, or right nut in the calculus of high school seat selection ("can't call shotgun until we are outside") AKA stuck in the middle between two strangers). If you can see the seating chart, you can also eliminate couples by looking for a row that has only one empty seat next to an aisle. So in summary, my ideal seat tends to be a few rows up from the back (avoid the bathroom smell and the congregators) in the middle section with at least a single empty seat next to it.

(I am writing this sprawled out across three seats in the back of a long flight from DC to Africa. When I was checking in I asked for a seat in the back. I ended up assigned next to someone one row in front of an entirely empty row of seats. Oh yeah!)

(On my return 20+ hour flight I ended up with a four seat block all to myself)



Never blow your nose

Airplane air sucks. It's pressurized. It's recycled. It's dry. Flying for more than 12 hours usually results in a few days of bloody noses for me. I asked some doctor friends what was going on, and they explained that inside our noses we have thin membranes that don't like dry air. So I began snorting saline spray like Al Pacino snorting cocaine in Scarface.
That helped me feel better during the flight, but I still ended up with a sinus issues afterwards. My latest strategy is to make the nose off limits during flying. No saline spray. No blowing my nose. No nose rubbing. If my nose runs a bit, then catch the dribble on the way out. Let the fluids in your nose do what they are there to do: protect your membrane. In case this point isn't obvious, picking your nose while flying is so dangerous it's a wonder the TSA doesn't chop off fingers before flying.

Get up. Stand Up.

Sitting for a long time sucks. So head to a place where you won't bother anybody and stand. Bring a book and enjoy the feeling of blood circulating to your feet. Bonus points for hanging out in the galley for instant drinks and snacks. I really enjoy making crazy faces in the mirror of those tiny bathrooms.



These are not the droids you are searching for.

I am not very good at this one, but I am working on it. Essentially we are aiming for mind control. While getting into the ginormous queue at the airport you say to the line director, "you want to upgrade me to the first class line?". Or as you hand over your luggage you joke, "you were just getting ready to tell me that you have moved me up to business class". These have both worked for me. I know a guy that always points to the first class section and says "this way, right?" as he winks at the stewardess when he boards, and he often gets escorted to an empty seat in first class. I once sat with a friendly old bald guy in the exit row who claimed to get champagne on every flight he goes on by simply being fun and friendly with the airline staff. Of course there is a fine line between being friendly and flirting. Flirting works even better. The key is to realize that flight attendants are people doing jobs, and a bit of fun or human interaction or a chance to show off their power makes their jobs and their life better. Like I said, I'm not very good at this one. Especially the flirting.



Sprawl on the terminal floor

I spend a lot of time in developing countries. The airports are often crowded and less than sparkly clean. That never stops me from sprawling out on the floor, with my bag as a pillow and my feet stretched out in front of me. Will my clothes get dirty? Probably. Will I wash them? Definitely. It's important to maximize the hours with your feet up if you will be cramped on a plane for hours and hours.

Last one on wins

Why does everyone freak out when it's time to board the plane? So you can be the first one to sit in a cramped seat breathing recycled air? It's kind of like everyone standing up the second the captain dings the bell and the seatbelt light goes off only to end up standing around with your neck bent over sideways as the overhead bin crashes down on your head. Chill. I like to be the last one on the plane. It's like a free ten minutes of life. Go for a walk. Flip through a magazine that you would never buy. Drink a beer. Charge your laptop. Wait until everyone has gone. Wait until they start announcing your name. Then wander in, find your seat, and I bet you still won't be the last one on the plane, or at least the last one to be buckled up. There, I just added ten minutes to your life - you can buy me a beer sometime.

Massages near the airport

In Asia massages are cheap and traffic is crazy. I assume the worst about traffic and if I end up near the airport with more than an hour to kill then I ask the driver to drop me off at spa. You can usually pay $25 inside the airport, but for $5 on the outside, you get a sauna, shower and a massage that will make the upcoming journey just a fleeting nightmare between being pampered and being in the comfort of home.






Read while in line

Always have a book or magazine in your pocket. Long queues for security, missed flights, customs, buses, etc, etc are forgotten within the between the cover of a good book or magazine. Leave the journals, slide decks and legalese for later. Bust out Wired, the New Yorker or Neal Stephenson and find happiness.