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 OpenOffice.org 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! :-)

Monday, November 23, 2009

New Tomboy Releases with Ubuntu One support on all platforms, and other goodies in the Tomboy world

On Monday I announced our new stable release, Tomboy 1.0.1, and our new development release, Tomboy 1.1.0. They both share the following fixes:
  • Official support for Ubuntu One (and any other server that implements the Tomboy Web REST API and uses OAuth 1.0a...Snowy uses OAuth 1.0). This patch comes from friend and Canonical employee Rodrigo Moya.
  • Always show note icons in the recent notes menu.
  • Link to correct version of our help document on Windows and Mac.
  • Translation updates, etc.

With Tomboy 1.1.0, you also get these fixes and features:
  • New D-Bus methods for manipulating notebooks thanks to Clemens Buss.
  • New Synchronize Notes menu item for the panel applet.
  • Cleaned up the sync dialog so it shouldn't cut off text anymore.
  • A ton of great fixes for Windows users from Stefan Cosma, and printing should now work on Windows Vista and Windows 7.
  • Translation updates, other fixes, and another new D-Bus method from Matt Jones.

For openSUSE users, packages are available in GNOME:Apps:Tomboy and GNOME:Apps:Tomboy:Unstable. Ubuntu Jaunty and Karmic users can use packages from our stable PPA or our development PPA.

But the most exciting things happening in the Tomboy world right now aren't really about Tomboy at all. :-)

You may have already seen Eitan Isaacson's new Note Statistics add-in. It's not the first add-in like this, but it seems to be the most comprehensive, and it's up on github for added coolness. I'm trying to decide if I should add this to the upstream Tomboy add-ins, or use it to kick-start a community add-in repository. Any opinions?

Back on the subject of Ubuntu One and note synchronization, I want to first say that Snowy, the AGPL web service for Tomboy notes, is still an active project, and we still plan to have Tomboy Online in beta in the next few months. Having both main developers on the same team at Novell just means we both get busy with work at the same time. :-)

Manuel's Tomboy Online Logo Mockup


But recently, Manuel Holzleitner has posted some mockups for the following:
  • A front page for Tomboy Online
  • A new website for Tomboy
  • A new project website for Snowy
  • New logos for all
  • (Somewhat hidden) A new layout for Snowy:


Manuel's Tomboy Online Mockup


I'm not a designer or UI expert, but I'm a big fan of these mockups. For one thing, I've been wanting to revamp the Tomboy website for a long time now, and Manuel's idea of unifying the design of all of these sites seems obvious in retrospect. I also think the proposed logos are ridiculously cute and web-appropriate. There seem to be a few folks interested in helping us out with our HTML/CSS, etc, so I'm really looking forward to having a better-looking Snowy in the near future.

Once we expand our test suite a bit and work through our deployment story, I don't think there will be much standing in the way of a Tomboy Online alpha running Snowy.

Manuel's Snowy Logo Mockup


Of course, in the mean time, people can use Ubuntu One, since those guys were awesome enough to use the same REST API for sync as Snowy uses. In fact, as I've mentioned before, Rodrigo and Stuart from Canonical both helped out with the design of this API, and even the implementation in Snowy. It's still proprietary software, but at least the guys working on it are awesome. ;-)

And if you have been wanting to get your notes from Tomboy to Ubuntu One to your Android device, there is now working code to do this in Tomdroid's web-sync branch. Thanks to Benoit Garret holding my hand, I was even able to contribute a patch. :-P With Benoit's latest code in bzr, you can now sync Tomdroid with Ubuntu One. There are still a few fixes needed to make this releasable, but for anyone who's looking to get involved in Android development, here's a fun project to hack on for you!

In a similar story, Cornelius Hald has been updating Conboy (a C port of Tomboy for Maemo devices) so that it, too, can sync with Ubuntu One. It already supported Snowy sync last I heard, so the only hurdle was (again) supporting the changes in OAuth 1.0a. Last week Cornelius got it working, so I wouldn't be surprised if he has a release soon.

In other fun news, about a month ago Mohanaraj Gopala Krishnan emailed me to discuss a presentation he was planning for the FOSS.my conference in Malaysia. The topic of the presentation was Tomboy, Snowy, web sync, Ubuntu One, etc etc. Go read his fun slides on his blog .

That's all for now! I'll talk to you again after non-Canadian Thanksgiving.

Thursday, November 19, 2009

One-click install for Banshee Telepathy Sharing Extension 0.1.1

Over the course of the summer, you may have read Neil Loknath's various blog posts about his Summer of Code project that lets you share your Banshee music library with your Telepathy contacts.



Well, it's pretty cool stuff, and now that he's started making releases, it's a great opportunity for people to try it out and give him feedback.

If you're using openSUSE 11.2, you can get version 0.1.1 of his extension through this handy one-click install link.

Note that my little repository includes upgrades to telepathy-gabble, telepathy-mission-control, and gnutls. You'll need to log out/in or kill all telepathy/empathy/mission-control processes before the changes take affect.

If you're like me and prefer to build Banshee from source and Neil's extension from source but don't want to reinstall your entire Telepathy stack from source, just install telepathy-gabble and telepathy-mission-control from my repository (this will cause a few gnutls packages to upgrade as well), and you'll be good to go.



Let me know if you have any issues, but let's consider these packages officially unsupported, could break your Empathy, impregnate your cat, etc.

Thursday, October 8, 2009

Tomboy 1.2 Planning Meeting Today

"Cows are plentiful in Segovia?", Copyright Ellery Armstrong, Milk Teeth Photography, Used With Permission


In one hour (12:30 US Pacific time, 19:30 UTC), we'll be holding our cycle-ly planning meeting to make some plans for the next Tomboy release.

If you want to comment, listen, volunteer, or heckle, please join us in #tomboy on GIMPNet.

Oh, by the way, if you've been wanting to follow Tomboy updates on Twitter but you find me way to garrulous, you can now follow @tomboy for some peace of mind. We have @tomboy on identi.ca, too.

Thursday, October 1, 2009

Tomboy Hits 1.0



It's been just over five years since Alex Graveley made the first commit to Tomboy CVS, unleashing a brilliantly simple note-taking application for people who just wanted to Get Stuff Done.


Tomboy Back In The Day (click for Alex's blog post)



Three years ago (right after I joined the project), Tomboy became a part of GNOME 2.16. It was about this time that Boyd Timothy joined the fun and became a co-maintainer with Alex. Much of the polish in Tomboy and many of the features you take for granted such as notebooks, synchronization, and bulleted lists appeared during his stewardship. After helping with sync, I was "promoted" to co-maintainer, too.

After Boyd and Calvin Gaisford (of Giver and Tasque fame) left to start their own company last year, I was left as the sole maintainer. I'm trying to do my part to build on the legacy left by Alex and Boyd. Fortunately for me, Tomboy seems to attract cool people like Chris Scobell, Stefan Schweizer, Benjamin Podszun, and dozens of others who have contributed major features and fixes.

One of the funny little things that tends to come up at Tomboy planning meetings is the version number. Tomboy's been around for five years now, and really it's been a pretty solid app for the majority of that history, especially once it became part of the GNOME desktop. So why is it versioned like some alpha product?

Tomboy in your dock (click for full-screen shot)


Tomboy runs on every major operating system, is used by 50 kabillion people every day [citation needed], and even if we have more grand plans, Tomboy today really does help people Get Stuff Done.

So we're calling our new stable release 1.0, the first release of the 1.0.x stable series. The next big stable release will be 1.2, etc etc. I hope this arbitrary change will instill a sense of confidence in users, and maybe even get people thinking about what "Tomboy 2.0" might mean.

Here's what's new in Tomboy 1.0 since the 0.14.x stable releases:
  • WebSync add-in lets you synchronize your notes with the upcoming Tomboy Online web service, your own server running Snowy, or any other server implementing the new Tomboy Web REST API, which will soon include Ubuntu One and Midgard. Big thanks to Rodrigo Moya and Stuart Langridge from Canonical for their help on this.
  • NoteDirectoryWatcher add-in from Michael Fletcher (disabled by default) finally lets you edit your note files outside of Tomboy safely, even while it's running, opening the door for all sorts of ad-hoc sync solutions if you don't want to use a server.
  • Underline add-in from Mark Wakim (disabled by default).
  • Faster start-up.
  • UI improvements in note searching.
  • More keyboard shortcuts.
  • Loads of bug fixes.
  • Updated documentation (a complete revamp is on the way for the GNOME 2.30 cycle).
  • Notes and other files migrated to new standard directories.


I'm really excited about this release, because to me it represents a foundation. A lot of cruft has been cleaned up. Tomboy is leaner and meaner. Note and configuration files have moved to standard locations, making backups and upgrades better. Accessing those note files is now a less scary proposition. This is a good foundation on which we can build Tomboy's future.

With that in mind, here are some features I would love to tackle for Tomboy 1.2 if we can:
  • Automatic synchronization.
  • More work on Snowy, Tomboy Online, and social features integrated right into Tomboy.
  • Note sharing via Telepathy, and maybe even collaborative editing.
  • A new innovative workflow for managing simple task lists (with integration points for EDS or Tasque wherever it makes sense).
  • Customizable, themeable, simplified note UI.
  • Rethinking notebooks and search.
  • Better gnome-shell integration.
  • Better Tomboy experience on Mac OS X.
  • Additional memory and performance enhancements.
  • Your ideas and patches!


Personally, I'm really inspired by GNOME 2.28's "Made to Share" slogan, so I expect that will be a running theme in Tomboy 1.2.

I'll make sure to announce when we pick a date and time for our roadmap planning meeting, which is when we will choose what features we really want to focus on this cycle.

You may have read that we now have an official PPA for Ubuntu users. This is all thanks to Alan Pope and Jorge Castro. Since the announcement of the PPA a few other people have joined the tomboy-packagers team so I'm looking forward to being able to provide instant gratification to Ubuntu users on any distro since Jaunty, whether they want the latest stable or the latest development release.

In openSUSE land, the GNOME team is working on a specific organization for repositories like this, but I have the packages ready in my home project, so if you want Tomboy 1.0.0 for openSUSE 11.1 or later (including SLED 11), you can get them here for now:



This post brought to you by the Tomboy Blogposter add-in.

Tuesday, August 25, 2009

Tomboy 0.15.6 Released, ~/.tomboy is no more

"Light Hearts", Copyright Ellery Armstrong, Milk Teeth Photography, Used With Permission


Yesterday I released Tomboy 0.15.6 on Linux, Mac OS X, and Windows. The biggest change is invisible to most users: we've gotten rid of ~/.tomboy.

Anybody who's backed up their notes or created Rube Goldberg-esque sync solutions is familiar with this hidden directory holding note files, user-installed add-ins, and various bits of configuration. As of today, ~/.tomboy is no more. We've separated out notes, configuration, temporary files, and even the log, and relocated them according to FreeDesktop.org standards on Linux, and appropriate conventions on Mac OS X and Windows. Everything will be automatically be moved. Details available on this wiki page.

The benefits of this move to users are:
  • Users who are already trained to back up directories like ~/.config and ~/.local won't have to remember to add ~/.tomboy to that list (same argument for ~/Library on Mac OS X)
  • Folks who want to set up their own ad-hoc note sync will now have a much easier time, because they can just sync the notes folder. Use any popular method of synchronizing a directory (rsync, iFolder, UbuntuOne, Dropbox, whatever), and combine that with our NoteDirectoryWatcher add-in, and you should be good to go. You'll miss some benefits of our sync infrastructure, like conflict handling, but you'll gain one big feature missing from Tomboy: automatic synchronization.

If you maintain some tool that expects Tomboy note files to live in ~/.tomboy, please update it to also look in (by default) ~/.local/share/tomboy. Thanks!

In the previous release I cleaned up the Search UI according to input from Andreas and Kalle at GCDS:

The original Search UI: Pretty with a lot of wasted space and one useless feature (click for full window)


The updated Search UI: Cleaner, lest wasted space (click for full window)


Other changes since the last time I blogged:
  • New underline formatting add-in from Mark Wakim
  • Keyboard shortcuts for changing font size
  • Improvements to HTML export
  • Less command line output unless you run Tomboy with --debug (this actually has a positive impact on performance, by the way)
  • Add "Get More Add-Ins..." button in the Preferences UI
  • In SSH sync, we no longer force port 22 if no port is specified

This post brought to you by the Tomboy Blogposter add-in.

Thursday, July 2, 2009

See you in Gran Canaria!

Pounding a bowl of cereal. Almost time to leave for my flight!

On Sunday I'll be giving a talk about the UI Automation spec, and the work of the Mono Accessibility team. If you're an a11y nerd, or your day job is Winforms or Silverlight app development and you want to automate that shit on Windows and Linux, or you just don't believe that I am currently bearded and want to confirm for yourself, please check it out.

I'd also love to talk to people about Snowy, Free web services, GNOME's online desktop strategy, Batman, and the future of Tomboy.

Dark Victory is really good so far. Doesn't stand on its own...you need to read The Long Halloween first (and therefore should read Year One before that).

A few weeks ago I drafted a blog with updates on Snowy, and just ran out of time to finish it up and post it. But there is some basic info I want to share, so here's an updated excerpt:

We are really excited about all of the positive feedback we're hearing about Snowy, and the upcoming Tomboy Online service. We were reluctant to announce the project before we could confidently host it, but based on the excellent feedback and participation we've received so far, it's clear that we did the right thing by announcing early.

The day I blogged about Snowy, I left for San Diego to participate in my friends' wedding. When I returned on Monday, I had a lot of catching up to do! Here are some of the recent happenings:
  • Brad set up a Snowy mailing list, and a Snowy product in GNOME bugzilla.
  • Og Maciel has begun work on a virtual appliance for Snowy, and in the process of doing so has helped to unearth some bugs (our first mailing list activity). Thanks Og!
  • Ryan Paul of Ars Technica fame as written a great article about the current state of Snowy.
  • Rodrigo Moya and Stuart Langridge have continued to help us refine our REST API, as they work on implementing it for Ubuntu One. Stuart contributed patches to upgrade our authentication from HTTP basic to OAuth, and I finally pushed it upstream, along with corresponding support in Tomboy (based on some handy dandy code from Bojan Rajkovic). I am really grateful for their help!
  • We have our first localization! Thanks to Viatcheslav Ivanov for diving in.
  • The Midgard project has implemented our REST API as well, and intends to add support to Conboy (Tomboy ported to C on Maemo) as well.
This is all after less than a week of Snowy "going public"! This is an encouraging sign that we are on the right track with API design and modularity of implementation.

So that is my updated paste from the draft. The rest was all technical details on the design of the API, and how much Rodrigo, Stuart, and Brad all rock, etc etc. I'll post about that soon...for now I'm going to focus on getting a demo server up for you all to play with!

For those to whom I owe a drink, your day of reckoning approaches!