Subscribe to RSS Subscribe to Comments

freesoftwhere.org

GUADEC a Galicia

Flaunting some Olympic-caliber procrastination, I’d now like to provide a brief recap of my visit to A Coruña, Spain for GUADEC 2012, at the end of July.  GUADEC is an annual conference for GNOME developers and users; I definitely fall into the latter category, but I was somehow lucky enough to still con the GNOME Foundation into providing travel assistance so I could be there and give a talk about font development and font repair.  But more about that in a separate post.

For starters, if you don’t feel like reading any further, I’d have to say that the conference was great by any measure.  As a journalist, I spend a lot of time in touch with open source developers but I’m hardly “in” any projects—and certainly not any large & organized ones like GNOME.  So it’s always both eye-opening and entertaining to get to spend a lot of time around developers who are there to develop, and who believe in what they are doing.  In GNOME’s case, this happens to be the 15th anniversary of the project, so they’ve been “doing” for quite a long time.

The program by the sea

I arrived early, on Monday evening, because I needed to keep a regular writing and editing schedule for my work with LWN, which publishes on Wednesday evenings.  I’ve attempted to go to events where I’m en route on a Tuesday, and it just doesn’t work.  The first half of the week, there were no talks, but there were plenty of GNOME people around: there were Foundation meetings, hackathons, and various other cabals, many situated at the local Igalia offices.  The sessions themselves lasted from Thursday through Sunday—and by that, I almost mean literally.  They started early and they ran late.  Which it turns out is perfectly practical, since restaurants in the area don’t even open until 8:30pm.  I have no idea what else you would do between 6:00pm and then, although the hotel (which was situated under a cliff in the mountains) did have an espresso bar (1 euro; I have no idea what that is in regular money, but it certainly beats instant coffee).

Over the course of the session days, I went to every talk I could get to, barring the two morning sessions I had to skip in order to file paperwork reporting that I had a camera lens stolen from my checked luggage on the flight in (in case you were wondering, it was on American, with the final leg handled by their oneworld partner Iberian, and both have been precisely as helpful as you would expect a giant faceless corporation to be. Meaning they appear to be making no effort to even investigate, and they only contact you via emails with no-reply-accepted return addresses.  So kids, if you’re going to pursue a career in crime, it sounds like baggage theft is the way to go—no risk of getting caught.  But I digress….).

Anyway, there were a lot of talks about new, weird, and unexpected projects, including Colin Walters’ OSTree (which is akin to a mashup of Git, OBS, overlayfs, and a package manager), SkelTrack (which is a framework for identifying the person in a Kinect-style depth image), and Dawati (which is a usability testing tool that records webcam video and desktop screencasts, then combines them into one video stream for analysis).  There were also lots of talks about new and improved GNOME components like Boxes, Folks, and GOA, and a large swath of design and interaction talks—nine or ten of which seemed to be given by Allan Day.  Seriously; I’m pretty sure there was one slot where he was giving two talks at the same time, in different rooms.

One build to rule them all!  Or, not

The other interesting bit was the repeated discussions surrounding the “GNOME OS” concept.  This is something that has come up many times before and is often either mischaracterized or is conflated with other, unrelated concerns.  The gist of it is that GNOME is currently 100% dependent on downstream distributions for delivering its software to users.  That is to say, whenever there is a GNOME Release … nobody downloads it.  Or installs it.  And that’s because they can’t, because they depend on their distro’s package management system for their GNOME environment (and which it would be a bad idea to break).  Trouble is, this means virtually no one tests GNOME releases, and the project gets no bug reports for ~six months (at which point the release hits downstream distros).  Plus, what bug reports they do get are always difficult to triage, since the distributions (essentially Fedora, Ubuntu, Debian, and openSUSE) all make their own adjustments and roll their own packages).  So GNOME is harder to debug, and thus is harder to maintain.

The proposed solution is to roll up each new release with an installable, runnable OS image.  So a GNOME release would be a bootable ISO image that someone—though not everyone—can install and try out, perhaps even use, rather than a set of meta-packages that will gradually trickle down to the neighborhood package repository.  Another side effect of this scheme would be that tablet and gadget makers could take the base image and use it as a “known platform” to build an embedded project on, which GNOME would like.  Though new, this binary, ROM-like release would not be the only way to get GNOME; distributions and source-compilation-fetishists would still be getting, building, and distributing ye olde traditional GNOME packages, too.

What this concept is not is GNOME wanting to cast off the chains of the distributions, give the finger to BSD, and try to maintain its own Linux distribution.  It should be clear that that would not work anyway (given the cost and personnel required), but people seem to think that about it anyway.  Partly this is speakers’ fault; in the first GUADEC talk that brought up the idea the Igalia speaker actually said “distribution” multiple times; if you were in the audience you would think he meant running a distro, too.  So some clearer messaging would help a ton here.  Perhaps even calling it GNOME ISO or GNOME Live, rather than GNOME OS.

The confusion is also partly due to unhappy users getting the proposal conflated with other criticisms about how GNOME is developed.  In recent years, a fair number of people feel like GNOME module maintainers at Red Hat are trying to encroach onto other parts of the OS stack—such as the init process—and are adding hard dependencies on either Linux-only subsystems or on Red Hat products.  This is pretty visible with Ubuntu, for example, which uses almost all of the GNOME stack, except for GNOME Shell.  But historically GNOME has not mandated things like the init system or the compositor/window manager, so replacing the Shell with Unity would be No Big Whoop.  If such components were to become hard requirements, however, that would further separate Ubuntu from the vanilla GNOME platform—and it would do so essentially by a module maintainer’s fiat.  That, naturally, aggravates people, and when they’re aggravated, they aggravate GNOME people in response, ad infinitum.

However::: I’m not going to discuss that, because that is not at all what the GNOME OS proposal is about.  As I said above.  That is an unrelated set of development and technical-goal-setting issues that GNOME, Ubuntu, and Red Hat need to work out somehow.  Wilderness retreat or whatever.  There were also a few discussions during the week about whether GNOME needs a Technical Board, which sounds like a good idea for other reasons, and might help here, too.  In any event, the GNOME OS idea is designed to make GNOME releases easier to test & provide feedback on, which is 100% in the good-things column.

Music cue

Anyway.  Back on track, the word count line at the bottom of this WYSIWYG form is telling me I just passed 60,000 words on this post, so I’m going to try to wrap it up.

All in all, I know how corny it sounds, but the best thing about my week at GUADEC was definitely meeting the people.  Multiple times over the week, I met someone, had a moment of mutual where-do-I-know-that-name-from contemplation, and then we realized I had emailed them and written something about their project.  And a lot of them said thanks, which doesn’t happen to me a lot.  That’s not because I usually write scathing personal attacks or anything, but simply because I usually write form home and not in an office with the people that I interact with.  So it was a blast to get to know them in person, since I genuinely like what they do.  Into this category I would put Eduardo Lima, who develops the awesome-and-under-the-radar file transport tool FileTea (and who generously put up with my lame questions about Cuba), Joaquim Rocha, who makes the excellent OCRFeeder (in addition to SkelTrack mentioned earlier), and Joanmarie Diggs, who does all the heavy-lifting on accessibility work (and has some good stories to tell about EU immigration law…).

I also met a lot of great people that I had never talked to even via email before GUADEC, including the Yorba team of Adam Dingle and Jim Nelson (whose Geary application I had reviewed, but without discussing it with them, and who are both way ahead of everybody else when it comes to thinking about funding open source software development, and about eating pulpo), testing guru Spider (who put up with my questions about home automation), and of course the GNOME power couple Jonathan Blandford and Rosanna Yuen (or power trio, if you also count Jonathan’s beard).  One of my great surprises was to discover that not only is Jonathan the author of the solitaire app AisleRiot (yeah, I don’t read a lot of “About” screens…), but that he also shares an interest in unusual card games, and secretly built in Aisleriot support for decks of cards with five or more suits—which happens to be a weird hobby of mine.  One of my great regrets about the week is that I had to leave at crack-early on Monday morning, so I had to miss out on playing a bizarre card game of Jonathan’s.  But that’s on the agenda for next time.  As luck would have it, my own talk was scheduled at the exact same time as the talk absolutely everyone most wanted to hear, Owen Taylor’s session on smooth animations.  In fact I considered skipping my own talk to hear it, but ultimately I couldn’t find Taylor’s room.  Subsequently, Jonathan tracked Owen down and did some sort of arm-twisting (behind closed doors, obviously) so that Owen agreed to meet me at lunchtime and essentially recap the talk and show me the demos.  I’m still writing it up for LWN.

It was also good to see folks that I bump into more regularly, like Garrett LeSage and Jakub Steiner, who are both regulars at Libre Graphics Meeting, Guy Lunardi, who I think knows everyone in the software business (and not just open source, either), and Karen Sandler who has always been exceptionally helpful with my press requests (and, I discovered, whose husband Mike is one of those guys who can have conversations about both the Beach Boys and about BIOS).  There are clearly a ton of other people that I enjoyed getting to meet at GUADEC 2012, including a lot of Igalia folks, but the bulk of them I need to save for my follow-up post, which will deal with my font talk—and what came out of it.

If it quacks like a canard

Canonical’s Jono Bacon suggested on Identi.ca yesterday that Linux users should head over to the Adobe Web site and vote for the software behemoth to bring Photoshop to Linux.  It’s not the first time that someone has asked for this, but what’s irritating is the supporting logic, including, notably, the assertion that bringing Photoshop to Linux will bring new users to Linux: specifically, people who would like to switch OSes but  who are “mandated” to use Photoshop at work.

This is a straight-up Internet urban legend.  For starters, it’s flat out untrue that there are designers or photographers in *any* significant numbers who are required by “corporate policy” to use Photoshop.  Design firms don’t work that way.  Sure, there may be some person somewhere who has an office-wide rule to that effect — it’s a huge world — but it’s nonsense to suggest that it’s anything close to a meaningful blip in the stats.  But even if there was such a person, are any of us supposed to believe that they are not allowed to install GIMP on their computers — but that they will erase OS X or Windows and install Linux instead, in order to use Photoshop-on-Linux?  Are we supposed to believe that Management will allow that?

This chestnut is appealing, because it creates an appealingly noble protagonist: the strident designer who wants to use Linux, but isn’t allowed to, because he’s being held back by The Man.  How can we not want to help that prisoner of conscience?  But it’s an illusion: GIMP, like OpenOffice and Firefox, is available for Windows and OS X.  The prisoner has a path to freedom, and if he’s not taking it today, it’s not because Enemies of Freedom stand in the way, it’s because either the free apps are unknown to him or he’s looked and prefers what he uses now.  The crux is this: whatever barrier-to-usage exists that prevents a budding free-software user from installing and using GIMP on a non-free OS, that barrier is orders of magnitude smaller than the cost of writing-over the existing OS and installing a new one so that the user can use the hypothetical Photoshop-on-Linux.  The path to conversion is Free App on Existing OS, then Free OS altogether.  It is not Proprietary App on Free OS, then Freedom altogether.  The only people capable of thinking in reverse like that are operating system vendors.

I get why nobody likes that solution; it’s harder on the open source community.  It means we have to do hard, thankless work on components like GTK+-on-OSX, on installers and focus and different keybindings, on single-button pointing devices and application resources in screwy Apple Places, and jump through all kinds of other hoops that don’t really seem to earn us many more users. And it seems like an ethical compromise to port free software to a proprietary OS (though for some reason, it’s not to do the reverse…?)  It’s much easier to say “Hey, Adobe, you do all the work to port Photoshop to Linux, we’ll wait right over here.”

Honestly, any designer who wants to try using Photoshop on Linux right now, can.  The pricetag of a CrossOver license is way, way less than a new OSX box or a new Windows 7 license.  So why don’t these designers try that whenever they upgrade their PC hardware?  Partly it’s cause CrossOver ain’t perfect.  But the big reason is simply inertia, like every other PC user has.  Couple that with the fact that an office-ful of designers probably buys bundled licenses for  its Adobe products, and the fact that big firms have The IT Guys do all that installing stuff, and you have a situation where nobody’s going to change operating systems only to use the same apps they can already use today.

Every designer I know has a Dock full of apps; little ones, big ones, expensive ones, cheapo ones.  Flexible ones and single-purpose ones.  Nobody does design work 40 hours a week in a single application.  So if we want to bring designers into the fold of open source and free software, we have to start by making the free apps more appealing to the designer currently running other stuff on a proprietary OS.  Easier to download, easier to install, better integrated with the existing OS conventions.  We have to pre-load things like PSPI with GIMP, include more high-end plugins; we have to promote (and yeah, enhance) GIMP’s PSD import capabilities.  GIMP can already export to PSD, something I suspect Bacon isn’t aware of due to his corporate policy comment.  But of course Adobe changes and extends the format periodically, since it’s their ball.

The upshot is that designers care about results, and they’ll use any tool they can get their hands on if it can do cool stuff.  If anything, designers are less resistant to trying new applications than generic-office-workers or middle-managers. The company may insist on saving work in a file format like PSD, particularly when working in a team situation, but that’s an interoperability issue.  In all of the years I spent being a photographer and designer, and working with both, the only time I ever heard a company dictate a software choice, it was for a DAM that they used to keep in sync with remote clients and contractors.  And yep, it was a proprietary one: Extensis.  You know what — that’s another area where free software needs to do some work.  But designers who want to use Linux but can’t because of the lack of Adobe CS?  Come on.

Corporate buying policies are a big deal, and a big hurdle, but not here — they affect offices that upgrade their desktops en masse and buy suites of licenses, and (in my estimation, far more importantly) they affect schools and universities, who negotiate for software licenses in bulk, and have IT or “Academic Computing” offices that manage multiple campus-wide labs, usually remotely, rather than the teachers who actually spend their time in those labs with the students.  They affect governments, which is probably an even bigger obstacle because of all the rules and legal requirements that restrict their buying practices.  Open source needs to make in these areas.  Porting proprietary software to Linux and swapping out the OS isn’t going to do it.

Let’s put “There are people dying to use Linux, but can’t because they have to use Photoshop” to rest — you know,  so we can give air-time back to the other oft-repeated urban legend about GIMP adoption: that no “professional” users will touch it because of its “unprofessional” name.  Cause guess what: that’s flat out untrue, too.  But one canard at a time.

Menu Madness

I’ve been reading about GNOME Shell this week, in preparation for GNOME 3.0.  A lot of the UI changes I am ambivalent about (workspaces, for example, I never, ever, ever, use; consequently I could not care less how their behavior changes), some of them I think are great, others I’m not so sure about.  The one I’m most interested in learning more about is the demolition of the Applications menu, because that is the primary interface for launching apps, which are, of course, the things we need to Do Stuff.

So I’ve been reading the usability design docs for GNOME Shell and trying to figure out what I think they’re saying.  Frankly, it’s a bit unclear.  The Applications menu is broadly replaced by the “Activities” pane, which subsumes the role of Activities, Recent Documents, and Filesystem Bookmarks (yeah, I know; it’s still labeled “Places” despite the fact that that name communicates no information and ambiguously suggests it’s about Location services, which is a genuine embarrassment since GNOME is adding support for that re WiFi and Zeitgeist).  But here’s the issue: in the screenshots and screencasts, the Activities pane  always appears to hold four or five (tops) application icons.  If you need access to more than four or five applications on a regular basis, you have to search for them, then find the app you seek in an alphabetically-sorted list.  I can tell you right now that that is not going to work for me.  I regularly use two dozen or more apps.  Some of these I keep open perpetually (mainly communication apps, terminals, and Emacs), but most of the others I close down when not in use, simply to conserve memory/swap, etc (Inkscape, The Gimp, Rawstudio, Scribus, Krita, some Prism sites, Rhythmbox, MythTV, VLC, the calculator, Deluge, office apps, Grip, PiTiVi, Grsync, and so on and so on).

Having to search every time I need to launch the fifth-or-sixth app out of that list will take me more time.  If there’s no way to configure this behavior, I’m not looking forward to it.

That isn’t to say that the current Applications menu is All That.  It relies on strict categories, but the categories are broad and fill up rapidly.  Here’s the current count of my GNOME app menu categories:

  1. accessories: 32
  2. archimedes: 2
  3. education: 3
  4. games: 19
  5. graphics: 41, 2 in a submenu
  6. internet: 35
  7. office: 22
  8. other: 3
  9. programming: 9
  10. sound n video: 44
  11. system tools: 15
  12. unviersal access: 1

Obviously, you can see some bias in what tasks I do just by counting those menus, but the point is that everyone who uses their desktop to work has usage patterns.  More than one, I think.  I can group what I use my environment for broadly into office “stuff”, work communication, social communication, creative, entertainment, and utility computing.  They overlap; office stuff includes taking screenshots and writing, plus emailing and installing software.  But utility computing includes updating software, too, and work and social communication both could involve IM, Thunderbird, and other apps.

Still, in my own introspection, when I’m in one mode I need to stay in it for a length of time, then switch.  When I’m working, I’ll have and app open to test and I’ll write about it, and I’ll email/IM/VoIP questions and answers back-and-forth to its creator.  When I’m doing creative work, I’ll need to switch back and forth between the creative apps, often many many times.  But I stay within one circle of apps until I change modes.

The way I’ve customized GNOME 2.x to work with me in this method is through the use of launchers that I place on a dedicated panel, grouped roughly by task list, and by having the “perpetual” apps launch at login.  So far, I’m not seeing in the GNOME Shell documentation how I’ll be able to do anything like that in GNOME 3.  The Activities pane seems to limit the raw number of launchers I have immediate access to, and it seems to enforce either “most used” or “most recently used” as the sorting criterion — unclear which.  That has two problems: first, the perpetual apps are almost always going to qualify as “most used,” and when switching modes, a boatload of apps I specifically don’t need are going to qualify as “most recently used.”  In short, if I’m not able to customize the application launching behavior, it’s going to slow me down.

Getting Things ‘Bird

This is a follow-up to my post from a few months ago about mapping GTD concepts to iCalendar.

Six months on, I owe the world a report on my attempts to implement GTD methodology in a standard calendaring application.  I chose Thunderbird with the Lightning extension,  because it’s cross-platform and because I already use it for so much else (in other words, AXIOM 1: Do Not Be Tied Down To One Device Or Platform, and AXIOM 2: Never Use A Single-Purpose Application When There Is A Flexible Solution).

What I did was this:

  1. Created one “remote” calendar for each GTD context, using remote WebDAV storage, since that was available to me through a private domain I host junk on (e.g., webdav.freesoftwhere.org/cal/errands.ics)
  2. Created a “Category” for each project
  3. Managed my tasks through these lists, as individual VTODO items.

The rationale for (1) was two-fold: I want to be able to access my tasks from any platform that knows VTODO, and on small-form-factor or restricted platforms, I want to be able to see only a subset of the contexts.  For example, in the office, one might want to de-clutter one’s task manager by only viewing the “work” context.  That doesn’t apply to me, because I work from home, but you get the idea. You might also have a phone/mobile device whose task manager can only support a single iCalendar feed, and selectively choose just the “phonecalls” or “errands” context.

I accessed the feeds from Thunderbird/Lightning on Linux and OS X, and attempted — without success — to to so from Maemo and Symbian clients as well.  No editing on the latter platforms, and no actually working VTODO reading on Maemo at all.  There is no Web app support for VTODO in Google Calendar, or other free software web calendar services that I could find (if you know one, drop me a line).  For basic task management, I’ve stuck with it.

What I learned:

  • Lightning: adding new categories is a royal pain in Lightning. It requires opening Thunderbird’s Preferences editor.
  • Lightning: Lightning exposes noticeably less of the task detail in the main window than it does in the “new task” dialog box (e.g., status and category, but NOT location).  This makes it difficult to make use of these features.
  • Lightning: The above also means you must right-click -> edit everything to update status/details, which is a pain if you’re trying to do GTD. GTD requires active task management, not just binary done/notdone lists.
  • Lightning: multiple “color” inheritance in the user interface (i.e., from the calendar and from the category) is confusing at best; how to solve that not easy particularly (even in the mythical perfect calendar where you don’t need more than one calendar feed to manage everything)
  • Lightning: In Lightning, you cannot simply click to show just one calendar (in this case, remember, that a calendar means a GTD context); instead every calendar you want to NOT see must be un-checked.
  • Lightning: The task manager cannot filter what is shown by category, which would be helpful to view all tasks for a particular project.
  • Lightning: I cannot figure out what the Tasks -> Calendar menu does while in Task mode; it lists the calendars, but selecting or unselecting them seems to have no effect.
  • Lightning: Lightning is just more crash-prone in general for tasks than for calendars.  They’re hard to reproduce; it’s nobody’s fault, just due to fewer users filing fewer bugs.
  • VTODO: sharing categories between tasks and events is not a good idea.  My usage of categories as GTD projects can sometimes cause overlaps, but projects are transient.  The GTD principle of only tracking actual appointments as calendar events almost always uses broad, permanent categories (“home”, “work”, “church”, “school”).  Mixing is confusing.
  • VTODO: “due date” does not work real well for the GTD principle of next-action sorting, nor does “priority.”

In addition, I realized a few things about the way I use iCalendar-based calendars in general:

  • I must use a separate feed for calendar and tasks, because nobody implements both of them correctly.
  • I pretty much use Google Calendar solely for the email/SMS alerts.
  • people use multiple “calendars” primarily for the ability to do color-coding. That is a UI issue which *should* be available as categories: one calendar for “Appointments” should be enough.
  • most desktop task managers and mobile device task managers do not care about iCalendar/VTODO at all. Instead, they try to reinvent the wheel, which sucks.

On the latter point, I fully recognize that every GTD user is different, and the system is meant to be customized to the way you work.  But there are half a dozen “todo” managers for Linux that offer nothing beyond simple lists of items that you can cross off — like Tasque, Gto-do, Tasks, and so on.  Maybe a lot of people need those, but I don’t think it’s accurate to call what they do task management.  Task management is active, and it involves detail.  VTODO provides for that; it enables you to keep track of partial progress, categorize and sort what you need to do.  It has a real data model behind it.

The lightweight apps would better be described as checklist managers.  I don’t see that they provide any functionality beyond what is available in a simple notepad app like Tomboy or Gnote.  If you need that, that’s fine.  People need list management, it’s great for grocery shopping. But I want task management to be better than that.  That’s why I undertook GTD, and that’s why I tried to implement it in VTODO.

VTODO is probably always going to be the neglected sibling of VEVENT.  Probably better off than VFREEBUSY and VJOURNAL (seriously, I still can’t figure out what good the latter’s supposed to be), but supported secondarily.  In thinking about how hard it is to find a decent VTODO client, I realize I’m not forging new territory.  The same is probably true for any published standard.  It’s just that I see people attempting to reinvent the wheel a lot regarding to-do list apps, rather than even attempting to tackle it.  Which is a shame if there are already iCalendar parsing libraries out there — which there are.

Status!

I really like the fact that Ubuntu is revamping the GNOME “notification area” because as it stands now, it is a trough that accumulates interface debris.  But aside from the inconsistency, the one use case I don’t understand is minimize-to-tray, in which an application disappears from the window list (ie, usually disappears from the panel), but still lives in an icon.

For one thing, this behavior is almost always prompted by the user attempting to quit the app (such as with the “X” button), so it’s incorrect. Quitting is the “common case;” the common case should be fast, and should be consistent across the desktop.  When I click the “X” on Thunderbird or EOG, the window/app quits.  So when an update release of Rhythmbox decides that *it* will no longer quit, but simply minimize to the tray on “X,” it is breaking the convention and detracting from the consistency of the desktop.  Tenfold more annoying when the behavior appears in one release without warning.

But the second and more fundamental complaint I have is that there is no advantage to minimizing to the notification area.   There, each app is represented by a single icon.  In the default GNOME panel’s window list, each app gets its icon and the window name if space is available. That’s right, IF.  There is no space saved by minimizing to icon-only form, because the extra text of the app/window name is only displayed if the required space is free.  The other notification-area-icon uses (displaying a blink on activity, popping up a message) are also available to the app when minimized to the window list.  I frequently “check my messages” by glancing at the window list to see if the window name has changed (e.g., Inbox (32), Facebook (New message from CrazyDudeFromHS!)).

In other words, minimizing to an icon in the notification area just needs to go, period.  There are certainly use cases for apps needing to live only in the notification area (such as Update Manager alerts), but for interactive user applications, there’s no case, and no benefit.

Next Page »

Based on FluidityTheme Redesigned by Kaushal Sheth