Sunday 13 March 2011

Oi, where's my weekly update?

The past couple of weeks I've been spending the beer money, but I've also added a couple of much requested features:
1. Using nearby wifi networks and Bluetooth devices to determine location
2. Maps

These two features have meant a lot of Llama's internal guts have been changed* around and tweaked to allow different types of 'beacon' to be used. You can now get Llama to turn your Wifi on every 5 minutes to have a look at what Wifi networks are nearby. You can then add the Wifi network to an area in a similar way that you do with phone masts. You can add it by name (to encompass your entire organisation's group of Wifi access points) and you can also add them by their unique MAC address if you just want the access point next to your room.
The same thing can also be done with Bluetooth devices. You can optionally tell Llama to briefly enable your Bluetooth every 5 (or so) minutes to see who and what are nearby. Unfortunately only discoverable Bluetooth devices can be found, and most Android phones limit the length of time that they are discoverable for. However, other phone models and computer can be discoverable forever. This means you can identify if you are within range of your PC/laptop, and also if you are within range of your friend's mobile phone (and also your friend, assuming you haven't stolen their phone).
As well as these methods, you can also use Android's built-in location APIs to determine your location. This has the advantage of being able to get a latitude and longitude, which you cannot get using plain old cell IDs or Wifi networks. If you choose to use Android's location API, you can define areas according to positions on a map, using Llama's new map addon**. If you have Wifi permanently enabled, Android's built-in location APIs will use nearby Wifi networks as well as Google's Wifi data to find your location more accurately. It can also use GPS, but I wouldn't recommend it.
These new settings can be found in the 'Experimental' section of Llama's settings. They probably stay in there til I get some feedback from people, and also until I rework the UI to make it less complicated (I'm thinking some kind of step-by-step wizard driven thing to get people started.) Let me know your feedback. As usual, if it force closes, can you email me the LlamaLog.txt that will have appeared in the Llama folder on your SD card. Also, these new features will affect your battery life as Llama has to wake up your phone while its scanning for nearby Wifi and Bluetooth devices.
As well as the location updates, there's also a headset connected condition and a vibrate action.
You can get the new version from the BETA page
* They are quite big changes too, and I'm not happy releasing it to the market and pissing off 3000 users in one go :)
** Llama's map addon is separate because otherwise the main Llama app would need Internet permissions. I'm not sure how people will react to having both the 'get accounts' permission (used for syncing) and the internet permission. You get a lot of people whinging on the market about simple things like that.