So I've got the basic functionality working, and I've actually used it "in anger" (i.e. I've got it to alert me when I'm approaching my destination). Naturally, once I've set it, I remember to get off the train anyway, but that's not the point. Interestingly, and surprisingly for me, I find getting it to find the location from the network the best. It uses very little battery (compared to GPS), and is reliable enough to detected location to within 1.5km or so (which is usually all that the app needs).
But now I've got to the stage where there is one thing missing: usability. This separates off into three things.
- It needs a database of previously saved locations, so you don't have to find the location every time (which can take 10-15 minutes, if the data connection is bad).
- It needs a UI which works the way people expect it to, rather than the way I threw things together to begin with.
- The alarm needs to be more configurable. At the moment it just sets off the default alert whenever the location changes to something within the specified radius.
I'm starting at the top and working down. Thanks to Another Android Blog, I've got a database installed in my app and working, but at the moment not actually storing any useful information. I think the next point of call will be the UI: I can't start storing / using multiple database entries without a complete change to the UI, so that's what's coming next. When I get round to it.
Incidentally, I don't know if this is the way these things are generally done, but I find that actually using my app on a semi-regular basis for what it's intended has kept me looking for the most important things to improve about it. I don't think the app would ever come about if it wasn't something I actually used.