Showing posts with label snowy. Show all posts
Showing posts with label snowy. Show all posts

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.

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 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, 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.

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!

Wednesday, May 27, 2009

Tomboy 0.15.1 Release Brings New Online Note Synchronization Preview

"Red Westie", Copyright Ellery Armstrong, Milk Teeth Photography, Used With Permission


On Monday we released Tomboy 0.15.1, the latest development release on the road to 1.0. It features a lot of the same fixes from 0.14.2, and some other improvements:
  • Preview of new Web Synchronization add-in
  • Work around problems on Windows caused by having multiple GTK+ applications modify PATH
  • Search for phrases by surrounding them with quotes, save the width of the Notebook pane, and other improvements to the search UI
  • Better HIG compliance in synchronization UIs
  • All the same fixes from 0.14.2
  • And much more!

I'd like to talk to you a little bit about this "Web Synchronization" add-in. From a feature perspective, the biggest problem with Tomboy has been how difficult it is to synchronize your notes between multiple computers, and to share your notes with your friends and colleagues. We have note synchronization but it's hard to set up unless you have your own server. You can share notes with Giver, but that has its limitations as well. And how do you view your notes when you're on a device without a Tomboy notes client?

A long time ago I blogged about how great a free "Tomboy Online" web service would be as a fix for these issues, but I never had the time to follow up on it. Until now.

Snowy, Your Tomboy Notes Online

Meet Snowy. Snowy is a project started by Brad Taylor to bring your Tomboy notes online. It's "Tomboy's best friend on the web", as Brad says. Here is what you can expect from Snowy in the coming weeks and months:
  • "Tomboy Online" - a free hosted service (running Snowy), where anybody can create an account for securely synchronizing their notes.
  • Fine-grained privacy settings to let you mark your notes as public, private, or shared with specific friends.
  • Edit your notes directly in your browser!

Editing notes in Snowy

Brad started Snowy in his spare time, and recently our team at Novell had a Hackweek at our disposal. So last week, Brad and I decided to really get this project off the ground. It is still an extremely new project, but we feel it's far enough along to solicit feedback and contributions from the community. Some basic facts about the project:
  • Snowy is AGPL-licensed. I firmly believe that our community needs to step up and start offering competitive AGPL web services. If we want to stay relevant, that is!
  • Snowy is developed in Python on the Django web framework. Most people who expressed an interest in working on this were most familiar with Python for web apps.
  • Snowy is developed in GNOME git. If you watch the commits list, you've no doubt seen the recent activity.
  • Snowy is easy to deploy on your personal server. If you don't want to trust Tomboy Online with your notes, you can still use Snowy to give yourself web access to your notes, or just to provide a more convenient way to synchronize.

Snowy is brand new! I hope in the screenshots you see the potential, but I'm sure you also see how much room there is for improvement.

What works:
  • Tomboy<->Snowy note synchronization
  • Online note-viewing
  • User registration
  • Database administration and other fancy Django stuff

Logging in to Snowy

Where we need help:
  • Authentication review, OAuth
  • HTML/CSS/JS to prettify everything
  • Design and implement all that cool note-sharing stuff
  • Little features like copying a friend's note into your collection, or downloading/emailing/printing any note straight from your browser
  • Security audit
  • Your ideas!

You may be wondering how Snowy and Tomboy communicate for synchronization. I will talk about this more in a future post, but we have designed a REST API for web synchronization. This API is easy to consume from the client end, and easy to implement on the server end. This means we should have no trouble adding sync capabilities to Tomdroid and other Tomboy note clients. It also means that if you don't like Snowy, you can create your own web service that implements the same API, and still use the same web synchronization add-in included in Tomboy.

We still have a lot of work to do to make synchronizing and sharing your Tomboy notes effortless and fun! Outside of Snowy, here are some things we'd like help working on:
  • Automatic background synchronization in Tomboy
  • Web synchronization support in Tomdroid
  • More features in the web synchronization add-in, like:
    • One click to get from your Tomboy note to its Snowy page
    • Control your sharing preferences for a note without opening your browser
    • Easy access to friends' notes

By the way, if you plan on using Tomboy 0.14.x for a long time, you'll be able to use the Web Synchronization add-in, too! When we launch Tomboy Online, downloads will be available for 0.14.x users on all platforms.

Stay tuned for more updates, and a demo server for everybody to play with!

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