Monday, March 10, 2008

A week in Cambridge, a11y status, new Tomboy release, and other hacking

So I spent last week in Cambridge, getting to know Mike and Andres, who just joined the Mono Accessibility team. Aside from consuming massive amounts of seafood, I became a lot more familiar with the project and the entire accessibility landscape. I do wish I'd seen more of Boston, though.

I'm going to start blogging a sort of status report every Monday, to keep everybody informed about what I've done and what I'll be doing as part of implementing UIA on Linux. This is the first such entry. Last week was kind of a wash for development, but I did help get Mike and Andres set up, verify some of our unit tests against the MS UIA implementation in my new Vista VM, and delve into winforms code. We need some way to know when new Forms are created so that we can register them in the UIA-ATK bridge, but once they are created, I believe we can implement the UIA "provider" interfaces with just regular access to the public members of forms and their controls. Though I've been warned that it may be necessary to hook in a bit lower in the winforms code...

This week I intend to start implementing some basic UIA providers (window, button, etc). I'll drop some code into winforms to alert me when new forms are created, and since the UIA-ATK bridge is not quite ready, I'll write a few tests directly against the provider interfaces. Should be fun!

In other news, Boyd just released Tomboy 0.10.0! This is a nice release with a lot of polish. I think people are really going to like Notebooks...I'm looking forward to feedback that should let us know if we were right or wrong in going with Notebooks instead of free-form tagging (which is totally supported in the implementation, if anybody wants to write an addin or dbus client). I'm sure that we'll get a lot of good suggestions from our users, as usual. Soon we'll have a meeting to plan our next release, so keep your ears open!

I've also been spending some time on Tasky, which I'm liking a lot better than the other task programs I've tried. In general I like RTM's Gmail extension for Firefox, but its mouse dependence really slows me down. My favorite RTM/Gmail feature is how I can type in a task like "lunch today" or "release tomboy 0.10.0 march 10th", and it will become "lunch" or "release tomboy 0.10.0" with the proper due date set. I've implemented this for Tasky, though I don't yet support as many natural language phrases as RTM/Gmail does (we don't appear to have a cool library like Chronic for .NET). Hopefully some variation on my patch will make it into trunk, as I think this is the easiest way to type in tasks with a due date. What do you think?

Other things I'd love to hack on when I have time: offline Tasky for RTM, DAAP client support in Banshee trunk, and better refactoring support in MonoDevelop (like typing out a new method call, right-clicking the method, and choosing "Implement method"). I'll save my Tomboy thoughts for a future entry...

No comments: