Older blog entries for dobey (starting at number 274)

It's a Mock WOrld

Some people like to live in dreams. Others like to live like those dreams can never be real. I like to make them come to life.

I've mentioned in a couple place recently that I'd been working on some mock-ups of a new interface for contacts management. I'm finally posting them here now, and hope I can figure out some of the details for getting it implemented, soon. The idea is to provide a very simple interface, and extra information about a user, which one wouldn't normally find in the address book interface. I also want to get rid of the concept of having sepparate "address books" that you manage separately from your actual contacts, that may even have the same contact in multiple places.

This is the simple list view for the contacts. Not sure what would belong in all the menus, or if it should even have any, yet. The current tool bar items are new contact, return to list view (would be greyed out in the view), and a combo box to filter the list. Filtering would work based on which store the contact is in, tags on the contact, names, status, and all the information assosiated with a contact, so it would pretty much be a "do what i mean" sort of interface. The content associated with the contacts, which ends up in the list view, is also not entirely specified, nor is the context menu which would pop up when right clicking. Opening a contact would use some neat clutter-like animation sequence and bring you to the Contact view:

Not entirely sure what the layout should be like exactly, as some of the things would require scrolling. Probably will just have one scrollbar for the whole canvas, and just overflow vertically where needed. Here the new contact item would be disabled in the toolbar, but I think the filter entry might be still useful, for condensing the information displayed for a contact. Typing "phone" to show only the contact's phone number information, for example. We could display a lot of information for a contact here, such as RSS feed data, flickr posts, related contacts, and similar things from web services. I want to find a nice balance and show the most pertinent information in the prominent top portion of the canvas though, such as useful free/busy agenda information, basic contact info, status, presence, and contact store locations.

This contacts UI is a small part of a much larger project I've been talking with some other hackers with, to unify the backends, and an access API, for getting at all this information, to really make people and relationships a first class part of the desktop. More news coming soon on that.


Syndicated 2009-05-27 21:36:02 from dobey's blog

Ubuntu One Beta

Ubuntu One is now in a limited public beta. Check it out. There will be lots more awesome stuff on it in the future too.


Syndicated 2009-05-11 23:13:48 from dobey's blog

Moving intltool

After a short discussion, Danilo and I have agreed that moving intltool to Launchpad would be better for the project, and us, as its maintainers. The project is not specific to GNOME, and we would like to encourage non-GNOME projects to adopt it for use by their translators. All future development will take place in the LP project, with Danilo and myself as its continuing maintainers. Please report any new bugs or requests in the bug tracker on Launchpad. I will be sending a mail shortly to the appropriate GNOME lists, with some more details soon. If you have any questions about how this will affect you, feel free to e-mail me or ping me on IRC.


Syndicated 2009-04-08 17:56:16 from dobey's blog

24 Mar 2009 (updated 24 Mar 2009 at 14:10 UTC) »

The Mantra of Done

Over the years I've been developing software. I've seen all sorts of things that attempt to manage what you are doing, and how to improve that workflow. There are lots of apps for both GTK+ and Qt, as well as Windows and Mac OS, to try and help with this. There are lots of interesting web services too. I've even used a couple, particularly landing on SlimTimer for contract work I was doing in the past, as it has some particularly nice reporting features, and a simple REST API for connecting to it. However, even then, I felt there were several things which I would improve on.

A couple weeks ago, I was in Orlando, sprinting with some of the other members of my team at Canonical. One day, Elliot pointed out a particularly interesting blog entry, titled The Cult of Done Manifesto. The great thing about it, is that it all makes sense, and is yet rather simple. It's also not a finite set, and doesn't necessarily apply to all fields of practice. I would say that for example, item #9 in the list, doesn't really fit well into the politial arena.

Back to all the apps though. I was thinking about the Cult of Done again, and the very simplified task manager app I'd started writing, that was to just be a client for SlimTimer, after being asked for comments on a couple of icons for Getting Things Gnome, a GTK+ task manager based on Getting Things Done. Looking at its screenshots, I was amazed at just how complex it really was. Even all the miriad of OS X apps for GTD seem to be too complex, and don't really integrate well with the rest of the system. Most importantly, all these apps seem to targetting a specific workflow, and concentrating on what needs to be done, rather than the actual point of them being done.

So back to Stopwatch. Last night I set up a project on Launchpad for it, and will be moving the code I do have for it already, over to bzr. But it will no longer only be a SlimTimer client. Rather instead, it will be a very simple, yet extensible, task manager, which integrates better with the rest of the system. The most interesting thing to do with it, I have in my mind right now, is a backend to handle trackable and taskable items on Launchpad. It will be so nice to have all my assigned bugs right in front of me, with an easy way to mark them as done, or reprioritize them, based on MY workflow, and not that of the bug tracker.


Syndicated 2009-03-24 12:02:59 (Updated 2009-03-24 14:10:22) from dobey's blog

Less Irssi Noise

I finally got fed up with having excessive activity notifications in irssi today, and decided to write a script to solve my complaints. I have about nine channel windows, and sometimes there's a lot of join/part activity, and not much else, especially during nights and holidays, when IRC is left unattended, or if there are some hiccups in connectivity around the globe. Though, by default, irssi likes to show an activity notification for anything, which can be rather annoying and fill up the right end of the status bar very quickly, when nothing is actually going on. So this morning, I wrote a wonderfully quick and easy perl script for irssi to not show these levels of status in the activity area on the status bar. You can find it here. Just stick it in your ~/.irssi/scripts directory, as lessact.pl, and do /run lessact. Any future messages for a window, which aren't above a certain level now just get wiped clean. If you have any issues with it, or have a suggestion to improve it, feel free to let me know. Enjoy.


Syndicated 2009-01-02 16:47:56 from dobey's blog

Unusable Holiday

Well, it's that boring, lonely time of the year.

In other news, I moved DeskScribe over to Launchapd from GNOME SVN. I would like to start getting some more features into the project, and clean up the code a bit. One feature in particular that I would like to implement, is to have support for recording video of the desktop during the test session, as well as the ability to record from cameras (internal, usb, or otherwise), so that facial expressions, and hand movements, may be recorded as they would be in live usability tests. It would also be nice to record audio, for verbal expression of difficulties, thoughts, and suggestions can be recorded.

Some of you may remember the usability testing, and publishing of those tests on BetterDesktop, which we were doing a few years ago. It would be nice to do some video mixing as well, so that we can get similar video output as you would find in the videos on BetterDesktop. I'm pretty sure all this can be done with gstreamer, but I don't have a concrete idea of how to use the API, or necessarily time to figure out how to do it all, right now. It would be great if I could get some help in this area. Then we could have a really awesome suite of tools for doing usability testing for all the great open source software out there.


Syndicated 2008-12-25 18:08:50 from dobey's blog

Soundrack for Life

They say everyone has a soundtrack for their life. I think The Fragile from Nine Inch Nails is mine.


Syndicated 2008-11-12 19:55:35 from dobey's blog

Neverwinter Nights Linux

Pretty much ever since I've been playing the Linux port of Neverwinter Nights, I've been using a shell script, to symlink all the data files, and hard link the directories, so that I could store the saved games in my $HOME somehwere, reather than making the data directory just be writable, and having my saved games stored in the global directory. Just recently, I've done a little work to fix up that script, and put it in a state that is suitable for release to others. I also made up a desktop file, and the great Hylke Bons is working on an awesome icon to use. Today, I wrote a hack using LD_PRELOAD to override the fopen() method, so that the various "Talk Tables" for different translations, can all be installed simultaneously, and the correct one will be loaded for the user's language.

Unfortunately, it is not clear whether or not these files are distributable, or if creating additonal translations would break the EULA. There's also no clear license specified for the "Community Expansion Pack" which is available on the Bioware NWN site, and contains a collection of community-created content. Another little nit with the talk table translations, is that they seem to use the latin-1 character set, limiting translations to those locales. If there is some way to use UTF-8 here instead, that would be awesome, but I am not sure it is possible, and information on-line is somewhat scarce. If anyone from Bioware or Atari sees this, please contact me, as I would love to be able to re-distribute at least some of the pieces of the Linux port of Neverwinter Nights, to integrate the game better into the Linux desktop, and provide easy-to-install updates, via distribution packages. I don't guess there will be any new official patch versions to update to though.

As for translating the content, I have been pondering adding support for the talk table files to intltool. It would make translating the content very easy, and would be a fun little experiment. Mostly I am doing this for my own enjoyment, and to play around with bzr a little more. The integration bits I have been working on can be found on Launchpad.


Syndicated 2008-11-12 04:14:59 from dobey's blog

None of Your Data Exists

So, content doesn't exist? How very existential. Next time a client tells me how important their data is, I will simply remind them that it doesn't exist. And if it doesn't exist, what the hell do we even need computers for anyway? Let's look at this in a more logical light.

Content Does Exist

The 20GB of music I have on my hard disk is most certainly occupying lots of little magnetic strip space on that disk. The more I add, the less room I have to add more. Certainly seems to exist to me. Archimedes would agree. The displacement of disk space is occuring. The games and add-ons I've downloaded to my Xbox 360 are certainly there. I can play those extra maps in Halo. My game progress is saved. All the pictures I took are strewn about my drive, like the cheap amateur photographer that I am. The code I'm working on is right here. This blog entry is stored and replicated across the internet. So, Content must certainly exist, since it is everywhere. Saying content doesn't exist, is just trivializing the problem to support your own ideas, rather than altering your ideas when the problems change. Not all content is music, photos, videos, or random bits of text. And not all animals are sloths.

The Desktop is Dead

It will probably take several years for everyone to realize this, but it is true, none the less. The Desktop as a metaphor for using a computer is useless for the majority of people. It's really only useful for programmers and data entry. There are much more interesting ways to interact with a computer, than a keyboard and mouse. For some things, those two devices make sense, like programming, and data entry. For others, not so much. The problem is that we are all now so interested in Web 2.0, but it's still fit into the Desktp metaphor. It's all mostly designed around interacting through the same class web browser, stuck in some window on your desktop. And because of it, browsing the web on for example, my phone, is completely painful. The rest of the world is moving beyond the desktop. We need to jump ahead, instead of just perpetually following behind MS/Apple by trying to make the desktop shinier or whatever. A shiny desktop is still just a desktop.

Get Like Users

Trying to generalize the userbase into some single concept, which we then try to make the desktop fit into doesn't help either. Users are humans. And like other humans, they all think differently. Trying to make them all think and talk the same about design, just puts you right back where you started. Maybe an infinite number of users, typing randomly for an infinite amount of time, could create a perfect copy of Hamlet, but users aren't monkeys. We need to stop thinking in terms of Users, Developers, Designers. We are all Users, Developers and Designers. But if we keep ourselves confined to this idea of a desktop and designing it for some imaginary class of user, we will never get anywhere. We will always be stuck in the limelight, with that attitude.

The Future...

...is not your desktop. It is mobile devices. It is tablets. It is holographic displays and interfaces. It is flexible transparent screens. It is your television, your appliances, your home, your car. It is all the things we haven't even scratched the surface of, for sensible user interface design. It is networked storage, with your content being accessible wherever you are, be it in your living room, kitchen, hotel 5000 miles away, or a boat in the middle of the ocean. If we want to move into the future, and not get left behind, we need to start thinking about this, not what new shiny method of accessing a 50 year old 2D desktop is best. None of them are best.


The surest way to corrupt a youth is to instruct him to hold in higher regard those who think alike than those who think differently. -- Friedrich Nietzsche


Syndicated 2008-10-25 22:58:01 from dobey's blog

Rhetorical

In an effort to get better acquainted with bazaar, since I will be using it a lot now, and since people have been asking how they can help, I have gone ahead and imported my calendar widget code into launchpad. You can find it under the Rhetorical project. I hope to be able to get some more done on the code soon.


Syndicated 2008-10-24 13:34:49 from dobey's blog

265 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!