Author: Richard F. Ferraro & Murat Aktihanoglu
Aimed at: App developers
Pros: Good introduction to the technology
Cons: Fails to follow up a promising start
Reviewed by: Harry Fairhead
A book on location-aware apps sounds like a good idea. Does it succeed?
This is a strange mixture of a book that attempts to tackle the phenomenon of the location-aware app. Before the mobile phone such applications were rare and specialized. Suddenly, with the mobile phone, people were carrying GPS devices nearly all the time. Programs could work out where their users were and customize their behaviour accordingly. Yes, this is a huge change and why not have a book on the subject as a whole rather than many that focus on each particular implementation? The reason might be that there isn't much that is generalizable once you get beyond the basics of working out where you are.
This book is divided into three parts:
- LBS (Location Based Services) the big picture
- Creating Winning LBS businesses
Starting with Part 1, we have an overview of the ideas and technologies that underlie LBS. The problem here is that Part 2 of the book is supposed to be on technologies so the division isn't clear cut.
Chapter 2 on positioning technologies was the most interesting to me because it covered the use of cell tower location and WiFi hotspot location as well as the very basic GPS theory. It is important to say that no details were harmed in the telling of this chapter however and the actual coverage was very general.
Chapter 3 deals with mapping APIs and provides an overview of the different mapping services. The final chapter of the section describes content options in terms of licensing, user-generated content and mashups. Basically it's a look at the sort of things that it is reasonable to do.
At the end of Part 1 I felt that, although I hadn't been exposed to any new ideas and information, it was interesting to have them brought together in this way. Unfortunately, the book hadn't really gone into enough detail for me to feel that I now understood them better. The oddest feature was the inclusion of the occasional program listing to show how something was done. I suspect that the real reason for including these was to make the book look more practical.
Part 2 is about the technology but most of this has been covered in the overview. What it is actually about is the implementation via the smart phone of the technologies described in part one. So first we have a chapter telling us all about the types of application you find on a smartphone from getting directions, though social apps to augmented reality. Chapter 6 is an overview of the mobile phone ecosystem with some information characterizing each phone, its OS and its development terms. Chapter 7 deals with connectivity, or more precisely how to deal with the lack of it.
Chapter 8 explains server side technology, including many standard technologies that, as an app developer, you really should know about already such as REST and JSON. It then moves on to spatial databases a subject you don't hear much about because most people never have to make use of one. Most location-based apps use the big APIs rather than hosting their own location database.
Part 3 of the book is mostly waffle from the point of view of a technical reader. It deals with the business side of things, but most of the issues raised are fairly irrelevant unless you don't have much to do with your time or are in management. This is like a different book embedded within.
Chapter 9 discusses monetization, which is always a good topic but it is fairly obvious either get someone to pay or put up ads. Chapter 10 is on privacy and there is an interesting final section on complying with legislation, but to be honest the situation is so complex you need to consult additional advice. Chapter 11 is about distribution and is basically a survey of app stores and other methods of getting your app into the phone.
The final chapter is called Securing your business idea. This is about funding, planning, trademarking and patenting. Again its mostly waffle if what you are looking for is technology and mostly to general if you really want some business advice.
As you can probably tell I was disappointed by the final section of the book, but then I wasn't much happier with the first two parts. This book is simply too general and yet tries to go too deep into some topics more or less to prove that it isn't just generalities. The bits of code scattered though the book do little more than give you a flavour of the sort of programming needed to achieve something and the book probably would have been better without it.
Some of the general over view is worth reading and if you are planning to move into location based apps then a quick skim read might stimulate the brain. However, there are lots of missing topics and missing detail from topics that are covered. For example why not include the details of KML, details of AR systems, IP geolocation, gelocation services in general.
I for one would have liked some information on devices that might be used to increase the accuracy of location data and clever hardware in general. I would even have liked a basic introduction to working with latitude and longitude and geodesy in general but none of these topics are included. It also could have includes something on the sort of algorithms and methods are can be applied to location data - route finding, data structures, sorting by proximity etc. I think that you could create a book that covered general location based computing without specializing in, say, the Google Maps or Bing API, but this one just misses the mark.
On the other hand, if you are looking for something on the issues of privacy and managing your location-based software company then perhaps it will be more interesting to you - but then you will have to skip the technical bits.
Authors: Dawn and David Griffiths
Audience: Java programmers moving to Android
Reviewer: Mike James Head First Android Development sounds like a good way to get started, how does it fare?