mbus is an Android client for the University of Michigan's Magic Bus system. It's written in Java, for Android SDK 1.5 or greater.
Magic Bus has been published on the Android Market. It is a free application. You can find it by searching for "mbus". The application is called "Magic Bus", and the publisher is listed as "Gopalkrishna Sharma".
You can also download an unsigned apk from the Downloads tab. I recommend against that since the apk is not optimized. If at all possible download from the Android Market.
- View Magic Bus data quickly.
- Get to arrival information with as few touches as possible.
- Favorite route/bus stop pair, and view only favorites.
- Determine my location and display arrival info for stops near me.
- View current locations of all buses on a map. (This is really to make the app look fancy. I'd probably never use it myself, and hence may not ever get written.)
While the Magic Bus site has a text-only version that can be viewed on the Android browser, it has several shortcomings, which is why I'm bothering with this.
Drawbacks:
-
It takes 5-6 clicks to get to the information you need.
-
You need to click on teensy hyperlinks which is hard to do on such a small screen.
-
You also typically only ever care about 2-3 stops, and the website has no notion of favorites.
When it's -10C outside, you really want to get your hand back in your gloves/pockets ASAP.
Why not just write a new mobile website instead of a native Android app? This enables other smartphone users (iPhone + BlackBerry, etc) to use it.
-
A native client will always be nicer to use (at least in my opinion).
-
Some of the features I want can't be done easily with a web app (or so I think).
-
There are already two native iPhone app for this (the second one seems to be nicer): one and two
-
I don't know enough web development (especially mobile) to do this right, if it is possible.
Why Android 1.5 (as opposed to >= 1.6 which offers different sized screen support)?
I own a Moto Cliq, which as of this writing runs Android 1.5. Doesn't look like Motorola is going to update to 1.6 anytime soon, and I want to be able to use the app myself. Hopefully, other handset users won't be hit too hard by the varying screen sizes.
There are 2 projects. One is a test harness for the Magic Bus Data package. The other is the Android application itself.
I decided to split the code that retrieves and parses the Magic Bus feed into it's own package, so it can be used by other people for other projects. I also wanted to be able to test it separately and quickly, especially if the feed format changes in the future.
I'm still not done designing the UI of the Android app. When I finish it, I'll write about it here.
This project is licensed under the GPL. You are free to use it in any way as long as it does not violate the terms of the GPL. I request (but you don't have to) that you let me know if you use anything from this project.
I wrote all the code for the app. The icons were done by Brieana MacDonald (briemac AT umich DOT edu).
I am best reached by email: gopalkri AT umich DOT edu OR gopalkrishnaps AT gmail DOT com If you're interested, here's my webpage (not quite up to date all the time). If you want to help with the dev work, let me know. I do this for fun in my free time, so I could use help :)
I'd love to hear your feedback/thoughts. Email me about this.