On Thursday 21st November, the Cape Town Front End Developers meetup hosted Steven Ellis (@StevieCEllis) of Easy2Map and MyDoorHandle. He talked about mobile, maps, emerging markets and more. Below are my brief notes from his talk.
Google's service is the most popular, but comes with Terms and Conditions. Roughly speaking, you can use the Google Maps API for free if you provide free access to the mapping sections of your application. You can charge for an Android App on the Play store that uses the Maps API, though. There are also usage limits that apply. To bypass these, you need a Business License that's currently EUR10,000 a year. Google takes mapping very seriously, as demonstrated by their willingness to throw lots of staff at it.
Open Street Maps has some great libraries available. Leaftlet.js is very fast, and can be extended with MapBox. The API and service is slightly better than Google's, and has big backers such as Flickr, 4square, meetup, Wikipedia, and Craigslist.
Phones in Emerging Markets
Feature phones are popular in emerging markets for a number of reasons: the low price; the dual SIM functionality; the long battery life; the dedicated social networking buttons. Steve said something that I thought was really on the mark:
Smartphones need to adapt to emerging markets, not the other way round.
Things to consider:
- Phones are often pre-paid, so watch the amount of data you're sending, and the libraries you use. Related: test in Opera Mini and Mobile.
- Simple UI is key
- Think about getting your stuff on to MXit.
- Make your site Facebook-friendly (Facebook are on a mission to be on every phone on the planet).
Thoughts about being a startup
You must have a designer on your founding team. Simplicity is key: avoid the paradox of choice by giving your users fewer options, fewer choices to make. Design for the novice, but configure for the pro. Do user testing as early and often as possible to avoid any nasty surprises late in the game.
Is Twitter Bootstrap 3 the silver bullet for Responsive Web Design?
It has great legacy support, and lots of controls and widgets. It's great for prototyping, and the browser support testing has been done for you. It's not so great for using on low-end phones, though, or if you do have a designer on your team.
One of the most important things to consider is the number of HTTP requests on a page. When you realise that each request has to go from the phone, to the cell tower, all the way under the sea, then through routers to the server, then all the way back again, you realise you want to make as few of those as possible.
How important is device testing?
There are many things that emulators can't do. Reasons to test on devices:
- Gives you a true measure of performance.
- Lets you experience the different form factors (interfaces without touch offer a very different experience).
- The varying pixel densities of modern phones;
- The effect of the network: latency, poor connection. Steve recommends doing field tests.
- Steve kindly mentioned a side project of mine, Device Lab, as a resource to use for testing.
The 80 / 20 rule applies, so you don't need to test on every device everywhere.
The next CTFEDs meetup