I was just recently given the opportunity to work on a Windows Phone 8 app for the GoMetro system. Currently they have the mobile website and are working on a new-and-improved version, but not yet a Windows Phone 8 native app. As I have a shiny new Nokia Lumia 820, its no good going to the web browser each time I need to take a train.
They have a REST API that I will be using, but I hope to use some caching and personalization on the user’s device. The next version of the GoMetro engine will have more features like these, but until then, it will have to remain local only. Of course, once the next version is out, I should just be able to import them into the online database.
I have been working on some concept designs for this app, which I show below. I am using ProtoShare instead of manually drawing each screen. This is a cool tool for quick screen creation, although it is not free. I will give it a try and see what happens.
This application so far has 3 main areas of importance:
This is the area where we will be able to display any notifications about the lines, Metrorail and the app.
- Favourites / Shortcuts
This is probably the most important feature for me as I often don’t commute to work on a specific train, but rather the one around 8:30, sometimes before and sometime after. So instead of going through the whole workflow to get the next time, I can quickly see the scheduled arrival. As the current API does not support storing this on the cloud, I will keep it in a small SQLite DB on the actual device, to be synced at a later date.
- Train Timetables
This is the usual workflow for getting the times of the next train. The next image follows on from after the user selects a province that he/she is interested in.
The next main chunk of application is the actual finding of the train timetable. This is going to be the same as the website in structure.
We get to this level after the user selects a province from the main screen. He/she then selects a line and then proceeds to select the departure and arrival stations. I would like to be able to specify the day and time of the trip as well, but I need to do some more research on the availability of this first. When the user is ready, all is needed is to tap the arrow button. The final screen is a list of the departure times with a few options:
- Switch the direction of travel
- Go to the earlier times
- Go to the next set of times
- Add this route to favourites
This is just the preliminary designs and probably will change. If you have any comments, then just leave a comments below. Or you can vote.