Wednesday, February 8, 2012

Some Technical FAQ

1.       Why didn’t you use a Background Agent to scan for GPS location?

I’d have loved to have used a background agent instead. It would have allowed for people to navigate to other apps instead of having to run BusAlarm in the foreground continuously (albeit under a locked screen). Unfortunately, background agents can’t scan for real-time location information. From MSDN:
This API, used for obtaining the geographic coordinates of the device, is supported for use in background agents, but it uses a cached location value instead of real-time data. The cached location value is updated by the device every 15 minutes.


2.       Why didn’t you use Alarms/Reminders?

Ideally, I’d have liked to be able to put the snooze/dismiss prompt up on the locked screen where users could interact with it instead of having to unlock their device first.

However, there are a lot of limitations in the Alarm & Reminder functionality on Mango. For BusAlarm, I needed to be able to:
a.       Vibrate the device when you reach your destination
b.      Play an audible sound
c.       Control what the snooze button does or at least, to hide it if I can’t control it.  

Neither Alarms nor Reminders really allowed me to achieve any of the above so I ended up resorting to, essentially, building my own alert mechanism that requires you to unlock your device first. This forum post goes into more details.

No comments:

Post a Comment