Posts Tagged ‘Gnome’

(on Technorati , Del.icio.us)

Free Software to Look Forward to

  • WordPress 2.5 is out! This one makes me overly excited because it comes with a built-in gallery!!! FINALLY! And with multi-file upload!! I was just playing with it and It looks like it will suit my purposes just fine. I guess I will continue avoiding the Flickrs and other such community-based photo sites, for now. I’ll probably have to update my theme a little, however… and see if there’s a way to set a maximum photo size.
  • OpenOffice.org 2.4 is out and comes with quite a lot of improvements, including OpenGL transitions (perdy) and performance gains. OpenOffice.org 3.0 looks like it will be quite a massive release, aiming to sing and dance. Also see here (Thanks, Andrew).
  • Ubuntu 8.04, Hardy Heron, is nearly out. Less than a month away! It comes with the recently released GNOME 2.22, Firefox 3.0b4, PulseAudio, and a bunch of other goodies, like using the excellent Transmission as the default Bitorrent client. I’m also really looking forward to the World Clock Applet – then I won’t have to think about Japan’s and Brazil’s timezones ever again. 🙂 Beta’s available now.

Stuff that looks good, but I have no experience with…

  • Pencil – Open source, cross-platform 2D drawing/animation application.
  • Hotwire – Smart shell.
  • GNOME Do – Like quicksilver from OSX.
  • ReInteract – Super python console.
  • Faces Project Management – PM is something that’s lacking on Linux.
  • Tracks GTD – If you’re willing to install it on a RoR supported server to help get things done.

Finally

I’ve been meaning to mention this incredibly well designed (because it’s simple) program to edit subtitles (for those totally legal foreign videos you’re downloading/transcribing): gaupol. Very slick.

GNOME Panel / Ubuntu UI Musings

Reading Ubuntu 7.10 Pragmatic Visual Presentation Critique got me thinking about a better way to position applets and launchers on the panels in GNOME.

Imagine if you have locked all your applets and you’re trying to move a new applet to a specific location, you have to first unlock every applet which involves a right click, left click check-box, and repeating this for all locked applets. Once the applets have been unlocked and you have placed your new applet at the desired location, guess what? Time to lock them all again! Right click, left click check-box, right click, left click check-box, you get the idea. A method of locking/unlocking all the applets at the same time seems like a much welcomed option at this time.

I totally agree here. The panel should have a mode, (“layout mode”?) that darkens the rest of the screen so it’s obvious that you’re operating on the panels. Clicking off the Panel will exit this mode. I’m not sure what the best method would be for entering this mode. (An option on the context menu of every item on the panel?) Once in this mode, applets and launchers can be dragged around with the left mouse button. Moving the mouse cursor over an applet or launcher will highlight it with a red outline or something, so it’s obvious what will be moved. There should be a small lock icon below each. Clicking this will toggle the position lock. Speaking from experience, you usually want to do multiple unlock/move/lock actions at once, and with the current interface, it’s rather painful, as the author points out.

A quick mockup (I found an anchor before I found a lock, but an anchor makes sense):

Layout mode mockup

The author also touches on many other things that I don’t really see as big issues. Blurry icons? And he complains about icons not scaling properly with a resized panel. (See here.) For individual launchers, and the volume applet, the icons will scale fine. I’m not convinced scaling the Notification Area icons up would be desirable, as they would take up a lot of extra space and they can appear and disappear frequently, but that might be the user’s desired effect. Maybe an option for the user to say if they want them to scale, wrap, or neither… but all the icons in the notification area should definitely be consistent in behaviour, just as the launcher icons are on the panel.

notification area

Desktop Effects. He says they feel like a hack. I would agree that the defaults are truly terrible (wobbly windows? seriously?) and they certainly aren’t without their problems. As one would expect, they even introduce new defects. But after installing CCSM, and playing around with what’s available, I must confess I like them and I think they add a valuable layer of communication to the user: windows that aren’t responding fading to dark (see pic), new windows sizing and fading into existence, minimized windows flying to their position on the Window List applet (taskbar), desktop panning, zooming anywhere, live thumbnails for every application, etc. I do wish I could enable the one feature of wobbly windows to act as the system bell, and have the window wobble as a visible bell. I really liked that. But I can’t enable that single wobbly windows option without disabling something else I’m currently using. Also, the workspace switcher seems to be broken. I can’t drag windows from workspace to workspace within it.

not responding

Certainly, I agree the preferences menu could be more sensibly organized, but I think the Appearance capplet is great. A reference to the Appearance capplet within the mouse capplet is all that’s needed to improve the discoverability of the mouse cursor icons.

Two About menu items under the main System menu (one for GNOME and one for Ubuntu): they don’t bother me. There’s only four other items on that menu, and these are both important when users are reporting bugs for checking which versions of software they are running. The “Help” launchers are something I never use, and the first things I remove. But for novice users, maybe they’re helpful. I really wonder how often people read the included documentation, though….

Certain types of behavior should be unacceptable where user experience is concerned. It is unacceptable in my opinion for a Linux Distribution to knowingly ship broken Artwork with the distribution.

He’s clearly never used windows. 🙂 In all seriousness, if usable features had to wait on perfect aesthetics before mass deployment, Apple might be the only company releasing anything. In the Open Source world, users are depended upon for everything, including the aesthetics. If the software never gets out, it doesn’t get the attention it needs, bug reports aren’t filed as soon, and relatively stable (and usable) software is dis-serviced by not being allowed to gather the feedback it should. The article itself is a case in point. It’s also worth mentioning that Ubuntu Gutsy is not an LTS release. The Hardy Heron release will be, and that makes it especially important for Gutsy to get as many new features into users’ hands as possible. Linux distributions depend on the community and can’t evolve as effectively behind closed doors.

Hmmm… I suppose this post turned into more of a response to the post on Architect Fantasy (not my original intention), which I found interesting but didn’t agree with everything (which is totally fine).

PhotoFile

Screenshot update! Still no version… as it’s still just a husk of a UI… mostly.

PhotoFile pre versioning

I’ve changed the GUI quite a bit. Actually, what it is now took a surprisingly long time to arrive at. I spent time going through some ideas on paper, and I even did a huge amount of refactoring to make coding easier. It’s at the point where a GUI in another API could easily be thrown in…. it just requires me separating the PhotoFile class into PhotoFile and PhotoFileGTK… but I’m not going to bother, at this point, because I don’t think there’s much point in offering it in another kit. GUI and no-GUI could be useful, though. Anyway, there’s still quite a few problems remaining, including:

  1. Supported File Types: I need a list of file types (extensions) that are common in Cameras and that people would be interested in transferring. So far, I’ve got what my camera supports: JPG, THM, AVI, and WAV. Some cameras allow for sound recordings to be created (WAVs on mine) but I’m not sure what I should do with these… rename to have the same name as the image, I guess (if it’s a memo). Post your camera’s formats and how they’re used in the comments! Example of my Camera: WAV files with a filename the same as an image are a sound memo for that image. AVIs are movies and have and accompanying THM file (same filename) which is a small Jpeg containing a thumbnail of the movie.
  2. Empty Source Directories: When moving files from the source, should I automatically remove any empty source directories? Maybe add an advanced property for this? I certainly don’t want to add it to the main dialog. KISS.
  3. Separate Operations: I’m not sure if each file should save it’s own set of operations for the session. For example, user selects manual rotation for two files, and auto-rotation for the rest. Should Process All Files remember those two files’ manual rotation, or should it apply the visible operations to ALL files. If I should save settings for each file, then I feel like I’d need another button, Process All Files Using These Operations, just to be clear… maybe a “Reset to defaults” somewhere… sounds like too much clutter, but it could be useful for people whose camera’s don’t store EXIF. Suggestions?
  4. Manual Rotation: Need a dropdown or something for Manual rotation! Probably: {Left, Right, 180} or… a button Rotate 90 CW that when clicking, rotates the preview 90 degrees, clockwise. I kind of like that idea… super simple. To rotate “left”, the user would quickly learn that 3 quick clicks is quite fast.
  5. White Space: I think I need a little more white-space between the different sections.
  6. Functionality!
  7. Camera’s dying? Oh noes! I love my Canon IXY 400, but I’ve recently been getting a very ominous Memory Card Error message, more frequently. It worries me.

Aside from these things, I think I’m pretty satisfied with the current UI.

Still a tiny app, and still lots of things to do! 😀


$ cat photofile.py | wc -l
792
$ cat photofile.py | grep FIXME | wc -l
25

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. 😛

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

How to open a folder with the default file-manager in mono/C#

using System.Diagnostics;

Process.Start (“file:///home/”);

Did a bit of IRC channel ping-pong today. Went over to #f-spot to ask a user-related question about f-spot, and got pulled in by curiosity on a totally unrelated topic: opening a folder with the default file-manager. Initiated some discussion on #mono and discovered this was, in fact, not trivial – which seemed odd. But I’ve never personally written any C#, or much desktop code at all, for that matter. So I started playing around with various suggestions from the good folks in #mono, and writing my very first C# application.

(Yeah, basically a one-liner. You gotta start somewhere! ^_^) Anyway, for something so simple, there seemed to be a lot of uncertainty and discussion about it (even from the man, himself! – He claims his memory is fading…), so I figure it’s worth documenting. More info can be seen here under Process.

On FreeDesktop systems it will use xdg-open, if not, it will try to use gnome-open or kfmclient to open the files.

Not sure if this will work on Windows. The file:// prefix is required.

Update: According to ccoish, this will work on Windows.

Passing this info back to #f-spot resulted in a patch to allow you to open the folder containing your photo. Thanks, Gabriel! Open source is cool. 🙂

Not sure if I’ll look at C#/Mono much more, was kinda gonna do the Python thing for a while… but this was a fun distraction. 🙂