Posts Tagged ‘Linux’

(on Technorati , Del.icio.us)

GThumb has mangled my photos

For quite a long time, I’ve primarily been using GThumb to manage my photos. It’s fast, did approximately what I needed it to do and had this great “Apply physical transformation” checkbox on the Rotate tool.

GThumb’s Rotate Images Tool
GThumb’s Rotate Images Tool

What this did, was look at the Orientation information in the photo (as recorded by some cameras) and try to automatically rotate the photo correctly. For the most part it seemed to work great. Sometimes, they didn’t display correctly in other software, and I thought that was the other software’s fault – worked fine in GThumb.

However, as I’m now writing a tool that does similar things, I’m discovering that the fault was actually GThumb’s. After rotating the photo, GThumb did not update the photo’s orientation information. This caused all other applications (Eye of Gnome, Nautilus – website out of date!, etc) that correctly read this information, to display the image rotated incorrectly. In subsequent versions, a feature was added to counter this: Tools->Reset Exif Information. Applying this tool to the affected photos would solve the problem, but seeing which photos are affected is NOT intuitive. Hopefully, PhotoFile will make this easier with a clear UI.

The Rotate tool in GThumb now correctly adjusts the photo’s orientation information after rotating it. Some of the discussion regarding the bug is … amusing.

touch PhotoFile

So I’m going with the name PhotoFile for my new project. Clever, I know. Actually, not sure what exists out there already, like this or with a similar name. A quick google search didn’t reveal much. Either way, I’m sure nothing exists that is quite so perfect for ME (I’m incredibly selfish), and I think this will be a good learning experience, so I plan on getting it to a reasonably usable state, at least.

PhotoFile - so early it doesn’t have version numbers yet!

I liked the original left-to-rightness, as it visually led the user through the workflow; and that’s how I originally envisioned it. But the whole thing was getting too wide. So I’ve updated the GUI a bit (not final by any means) and I think this is looking better, for now. Open to ideas/suggestions, of course.

Since last upate, I’ve done some (much needed) code refactoring and cleaning up, added minimal Exif support using EXIF.py, and some GUI modifications (file list frame is resizable, added the filename below the thumbnails, moved the Original thumb above the Preview thumb). Most of it is still just GUI stuff and it’s not functional, but it’s getting to a point where I will easily be able to make a few things functional.


$ cat photofile.py | wc -l
470
$ cat photofile.py | grep FIXME | wc -l
24

It’s still just a wee little program. :)

Project()

I’m currently working on an idea I’ve been kicking around for a long time:

photofile 0.0000001

This is being done in Python and PyGTK. It’s mostly just GUI stuff at the moment (none of the operations are functional), as I’m learning GTK as I go. And even though I’ve done a bit of reading regarding Python, it’s gonna be my first real attempt with the language. Bottom line: progress will probably be slow. :P

Some big news for Open Source, recently.

Also, apparently I’m strange, because I like the new Nano.

Now, that I’ve got rid of a bunch of bloggy things, I’m gonna go outside and rollerblade for a bit on this awesome day. Will grab a drink and poke at my new project after a soon-to-be-required shower.

Pidgin 2.1 UI Ideas

Quite a lot of UI modifications have been made to Pidgin since 2.0, in a relatively short time. I’m happy to say, it’s gradually getting better. The window has a minimum size which prevents UI elements from being cut off, the text formatting has been collected into a drop-down menu, and it generally looks much cleaner.

I’ve been lurking on the pidgin-devel list keen on UI discussion, as I think it’s an area where pidgin can improve greatly. I spent an admittedly long time in The Gimp illustrating a couple UI ideas in the form of mockups.

First, this is the target conversation window mockup, done by Hylke Bons.

Now, this is what the conversation window currently looks like (minus the comments, of course).

I’ve basically modified the target UI slightly.

Full-size user avatar

default

It’s nice to see the avatar how it’s meant to be seen. It makes the conversation more unique for each individual. I think the vertical space will eventually be needed as pidgin implements more protocol features, anyway. Some people complain that too much space is occupied by such an infopane, but a button which toggles full-display and no-display (or small-display) could easily be implemented. I was thinking you could just double-click a tab, but when I tried it to see if that did anything, it let me give my contact an alias within the tab! Feature discovery! heh.

Selectable text

Something that has always irritated me with nearly every modal window: why not make text selectable? I can’t think of any reason why not to do it. It doesn’t change the UI at all, and will make it more useful to those copy-paste users – there’s a lot of them. (Get user info – which is terribly delayed, and fails often – should only be needed when the user wants to select information that is not displayed right in front of them.)

selectable text

Clickable links

Any email links should behave like a mailto: link, displaying a menu with the options of writing an email to that address or simply copying the email address. The same should be done for links inside the chat window, “open in browser” and “copy link location.”

clickable email links!

Protocols

Pidgin handles many different protocols: MSN, Yahoo!, ICQ, IRC, etc. The idea is that you can use a single IM client to communicate to all of your friends. Many people use multiple protocols for whatever reason (some of my friends are on MSN, the rest on gChat, a couple on ICQ). But really, having a bunch of accounts for the same person cluttering your contact list does more harm than good. A good way to overcome this is to use the “Expand” item in the contact list context menu: right click on a contact, and select Expand in the context menu, then drag all this person’s different accounts into this expanded contact. When in a conversation window, you can change the active protocol used to chat with your friend by using the Send to menu item. But the problem is, you have to go up and check the menu to see what the active protocol is.

super-useful protocol button!

The entire Send to menu can be replaced by a protocol button in the infopane that acts as both the protocol indicator and selector. The space to the right of the protocol button can be used for protocol specific functionality, as they become available (video, voice, whiteboard, etc). Using the button to change the active protocol could change the available actions to the right of it.

Tab size

A lot of discussion/debate/flame is going on with the purpose of reducing tab-size (removing the status, and close icons). Personally, I think the status icon in the tab is very useful for seeing the status of the people you have open conversations with and should not be removed. If you have 10+ conversations open, you can always right-click on a tab and get a nice list. Sean Egan (the lead developer) jokingly put forward the idea of having the conversation tabs on the side, which actually doesn’t look bad. Maybe the format-bar and info pane would have to go on the right of the chat window… not sure how that would work.

Update Aug 5th

  • First of all, if you want the developers to hear your thoughts on this issue, you should discuss it on the pidgin-devel mailing list. If you just want to follow any discussion from the list, you can browse the archives.
  • I noticed this post has been dugg.
  • After a little feedback on the mailing-list, I’ve got another mockup. I’ve added a dropdown indicator to the button when the active conversation-buddy has more than one contact, and put example contact lists for clarity.

    Further illustrating the protocol button next to the contact list.

Update Aug 14th

It’s true. Pidgin doesn’t have a Send button. I had no idea this bothered some people, but I guess it could be made more obvious.

Greyed out text telling the user how to send a message.

Random UI Stuff and Link Dump

Radial menus in GNOME! libsexier, indeed! Awesome. I was wondering when radial menus would creep their way to the desktop. After watching the video, I enabled Desktop Effects in Feisty and ran the demo, but the performance wasn’t very good. I’m not sure why. Should I be using an updated Cairo or other lib? Does my computer just suck that much? :(

iwant iphoto and imovie. F-Spot devs, please check out the iphoto demonstration, particularly the usage of “events.” (version 4 is out! I still need to try that…) Anyone capable of working on a movie editor for linux, please look at imovie. :) I’m totally jealous of these 2 particular pieces of software… as I would use them a lot.

The Office 2007 UI Bible documents the history of Microsoft Office’s UI and various decisions that were made. I’m not done reading it, but it’s quite interesting.

Compiz Fusion is lookin nice…

More worthwhile links

Scanning in Linux

After actually using my all-in-one printer/scanner/fax/copier thing for scanning some photos, I’ve discovered it’s not actually that great as a scanner; Jack of all, master of none, I guess. It has trouble differentiating any dark colour from black, so the resulting scans have an excessive amount of black in them and generally much fewer colours than they should. The device in question is a Brother MFC420-CN, and for most tasks I require, it’s great – just not for producing quality scans of photos. Not sure if there’s some settings on the scanner I can change, but I tried a bunch of stuff in the scanning software to no avail. On that topic, gnomescan will be a much needed improvement over xsane for Linux/GNOME. I tried it out and it mostly worked. :) But the version I was using (0.4.0.4) has since been rewritten so if you want to use it, try out the svn (version 0.5+).

What was I scanning, you ask? Some class photos from elementary school for a friend. See if you can find me in my grade 3 class. :)

My grade 3 class photo