Mariusz’ final thoughts

Mariusz Plaskowicki

The last day of Dev Camp is over and are trying to tie some loose ends, doing some last-minute polishing and fixes. The application is in pretty good shape, it allows us to open a questionnaire, fill it up, save and edit. In both offline and online modes on desktops as well as on smartphones or iPads. From our point of view it is a success. I didn’t expect that in 5 days we’d be able to do so much.

As the work is over I’m going to take a look at the technologies we’ve used and put some short comments on them. Some of them were really useful and nice to use while other much less:

  • Backbone.js – really useful library that let us build the code part of the application. It’s not hard to use and gives a really nice productivity boost. We did have some problems using it – refactored a code few times to make it work the right way – but I’d rather blame it on us not really knowing what to do rather than on the library itself. Overall it’s really good product.
  • MVC RESTful services – generally they play really nice with the Backbone.js but we ran into a few problems – mainly with the serialisation. Overall it wasn’t an especially exciting part of the project and in the end it just worked.
  • RavenDB – proved to be useful.  Overall we could have probably done everything using sql as well but RavenDB let us play with the nosql technology. And it actually was really nice because basically our services did something like Session.Save(object) and that’s it. It just worked. No tedious sql code. RavenDB serves as a simple storage and this is exactly what we wanted it to do. And it has a nice UI as well even if it’s a bit unstable.
  • HTML5 Canvas  – really nice stuff. Writing the drag and drop controls without it would have been a much harder job. And it has a really nice look – once we’ve added some styling and alpha effect on items being dragged it looks really good. The only drawback is it doesn’t work as fast as I would like on smartphones or iPads but that could probably be solved with some code optimisation. Also, I guess with the speed of such devices increasing every year it’s not going to be a big issue.
  • HTML5 Local storage – really useful stuff. We had a lot of trouble with forcing it to work properly with all of our data, but overall it’s useful. When used with offline apps it’s just great.
  • Mercurial – has not really worked well for us. Maybe it’s because we were used to work the SVN way of and working with the Mercurial was a bit hard for us. It’s a good tool but maybe not for a small team such as ours.

We had plans for introducing more functionality, like hand drawn controls and reporting, but as Andrew didn’t make it to the camp we didn’t have enough man power to handle all our plans.

In the end I believe Dev Camp was very successful. We’ve learned a lot and built quite an interesting application. Now it’s time to make use of our newly acquired skills in normal OCC work as well. Looking forward to using all of those exciting technologies in upcoming projects!