Wednesday, July 13, 2011

Blackberry app for Pace Bus of Chicago - Entry 1

If I had the power to go back in time 4 months from now, this would be that blog entry. Today I realized I should blog about my 4 month old project i.e the Blackberry app I am developing for the Pace Bus transit system of Chicago suburban. The project is still going strong and I am very pleased with the results so far. Since I am late in blogging about it, I'll start it right away. In this blog I'll summarize the work done so far and from now on I will make sure to have one entry at-least every time I am working on the app.

I was in Chicago 4 months ago, doing my internship at Research In Motion when my colleague Anu suggested that we should develop an app as an internal project in RIM. I thought its exciting and will be a good use of my spare time so I agreed instantaneously. Then we decided to sit down every Wednesday for 2 hrs to discuss about it. The first meeting was to decide on the app we would be developing. Necessity is the mother of invention. I suggested to let us make a list of things we do from the moment we get off the bed till we go to bed and see if we can improve on something to make the job easier. To make my point clear, I gave Anu an example. Lets say you wake up in the morning on a typical day and do what, may be brush your teeths, shower, dress up, then reach the bus stop and wait for bus....wait a sec....may be we can develop an app that would let you know whens the bus coming and ...Bingo! We got our-self an app.
The agenda for next Wednesday meeting was 'Research'. We would look around for an existing app that does the same thing more or less. We could not find any, no Android or iPhone or BlackBerry app. There were apps for the Chicago subways but not for Pace Bus, the suburban bus service system. Next is feasibility study. Doing an exercise on sample BB apps and the tools, IDE etc went fine and a successful HelloWorld app was a boost for the confidence. Pace Bus has its own website of course and a little help from their web server combined with our effort could indeed produce an app.
And so we began coding. Design was simple. Ask the user about routes, directions and stop info through drop down menus and fetch the information from their web server using a background thread. The UI design is driven by how the Pace Website UI is. Anu's contribution is invaluable to the project. She is a genius in coding and makes the job so much easier for me to code thereafter. The app was now able to display the next three times at which a bus is expected at the selected stop just like website. On top of that we added 'MyFaves' wherein the user's selected stop info can be saved to be used later without going through selecting the stuff all over again. Then we added 'Rider News' to the app which will display news about any route affected because of construction, re-routing, temporary suspension of service etc.
We wanted to implement the map feature but it was close to my end of term and so we submitted the app to BB App guys for launching. Maps and other knickknacks were postponed for ver2. Then I moved to Florida to finish my last term in the University. Anu remained at RIM.
For reasons beyond significance here, the launch date of AppWorld got postponed to 3 months which is like 5 weeks from now. While in Florida and with launch delay, I got around to fix couple of things in the app. The Logo, for instance, had to be changed. We had used Pace's official logo but afraid of copyright issues, I designed a new logo for the app. Then I started working on the map feature. Anu was busy with company work and I didn't want to distract her so much but she was again very helpful in this. She sent me a list of links she visited when she was researching about the Map thing.

These were really important esp the first one which actually holds the dynamic coordinates of the bus, exactly the thing I was looking for. I have no idea how on Earth was she able to find that link. I tried real hard myself to locate one such link but failed. With these parameters available and borrowing codes from sample BBMaps codes, I made a working map feature, which is now able to display the location of buses in the map and updates them periodically.
This much information is enough for this post. In short, the app is working, with features like dynamically displaying time, MyFaves, Rider News and now Maps (partially done).
Next post onwards I'll discuss the development on a daily basis.


KD

Stumble Upon Toolbar

No comments:

Post a Comment