One of the most beloved aspects of the SUNY Learning Network’s current Lotus Notes-based homegrown LMS is its offline capabilities. Faculty members can download the current course data–including student discussion posts, tests, etc. They can respond to posts, grade papers and tests, add announcements, and so on, all while offline, and automatically synchronize the next time they have a connection. People who haven’t used this capability (especially those who always have a broadband connection handy) don’t understand the value of this affordance, but I do. It’s for the same reason that, much as I love my GMail, there are times when I really need an email client that can work offline. Or an offline RSS feed reader. Sometimes, it’s really handy to not have to be connected. And that’s doubly true for faculty members who are not gadget freaks, live in rural areas, and are unlikely to have ubiquitous broadband (or any broadband at all).
Anyway, like it or not, we’re on the hook to reproduce that capability in our next-generation system. This is a somewhat daunting challenge. Not that it’s rocket science; synchronization has been done many times in many different ways, and there are any number of existing code bases that we could draw from. Rather, it’s daunting because it’s a lot of work to do at all and a lot more work to do right. Developing and, even worse, QA testing a cross-platform fat client in an environment where you have no control whatsoever over the profile of the client machines is a pretty large task, even if you draw on an existing cross-platform technology base such as Eclipse RCP or Mozilla Firefox.
A while back, I wrote a bit about some relatively new possibilities for re-implementing the fat client experience with…er…less fat. At the time, though, I was focusing more on the user experience; I didn’t really get into the whole synchronization issue.
As of yesterday, it looks like there may be a nice, lightweight solution to offline synchronization on the horizon, courtesy of none other than Ray Ozzie–the original inventor of Lotus Notes and now Microsoft’s CTO. (more…)