Wednesday, July 14, 2010

Time for a litl change

Last week was my last with Novell.

This week is my first with litl.

new toys

Novell was a great place to work and I recommend it to anyone. I will miss the Mono Accessibility team, but the beauty of being an open source project is that I can just pop into IRC or review some code on ReviewBoard when I'm feeling nostalgic.

At litl, I'll be working with Brad and his crack team to make the channel experience EVEN MORE AWESOME.

If you're wondering "what will the impact be on Tomboy/Snowy/etc?", the answer is that you can expect more polish on the Mac version of Tomboy now that I'll be dogfooding it every day. And it looks like I'll be switching Snowy to use lxml. Nothing else should change. I still intend to be as involved in GNOME as Stewie will let me. ;-)

Wednesday, June 30, 2010

Recent Releases: Tomboy 1.3.1, Snowy 0.1, Stewie 0.12

'Yo Quiero Tomboy Online', remixed from 'Benito Chihuahua'

Monday I made two releases: Tomboy 1.3.1 and Snowy 0.1.

Tomboy 1.3.1 is our second development release of the cycle. So far we have been focusing on bug fixing, cleaning out old patches from bugzilla, and removing use of APIs that are deprecated for GNOME 3.0. Some highlights of 1.3.0 and 1.3.1 are:

  • New topic-based help from Paul Cutler and others on the GNOME docs team should provide a more useful way to get help when using Tomboy.
  • Panel applet support is now disabled by default (distributors, please use --enable-panel-applet when configuring) to drop most GNOME 2 dependencies (many thanks to Javier Jardón for this, and Aaron Borden for other API usage updates).
  • Alejandro Cura added libproxy support to web sync, and there was much rejoicing.
  • If you're hacking on Tomboy and are sick of having to install to test your changes, you'll be glad to hear that make run finally works again.
  • We added a couple of hidden preferences that we may expose in the Preferences UI this cycle: hiding the tray icon is handy for folks who use Docky or gnome-do instead of the tray menu (Matthew Pirocchi), and deleting notes without being prompted for confirmation may speed up your workflow (Jeff Stoner).
  • Brian Mattern fixed a bug noticeable on Ubuntu, where the panel applet wasn't using their fancy new icons.
  • In bullet list land, Owen Williams fixed an irritating printing bug, and Stefan Schweizer fixed some keyboard navigation issues.

I'm really glad to have so many contributors helping out this cycle, as I've been splitting my time between two babies. First, here's a cute picture of my awesome son Stewart Daniel Kekoa Armstrong, who was born on May 16th:

Stewie 0.12

The other baby is Snowy, the AGPL Django app that will power the upcoming Tomboy Online free web service. We had planned on releasing according to the GNOME schedule, but wanted to wait until we added OpenID support to limit how many times alpha testers need to wipe their databases and start over again. ;-)

So today, I am proud to offer our first development release of Snowy: 0.1, the Chihuahua release. Ripped from the headlines, here are the features:
  • An implementation of the Tomboy web sync REST API (the same API that Ubuntu One implements for note sync)
  • OpenID support, so you can log in with your Google/Launchpad/whatever account
  • Read-only online note access (notes can be made publicly readable in the admin UI for now)
  • A friendly Tomboy-like web UI for accessing your notes, supporting rich text, note links, note pinning, full-text search, etc
  • An initial unit test suite

Although Brad Taylor wrote most of the initial app, and I did a lot of the sync related work, I'd really like to call attention to some of our awesome contributors who have made this release possible:

  • Leon Handreke improved our sync code, fixed a ton of our unit tests (on multiple occasions), and added OpenID support so that you can log in with your Google account or any other OpenID, instead of having to remember a new username/password pair for our little service. He also made some slick improvements to our note search UI.
  • Sander Dijkhuis made improvements to our web UI, improved the ease of testing deployment by adding a fake mail server, and has been active on bugzilla and in IRC helping people work through deployment issues.
  • Benoit Garrett, Stuart Langridge, and Olivie Le Thanh Duong have made numerous contributions to the REST API, OAuth support, and upstream django-piston, which is the library we use to achieve those features.
  • We've also had great contributions from Adam Ziolkowski, Andy Duplain, Jordan Keyes, Mike Gorse, Ray Wang, and Shayne Macaulay.
  • And we'd love to add your name to this list! We need Python hackers, designers, HTML/CSS pros, Javascript wranglers, testers, Django deployment experts...and I could use a babysitter, too.

Please join us in #snowy on GIMPNet, or on our mailing list, and help us bring Tomboy to your web.

Friday, March 26, 2010

Last Call for GNOME Summer of Code 2010 Ideas! Student proposal period starts Monday!

On Saturday a small group of SoC mentors will sort through the list of ideas on the wiki, clean them up, remove those we don't want to recommend to students, and highlight those we find especially alluring.

If you have ideas for your project, you have today and tomorrow to add them to the wiki before our meeting. Please place new ideas in the "Other Ideas" section.

The student proposal period starts Monday. If you want to help review student proposals, please sign up as a mentor. If you don't use your full name and include details when applying to be a mentor, we may not know who you are, so if you choose to do that please email me, Ruben, or Daniel with your link_id so we don't reject you. :-) We have to be careful because there are some sneaky or confused students out there who try to sign up as mentors.

The ideas page will be under tight control after our meeting on Saturday, but it will still be possible to add ideas if you check with folks in #soc-admin or on the GNOME soc-mentors-list first.

Wednesday, March 10, 2010

Tomboy 1.1.4 Brings Automatic Synchronization

Monday I released Tomboy 1.1.4. Last month's 1.1.2 release was actually the first to feature automatic note synchronization (herein referred to as 'autosync'), but in 1.1.4 the feature is less annoying and you can actually turn it on in the Preferences UI. Here's the only possible autosync screenshot:

Here are some facts about autosync:
  • It assumes the server is always right when conflicts occur, so if you actually found Tomboy's conflict-handling UI useful, don't use autosync
  • When a sync occurs, it desensitizes all note windows, because Tomboy sync is still a bit insistent on believing in transactions.
  • But in theory this should never be a problem for you, because Tomboy will never sync while you are editing a note. It will wait until *at least* one minute has passed where you have not been editing.
  • Besides this desensitization of note windows, there is no indication at all that a sync has occurred. Next cycle, I intend to use libnotify bubbles and/or status icon changes where they make sense to let the user know if new updates have been downloaded, or if the sync server appears to be down, etc. Right now this feature is totally silent, though you can get a few details if you run from a terminal with --debug.

It's unfortunate that I've been too busy to publicize this feature until so very late in the cycle. I'd appreciate any testing, feedback, bug reports, etc. At this point all I can say is that it Works For Me.

Other sync-related news:
  • Rumor has it that Ubuntu One note sync can no longer mangle your notes, unless you use their web editor, in which case the mangling is much less severe than in the past. I keep getting emails from Launchpad saying that Rodrigo has fixed yet another of the old irritating bugs, to the point that I've lost track and think he may have gotten the last of them! :-) This is great news for U1 users, who previously suffered from a few serious sync bugs.
  • I've started the ball rolling on deploying Snowy on GNOME servers (this would be known as Tomboy Online, if the marketing team approves...I still need to email them).
  • We have another Snowy planning meeting this weekend.
  • Many thanks to Leon Handreke and Sander Dijkhuis for their valuable contributions to Snowy in git.
  • Tomdroid 0.3.1 is out, and although it doesn't yet include web sync, the merge is impending!

Another feature in Tomboy 1.1.4 makes me very happy, might upset Tomboy old-timers, and could possibly cause Alex Graveley to destroy my very soul:

By default, when you rename a note, Tomboy will no longer automatically update all of the text that used to link to that note. Instead, if other notes link to the renamed note, Tomboy will show you a dialog (lame, I know, I intend to bind GtkInfoBar for next cycle to eliminate all dialogs in Tomboy) that lets you choose what to do. Here's an example screenshot, with the Advanced section expanded:

Some have argued that automatic link renaming is part of Tomboy's magic, but many many users (including me) consider this dark magic to be a serious potential data loss bug. If you've ever had a note called "Linux", and renamed it to "openSUSE", and been dismayed to find that everywhere in your notes where it used to say "linux" it now says "openSUSE", you know what I'm talking about.

In the future, I'd like to allow folks to have more control over note linking behavior. Many users have expressed a desire to turn off automatic linking, or to be able to link arbitrary text to another note (not just text that matches the note's title). Enough people have asked for it that it'll probably happen, though of course patches would make it happen faster.

Next time you hear from me, Tomboy 1.2.0 should be out, and we should be making progress on getting Tomboy Online deployed!

Wednesday, January 27, 2010

Tomboy 1.1.1 Released, Tomboy Online Plans Solidify

Tomboy 1.1.1 Brings New Ones

After a brief release hiatus, I bring you Tomboy's latest development release: version 1.1.1!

Probably the coolest new feature in this release, courtesy of Stefan Cosma, is support for Windows 7 Jump Lists, which are totally awesome and should be added to GNOME.

Jump Lists In Action

Another cool fix that will make Dave Richards (and everyone else who has ever wanted to copy and paste a Tomboy note into an email or document) very happy. Gabriel Burt fixed a long-standing problem with gtk# to enable this (requires not-yet-released gtk# 2.12.10), and patched Tomboy to make rich HTML available in the clipboard. Thanks dude!

Pasting rich note content into Evolution (click for OO.o Writer and plain-text email examples)

I was planning on having a preview of automatic background sync in this release, but I just didn't get as far as I wanted on it. I'll be merging that feature in before the next release, though.

But while I was playing with autosync, I was doing a lot of restarting Tomboy, and got tired of the 2 second startup time. Most Tomboy users always run it, so startup time is not a huge deal, but for developers this just gets irritating after awhile. So I rejiggered some startup work to be delayed, causing the Tomboy icon to show up within about 0.5-1.0 seconds on my machine. This pleased me, so I included it in Tomboy 1.1.1. Take that fascist scum!

The Future of Snowy and Tomboy Online

You may have seen Brad's blog last week about our Snowy meeting. If you read the meeting minutes, you'll see that we're shifting our focus to be a little more goal-oriented. Our plan is to get a Snowy instance on GNOME servers as soon as the sysadmin team will let us. This instance will be Tomboy Online, and its needs will drive core Snowy development. We'll start with a private alpha and go from there.

Right now we're working on a Tomboy Online roadmap that breaks outstanding work into basic tasks so that contributors know where they can help. Once this roadmap is in better shape, I'll be blogging again to let you know what our plans are and how you can help us.

In the meantime, if you have any resources to share on automated testing of web sites, REST APIs, and overall web/server security, I'd really appreciate it. Ponies are great...pwnies, not soo much.

By the way, if you have opinions about GNOME hosting Free web services like Tomboy Online, please take Stormy's survey on GNOME Foundation goals for 2010! :-)