• Single-page web apps with the Backbone router

    Luke Canvin Blog Post

    One of the keys to building an offline web application is that you construct all your app’s logic in its client-side JavaScript, that way it doesn’t need to rely on a connection to the server to do any of its calculations or data processing – the server is used simply as a means to store data permanently somewhere, as opposed to the slightly more short-term local storage. The Backbone JavaScript framework provides a great foundation on which to build a[...]

  • Backbone, local storage and server synchronization

    Neil Bevis Blog Post

    Backbone comes with methods for fetching and saving data models to and from the server. However, we want an application that works offline and synchronizes with the server when online. Therefore we require to communicate models both with the server and with  the browser’s local storage. The good news is that a backbone extension “backbone.localstorage.js” provides the communication with local storage, and by simply dropping its .js file. The bad news is that you then cannot communicate between backbone and[...]

  • Tomasz’ final thoughts

    Tomasz Agurkiewicz Blog Post

    To summarise, I have to say it was a very productive week with many hours spent on development. More than in a normal work week. But I believe it was worth putting in the extra hours to see the final result. CoffeeScript was a very nice discovery and made writing JavaScript really nice. It was hard though to change my mind about some ways things get written but once past that, all was well. Almost. At some point the code[...]

  • Mariusz’ final thoughts

    Mariusz Plaskowicki Blog Post

    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.[...]

  • Backbone of our web app

    Tomasz Agurkiewicz Blog Post

    For our web application we used a javascript framework called Backbone, which helped us to keep our application logically structured. We’ve been able to split JavaScript into nice seperate chunks working together. Backbone uses models to represent the data that can be created, validated, destroyed or saved. The models can be saved in local storage or on the server as simply as setting the apropriate url value (to a RESTful API) or local storage variable. Making it save in both places[...]

  • Dev Camp day 5

    Luke Canvin Blog Post

    Our last full day of Dev Camp was very productive and we completed much of the app’s functionality – it’s pretty satisfying to see the various elements come together and begin functioning nicely across our various test devices. Tomasz and Neil worked together on completing the Questionnaire and Response views, with support for pagination, asynchronous saving to local and remote storage, and a few other nice touches. Mariusz worked on completing the data management for the slider and drag &[...]

  • Dev Camp day 4

    Luke Canvin Blog Post

    With all of the app’s basics in place, day four was pretty much just hard slog working on the nitty gritty. Slowly through the day pieces began to fall into place: The Backbone router was added and the application broken up into separate “pages” when the user clicks through the various entities to complete their questionnaire. The first drafts of the drag and drop controls were added, allowing users to place items on a grid corresponding to some sort of[...]

  • HTML5 canvas, drag and drop and two new types of control

    Mariusz Plaskowicki Blog Post

    Before we began the Dev Camp we had a few interesting discussions about what we thought would be interesting interfaces to display to an end user. When we settled on creating a questionnaire app we started to think what kind of controls we could use to ask the questions. It was obvious that we should use some standard controls like text boxes, check boxes or radio buttons but we also wanted to use some advanced controls. Our first choice was[...]

  • Dev Camp day 3

    Luke Canvin Blog Post

    Day three saw out application begin to take shape. The User Interface Now that the Twitter Bootstrap CSS framework had been made responsive, it was ready to slot into the solution. Bootstrap will fit pretty cleanly into most web applications provided there isn’t a fixed markup yet as it does mandate a basic structure to make the best use of its classes. Up until now, the UI had been functional, but not styled, so there was no problem with adapting[...]

  • Follow our developers at Dev Camp

    Laura Walton Blog Post

    Day 1 was spent settling in and setting up in the beautiful cotswolds. After supper and before turning in, they get stuck into business splitting up the application tasks thus: Server-side – RavenDB and ASP.Net MVC – Mariusz and Neil Client-side – Backbone.js and HTML5 – Tomasz (and Andrew, when he arrives) UX – CSS framework(s) and JavaScript – Luke They will do a fair bit of pair programming before moving on to parallel development after getting the basics done.[...]

  • CoffeeScript anyone?

    Tomasz Agurkiewicz Blog Post

    What is CoffeeScript? It’s a little language that compiles into JavaScript. And it’s so much simpler to write and look at than original Javascript. And the best part of it? Underneath it all it is still pure JavaScript! I have to admit I was a bit sceptical at first. After looking at the documentation the syntax looked funky, and I thought that I would have to install a compiler, then run it every time I want to have a working[...]

  • Making Twitter Bootstrap responsive

    Luke Canvin Blog Post

    The previous post on rapid, responsive UI development left us at a point where I had settled on trying out Twitter’s Bootstrap CSS framework for our app’s interface, but wanted to investigate the possibility of making it responsive to various device/browser sizes; something it does not yet do natively. CSS3 Media Queries A quick aside on media queries to illuminate the core mechanic behind responsive web design. Media queries are CSS commands that can be used to define a set[...]

  • Dev Camp day 2

    Luke Canvin Blog Post

    With signs of Andrew being able to join us not looking great, we put on a brave face and got into some serious development. You can read what I got up to with CSS Frameworks, and what Neil & Mariusz achieved with ASP.Net MVC and RavenDB. We found a little time after lunch to take a break from staring at our screens and went for a walk around the lakes in the estate.

  • Creating a REST API with ASP.Net MVC and RavenDB

    Mariusz Plaskowicki Blog Post

    With the second day of our dev camp coming to an end it’s time to summarise our server side work.  I’ve been working with Neil on setting up the server side part of the application while Tomasz was working on the client side. We decided that we are going to use standard MVC controllers to implement a RESTful service and RavenDB for data storage. RavenDB is a nosql database server, which stores information as JSON “documents”. These documents can have[...]