New libnotify, notification-daemon and notify-python releases

I’m very tired, so I’ll keep this brief.

I just put out libnotify 0.4.0, notification-daemon 0.3.5, and notify-python 0.1.0 releases. Most of the really annoying bugs people have reported have been fixed. More information is available on the news post.

I made a decision that will be unpopular to some, and I expect some disagreement on it. notification-daemon 0.3.5 does not ship with the Bubble theme. A large number of the problems people have reported to me on IRC and in e-mail centered around this theme, and until I have the time to give it the attention it needs, I’m removing it from the default install. It’s still in SVN and the tarball, and development will resume on it at a later date. However, I want to give people the best out-of-the-box experience as possible, and the Bubble theme currently makes that hard. If people want to chip in and help, you’re more than welcome.

Aside from that, it’s a very good release and I highly recommend people update. As always, please make sure to report bugs.

I have a couple of neat things I plan to work on. One is a little event notifier for scheduled events on online calendars (30Boxes.com to start). This will be using the new libnotify Python bindings. If it proves useful, I hope to add Google Calendar support as well. I’ll make some sort of announcement once I get a prototype working.

Galago 0.5.0! Can I sleep now?

I finally, after a long 8 months of development, put out Galago 0.5.0. The list of changes are huge, but I feel it’s a pretty solid release. I’ve been wanting to get this release out for a while now, but I kept finding one more thing to fix. I finally bit the bullet and prepared the release. Oh, and this one includes Python bindings!

I have a news post at the Galago site talking a bit about the release and linking to release notes.

I feel like a weight has been lifted from my shoulders. I’m going to sleep well tonight.

Alpha channels and release schedules

  • GTK+ and semi-transparent windows

    Mike Hearn wrote a blog entry on writing GTK+ applications that provide semi-transparent Cairo-rendered windows. He suggests a SexyWindow class for libsexy, which actually fits in with some of my plans nicely. More on this… someday.

  • Galago 0.5.0.. Almost

    Galago 0.5.0 is about to be released. I’ve said this for a while, but it’s actually happening now. The only thing left is to get the GalagoGtk# bindings out, but I’ve ran into a problem… I want to call the namespace Galago.Gtk, but then the GAPI-generated code tries to use Gtk.Widget and such, which causes a lookup in Galago.Gtk. I don’t know how to fix this, and may have to go back to the GalagoGtk namespace. Any suggestions?

  • Thanks Federico

    I’m somewhat borrowing Federico’s blog entry format on a trial basis for some posts. I’ve grown to like it. Helps to stay organized without being too verbose.

libsexy 0.1.7 released

I just put out a release of libsexy v0.1.7. It contains a number of fixes to SexySpellEntry, so if you’re doing any work with that or using it in software such as xchat-gnome, you’ll want to upgrade. Full release notes are available. Python and gtkmm bindings are also available at the libsexy site.

On a more humorous note, I’ve been told by a friend that he can no longer visit my blog due to mentions of libsexy causing his proxy to block my site. Anybody else having this issue? 🙂

Tetringo 0.3.1 for the desktop and Nokia 770 released

I just released version 0.3.1 of Tetringo for the Linux desktop and for the Nokia 770. It’s still only single-player, but it works well and plays wonderfully on the Nokia 770. This is actually the second release of the night, and features an all-new shiny Quit button! And some rendering speed-ups and reduced file size.

This release is dedicated to Philip Langdale, who wanted a new game for his Nokia 770 that he could play this weekend. Enjoy 🙂

Tetringo!

I’ve been playing a bit of Second Life lately with my girlfriend. Second Life is an interesting free (for basic usage) fully-scriptable virtual world. One of the more popular games inside of Second Life is a 2D board game called Tringo. It’s a mix between Tetris and Bingo, where you compete with others for cash. The game consists of a 5×5 grid, and you have to make 2×2, 2×3, and 3×3 blocks with the pieces you get.

The game is fairly addicting, and my girlfriend and I have been wanting a way to practice while away from Second Life. So, I worked a bit on the bus and spent a couple of nights hacking on my new game Tetringo. It’s a clone of Tringo, playable on the Linux desktop, and designed so it will work on the Nokia 770 (once I finally do packages). Screenshot below.

Tetringo

For instructions, see the Tetringo page for more details.

It’s fun so far, but has some work I’d like to still do on it.. eventually. Multiplayer over a network and over Bluetooth is high on my list. I’ll probably get back to it after more productive software releases (leaftag, notification-daemon and Galago).

Taggable Desktop


Luis: You wanted a taggable desktop? Oh, okay.

Announcing Leaftag, our desktop tagging framework. This is an evolution of the original prototype we created, originally named fstaglib (isn’t leaftag just so much better?).

The main part of Leaftag is a library called (oddly enough) libleaftag, which interfaces with the tag database. It’s GObject-based, and the API is quite small. It can tag anything with a URI.

There’s tagutils, a small app used for working with tags and files. It is able to tag and untag files, list all known tags, list all files with a specified tag, and manipulate tag properties (such as icons and descriptions). It also includes some symlinks that provide shortcuts to common tagutils functions (tag, untag, tagls, tags, and tagprop).

leaftag-python contains Python bindings for libleaftag. It simplifies the already simple libleaftag library.

And then there’s leaftag-gnome, which will contain all future GNOME support for tagging. Currently, it supports only a Deskbar handler. Future releases will hopefully include Nautilus search integration and property pages.

Now, it’s important to point out that the screenshots on my previous blog entry are of the old implementation, and have not been ported over to Leaftag yet. This is largely due to lack of time as of late (because of Galago and VMware Server work, on my part), but it’s also because we want to re-implement this correctly. In the meantime, we’re hoping additional apps will start supporting this.

This is the first public release of the Leaftag framework, so please report any bugs to us. In time, after a server migration, I plan to put together a dedicated Leaftag site and bug tracker.

Spice things up in your relationship with libsexy v0.1.6

libsexy v0.1.6 has just been released, along with libsexymm and sexy-python (mono bindings coming soon). It contains two new widgets, SexyTreeView (a GtkTreeView subclass with support for per-cell tooltips) and SexyTooltip (a tooltip that can have widgets packed into it). It also fixes a few licensing inconsistencies (the header files on a couple files were incorrect) and some bugs.

If you’re using the new notification-daemon, it is advised that you update your copy of libsexy in order to fix a minor visual glitch.

Are we assuming users are really dumb?

Update: This is a general criticism of modern development trends. Despite appearing on Planet GNOME, and referencing a current debate, this is not at all specific to GNOME. The point listed below was more a maintainer screw-up than anything else. It’s not a debate on good usability, because everyone has different opinions on it, none of which are right. The point you should be caring about is how users are treated. I know we’ve assumed too little of some people in Gaim and other projects. Not always, but often enough, and I know many other large projects do this as well. So please, focus on that part.

I completely agree with Davyd on the contextual information lost in notifications. I like GNOME, but I feel that we are taking a step back in this regard, and it’s leading me to wonder, are we assuming our users are really, really stupid and need hand holding?

Now, the Linux desktop is maturing, but there are a lot of areas that could be made easier. Things that confuse users. I hardly think “JPG” or “PNG” or “SSH” emblems are one of them. And really, do we think users have never seen JPEG or PNG files, have never heard of them, and would be confused and scared to use their desktop if they saw them?

If a user is connecting to a remote server and mounting it, they probably have some kind of understanding as to what SMB or SSH means. I mean, come on, they have to choose it first! It’s not some random technical thing we’re throwing at them. Context is good, and I know a lot of average users who prefer the context and turn on file extensions on Windows because they want to know what kind of file they’re actually working with.

The common question that I always hear is “but can my Grandma use it?” Are we really targetting senior citizens? If so, we’ve lost. Let’s take a page out of the proliferation books that McDonalds, Microsoft, and everybody else uses. It’s a simple one. Target people when they’re young! Contrary to popular belief, a number of teenagers use computers, and these teenagers understand things. They’re using bittorrent clients, maintaining websites, sending files across the Internet. Should we really treat them like they’re idiots? Sure, Grandma may not know what a JPEG file is, but I doubt she’s a heavy computer user anyway. Most likely, she plays solitaire, and I think her hand can be held with anything else. In the meantime, let’s not forget our younger users who really aren’t as stupid as we’re starting to treat them.