Gimmie

See http://www.beatniksoftware.com/gimmie

Havoc: Firstly, thank you for the kind words about Gimmie. I also think it is pretty interesting :-)

Secondly, I’m sorry I missed FUDCON. I had never heard of this event before. I had certainly never heard that Bryan was going to present work similar to Gimmie there. Nor did I see blog posts or project pages afterwards. In fact, when Bryan approached me a few weeks ago, he asked that the screenshots and design pages for Big Board be kept under my hat.

The point about Gimmie code being used in BB was simply to point out that those working it have intimate knowledge of Gimmie’s codebase. I was not trying to imply that BB was a fork of Gimmie’s code. If only! A fork would have at least meant sharing code and resources.

Regarding Web services, I’ve been explaining that this is the vision for Gimmie to several RedHat people for quite some time now. Jonathan as far back as December ‘05 at the OSDL Desktop Architects meeting. Bryan many months ago on IRC, when he expressed interest in Gimmie, and was first getting it running and playing around with it. I would have talked with you about it at FooCamp ‘06, but you were pretty negative on the prospects for the Linux desktop at the time. I should have blogged more publicly about it and laid down a clear vision, I suppose.

Of course you could have seen the work-in-progress state of Gimmie’s Web services integration if you had ever run it. Visible placeholders for Friendster people, Flickr photos, GMail contacts, etc have been there since the first release at GUADEC ‘06. Of these only the GMail contacts integration has been implemented so far, unfortunately. Trying to build a community to keep the project afloat and working to support the massive variance and instability between Linux distributions has taken up a lot of my non-work project time.

Lastly, I don’t buy the argument about the difficulty of merging the two projects. You say yourself that the BB codebase had just begun a few weeks ago. The designers, managers and developers knew about the vision and internals of Gimmie. You could have reused the existing code, or architected your code for reuse by Gimmie and others. You chose not to.

The Mugshot team at RedHat has been working deep underground and making great progress as described by Havoc’s latest announcement. I first learned about what they’ve been up to a few weeks ago when Bryan Clark contacted me to get feedback on his Big Board project.

He showed me the Big Board mockups, and we talked a bit about them.

My first impression was just how much this all looked like Gimmie. Bryan said it was on purpose, and that they were using a lot of ideas from Gimmie.

This raised some questions from me…

Why isn’t the Mugshot team just contributing to the existing, open Gimmie project? Instead they’re developing something from scratch completely in private. Both hope to tightly integrate the Web into the existing desktop experience by allowing access to all the information stored on remote sites. Both are Gtk+-based and written in Python.

Why didn’t anyone tell me they were working on a Gimmie clone? We could have worked out some of the more difficult problems together, instead of reimplementing the same things. Common APIs for accessing Web-based data like GMail contacts, LiveJournal friends, or Flickr photosets (for example) could have been created. This would have been a first for any desktop platform.

Does tying the ideas in Gimmie to a Web service provided by RedHat justify a new project? I find the idea of storing profile data on a central server pretty interesting, and I would gladly have taken patches to support it in Gimmie. If anyone had asked, that is.

Why haven’t I received any code contributions back in any way? The team obviously knows all about Gimmie — they’re reusing some code. Worse, when I first spotted this in the Mugshot code repository it was being illegally relicensing under a custom “Mugshot Client License”. It’s now only illegally relicensed under the GPL from the LGPL, I believe, though it’s hard to tell from the repository layout.

Why hasn’t anyone stepped up to publicly support the ideas in Gimmie? It could have been a strong motivator for contributors to have well-known people like Havoc or Bryan express our seemingly shared belief in integrating the desktop with the Web. That a team at RedHat has been tasked with implementing it lends credence and momentum. This kind of public support sure would have made life easier for me.

Instead I’ve been working by myself to have the ideas in Gimmie accepted by the community. It’s never been easy as an outsider working in my free time. It has meant a large amount of effort to implement a baseline of existing GNOME desktop features to ease adoption. That effort and community building has taken precious time away from implementing my vision of a truly Web-friendly desktop, and I could have used some help.

… This all made me very upset. Bryan couldn’t understand why. Didn’t I want all the ideas I’d been working on for over a year to be ripped off without credit, attribution, or contribution?

No, as it turns out.

What I want is for RedHat to work with me to accomplish our common goals. And I want to avoid more of the massive duplication of effort the Mugshot team has already committed in private.

But in the weeks since we talked I haven’t received answers to any of my questions. Nor have I received any code contributions, or been contacted in any way really.

I recently added a feature to Gimmie. I replaced the “Computer” topic with one called “Linux”, which contains all the same stuff:

Gimmie Linux Label

(Btw, this is really just handed out by Python, so it’ll say Solaris or FreeBSD correctly).

There are two related reasons to do this. They have to do with marketing and branding the Linux desktop. I know I know, you’ve probably just spit at the mention of such things. I hope you’ll read on anyway…

Linux is a strong brand, it turns out. Many, many people recognize it as a unique name representing a special kind of computer software.

That single five-letter word is one of only two free software names that have managed to filter up to a larger audience. One that includes non-geeks. (The other word is Firefox.) This is amazing!

This fact is all the more incredible because the free software community — the very people who make the name worth knowing in the first place — try everything possible to sabotage the Linux brand.

No one outside of our community has heard of Fedora, Ubuntu, SuSE, GNOME, KDE, Debian, Gentoo, or any of the other arbitrary project subdivisions we make up. Chances are pretty good that they never will.

This doesn’t stop us from the constant arguing and public debate over the merit of one versus the other. Almost as if it’s a more important distinction than making the flying leap to try out our Linux-based software in the first place. As if the free software goals aren’t being accomplished when people choose one project’s offerings over those of another.

What’s worse, we happily allow distributions to collude the strong brand we have built, replacing Linux with their own chosen naming. You can see this with every distribution in the form of de facto changes adding an icon here or a splash screen there. Why they do this is understandable: brands are very powerful. They empower their owner to use all sorts of techniques to create a value proposition against the competition. Marketing people eat this up, and they defend the brands they control using any means necessary.

Anyway, it’s probably best for all parties that regular guys never hear about all our project distinctions and their associated micro-brands. People would be so annoyed and overwhelmed that they’d never look back from the cozy arms of the Windows and Mac (strong brands indeed) worlds they come from.

So the first reason for the Gimmie change is to help people accept that Linux is our brand, and to help bring that out and to forefront so we can begin to galvanize behind it.

Imagine how much stronger our community would be, how much more energy would be shared instead of duplicated, if every news article or blog post comparing one Linux project unfavorably to another was met with a simple resounding reply:

Linux is a single project intended for the common good of all people. The divisions you draw serve only to fracture and distract our progress. Please stop.

Sure, in the short term Linux distributions will continue their status quo of rebranding. As is their right, they may even patch Gimmie to replace “Linux” with their preferred proprietary trademark. But distributions that do this do so without my approval, and I hope, by extension, without yours.

The second reason for the change has to do with actively increasing brand recognition for Linux.

Let’s have an illustrative example to show why this is needed. After you finish reading, boot your machine and count the number of times you see “Linux”. Sadly, chances are good you’ll see it one or two times in the terminal output before your distribution’s splash screen takes over.

Now consider how diverse and configurable every Linux desktop is. Panels and docks can be put anywhere. Labels, icons, and themes are drastically variant. The navigation needed to open a Web browser, for example, is impossible to predict. In fact, it’s nearly impossible for someone not seeped in the nuances of free software to know they’re even looking at Linux!

So Gimmie makes it a little more obvious. Linux desktops that say “Linux” on them. Quite the novel concept, no?

Hey there, Gimmie 0.2.0 0.2.1 is out. Get it here.

Whew! It’s been a long time since the last Gimmie release. Let’s see if we can come close to generating the momentum of the initial release, which received a whopping 792 Diggs on Digg.com.

I’ve noticed that a big reason that people still aren’t playing with Gimmie is that they don’t want to toss out their beloved Gnome panels. Especially not in favor of some heavily alpha software. Surprise!

So in 0.2.0 I’ve trimmed down some of the more experimental features in Gimmie, and turned it into an applet that fits in well with a typical Gnome desktop.

Click to see the cute animation:

Gimmie Applet Teaser

Now people can easily experiment with replacing their existing panel launch menu with something a little more interesting. And you can still run the standalone (or “totally awesome like the future” as some call it) version of Gimmie too, if you want to track the progress of development.

The interim since the 0.1.1 release has had a positive impact as well: a lot of bugs have been fixed that required the bundling of custom versions of several dependency libraries. This is also the first release to install using normal Unix-style procedures, instead of just warning that Gimmie isn’t ready for that yet (and that it really just wanted to be friends).

Many thanks go to Drew Kerr, who was the first to get Gimmie running as an applet. His original patch inspired me to get this release rolling.

Enjoy!

UPDATE: I fixed a pretty nasty bug that some were reporting with the applet’s focus grabbing, and rolled a quick 0.2.1 release with the change. Get it here.

The network access is too poor and the distractions too much fun here at GUADEC to write a proper release note just yet, but I wanted to let everyone know that the first Gimmie tarball is up.

UPDATE: Released 0.1.1… Realizing that people first running Gimmie are seeing a very empty bar, so I added some default bookmarks for Nautilus, Firefox, the README, and my AIM account. This last one is probably a bad idea. Also, there was a bug when dealing with filenames not encoded in UTF-8, so I worked around this and fixed a few other bugs too.

UPDATE UPDATE: Andrew Karr, author of the Gimmie icon, made this beautiful mockup for a possible future layout. Check it out!

Digg it!

I just posted my GUADEC ‘06 talk slides. Check them out if you’re looking to understand a little more behind where Gimmie is headed.

Just a quick post since I haven’t written in a while…

Gimmie

We’ve seen some amazing progress lately, with the Computer topic being built up to support a lot of the features present in other parts of the GNOME Desktop: listing printers, drives, media devices, and remote network mounts. Gimmie presents them all in a single consistent searchable/bookmarkable interface, just like Applications, Documents, and People.

A recent patch from Tony Tsui adds the ability to drag files to the Trashcan to delete them. It’s a good example of the low-hanging fruit in Gimmie that has a lot of benefit to our growing user base.

Other sundry improvements include better support for Gaim (and especially Gaim2) when listing online buddies and active chats, improvements to the auto-raise algorithm in the GimmieBar, and lots of other little tweaks.

Pretty soon I’ll be shaking things up a bit with a new GimmieBar layout, so stay tuned for that. Also, an artistic contributor submitted this beautiful creation, which I think is destined to become our project icon:

New Gimmie Icon

VMware

Worklife is busy, with VMware Server approaching the end of it’s beta cycles. I am eager to see how this first release fosters experimentation with virtualization for those who might never have considered it in the past.

Combined with a new crop of lightweight virtual appliances, Server enables a new mashup-style approach to solving problems a in diverse server environment. Exciting stuff.

Me

Carrie and I are enjoying our new apartment at 54 Landers St. in the middle of the city. Having a den/study is a blessing, since it allows me to physically separate my computer life from the rest of my home life. The challenge now is finding fair balance between the two.

My intro to Chinese acrobatics class has me building some shoulder muscle for the first time in my life, and I can now feel balance and consistency in my handstands improving. Last week we began using the mini-trampoline to work on aerials for the first time.

This is the nicest thing anyone has ever sent me about software I’ve worked on:

Subject: Defaults on Tomboy
Date: Sun, 30 Apr 2006 13:56:10 -0400

Hi Alex!

I picked up the idea for Tomboy from a short article in “Linux Format” magazine, so installed it a few days ago. I like it a lot, especially the linking feature.

However, I didn’t like your default font for either size or name. It took me a while to find that a right click on the Tomboy ikon allowed some of these things to be changed. Now that I have managed to change to a sans font at 12 points, I am VERY happy with the application. What a simple, neat and elegant solution for a common office need!

I am now retired but use my system a lot for letters, surfing the web, keeping tabs on medical appointments and so on. So I now use Tomboy as back up memory! I can now jot down things to buy when I’m next at the stores, points to bring up with my family physician or medical specialist, titles of books I’ve ordered either from book clubs or from stores, and much, much more.

Thanks for a great little application.

I’ll be 26 this Saturday.

I’ve just submitted a GUADEC talk proposal for Gimmie.

Browsing the awesome proposals that have already been sent in, I found one on Desktop Tiles from JimmyK which reminded me of an idea I had while travelling in Brazil some time ago…

Subject: forgot
From: Balabhadra Graveley <orphennui@…>
Date: Sat, 21 Feb 2004 15:13:02 -0800 (PST)
To: Nat Friedman <nat@…>

Forgot to tell you that I have a dashboard/desktop proposal…

Think about encompassing gui constructs that are quickly and easily associated with what we care about (currently Files and People) used everywhere on the desktop (inside evolution, gaim, etc, and exploited by dashboard, also possibly a Files and People menu on the foobar)… to provide access to all the actions you can perform on a File or Person (accessed from a right click menu), and optionally providing some pieces of contextual information which also have associated actions…

I think this could make the desktop more useful by providing a common & pervasive actions list, consistent dnd…

And I think it could clean up the dashboard gui by organizing the things which are related to people and files into what would become warm and friendly desktop gui constructs (that could grow to encompass Projects, Communities)

Also, I currently have three wounds on the lower half of my right leg, between nickels and quarters in size, infected with some unkillable jungle virus.

-Alex

This never turned into anything of course, but really interesting to witness how ideas recycle nevertheless. I can’t wait to see the talk.

We Win

I win
2006 Women’s Bobsleigh Silver Medalist

Check out this amazing Leaftag-Gimmie integration screencast from David Trowbridge. Excited to see the first example of these two projects grooving together for a mind-blowing next-gen world-changing desktop experience! Phew! Hopefully, a lot more to come.

Interesting to see Aaron Seigo off and running with one of the ideas we discussed on our serendipitous plane ride back in December:

The over-the-horizon idea is timelining, which Seigo says could be included with KDE 4 in some way, but will more likely develop over the next couple of KDE releases. The idea of timelining is that your computer recognizes the tasks you do most often, possibly even within the time frames you normally do them, and provides faster access to those applications and files.

Yay! After some hosting troubles over the last few weeks, beatniksoftware.com is back online. In the interim, there’s been a lot of great progress on Gimmie that I hope to talk about soon. Stay tuned.

Taking a hint from Davyd, I’m going to spend my train ride this morning typing up proposals for a few talks to be given at the upcoming Gnome developers conference (GUADEC) in Spain. One will certainly be about Gimmie, but I’m keeping wraps on the others until I get my thoughts organized.

This is getting kind of silly. All better judgement dictates at least a few days between project cheerleading posts… but I think this one is just too sweet not to share.

Here, with just the fundamentals of simple bookmarks in place, Gimmie has already become useful enough that I have it running all the time.

I’ve always had the same annoyance as Luis when it comes to OS X’s Dock. Namely, there is no quick way — using only the mouse and the Dock — to choose the window I want, if that window belongs to an application with more than one window open. I tend to run into this most when jumping between a bunch of Firefox windows or MS Word documents.

This happens because clicking on the application’s icon in the Dock is dumb. It blindly raises all the clicked application’s windows be in front of all other windows. Usually, I click on the application in the dock and then have to go click on the title bar of the window I really want to work with, which totally breaks my flow.

So I came up with a simple algorithm for this which works really well for me, and I put it into Gimmie. It works by doing very much the same thing as the OS X Dock for applications which are not currently in the foreground: clicking the application’s icon will bring all its windows to the front.

The difference is that clicking on an application which is already in the foreground will lower the foreground window beneath the other windows of that same application. So successive clicks will cycle through all the application’s open windows.

I’ve found it really straightforward and fast to focus in on what I’m working with in this way. I just click to raise the application, and if the most recently used window is not the one I want, I just keep clicking until the one I want is raised.

Of course, this will be rendered mostly moot when documents and people in the GimmieBar each receive more coverage and support. Clicking a thumbnail of an opened document to raise its window to the foreground is always going to be faster than going via the application icon, and this is one of the strengths of Gimmie’s presentation of first-class desktop objects.

Today on the train I played around with Inkscape for the first time. I wanted to make some mockups of possible layouts for the GimmieBar, the thing at the edge of your screen that lists the currently opened (or bookmarked) applications, documents, and people.

All of the layouts I’ve been toying with have certain deficiencies, and I wanted to sketch them out so I wouldn’t lose track. In the end, this turned out well enough to solicit feedback, so please tell me what you think!

Assume these are aligned with the bottom edge of your screen…

I favor the Option #1 for it’s simplicity, and large predictable button targets. It has a small height profile since only the bottommost buttons stay on top of windows.

Option #3 is my second runner up. Here, the black buttons take the place of the browsers buttons. It has a smaller overall height profile, and I think it looks cute. It may be the best option when placed along the side of the screen, since people dislike vertical text (anyone know of some evidence on this?)

Option #2, though most visually appealing to me, has several overwhelmingly bad characteristics, so it’s probably out of the running.

Inkscape is a really amazing app. I actually forgot that I was using free software, which is very rare indeed.

Freaking awesome to see all the comments people have posted to my last entry, both positive and negative. The point after all is to solve these desktop-wide problems in the best way we can, in the open. That said, I can already see some recurring questions, so I’d like to respond to them as well as I can…

Why separate AbiWord-the-application from opened AbiWord documents?

I see some value in the split, and I think it’s worth exploring. For instance, if you have multiple Abi documents open, clicking on the Abi application icon cycles focus between them. If you’ve loaded an HTML file you are editing into Firefox, clicking the document’s icon could allow cycling focus between the editor and the Firefox tab.

Ideally, all documents will have a live thumbnail icon in the Gimmie Bar, and I think the perceived duplication between document and application goes away when the icons don’t look so much alike. They are distinct objects that deserve distinct representations.

Besides, there are many applications (and actions within applications) which are not document-oriented, and I’d like to keep them as first-class citizens too.

You seem to spend a lot of time closing Gimmie windows in that demo.

Stealing a feature from Tomboy, you can already press Escape to close Gimmie windows, but this is confusing in a screencast :) Other things I have in mind for speeding this up are making F1, F2, and F3 global shortcuts to toggle visibility of the Gimmie windows. Also, opening an item while holding down the Control key can dismiss the Gimmie window.

The colors are lame.

Luckily, these sorts of color choices are now themeable, so they can look however you want. In the future, the Gimmie Bar icon area could be transparent and the colors a gentle hue to aid visual grouping.

Why not just use Beagle for finding things?

I see Gimmie as a complement to the Beagle and Spotlight style of generic searching. I think it provides a “browse-mode” equivalent that can be easily learned and understood.

Interestingly, from my own experience, targetted or directed searching as seen in OSX Tiger’s Preferences, or the Gnome Panel’s Add Applet dialog, or Firefox’s Google bar are what I use most often. So Gimmie has this too.

This is great! But…

Gimmie is in it’s infancy, and now is the time to join in and steer the direction. It’s only 3,000 lines of Python code, spread over 11 files, so it shouldn’t take more than a couple days to learn as much as I know about the code.

Oh, and thanks!

Here is a preview for a project I’ve been working on in my free time, called Gimmie. Gimmie is a prototype attempt at making desktop task management simpler and more useful, and I think it’s off to a good start. Lots more to come soon.

Gimmie is stored in Gnome CVS, in the “gimmie” module. You can also browse the latest source online.