Sunday, 17 February 2013

Today i start my nyc subway times remake (android version)

Finally, i begin to work on android version. It can be a little uninteresting to work on something similar that i have done last week in iOS. But that is the way of the current condition. Google and Apple are equally strong in number of users but not in their stock value. Google is about US$700 while Apple falls to $400.

I could say iOS or Android is better? But I see a lot more innovation in android apps compare with that in iOS and make by the same companies. Android allows instant publication and very flexible ways of doing things. iOS is rather structure but it is really good for huge project.

Remember android is java, a newer breed of programming language that suits more young people and taught in most university. iOS uses objective C language which is as old as me now. And replaced by java in university. I love C when i program iOS but i also love java when i program android. It is kind like when you are with this girl, you like this girl. But when you are with another girl, you kind of like the another girl feeling... the 2 timer feelings i got when i am way younger. :)

Java is easier to learn and faster to code but for big project, C provides easier way to structure and understand.

To begin with, i post a photo of my last android version.

Basically, i am going to add nearby with line information, full of icon to make thing really simple. Then i will add more icon to line page, status etc. Much of the design will be taken from my london tube tracker. Here we go! 180213

Beginning stage...

Using iOS style group table, i am putting in the stop name and line. I will be adding the icon for lines next and then the timing for uptown and download direction.

Update: 010313. I have stopped working on android version as I make a tour to study Taipei subway in Taiwan. It is really a fun trip and there is a lot to learn from her system. It is very efficient system with its driverless trains on the way to the zoo.

Just added the the line icon. Going to add the direction and timing. :)
In the nearby, I get the stops with timing. The tasks are

1) get OSM stops (they do not have stopId which is required for timing) 1st http
2) get MTA response string. Check if it is already stored in pref. 2nd http
3) get the stop dictionary
4) loop OSM stops to match MTA stops based on stop name
5) keyword is to use street number
6) or use the words in stop name
7) found a group of MTA stops, and reverse matching to OSM nearby stop
8) With stop Id, go for the timing...:) 3rd http and onward

030313 after some work, i manage to get the arrow and timing for the subway line in nearby. It is a little complicated. I will put in more note here
- It takes too long for the timing to appear
- It solves the crashes by limiting the response to only 20000 size

- next, I will add the link to stop page.
- shows in table form the timing.
- add direction
- debug to no linedict, is it necessary? Yes, when comes from map

- add to fav in stop page
- correct timing in fav

- add map page
- add lines in map page

- add status new site
- add in line page with stop icon
- from line page to stop page

- add in email button

- test daily use 3 times a day for 3 days..!

QC standard
- each page should get result in less than 5 seconds. Anything more than 5 seconds, user will shut down.

There is multiple line 5 because one is the express line. It seems that NYC uses the same icon for normal and express train. And the express train only operates in one direction.

The stop page is done. I will skip no stopDict to avoid do extra work. Now I am going into map. And from map to stop page. 050313

050313 making the map and link to the stop page. The stopId has been found by common method and using the stop name. Now i am going to add the line to make the station easy to identify.

050313 adding the lines. It is not as fast as i want (<5 seconds) and sometimes, the new stations do not show as i move the map. Why? I am going to test on phone for a few days. At the same time, I am going into adding favourites and timings next.

060313 Have done the favorite with stopname -> destination line and 3 three timings. It has the line bullet. And I am going for status next. I still fear that my nearby is not fast enough!

070313 add the line status from the common lineDict. If it is not available, i have to get it from http response. Put it to common class. Next it will be the line page. And bullet on station type and station name.

070313 Staying at home, and can do much more. It is the line page with station type such as night or partTime bullet.

By 080313 I have already done the develoment. I have add label to the map. Correct the 4 widgets with multiple single widgets e.g. 1 for home, 1 for work. I have already refine the status page.

080313 Testing day 1
- fix stop page extra line
- fix widgets timing
- fix 2 timings for a single widget
- fix multiple single widgets

090313 Testing day 2.
- on 3G network: nearby takes about 4 seconds to load, status about 3 sec
- 2 more NY locations
- inform user if not yet live station
- remove old station as user move map
- hide label when zoom out
- set fav page first to avoid always gps
- tries 3 times for stop page for rush hour

No comments:

Post a Comment