The Adventures of Joshua Judson Rosen
(action man)

[ sections: VisualIDs | art | movies | everything ]

Sun, 12 Apr 2009

21:10: Mobile VisualIDs

Now that I've learned enough Etk to be get hacking, `Mobile VisualIDs' are coming along nicely:

I added a column to libframeworkd-phonegui-efl's contacts-listing GUI, today, and just made it look-up PNG-files generated by mkvisualid for contact-names, in the same way that I currently have Nautilus looking up SVG-files for file-names.

evas doesn't support SVG, so I just need to add an option to libvisualid to output PNG-files (which Cairo supports!) and to resolve input file-names to PNG-icon paths.

Then I'll see where else it makes sense to add VisualIDs in the phone UI; the openmoko-dialer3 `incoming call' (and `active call') UI is pretty sparse, right now--there's a huge empty space where it'd be really nice to have some sort of caller- (or `callee-') -identifying graphic (and where other phones do put such a graphic).

I was able to get the editor running last week, since that (obviously) didn't require learning anything new aside from loading and using an OpenMoko toolchain, which is trivial--my Autoconf ./configure just works if I just pass the right `--host=' option, and my code is apparently free of any byte-sex or word-length issues (there weren't really many \opportunities' for those sorts of bugs in libvisualid, anyway).

While the embedded ARM processor provides enough processing-power to make even real-time editing of VisualIDs reasonably snappy, the `finger-friendliness' is something that I'm going to have to work on:

For one, I never considered that the monitor might not actually be big enough to hold all of the parameters at once. Of course, the ridiculously-high resolution of the FreeRunner means that quite a lot of data can fit on the screen at once--and even be legible..., but good luck pressing a spinbutton that's 2 millimeters wide.

A minor tweak to the GTK+ theme can make the spinbuttons large enough to be touchable, and putting a GtkScrolledWindow (or a MokoFingerScroll from libmokoui2) around the parameter-list would be a way of keeping all of the parameters accessible.

Of course, I'd really like to have a click-and-drag, `direct manipulation' mechanism for parameter-modification, which might make the spinbutton issue less relevant. Though, the funny thing about that is: while click-and-drag WYSIWYG editing works great on a bigger screen, I can see how going that way might make things more difficult on a small, finger-oriented screen. So, where the `list of spinbuttons' UI was supposed to be a stopgap on the desktop, maybe it's actually more like the way to go on the FreeRunner.