I never know when the next shuttle bus will be. Perhaps now, I'll know.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



I never know when the next shuttle bus will be. Perhaps now, I'll know!


An experiment in JavaScript and HTML5, using Jasmine for unit testing and build.phonegap.com to make a cross-platform app without too much fuss.

Public page: https://build.phonegap.com/apps/768949/share


Project status

  • Retired. I no longer take these buses, and so further updates are unlikely.

Parts that went well:

  • The basic concerns separation worked well.
  • Hey, I can do some JavaScript now!
  • PhoneGap was fine for this project, but I can see how its limitations might make it wear thin. Support for plugins didn't seem strong.
  • I still favour webapps over native for simple sites. The UI worked very nicely, after a bit of tinkering.

Parts that went less well:

  • This is the sort of project that would really benefit from using a framework to abstract the model away from the rendering concerns. Didn't realise this upfront, and I kind of wanted to see how far I could get without a framework. Good learning experience, but a framework would have helped, especially for data binding. React.js looks to be a very good fit, or maybe Angular. As it is, my 'render' function is deeply unpleasant, and very hard to test.
  • Not a fan of the Jasmine fixtures. It would be very easy for the tests to get out of sync with the layout of the actual page.
  • Jasmine had one key weirdness; a syntax error sometimes results in an "all tests pass" page. Strict mode solves this, but it seems an odd default.
  • I mentioned the 'render' function, right? Eww.
  • Of course, the entire thing could be a static content site fairly easily, but I wouldn't have learned half as much :D