Subscribe to RSS Subscribe to Comments

freesoftwhere.org

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.

Wish List: FMtransmit-o-navigator

I love the built-in FM transmitter that came in the N900 Maemo phone; it’s a thousand times easier to take you music (or audiobooks) with you on the go, especially in the car.  No cables necessary whatsoever. The only weak point is that there are so many FM stations that if you’re on a road trip, you have to adjust a lot to find a free frequency.  [Note: changing the FM transmitter frequency is a colossal pain; impossible to do while driving, which is its own bug.  Activating/deactivating the transmitter is also inconvenient, but at least there is a community-developed widget to fix that.]

Based on my personal motto “never do for yourself what a computer can do for you”, what I’d really like to see is a way to automatically find an unused frequency.  For starters, can you even find that information, even offline?

Supposedly, you can.  The site radio-locator.com has US coverage data, and individual maps.  But it’s not very usable (ie, you can’t see multiple coverage maps and where they overlap_, and they ask for fees for reuse.  The FAQ page at http://www.radio-locator.com/cgi-bin/page?p=maps says they harvested the data from the FCC, but not precisely where.  But if they can do it, an open project could, too.

If you had the info for each station, it wouldn’t be hard to plot it together on a free map (if you can’t tell, I’m a total GIS novice). Then plotting the “best frequency” choice for a given road-trip itinerary would be a shortest-path search.  In 3-d. The 2-d map, plus the “used” frequencies in the third dimension.  You might could find one frequency usable for the entire trip, or if not, a list of frequencies with the fewest possible numbers of switches.

It would be superdoubleplus awesome if your FM transmitter could change *for* you as you passed (via GPS location) from one frequency coverage area to another, but that’s extra credit.

So who’s with me?

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.

Slightly more on RDS, TMC and open source

Just an update to my painfully slow learning process about Radio Data System (RDS), the FM-broadcast system for side-channel data.  As a recap, RDS can be used to send a variety of different data types, including FM channel niceties like the currently playing song (or the next song), station call-letters, weather alerts.  The most interesting to me is Traffic Message Channel, TMC, because RDS-TMC broadcasts are free updates about current traffic conditions.  The actual traffic info is gleaned from road sensors, traffic lights, even emergency responders.

Supporting RDS-TMC in any free software OS or app requires libraries to read and decode the data, and hardware that supports it.  The latter is the first topic of new info; it seems as though the Nokia N900 phone’s built-in FM receiver supports RDS.  That’s excellent news, as Maemo is the most open, just-like-desktop-Linux phone platform and has a developer community that’s one-hundred-and-crazy-percent motivated.

I’ve also stumbled upon a developer who is working on FM RDS support at codeplex; he is writing Windows code though.  The base library is http://www.codeplex.com/FM  and he is blogging about it as well.  Unfortunately, the code is only available under the Microsoft Public License (MsPL), which means it cannot be reused inside GPL’ed libs or applications.  But at least there’s knowledge.

Obviously, with HTC (ie Android) and Maemo devices supporting RDS generally, there are great possibilities for basic RDS usage, like having the FM tuner show RDS song info… supposedly Martin Grimme’s fmradio Maemo app  does read RDS data, but I haven’t found it to work for any of my local stations (this is not a bug report, though — it could easily just be my lousy stations).  Reading the Python code makes it look really straightforward, but it’s not immediately usable by other apps.  Which I care about because the more interesting possibility to me is RDS-TMC on these platforms.

Sources of data

That brings me to the next subject for update: a polished RDS-TMC stack with supported hardware still needs a live, broadcasting source of TMC information.  I’m having a great deal of trouble tracking down accurate info on TMC FM broadcasts in North America.

The Wikipedia entry has been updated several times since my last post, but is thin on references — and how lame is it that Wikipedia is my best source of information?  Allegedly “INRIX,” Navteq Traffic, Clear Channel and Tele Atlas all broadcast FM TMC … somewhere.  Where exactly is not specified.  Even the Navteq Traffic wiki page lists a few big cities, but without an external reference.

Worse, the suggestion is that commercial TMC broadcasts are often encrypted in one way or another.  And you guessed it, there is little in the way of public information about that….

License compatibility of data

An even bigger  problem, however, is the legality of using TMC data.  The trouble hinges on the fact that TMC messages use location tables to compactly encode where events are happening, and the location tables are not available for free.  Then again, it also hinges on the fact that private companies like Navteq Traffic collect the road sensor data and sell that as a service to the people who actually broadcast the FM signal.

In the long run, there is at least a possible workaround for the TMC location table nastiness: TomTom has started an open source location referencing project called OpenLR.  I wrote about it in September.

As I mentioned last time, there are also alternative methods to grab rough traffic information, such as Floating Car Data aggregated by GPS-equipped cars and phones. I still don’t think there’s a free software project collecting that info.

The End!  I know I’m only barely scratching the surface of this subject; it’s way outside my usual beat so I’m doing a lot of lernin along the way.  Comments welcome.

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
  • Viagra online
  • Order cheap cialis
  • Buy viagra no prescription
  • Cialis online
  • Buy generic cialis
  • Order propecia no prescription
  • Cheap propecia online
  • Propecia online pharmacy
  • Order levitra online
  • Cheap price cialis
  • Online pharmacy levitra
  • Buy viagra online
  • Buy discount levitra
  • Cheap cialis online
  • Propecia hair loss