I'm meeting today with a company developing some software to run on Tornado server. I really enjoy learning about other people's businesses and the unique challenges they face. Should be fun!
A customer asked us a few weeks ago about a web based spell checker. Yesterday I stumbled across Jazzy which looks to be the goods. It is a basic API that will require some heavy (ajax) wrapping to make it functional. It's an interesting project and one I am sure we will use again. We plan to bundle it into a single .pma file and reference it from other applications.
Next week is a long earned break. Natasha and I will be in Thailand for a week to relax and recharge. Can't wait!
We are working on a project at the moment that is crying out for Notes' replication abilities. Unfortunately, the data model is very complex and would be a complete nightmare to implement in Notes. The customer wants a stand-alone system to be installed at each site and to have the databases merge at specified intervals.
Naively I had assumed there was some addon product that would allow this to happen magically (yes, OK, I was spoiled by Notes...). Truth is that even those products that do the magic (Oracle), the programmer must still ensure the keys are unique. Well duh, that's the hard part!
I am now in the process of retrofitting the application with new primary keys (SiteCode+IncrementingNumber, eg WNC199).Previously I was simply using an integer. This is a massive change to the structure.
Once the data model is updated, then I'll have to write the replication logic. I am hoping this will be quite easy and I can tackle it in a generic fashion. I am going for a hub/spoke topology with everything replicated through the head office server. The replicator will run as a seperate task as a scheduled action in a utility application.
I never did want an easy life...
In the last week I've been looking at AJAX. If you're a web developer and you don't know about AJAX yet, you've been living under a rock! For those rock-dwellers ajax is another fancy acronym for something simple. Ajax allows the browser to make "background" requests to the web server without refreshing the whole page. The beauty of this is that it make the web page seem like it's quite interactive, more like a desktop application. Goodbye submit button!
The drawback of ajax is that is now starts to put much of the application's logic on the client side, all well and good, but you still need validation on the server-side to since anyone can whack a http request at the server (not neccessarily using your fancy new ajax app). Great. So now we have validation clientside and serverside. Looks like twice the work to me. Building the appropriate gymnastics into a web application to ajax-ify it is currently a pain with lots of hand crafting and the usual browser idiosyncrasies - it adds a lot of time to building a web app.