Planet maemo: category "feed:4fc53fd28b16e0b9ada2e2e5e88f1d9f"

I think I'd like a new challenge. If anyone out there could make good use of a creative C/GTK/C++/Qt/object Perl/Python hacker based in Philadelphia with the ability to work in the US and EU, they can find my resume/CV at http://is.gd/thurman.

I spent perhaps too much of today coding. I didn't really mean to spend quite that long on it, though it was a lot of fun. Will Thompson's help fixing DBus problems was invaluable. Version 0.50 of imgur integration will be coming to a Maemo repository near you soon:

Later, since it's my birthday tomorrow, we went out for a curry. It was pretty good, but rather mild. I was amused that the people at the next table to us were clearly English as well. Then we went to the bookshop, came home, and had some coffee. A pretty good day, all told.

There are a few other things wrong (we need to use Maemo banners, not dialogue boxes; the vibration at the end needs reimplementing) but I think it will be good to go in a week or so of snatched moments here and there. If you'd like to test, let me know.

(I'm thinking of making the title page dark grey, and losing the text across the top, to look more Maemo-like than MeeGo-like.)

Every contact database program I know has a "nickname" field. Today I was thinking that I use the same values in that field for EXIF tags, and what I'd like to see is a plugin (or better, to see it coming out of the box) with a button on each person's contact record. The button would query Tracker, and then launch gthumb or the local equivalent to show images of that person. The button would not display if there were no such images.

Something like this (on Maemo, though the principle is the same for GNOME):

(It's interesting to consider whether the plugin should assemble the list and then pass it to gthumb, or whether gthumb should be extended so that it can be passed a switch to display all pictures known to Tracker with a given tag.)

Of course, Tracker also tracks things other than images, so you could also have buttons for wordprocessor documents, emails, and so on. I could do this (in a while, when I have some time); would any of you want it?

I have had this sitting half-written in my projects directory for far too long, so I present: Imgur Integration version 0.20. imgur.com is a website which allows you to host arbitrary images without creating an account. This program includes a DBus service which allows posting of images to imgur.com, a command-line interface to the DBus service, and an Eye of Gnome plugin to do the same. It is not an official client, but I have talked to the imgur admins and they are happy about its existence.

So when you open a picture, you have a menu option that uploads it and opens a browser at the right page, with no configuration, thus:

You have to turn on the plugin in eog after installation (Edit > Preferences > Plugins > Post to imgur.com). If I package this, I may make it turn on automatically, since it's a little hard to find this.

As originally conceived, it would have also allowed you to use libsocialweb to tweet/dent the resulting URL. I took this out for now because libsocialweb also has API to post pictures, and I wasn't sure how best to do it. There is still a rather useless dependency on libsocialweb. Sorry about that.

eog seems not to look in /usr/local/share/eog/plugins, only /usr/share/eog/plugins. You may therefore have to set --prefix appropriately, or simply copy the files from /usr/local to /usr by hand after installation. Sorry about that, too.

There was a partially-written libsharing plugin for Maemo which used the imgur DBus service, but it's not finished. It could be finished, if people would like it.

Earlier this year, arising out of a conversation at GUADEC, I wrote a nautilus plugin to upload images to imgur.com. (This is useful because imgur doesn't require an account: you can just install, hit "upload", and off you go.)

Here is a copy of the same thing as a MeeGo RPM, suitable for use on the Lenovo machines distributed at the MeeGo conference. Once this is installed, you can select a .jpg image in the file browser, press the menu button, and choose "Post to imgur" from the resulting menu. Equivalently, you can choose the same option from the Edit menu. The image will be uploaded, and the web browser will pop up at the new URL. Then you can send it to your friends, embed it in a blog post, or whatever you like.

Here's a live AJAX-based version you can play with. It's not very fast unless the word is cached, and it only takes at most a word of context (unlike the real thing, where the context is everything you've ever typed), but it should serve to demonstrate the principle.

Now to release the code, and to look into patching existing VKB systems.

Last week at the MeeGo Conference several people were talking about virtual keyboards, and the idea came up of doing predictive text, either by making more likely letters physically larger, or merely by increasing their sensitivity.

When I came home, I wrote a JavaScript mock-up based on a third-order Markov chain. It's quite fun to play with, especially on a touchscreen.

When I showed this to a few people at Collabora and elsewhere, Rob McQueen suggested avoiding reinventing the wheel by using the rather wonderful Dasher system as a back end. So, after a longish hacking session, here it is:

The front end shown here is just a custom GTK widget I threw together; in real life it would use an existing input method. I've exaggerated the differences between letter sizes for demonstration. (As I mentioned above, the physical letter sizes might not change at all.)

There is a wiki page about all this. Let me know if you'd be interested in helping work on this; I'll be releasing the code shortly, and adding a link on the wiki to it. (Odd thought: I wonder how useful another demonstration piece of JavaScript would be, pulling data from Dasher running as a CGI. Let me know.)

I'm hereby releasing a public beta of robotfindskitten version 2.0 for MeeGo. I've been sitting on it for far too long. This is a complete rewrite in Qt. It's only designed for the netbook; I haven't tested on the handset. It should work fine on the Lenovo machines distributed at the MeeGo conference.

Links:

The RPM is here, mirrored here. Install it with rpm -i rfk-2.0.0-1.i586.rpm.

The other day, over porter somewhere in Dublin, we were discussing people who run curses-based applications in the X terminal under Maemo, rather than using the GUI. (For example, some people run mutt rather than modest, irssi rather than xchat, and so on.) Sometimes people do this because they want or need to run the client on a remote machine, and they don't want to bother with X forwarding. Sometimes they just prefer the character interface.

The idea was then floated of having an escape sequence which caused the client to pop up a notification, so that even a curses-based application running on a remote server could alert you that you had new mail, or that someone had just said your name in channel.

patches to mutt, irssi, and so on to produce these sequences would be useful

we need to work out something to do with terminfo to report that this sequence may be generated

it uses OSC code 55, which is otherwise unused in gnome-terminal, but I don't know whether anyone else uses it for anything. (The relevant spec, ECMA-48, says that OSC codes are user-defined, but I'd still rather not tread on anyone's toes.)

it only allows the sequence to be terminated by BEL; this is traditional, but ECMA-48 actually requires ST instead. This will be trivial to allow as well.