Dated 2008-10

Why your software sucks

2008-10-31 20:41

Post edited to correct Ms. Wells’ title.

Interviewer: How would you define “usability,” and why is it important?

“I have no idea how you would define usability.” -Jane Wells, User Experience Designer

(Interview)

See, Jane Wells came from Ball State University — you know all that great software that came out of Ball State, right? — to bring the light of the High Raskin Church of User Interaction Design to the “people just hacking in their basements” who somehow managed to create WordPress, despite lacking access to the Ball State Interaction Lab, and the pliant user dummies used there for crash testing, and the sharks with lasers on their heads that track eyeball focus, and all the other Highly Technical advantages bestowed on the High Priests of the High Raskin Church of User Interaction Design like Ms. Wells. Thank goodness she’s arrived. I don’t know how our customers wrote 30,000+ posts and uploaded terabytes of photos and videos in 4 years on WordPress without her.

If you want to know why Firefox has only two states, “crash” or “allocate more memory, then crash,” this is why. If you want to know why WordPress’s admin panel has grown from “klunky” to “bewildering sin against god and nature,” this is why. Great software is not created by observing users, any more than great architecture is built by interviewing people who live in houses.

Whenever these (invariably self-proclaimed) “interaction experts” get hold of software, the core engine code grows shaggy 5-o’clock shadows of neglect, while the user interface breaks out in a rash of tiny confusing pictures. And Options! Options Everywhere! Customize everything! (So that the “usability experts” don’t have to make any decisions about that ineffable usability.) Do you want a red font or a blue font, monospace or sans-serif, line numbers to left? line wrapping or auto-indent? large or small? would you like fries with that?

What these huckster-hoaxers do is at best called Quality Assurance, and some form of it has a place. The problem is that few of these folks have, in an endless stream of papers and talks and theories and slides over 40 years, contributed a fraction of the clarity of thought about how things should be organized that can be found in a single page of Rob Pike’s The Hideous Name.

Mark Glenda Down for some Perl

2008-10-30 17:49

I’ve developed an addiction to Markdown after a few weeks using it here to write posts. So I want markdown for some chores on my main system, which is generally Plan 9. This means I need Perl to interpret the markdown.pl script.

There is a Perl for Plan 9, in sources/extra/perl.iso.bz2. These replica(1) ISO images are tricky, because they contain replica scripts for kfs(4) file systems, rather than the newer fossil(4). Editing the scripts for fossil is no big deal - but the iso is obviously a read-only mount, so putting the edited script back “in place” is a perfect job for name space manipulation - copy the perl replica script elsewhere, edit and put, then bind(1) the edited perl over the distributed script. Andrey Mirtchovski covered the gist of this procedure (for TeX) long ago on 9fans, but I was missing something:

% 9660srv
9660srv 33605: serving /srv/9660
% mount /srv/9660 /n/dist /tmp/perl.iso
% cp /n/dist/perl /usr/josh/tmp/perl
... [edit perl:12 to replace kfs call with " status '' " ...
% cd /n/dist
% bind /usr/josh/tmp/perl /n/dist/perl
% bind /root /n/kfs
% /n/dist/perl.setup
% replica/pull -v /n/dist/perl
no such replica /n/dist/perl

I eventually figured out that the replica script needs to be executable. If you bind an edited perl of mode 0664, you’ll see the error string above. So:

% chmod +x perl
% replica/pull -v /n/dist/perl
... much install noise ...
% perl -v

This is perl, v5.8.0 built for 386
...

Voila.

Side note: gabidiaz has Perl in his contrib(1) repo on sources, but missing read permission on some of the files.

Side note #2: steve has TeX (another of the “extra” ISOs) in his contrib(1) repo, but you get oodles of errors of the following ilk at the end of contrib/install steve/tex:

error: copying /sys/lib/texmf/tex/latex/base/gglo.ist: 
'/n/sources/contrib/steve/root/sys/lib/texmf/tex/latex/base/gglo.ist' does not exist

Neither really provides an alternative to the old sources/extra/*.iso.bz2 images and the procedure above.

Sp is a Theme for Habari

2008-10-25 03:31

I think I have hacked sp into a usable — and more importantly, releasable — condition. Of course, I’m new to Habari so there will certainly be some things I can improve.

Credits

Sp borrows everything it could find to steal:

  • Sp takes the Simplish theme for WordPress as a visual style starting point. Simplish is itself a port — of Jeffrey Hardy’s venerable but popular Scribbish “theme for stuff”. Sp does not intend to reproduce Scribbish in every detail. It aims to be lighter, more terse, and simpler in code and presentation than either of its visual ancestors, befitting Habari.
    1. Hardy’s Scribbish is compatibly MIT-licensed. However, no actual Scribbish code is used in sp.
    2. I’m an author of Simplish. (And re-used Simplish code accounts for about 40-60 lines of sp’s CSS).
  • From the Habari ‘foundation’ theme, Mzingi, I got the basic outline of Habari templates against RawPHPEngine;
  • Fireyy’s (coincidentally-named) Simplus theme provided the initial way forward for dynamic and complete <title> elements, from whose implementation that in sp is derived.
    1. Mzingi and Simplus are both Apache Licensed, like Habari itself.
  • The much-lighter-than-Blueprint CSS Boilerplate framework scaffolds the theme’s CSS, and should make it easier to modify.
    1. Boilerplate is by Nathan Borror and available under the terms of a Creative Commons Attribution 3.0 license.
  • Draft post style (shown to logged-in users) inspired by Plan 9 rio(1)’s hold mode. ;-)
  • Sp is Copyright © 2008 Utopian.net. All rights reserved. Sp is released with NO WARRANTY under the terms of the Apache License, version 2.0. See the NOTICE and LICENSE* files in the distribution for details.

Features

  • At the moment, sp is the theme on this site. Take a look. I’ve also rigged a simple sp demo for your pleasure.
  • Microformatted: hAtom for entries, pages, archives; hCard for entry author(s).
  • Valid HTML 4.01 Strict (as will your posts/pages need to be, should you want your live site to validate).
  • Dynamic <title> elements on Tag, Search, Date archive pages. (I guess this is partially “built-in SEO.” More importantly, it improves navigation with clear signposting.)
  • Coherent and highly modifiable CSS with Boilerplate framework base.
  • Works with: Habari 0.5.2 (sp v0.5) and Habari 0.6-alpha from subversion (sp v0.6).
  • More at the hasty labs page for sp, until we put a theme-demo/hosting Habari in place.

You can get the source from (see checksums):

For Habari 0.5.x:
sp-0.5.tgz
For Habari 0.6-alpha (svn):
sp-0.6.tgz

Themes of many species

2008-10-22 09:48

I’ll push the what-URL meta-drivel down the atom feed with a quick update on some work we’re doing around here:

  • I incorporated Demetris’ and Martin’s suggestions in a version 2.1.2 of Simplish (for WordPress).
  • Brianna released the rather-intensive jQuery code for her horizontal-scrolling work in another WordPress theme, WPlatformer. It has some rough edges, but the idea was to get the code in the sunlight where some smarter javascripters might have suggestions and patches. We have an alternate implementation of the text-dividing function in PHP/WordPress template code. It is more vulnerable to breaking under any user modification of font size/spacing or other style attributes.
  • I will have a version of sp out by the weekend. Right now I have two distinct branches for the Habari 0.5.x and 0.6-alpha SVN versions (but the diff is minor — centered on the addition of the $post->pubdate->out() stuff).
  • I voted, or filled in my card at least. I guess you should vote too. Unless you would consider marking a ballot anywhere in the vicinity of the name “Palin,” in which case you’re either incomprehensibly shallow or impenetrably stupid, and I hope you stay home.

Nothing lasts forever

2008-10-19 14:49

Particularly permalinks.

I think I’ve decided to drop the date part, at the expense of continuity. The rationale is that dates are another tag, another piece of metadata. This organization scheme is not really hierarchical, but instead is flat, to be sifted with metadata “queries”. We don’t have YYYY/MM/DD/post-title, because we don’t have tag/post-title URLs.

In short, welcome (back) to joshix.com/blog/nothing-lasts-forever.

Permalinks

2008-10-19 08:00

I’m undecided about URL styles. I probably prefer the Habari base default of site/post-title, but the old site used a YYYY/MM/DD/post-title rewrite, so the DateYURL plugin combined with the redirect at labs.utopian.net/blogs/josh means old links to posts continue to work.

But do I care?

Using Habari + the plugin, posts can still be accessed at the shorter URLs, (e.g. joshix.com/blog/meet-the-new-site). So there is a “short URL” form and a longer, more informative, “permalink” form (given by the plugin’s rewrites).

A secondary issue is that a bug in the plugin or theme causes page title elements not to display the page title, and show only the site title (e.g. joshix.com/blog/copyright). Other themes as well as sp exhibit this, with either of the DateYURL or StaticFront rewrite plugins enabled.


Pages

Syndicate (Atom)

Small Talk

at labs.utopian.net/mux
  • When I heard Palin was gonna do this yesterday, I made a snarky comment about her. But even I didn't believe she was *that* stupid. She is. @ Sat Jul 04 00:41:02 +0000 2009