Saturday, October 08, 2016

Join the Shared Checklist Alpha

You might have been in this situation before: you and your spouse keep a shopping list next to the fridge, but you both took a picture of it on your smartphone and arrived home one evening with double sets of everything on the shopping list because each of you thought you were going to buy everything. Or, you have to visit multiple stores, or missed something on the shopping list.

In any case, I tried a bunch of shopping list apps on the Google Play app store, and discovered that none of them do something I thought would be obvious: let you share a shopping list with someone else in real time. The "real-time" part means that if you check something off the list, it shows up as being checked off on the other person's phone as well, preventing you from buying double of anything.

Well, I have some development experience, so I pulled up Android Studio and wrote my own Shared Shopping list app. Along the way, I decided that it could be used to share a checklist of any sort. For instance, if you're organizing a camping trip, you can set up a shared checklist, and if someone else in the party has that item (say, BBQ skewers), they can check it off, and then everyone going camping won't have to scrounge around their house to find it (or go to the store to buy it). Conversely, if someone remembers something that ought to be on the list but isn't, they can add it and everyone will know that it's something that's missing.

I also added the ability to make a copy of a shopping list, so for instance, if you have a checklist you commonly use (say, a packing list for a bicycle tour), you can make a copy of it and send it to a friend. Said friend can then modify it for their own purpose without affecting your copy.

I spent about 30 hours or so on the project, so it's understandably incomplete. Here are the known issues:

  • Only works on Android right now. (I have no Macs or iPhones, so unless the app takes off like a rocket, I'm not going to build one) I do have plans to work on a web UI so you can use a real computer with a keyboard at some point.
  • Only works with Facebook login. I didn't want to maintain my own database of e-mail and password, so just piggy backed off Facebook. I spent a day trying to get Google's OAuth login system to work, and came away with a very deep understanding of why Facebook login took over the world. The Google OAuth integration probably ensures security and scalability but is developer-unfriendly to the extreme, even when you're the kind of person who uses Google's domain hosting, Android Studio, and Android phones. I might get around to it, but for now, Facebook login only.
  • Cannot rename a checklist. Let's see how many people squawk about that.
  • Cannot edit a checklist item. See above.
  • Notifications are funky. I haven't found a good way to deal with notifications of shared checklists. Suggestions welcome.
I have to say that in the year in between attempts at writing Android Apps, Android Studio's improved dramatically. It's no longer slow as molasses on my desktop (a 2009 i7-920 which still runs rings around most people's laptops). The debugger has strange glitches, as does LogCat, but modern day programming tools suck and there's no escape from that sad fact. (No, don't blame it on threads!)

The app is in Open Alpha mode right now, and we'll see if anybody finds it useful enough to leave a note. I suspect the requirement for a Facebook login and Android phones rule out a bunch of the usual people who might otherwise try the app, but if you do try it and share it with friends and find it useful, let me know!
Post a Comment