What’s happening with Surfulater & what’s Neville up to.

Jim Parker just posted a comment which has prompted me to write, although it is fair to  say I should have blogged before now. In essence Jim commented that no development seems to have been done on Surfulater in a while and my lack of recent blogging leaves him less than inspired about it’s future. Without doubt very fair comments.

Surfulater got to a point where it was working pretty well and did most things our users had requested and that I wanted of it. There are problems no doubt, such as the poor foreign language support, especially with search. This dates back to a poor implementation decision I made in the very beginning of Surfulater’s design, one which cannot be undone or easily fixed, otherwise it would have been long ago.

To resolve the foreign language support problem and address some other issues requires an extensive and expensive rewrite, which can’t be justified. Furthermore I was beginning to see huge changes in the direction certain types of applications were heading and in the technologies being used to develop them. So it was time to step back and rethink the entire way I develop software, the technologies I use where all this fits in with Surfulater.

The huge game changer in my opinion is the move to applications that run on multiple devices (Desktop PC’s, Tablet’s, Smart Phones) and enable you to access your information on any of these devices, from anywhere. Furthermore you can add and update your information and have the changes available on each device automatically and in real time. This is where I’ve wanted Surfulater to head for quite some time, however it will never happen using the current C++ Windows Desktop code base.

To move forward it was time for a major change, time to move out of my comfort zone of Microsoft Windows Desktop Software development in compiled C++ with all the tools I’ve been using for many, many years to the new world of applications that run on multiple devices, using dynamic languages, with user interfaces that are rendered in HTML, and have severely limited local file systems.  Hard to imagine a more different world, but that’s what I’ve been doing most of this year.

This new world revolves around developing in HTML5, Javascript and CSS and packaging that up into applications that will run on a variety of devices. It has and continues to be a huge learning curve, one that is taking a lot of time and resources.

There was no way I was going to jump into the deep end and try to redevelop Surfulater, as I had way, way to much to learn first. So after much prodding from an old friend I began work on a project with him to create a range of iPad (Tablet) applications. Apart from taking quite a long time the results so far are great, with the first app nearing completion.

In essence I’ve designed and built an application that my partner Stefan will use to generate applications.  So there are two actual applications: the Builder that he uses and the Client Apps that the builder creates and that we’ll sell.

Both of these are written in HTML5, CSS and Javascript. The builder is by far the most complex, using a client-side database, HTML5 templating, local file system access, remote server uploads and downloads etc. It uses jQuery, jQueryUI, Knockout.js and a range of other Javascript plugins and libraries. It is pretty slick and easy to use, enabling Stefan to produce iPad applications quickly.

The end-user client applications use jQuery Mobile and jQuery and are packaged using Phonegap and other tools.

All up I’ve written around 7,000 lines of Javascript so far and have learnt one heck of a lot along the way. And this time around I’ve designed everything to work in any language! There is still some way to go before we’ll be ready to start shipping the first apps, but we are making excellent progress. Stefan was only able to start using the first Alpha release of the Builder about 6 weeks ago and has already completed the first application, which happens to the biggest and most complex of the series of applications we’ll be producing.

On the side I’m am spending as much time as possible researching ways to accomplish my ideal Surfulater type app, with information replicated on all devices. To say this is complicated is an understatement. The research alone is very much one step forward, two steps back, however I’ve never been one to be easily deterred.

So that should give everyone a clearer picture of what is happening in my world at this time.

If I don’t post again before Xmas, and given my track record of late I probably won’t, I wish you and yours a very happy and safe xmas and all the best for 2012.

Neville

PS. It’s nice to have blogged again.