February 2006

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.

I present to you, VMware Server 1.0 beta 1

Wow, what a ride. We just put out this morning (or late last night, depending on time zone) beta 1 of our new VMware Server product. Now you know why I’ve been saying “I’m really busy, can we discuss this later?”

Yes, this is the one that you may have heard rumors about on CNET, Slashdot, etc., but those sites didn’t all have the facts right.

What VMware Server Is:

  • Free virtualization for servers.
  • A way to give people free virtualization with the hope that they’ll consider eventually moving up to ESX for the enterprise.
  • Based on VMware GSX.
  • The successor to GSX.
  • Capable of 64-bit guests, Virtual SMP, new guests like Ubuntu, auto-detect devices, etc.
  • Capable of opening Workstation 5.5 VMs.
  • Available for Linux and Windows hosts. It should be the same set that Workstation 5.5 works on.
  • Ported to GTK2 (using a slightly more evolved Workstation 5.5-based UI).
  • Beta!

What VMware Server Is Not:

  • A stripped down or crippled version of VMware GSX. Server has even more capabilities than GSX did.
  • A replacement for Workstation. VMware Server has no support for multiple snapshots or team functionality, and while Server is a server product, Workstation is a good desktop and development product.
  • A replacement for Player. Player is still high on our priority list, and we useful for the average person who just wants to run VMs.
  • A response to an apparent Xen or QEMU threat. While Xen has potential, it’s primarily just a hypervisor, and we’ve had one of those for ages. The interesting work is built on top of that (as XenSource, another proprietary software company, is doing).
  • A sign that VMware is doomed. I’ve heard this one a lot, and it just makes me chuckle. This should be taken as a sign that we’re doing pretty good. How many companies have the insight and abilities to give away their products for free and still make money?
  • A dead product before it begins. I don’t think there’s a worry about that. We’ve put a lot of effort into it so far, and are already hard at work on beta 2.
  • A money sink for us. We’ll be making money through optional support contracts.

I’m especially proud of this product. I’ve invested a lot of time into it, and so has everybody else involved. I’d like to thank everybody who has had to put up with me telling them I’m too busy for this or that lately 🙂 We’ll be working hard on getting this to a mature 1.0 state.

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.

Pretty new notifications… And a release!

I’ve been inspired by the December GNOME mockups. A lot of them are quite nice, and in the area of notifications, it had some good ideas on sprucing up the look and feel. So I present to you, notification-daemon v0.3.4!

Along with the usual assortment of bug fixes, I’ve improved the style quite a bit. There’s now a countdown timer on notifications with actions, a close button, themed urgency-based stripes, and actual buttons.

Before After
Old urgency stripesOld icons and actions New urgency stripesNew icons and actions
Scroll to Top