Sunday, September 27, 2009

Opie update

Wow, it's been a while since my last post (too many people say that on their blogs, heh), so it's probably long past time for an update.

Work on Opie has been fairly solid lately - if you have a look at the commits you can see that. On my end a lot of this has been due to the acquisition of my netbook (a Dell Inspiron Mini 10v) which I can use to write code on the train, and I do that most days. It's only ~40 mins each way, but it's surprising how much you can get done in that time with no real distractions, other than the free London papers that is - sadly of which there is one less as of a couple of weeks ago :.( Anyway, let's cover each part in detail:


Datebook2 is almost finished. There's a small matter of making sure alarms on synced in calendar events actually get registered on the Opie side - I'm still not quite sure how to structure that, but I'm sure I'll figure it out. I'd also like to improve the application visually a bit - perhaps make all of the views use the same colours to draw events, improve text placement, etc.


We haven't really had a proper notes application within the Opie application set - Opie-Notes (based on the old NoteZ application) has been around for a while, but was somewhat limited and not included by default in most distributions; most people simply used the Text Editor. No more! Opie-Notes is now a first-class PIM application with the introduction of SQLite backend support (including support for synchronisation), categories, and built-in search. In addition the NotesApplet has been modified to use the same backend as Opie-Notes, so you can also have quick access to your notes from the taskbar if you wish.


Synchronisation is boring. It's a fact. Unfortunately for many people (myself included) it's a must-have for almost any device that has PIM data on it. I have been working hard on this over the last few weeks, and the good news is most of the major work on the Opie side is done. There is now the ability to read and write data to and from the SQLite databases remotely, with the option of only reading changes in both directions, for multiple peers (clients) - i.e., proper synchronisation. What I'm now working on is implementing the other side in the OpenSync plugin. I will also make sure everything works with the old Qtopia Desktop and (time permitting) the old IntelliSync for Zaurus.

It's great that OpenSync development has ramped up again - 0.39 was released last week, just one more version to go until the next stable release which is 0.40. If I work hard I can get everything in order in the opie-sync plugin for that release and we can finally have powerful, reliable synchronisation.

Other bits

Opie has moved from CVS to Git (hooray!); Security settings has had an overhaul with lots of bugs and undesirable behaviour fixed; another big batch of code quality fixes from Erik (thanks Erik!); and more - check out the changelog.

What's next

Make synchronisation fully work; fix the remaining bugs for 1.2.5 (login guest/guest); and of course testing, testing and more testing! There has also been some some interest from a few potential new contributors as well - I won't preempt things but it is certainly an exciting prospect to have some more people on board.