Ted Leung on the air: Open Source, Java, Python, and ...
I've posted a Chandler - Quicksilver integration hack over at the OSAF group blog.
We released Chandler 0.6 today.
After spending lots of effort trying to build up all the application areas at once, we decided to put all of our effort into building out one area, so that people would have something that they could use. The area we decided to build out was the calendar, since there's a real need for a good calendar solution. So this is our first step into calendar land. This version doesn't have every feature that you'd like to see, but it's a good start. The new project web site has some screenshots and some Flash movies that demonstrate some of the features. Features of note include: the ability for two people to share the same calendar (both people can create and update events) via a CalDAV server and support for managing events in different time zones. OSAF is providing an experiment CalDAV service for people who want to kick the tires. This service is using Cosmo, our Java based CalDAV server. Cosmo is licensed under the Apache License, and uses Apache Jackrabbit. There are still some sharp edges, but we are going to start using this version of Chandler as our day to day calendar at OSAF.
On the platform side of things, we've completely done away with our old XML based mechanism for describing Chandler parcels (extensions) and switched over to a system that uses Python to do the same thing. We've spent some decent effort on developer documentation, and we ought to be ready for brave souls to try to write some parcels. There are few sample parcels included in the distribution, including a simple (and I do mean simple) RSS feed reader, an interface to Amazon wishlists, and an interface to Flickr.
As always, bugs, patches, comments, and questions to the Chandler design or development mailing lists.
Yesterday we released version 0.5 of Chandler. The official announcement is here. Mitch's disclaimer about the suitability of 0.5 for end users is here.
0.5 was supposed to be done before PyCon, so that we could say "and everything that we're showing you can be done in the 0.5 drop". Obviously, we didn't make it in time for PyCon. If your are interested in finding out more about how to write a parcel, you can read our PyCon paper. We also have a tutorial that fills in some of the details that we didn't have time to cover for PyCon. Also, you can try out the parcels that were done at the PyCon sprints, which are in bear's subversion repository. There's some additional documentation that we know we need to do as a result of feedback from the sprints, so I'll post again when that information becomes available.
Elizabeth Grigg has questions about calendaring stuff:
One thing just from observing this Lightning / Mozilla spec page as well as the Chandler spec page: both projects are in an extraordinary low level of detail at the moment. There is virtually no high level thinking in the specs, which is perhaps fine for the task at hand. It doesn't help us outside observers, though. I would like to know, for both these projects, whether unseating Outlook is the cause celebre or is there something new for users in there somewhere.
As far as Chandler goes, we have a UI spec for the Calendar work we are doing for our 0.5 release (sometime in March). I'm not intimately involved with the calendaring stuff, so reading the spec is the best way to judge whether there will be something new for users there.
The other thing to know about our calendar work is that it will be based on CalDAV, a standard based on iCalendar and WebDAV. CalDAV looks like it is gaining momentum amongst calendar implementors, and if it gets sufficiently adopted, then the existence of interoperable clients and servers would definitely offer something to users: choice. The CalConnect consortium (of which OSAF and Mozilla are members) is working hard on improving interoperability amongst between calendars.
We're not subscribers to Netflix, but I like their notion of an "interest queue". In addition to the queue, there's what I'll call you interest working set, which is 3 DVDs. When you return an item from working set, you get the next item from the queue. I'd love to have a queue like this for books, and I'd also like to be able to specify whether queue requests get satisfied via my local library or via Amazon (or your favorite book retailer)
I love books, and I could quite possibly spend the entire rest of my life reading interesting books. When I was younger, I used to just buy books and have huge piles of them lying all over the place. Actually one of Julie's favorite statistics about me is that when we moved from the East Coast to the West Coast (courtesy of Taligent), the movers came and boxed up 57 boxes of books. A fair number of those are still in our garage, and as I've gotten older, I've taken to relying on libraries for as many books as possible. I've also taken advantage of Amazon's integration of used books, to purchase as many used books as possible.
In an ideal book lover's world, I could easily punch books into my book interest queue (I suppose my Amazon wishlist fills this role, except that it's not a queue), and the queue would first try to check the book out of the library for me. If that failed, it would try to get a used copy in good condition, and only after exhausting these two options would it order a brand new copy (it would have to ask first).
I suppose that this would be a great addition to a Getting Things Done workflow application...
- BerkeleyDB store for Lucene It looks like we are going to use a native compiled (gcj) version of Lucene to do free text searching in Chandler. In order to do this, we needed to adapt Lucene to use a BerkeleyDB database as a store. Andi wrote this code and it's been contributed back to the Lucene project, which has taken the code into the Lucene sandbox. There's also the Python layer that exposes the Lucene functionality to Python. People have wondered why we didn't just use Lupy. The problem with Lupy is that it doesn't perform as well as Lucene, and it's basically a port.
- Busy Developer's Guide to the Chandler Repository This document is supposed to help people get started using the repository. If you read it and it doesn't help you, let us know.
- Proposal for Chandler Query System This proposal is the start of our query facility, which will probably be consuming my working life for the next few months. If your interested in this sort of thing, now is the time to drop in and make your opinions known. We got some really good feedback in today's IRC, so don't be shy. I'm not only looking for feedback, but I'm also interested in finding people who'd like to work on building this. So please stop by dev@osafoundation.org or irc://irc.osafoundation.org:6667/chandler and say hi.