Learning Backbone.js and Single Page Applications

Following up my post about the backbone.js book I downloaded, I’ve been playing, testing and learning as much as I can. So much so that I’ve neglected my Coursera design course, though I think this is a better use of my time in the long run. This particular Coursera course was mainly to test out the MOOC process first-hand, and it’s pretty cool on the whole. I’ll still be taking part in the Game Theory course that’s coming up, and I’d give Coursera a big thumbs up overall.

I’ve studied design previously, so the content in the course (while very good) was mostly a re-hashing of old stuff for me, whereas delving into the world of Backbone.js and Single Page Applications┬áhas been a great way to challenge my existing approach to web design and development. It’s been a real brain stretch at times, but every new step in the learning process is rewarding, and you can never afford to stop learning if you work with the internet.

I’ve hacked about with Backbone enough now, that I’m starting to apply the learnings to Done by When, and though this equates to almost an entire re-write of the website front-end it’s going to make the app so much more responsive that I’m desperate to get it live. The demos I’ve put together already feel like so much more like software than web pages.

I’m not making any promises for a release date at this point as client work takes priority but I may be able to share something within a couple of weeks.

Also, though I’ve bailed on the Coursera course, I won’t give up on the menu planner, or my intentions to open source this.

I’ll keep you posted.

On the future of publising, today

I’ve had a couple of interactions with non-traditional publishing of traditional books in the last week, so thought I’d make a note of them as a way to digest the experience.

First, I wanted to learn Backbone.js, as it (or something like it) will likely be the basis of front-end web based software interaction for the next few years at least. My usual method for learning a new web technology/language/process is a to get a decent book with functional examples and read it quickly cover to cover. This is how I survey the landscape; like taking a helicopter ride over a national park before setting out to explore it on foot. The real learning happens on foot, but it’s useful to know where the lakes, rivers and mountains are before you head into the jungle.

You know you’re exploring the edge of current tech when the only book on the subject listed on Amazon won’t be published for another four months. So I dug around the Internet and came across a long and decent looking article ‘Developing Backbone.js Applications‘.

Using Instapaper, with one click on my bookmarks bar, and one click in my Instapaper account page I had the web-page converted into a Kindle friendly .MOBI formatted file. I emailed that to my secret Kindle email address and within a few seconds I was ready to start reading this article in book format on a screen designed specifically for this kind of job.

The process of getting this article to my Kindle is so easy that I didn’t actually spend any time reading the article before deciding if the effort was worthwhile. So when I started reading, I was pleasantly surprised with what I found. This ‘article’ was in fact a book; the very same book that won’t be published in a traditional format and available on Amazon for another four months. It’s shared under a Creative Commons license on the source code repository and social coding website, GitHub. An environment where if I find errors in the book, I can edit the text directly and post the update back to the original author, and if my changes are accepted, my contribution is attributed precisely to my GitHub account.

The second example was The Moneyless Manifesto, also shared freely online under a Creative Commons license. In this case the online version of the book has been split into chapters and subsections so it’s not quite a single click to get the book into Instapaper. Not one to be deterred, or to miss a chance to learn something, I knocked up a Python script to fetch each of the pages, pick out the relevant content and stitch this together as a single web page. Which I then sent through Instapaper and on to my Kindle, and my wife’s Kindle.

All of the above is perfectly legit. This isn’t like people who download music illegally, but it’s a challenge to publishers all the same. Most end users won’t be writing Python scripts to format online books in such a convenient way, or using Instapaper as a document converter, but in time more and more will and all of the processes will get easier.

The two publishers involved here are embracing the new world, but that doesn’t make it easy for them. I’m only a couple of chapters in, but The Moneyless Manifesto is full of interesting and challenging questions, and may have some ideas related to this future publishing conundrum.