Don Marti

Fri, 14 Jul 2006

Linking projects and markets

Stefan Kooths, Markus Langenfurth, and Nadine Kalwey wrote, (PDF) "Without a price signal, it remains unclear whether development time spent in Project A would create greater utility if spent in Project B. The traditional economic view of software, in which it is a nonrival good among users, therefore only applies to existing software, that is, from an (economically less interesting) ex post perspective. However, whenever the issue is about using scarce resources for the production of new software, competition among potential future users definitely exists if they are faced with the choice of having to do without the new Software A so that the alternative Software B can be programmed, or vice versa (ex ante rivalry). Markets can easily solve this conflict through the price mechanism, while other coordination processes fail in this aspect as they are unable to valuate and consequently compare A and B due to the lack of pricing."

Signal is a good thing. Direct participation by users in peer production is one way to get it, a software deficiency market might turn out to be another, and Seth Schoen pointed me to The private provision of public goods via dominant assurance contracts by Alexander Tabarrok. See also Assurance contract on Wikipedia.

Wed, 05 Jul 2006

Code monkey like relevance

JP lists some reasons why enterprise immune systems tend to try and reject the implementation of social software".

Here's a missing one: "Not My Department. Social software is nifty, but it's for the Technical Side of the company. We're on the Business Side, so we're going to use anti-social software. So just give me the bullet points."

Why does the half-networked company happen? The blame lies half with the software, half with the company. First, social software for companies has two problems. Problem number 1: Offline. The big cheese is on some conveyance that either doesn't have a net connection, or makes it impracticably slow to use social software on the laptop. Better to work locally and queue up the results as outgoing email.

Problem number 2: interface complexity. The biggest thing that social software can give you is a common repository for the status and owner of tasks that the company is doing. RT is a nice system, but much of the other social software that gets thrown at companies is too complicated to be productive for non-programmers.

Companies trying social software also have two problems. Problem number 1: Setting an example. If you're the big cheese and you want your organization to use social software, you have to use the social software. Mark Shuttleworth, for example, kicked off the Launchpad BTS with Bug 1, assigned to himself. If you answer some other form of communication before you check the social software, people in your organization who want to reach you will start using that instead. And then people who want to reach them will use it, and the social software system breaks down, sometimes within days.

Problem number 2: Ignoring workarounds. Most office workers won't complain about social software, especially if the Official Way to Complain is through clunky social software. They'll try it, and if it doesn't work, they'll just do what they set out to do using anti-social software. Actions speak louder than trouble tickets. If someone is sending out a company phone list as a spreadsheet instead of updating the directory, or big email attachments with 20 recipients start to circulate, think of it as a bug report, only done as a performance piece. What's wrong with the social software? Orkut and LinkedIn show us that social software can be easier to use than anti-social software, so it's not just a question of "people are used to office suites." Business and social software both have some hard problems to solve in order to connect with each other. JP seems to think it's worth it, and I agree.

Meanwhile, Sacha writes, "I don't want to deal with market studies and hypothetical users. I want names and faces and stories. I guess that's why software development or system administration don't really appeal to me as careers."

Sacha, saying that you don't want to be a programmer in the 21st century because you don't want Marketing between you and the user is like saying you didn't want to be a programmer in the 20th century because you didn't like waiting for the operator who carries your stack of punch cards to the computer. The way software development gets organized is always changing. It's getting lighter weight all the time.

The process of making software got three steps more productive, Fred Brooks writes, when programmers went from assembler to higher-level languages, when they went from punch cards to terminals on time-sharing systems, and when they first got pluggable pipes and filters in the Unix and Interlisp environments. After that, programming doesn't get a "silver bullet" of productivity. The underlying problems are truly complex.

But there's a good chance that we're in the middle of getting a whole speedloader-full of silver bullets if we consider the company as a whole, not just the development team. Companies are figuring out ways to use social software to break down the organizational equivalent of the Bicameral Mind. Instead of paying for Marketing to shuttle between developers and users, let the information move through peer production, connection on a basis of shared code and norms, and customer-developer turnover. Good example: Mike Olson gets the most value from open source in the form of direct user "validation of the product's value," Brian Aker reports. Wait a minute—a hacker doing journalism about business in his spare time? Exactly. And all of that is powered by social software.

Want to subscribe to the future? Read Christopher Blizzard, Brian Aker, Greg K-H, Matt Cutts and others. At the best companies, real developers don't have time for "hypothetical users" because they're already getting information directly from real ones. (I'm always looking for more examples of this phenomenon, so hit me with the RSS links, people.) Throwing Marketing in between modern developers and the users would be like starting a restaurant and hiring deep-sea Vestimentiferan worms, which live, isolated from the rest of the biosphere and never eating but deriving their energy from symbiotic sulfide-metabolizing bacteria, to write the menu. By all means avoid companies that isolate you from real users and bury you in Big Dumb Word Processor Documents, but recognize that they're going to get rarer and rarer. The software profitability crunch and the turn towards social software mean that wasteful marketing/code monkey divisions are getting squeezed out.

Fri, 02 Jun 2006

FreedomHEC

Just got back from FreedomHEC in Seattle. Anybody want to know the temperature?

Steve Hastings has written a detailed report.

I like the unconference system, although with a room full of Linux and hardware people we didn't get the kind of clamor to put topics on the board that you might get in a room full of, say, bloggers. It's good that we had a selection of topics on the Wiki first.

I put a question up there to kick off the discussion, about the right names to give to files in sysfs, and FreedomHEC got a great talk from Greg K-H about how to organize the files that a driver creates in sysfs. One value per file, please. If you want extra information for debugging, use /sys/kernel/debug, where you can put whatever you want.

The good news is that sysfs actually looks much more complicated from the user side than from the kernel side. Yes, go browse /sys and you'll see a whole bunch of symlinks, but the C functions for creating the sysfs files from inside the kernel are pretty straightforward.

Randy Dunlap, in a talk on "Linux Kernel Social Engineering," quoted Oregon's "Things are different here" slogan. "We don't really want to see just ideas...You have an idea you need to back it up with some code. Sooner rather than later."

While Randy got some good laughs mentioning companies that consider "50 page Word documents" part of the development process, the really good point about the "social engineering" discussion was how many ways there are to get involved in kernel development if that's what's what you want to do. Check out The Linux Kernel Janitor Project for some cleanup projects that will give you a tour of the kernel and help you find an area of interest.

James Bottomley, SCSI subsystem maintainer, is also looking for developers. Any volunteers willing to reproduce and fix the bugs in the drivers for older, less commonly used SCSI host adapters?

Greg also gave a good example of why stable driver ABIs are nonsense: MSFT and Linux have both rewritten USB support 3 times. Linux hasn't kept the two old ones so can be lighter weight and more reliable.

Yes, I worked through Greg's driver tutorial with Steve and the rest of the audience. Tips to prepare if you're coming to the next one at OLS, LinuxWorld, or next FreedomHEC: make sure you can build the kernel that's on your machine, and make sure that CONFIG_MOD_UNLOAD is on. (You'll be insmod-ing and rmmod-ing the module a bunch of times as you read, build, and test different versions.)

I have a bunch of great notes on what to do and not to do in driver code. Definitely a worthwhile tutorial; I would have gotten a lot out of it if I had a half-done driver to ask questions about, too.

Jamey Sharp is making me think that our long nightmare of butthead 3D support in Free software is coming to a close. He's running r300, and says it's "in good shape". Better yet, he adds, "Intel is fully supporting X.org", and Greg predicts "The next-generation Intel stuff will be equal to Nvidia stuff." Yes, FreedomHEC sort of turned into a "3D on X and Linux BOF" for a little while, kicked off by Jamey's X update.

Is this the conference I would go to if I hadn't been involved in it? Hell yes. We even got some Open Source Marketing advice from James. "Windows vs. Linux The Great Battle" is very much a Marketing Myth. "The only people who believe this are people who are susceptible to believing marketing stuff...Companies trust suppliers who respect their choices."

Off to put together the Linux DDK mailing to the attendees. Must find CD labels. Peace, and don't create USB packets on the stack.

Rick Moen vs. Spam

Rick Moen reviews his anti-spam setup. SpamAssassin at SMTP time via sa-exim is excellent and is the only thing that gives me a case of Exim envy.

Rick is currently not using greylisting, but I am. The Postgrey greylisting implementation for Postfix doesn't need MySQL, and I probably wouldn't be greylisting if it meant I had to put RDBMS client support on the mail server either.

Rick also has a good blockquote from Karsten Self about the idea of "proportional response" to spam at the IP level. I'm thinking about this too: after greylisting an unknown SMTP connection where the other end was trying to reach a spamtrap address, temporarily running that IP address through an iptables chain that would drop most of the packets. Basically make each message sent to a spamtrap "cost" 20-100 times as much bandwidth as normal. And I doubt the spammers are sitting around with Ethereal open.

Mon, 15 May 2006

SPF and deliverability

Sender Policy Framework (SPF) has a new web site, and the spec has been published as RFC 4408. Status is experimental.

But "AOL is also currently requesting all of their whitelist partners to switch to SPF to remain on their whitelist." And both google.com and microsoft.com are flying the SPF flag. (host -t txt is a quick way to check if you're curious.) Looks like this "experimental" RFC will be a de facto MUST for anyone concerned about deliverability.

Deliverability. Let me speculate for a minute about deliverability, here. I'm interested in email newsletters for work, so, in an attempt to broaden my horizons, I subscribed to Clayton Makepeace's a newsletter about copywriting. I was following a link from Bob Bly, who has a spot in my RSS aggregator as the voice of database marketing.

It turns out that Spamassassin really, really doesn't like Mr. Makepeace's writing. His newsletter, which contains examples of high-performing direct mail copy, barely squeaks past my Spamassassin setup.

If you're writing KILLER SELLING COPY, your subscribers' spam filters are teaming up with their natural human bullshit filters. Spamassassin doesn't like it when "Something is emphatically guaranteed" or you talk about "more with an exclamation!".

Is the pay-to-send controversy only relevant for mail written in direct mailese, and can you escape the whole brouhaha by writing like a normal human being? What a side effect to the spam wars that would be.

(By the way, most of the stock spam that sneaks through my Spamassassin says that the stock is sure to go up because the company has a "big PR campaign" scheduled to begin. If that worked, couldn't you just skip buying the spam-pumped stock, pick a random company to invest in and do some PR for them on spec? Even if they never paid you, you could live off your trading profits.)

Tue, 02 May 2006

Women, spare time, and Free Software

Bdale Garbee links to EU research on barriers to women's participation in Free Software. Suggestions include computer classes for girls and organizations such as Debian Women and LinuxChix, but there's one really good point I hadn't seen before. Hacking takes time. And many women don't get enough free time because of child care and household responsibilities.

Maybe we need an "Alameda, California Free Software and Babysitting Club." (I'd be happy to watch an extra kid on days when I'm watching mine if it meant someone was getting to do some work on Free Software.)

Thu, 27 Apr 2006

Toward user and hardware maker happiness

Doc Searls writes, "So, by the time the show started, Greg, Don and others already had convinced me that the Linux kernel had in fact gone beyond parity with Windows and Apple's OS X operating systems in the device driving department."

That's true from the point of view of what Linux offers. But whether or not the hardware customer actually gets the smooth experience he or she deserves depends on whether or not the hardware supplier is plugged into the Linux process.

Some hardware manufacturers still make things unnecessarily hard for themselves by trying to put all the unnecessary overhead of a proprietary driver on top of their Linux support. It doesn't have to be that hard.

So, that's why we're doing FreedomHEC. Free of charge, Seattle, Washington, USA, May 26-27.

Now, you don't have to travel to a Linux conference to get Greg K-H and other experts to answer your Linux support questions, and now you have a chance to make a face-to-face connection with the human being on the other end of the kernel API you're using. Just stay over an extra couple days after WinHEC. Linux users will thank you, and if you need to convince Management to send you, remember that a lot of those Linux desktop users are developers involved in high-volume server and embedded projects, and the fact is, they use the kernel source as a buyer's guide.

Look, you're going to get expensive analysts telling you that Linux is going to have to do the same "where's my driver disk" shuffle as the proprietary OSs, in order to be as easy to use as they are. But all the Linux people I know are aiming to blow past the proprietary OSs in usability, and that means that a device that requires a driver has to be as easy to connect as one of those little LED laptop lights that just uses the USB port for power. So catch the wave, and get in the tree. Questions? Please mail me or sign up on the FreedomHEC Wiki.

Mon, 17 Apr 2006

Keybindings and aumix

I bound a couple of unused keys to "aumix" to tweak the volume on the computer. Levels go from 0 to 100, so in order to run from min to max in 25 steps, I used steps of +4 and -4, like this:

aumix -v +4

aumix -v -4

But that didn't let me get every possible level, and in real life I turned out to want to be able to tweak the volume to within one unit. So here's a better choice: up is "aumix -v +3" and down is "aumix -v -5". I can hit every possible value with a little up-and-down fiddling, and still make large changes pretty quickly.

Math puzzle that might make a good exercise for programming students: for any integer n, find a pair of up and down values that minimizes total keypresses for all volume changes from 1 to n.

Here's an example of great user interface, from a Magnavox digital alarm clock I used to own. The "set time fast" button went forward, and the "set time slow" button went backward. So you get to the time you want, overshoot a little, go back, and Bob's your uncle, instead of get to the time you want, overshoot, go around 23.5 hours, then sneak up slowly on the time you want.

Mon, 10 Apr 2006

Yes, but what's his hat size?

LinuxWorld panelist Shaun Connolly from JBoss did say, "Java is great, PHP sucks and .NET can't scale." But he was doing his Marc Fleury impression. In real life he's much more moderate.

Sat, 18 Mar 2006

Desktop Search

Novell's SUSE Linux Enterprise Desktop has ditched the space-hogging banner ad in the GNOME main menu for a bigger "Computer" menu with a search box in it.

Just looking at the videos on the Novell site it's a big change.

I like search boxes, so I need to get a hold of an eval copy of this distribution, to see how easy it is to add miscellaneous social software to the stuff that gets searched. (Beagle-based?)

Fri, 17 Feb 2006

Blognet of the future and the reluctant A-lister

I had a good conversation yesterday with Doc Searls, acclaimed authoritative A-lister Alpha Blogger Gatekeeper. You will respect Doc's Authoritah!

I know, Doc, that's not the point. Doc is the founder and exalted leader, I mean, just another random d00d, of A-Listers Against the A List (ALATAL).

There is only so far that social convention and self-deprecation can take ALATAL, though. Alpha bloggers as we know them are an artifact of blog-reading tools. There are high and low status participants in other social-software-based fora, too, and yes, the power law is inevitable, but blogdom magnifies status differences because it's far easier to manage your subscriptions by author than by topic, and, at least in the tools I've seen, not yet practical to work with threads productively. On a Usenet-like system, every new participant is likely to be seen and noticed by at least some of the regulars. That's still not the case on blogs.

Randal Schwartz writes, "RSS is Usenet, reinvented badly."

But it's not that RSS is a bad Usenet, it's that RSS aggregation tools are bad newsreaders. Randal writes, "Instead of subscribing to a topic, I'm subscribing to an author. This is just so wrong on multiple levels." He's right.

Doc tells me that he mainly subscribes to keywords and tags, not individuals. That's a great first step, but it gets you roughly where grepping the news spool does. You do a search for "corporate welfare" and get one side of a debate where the other side is saying "public-private partnerships". (Hey, maybe the "echo chamber effect" results in part from the software too.)

What people really read in social software is threads. Blogs have threads. RSS already has everything you need to build a threaded interface on. Just read the One True Threading Algorithm and substitute links for References: headers.

We know how to turn raw RSS into threads, but we just don't have good UI for subscribing to and managing threads once we have them. I want to be able to start reading a thread when (1) it sets off a keyword or tag filter (2) n people whose postings I follow join the thread (3) the thread links to a target I have defined (such as something I've written). From then on I want to see everything in the thread until I "kill thread" it. I don't know if I'll need an RSS killfile, but I suspect I will.

Anyway, I suggested that Doc take a couple of newsreader manuals (tin, trn, PAN, Forte Agent) and hand them out at the next Technorati advisory board meeting. The time-suck problem is best left to something like Webolodeon.

Thu, 09 Feb 2006

Word processors again

Interesting coincidence of items coming over the feeds.

Steve Gillmor on, among other things, "Office is dead", and these little pearls of wisdom from Lifehacks on how to make your word processor environment work kind of like an online editing environment, only with some extra work.

Instead of using word procesors as better typewriters, which they are, or as easier-to-use desktop publishing tools, which they are, people are using them as collaboration tools, which they're not. Why?

Blame the Law of Macrofromological Communications: people use the communications tools that the big cheese uses. Your boss is probably frequently traveling or otherwise offline, and will be able to open an email attachment but not your latest changes that you commit to a collaboration system. Word processors do run local.

We don't get working social software for business until we lose the word processor/email attachment mode of working, but we don't get that to happen until the next-generation system will run offline, on a traveler's laptop. Critical path: Offline AJAX.

Fri, 27 Jan 2006

Wordprocessoropedia

I'm thinking about starting a new web site. I'll call it Wordprocessoropedia. It'll be an encyclopedia that anyone can edit. But you'll use one tool for search and for browsing article titles and notes, then if you want to read an article, you'll launch a different application to read the article text. You'll also use that application to edit the article, but you'll have to go back to the first application to attach your edited version back to the rest of the encyclopedia.

The advantages will be that you can apply whatever fonts and margins you want, to give your article a unique, personalized look.

Hey, wait a minute. That's a really dumb idea. It's like the opposite of social software. Anti-social software. We're spending our work days manually rowing through attachments, when—as soon as we get a little choice of whether or not to participate—we know there are better ways to do things, and seek them out.

I think that's finally changing. The new Writeboard web-based collaborative editor from 37signals is a really promising example.

Steve Gillmor joins the post-word-processor elite: "What, you say, no word processor? Well, I could have her download Open Office, but for now I just have her write in Gmail and use its spellcheck, then paste into whatever blog app I set her up with, probably Flickr so she can mix in images."

I need a word processor on my laptop like I need a Selectric typewriter in my laptop bag. (the Steve Gillmor link is via Mark Jen (HTML, strangely enough.))

Yes, there are still a few formal documents for which we need canonical printed output, but in the long run we're probably better off seeing them as opportunities for web-based "stylizers of the searchable" than for word processing. Example: letters to Congress.

Wed, 04 Jan 2006

Testing with screen, testing at Debian and Ubuntu

Scott James Remnant has a good story on test-driven development with screen.

Meanwhile, Debian Weekly News links to article by Lars Wirzenius on automated testing in Debian. A promising tool from Lars, piuparts, tests that packages install and uninstall correctly. More good stuff on automated testing on the Ubuntu Wiki.

This is great news even if you're not using Ubuntu or Debian, because you should be able to take a deb package with tests, put a wrapper on it, and use the package plus tests as a test for its dependencies as supplied in your own distribution or stack. Work done to automate testing in one environment helps everyone who uses the package.

Fri, 09 Dec 2005

Type checking and test-driven development

Bruce Eckel asks, "This became a puzzle to me: if strong static type checking is so important, why are people able to build big, complex Python programs (with much shorter time and effort than the strong static counterparts) without the disaster that I was so sure would ensue?"

...and links to Robert C. Martin, who asks, For many years we've been using statically typed languages for the safety they offer. But now, as we all gradually adopt Test Driven Development, are we going to find that safety redundant? Will we therefore decide that the flexibility of dynamically typed languages is desirable?

Bram Cohen on How to Write Maintainable Code—among other things, "Write test code" and "Write in an easy to maintain language".

Tue, 06 Dec 2005

Instrumenting software

Arnaud Legout has some excellent data on the real-world performance of Bittorrent's "rarest first" and "choking" algorithms. Also see this journal entry from Bram on why no error correcting codes in Bittorrent.

Personally, I'm having fun with GStreamer and its groovy debugging and logging system, which I'm using to write a "HEadless Music Player"—I squatted a sourceforge.net account for it and everything. So far it's not ready for public consumption since my supposed-to-be-nifty shuffling code somehow figures that the user wants to listen to Jonathan Coulton's cover of "Baby Got Back" over and over. If you get the print Linux Journal, check out the article by Robert Love on GIOChannels. Just what I need to fix the joystick support. The basic idea is that with a laptop in the trunk, plugged into the aux in of the car stereo, I can use a USB joystick for pause, skip, and all that. When I get time I'll take the joystick apart and mount the board behind one of the little black "you didn't buy that accessory" panels, and put a switch on the front. Until then, that's why there's a joystick lying on the center console.

Mon, 21 Nov 2005

Getting into computers

(edited 22 Mar 2006: fixed link to J. K. Rowling's FAQ, fixed Unicode quotation mark.)

Like every other free software freak on the planet, I'm optimistic about the MIT $100 laptop project. But why does it feel so fundamentally Right? Does anyone else get the sense that it's a quest to find long-lost kin who happen to come from circumstances that wouldn't otherwise put a computer in front of them? As if, if someone has the ability to do magic, and loves it, how could you deny that person an invitation?

Nat Torkington, in "How I Got into Computers", talks about the Commodore 64: "The beauty of the C64 (and the Apple // and every other micro that my generation grew up on) is that it's programmable as well as playable. Kids today don't have that, and I think we'll feel the lack of it."

There's a good interview, The Dynabook Revisited, with Alan Kay, one of the architects of the $100 laptop project. He says, "Now you've got millions and millions of people who think that doing even the most trivial things on a computer is a sign of computer literacy. This includes parents, teachers and the kids themselves. But most of what is done is about as worthwhile as playing an air guitar."

No more air guitar. The $100 laptop gets programming tools. This is a real guitar. Ethan Zuckerman hosts a discussion of 1LpC: "It's clear that the strategy behind the device is a trojan horse one - sell the device as an e-book, then see what students are able to do with a flexible, net-connected, programmable tool."

Fri, 18 Nov 2005

You only get one shot, do not miss your chance to blow...

Murugan Pal has some notes on open-sourcing an existing proprietary software product. There's been a lot of pixie dust sprinkled on a lot of problem projects, so you need to be especially careful in this situation to avoid smelling like abandonware.

Three other items to look at. Number one, take Martin Fink's advice and don't write your own license. "Stop. Please don't. Call me." Remember, the whole idea of the Debian Free Software Guidelines, which became the Open Source Definition, was a guideline for which existing licenses to accept—not a set of guidelines for extreme license proliferation.

Second, this could fall under Murugan's items 2 and 3, but it's worth its own item: look very carefully at the build process. Not just getting rid of compiler warnings, but make the thing build without hassle. configure; make; make install is a good thing. One chance, first impression, et cetera.

Finally, consider if you'd really be getting closer to the goal of your project by using your expertise to contribute to an existing project instead. This is especially dramatic for Linux—the difference you get from learning the rules and getting "in the tree" is giving thousands of people the chance to try your code (which hardware designers use as an informal buyers' guide). Out-of-tree work—even if open source and done with the best intentions in the world—doesn't get that kind of exposure.

So why drop the proprietary software model in the first place? Larry Augustin writes,

"The problem is that the traditional enterprise software business model is broken. A rabid search for new customers and revenue growth has caused sales and marketing costs to spiral out of control. In fact, Rick Sherlund at Goldman Sachs estimates that in 2005 software companies will spend 82 percent of new license revenue on marketing and sales efforts. That's up from 66 percent in 2000.

"This quest for additional revenue has created an untenable cost structure for the industry - one that doesn't serve vendors or their customers. In essence, vendors spend a lot of money to convince customers to buy, and then charge them a lot of money for the license which covers the sales and marketing costs. We're charging the customer just to sell to them."

Combine that with Ray Lane's numbers on the profit "wasteland" of proprietary software, and any action starts to look better than nothing. Larry does go a little too far to the open source side, though, for two reasons. First, the cost of sales for open source vertical apps and late-adopter customers is going to look more like that for proprietary packages in the same markets than it is like that for packages that people can set up in their spare time to fill a small need (and only later need support for). Not even the sysadmin for an enterprise chicken-plucking system sets up openchickenplucker.sf.net just to try it out.

Second, there's nothing that says proprietary software can't fight back on cost of sales. Combine the ideas of The Sims and VMWare Player and proprietary software vendors could get a realistic, play-with-able, multi-system virtual environment that lets potential customers do "what if"s and get engaged in the product before taking too much of a real sales person's time.

Wed, 02 Nov 2005

Usability and transaction costs

This is not a D00D I RUN LINUX AND I JUST USED M$ WINDOZE AGAIN AND IT SUX0RZ!!! post. But I did take a couple notes on two Microsoft Windows XP systems I dealt with recently and they made me think about something that's actually pretty encouraging from a freedom-loving point of view.

First of all, not having used Windows for a few versions I did get a sense of the "more polished interface" thing. Some stuff that's often clunky or counterintuitive in other environments is well thought-out and "doesn't make you think" in Windows XP. For example, Windows XP does have excellent UI around having more than one user logged in at a time. You can easily walk away from your session and leave all your apps running, let another user do some work, then come back to it. I know you can do that under Linux/X—for a while I was regularly doing this on my desktop machine with another user—and I don't know how well the sessions on Windows platform handle tweaky things like recording audio in your session while another user is using the screen, I'm just saying that the process for leaving your session without logging out is handled well, and it's a good example of the kinds of things that I was impressed with.

So with the technical and design aspects of usability tweaked within an inch of their lives, where's the new low-hanging fruit? What did I spend the most time on?

The first Windows XP box has two software update services on it—one for the virus checker and one for the OS. Both put me through a setup process, and both seem to be able to demand attention in the future. Each individual one is easy, it's just that there are two of them, and you have to click OK to two separate business relationships. If you had a Free Software virus checker, whoever manages your updates for the OS could also manage the virus checker updates. See ClamAV and Debian.

I'm not saying that anyone on the Free side handles this issue perfectly now, just that Free license terms and cooperation norms give you the basis for a transaction-cost-free solution that doesn't require a decision by the end user.

(I put Firefox on that system too, and same thing. Yet Another Update Service, one more thing to think about. But I shouldn't count this; "just use the browser that comes with the system" seems to be an acceptable solution for most users.)

The second box is a more puzzling case. Both the hardware vendor and the OS vendor decided to install WiFi management utilities, and they decide to fight it out, at least in the unusual case of trying to connect through a certain firewall box that has a balky DHCP server. I don't have the expertise on the Microsoft platform to track down why the hardware vendor's wireless manager decides to try to take over from the OS vendor's wireless manager, or vice versa, or how to pick one to run and permanently shut the other one up. The system's owner will probably end up having to call support and work through this. (I'm avoiding mentioning relevant brand names here so that this post won't turn up in a web search for this issue, since I don't have an answer for it.)

On the Free side, we have package management that should keep conflicting utilities from being installed. Not that NetworkManager is perfect yet, but we have the language for talking about this kind of problem and ways to apply policy to prevent it. (While I'm thinking happy thoughts about people who make the world a better place by contributing to NetworkManager, bonus link! "use simple, cute macros to harness the power of the GCC extensions")

Of course, an alternate answer to the problem of usability and transaction costs is to go all-Microsoft, all the time, for all software on the box. That has worked for other chunks of software. Most Windows users' lives probably did get easier when Trumpet Winsock, Netscape Navigator, Qualcomm Eudora, and RealAudio vanished from their personal information spaces, replaced by Microsoft's bundled competitors. I know Microsoft is planning to do its own virus checker, and even though it might be a conflict of interest in a way, it would cut down the number of update services users have to subscribe to, so it's fundamentally a good usability move.

So I'm wondering if, since much of the remaining problem of usability seems to be in dealing with transaction costs, does that squeeze out the old idea of a "platform" with independently developed proprietary chunks on top of a proprietary but documented OS? Does taking the next step in usability mean you'll be dealing either with one vendor, one EULA, for everything, or subscribing to a service (or joining an organization) that integrates and delivers Free packages to you?

On a related subject, the self-styled "cosmonaut playboy international love rat of mystery" answers the question, What about binary compatibility between distributions?

The more I think about the usability consequences of that, the more I'm reminded of what Joel Spolsky wrote about Raymond Chen and his team's modifications to Microsoft Windows to support apps that "do bad things or use undocumented functions or rely on buggy behavior that happens to be buggy in Windows n but is no longer buggy in Windows n+1."

Does every release of your software also have to be a version n-1 emulation environment? If I got "Disintermediate development. Reintermediate deployment." T-shirts printed up would anyone besides me wear them?

Thu, 27 Oct 2005

Stop breaking your web site and not knowing it.

Vinay Srini (who works all the way over on the other side of the SpikeSource building from me) has come up with an Firefox extension for testing. It's easier to use than to describe. Just install it, hit "record", do the site activity you want to be able to test, then play back to repeat all the activity. The next step beyond just the GUI record/play is automatically generating tests that you can use with SimpleTest for PHP. (Via Matt Harrison.)

--
Don Marti <dmarti@zgp.org>

This banner is hidden from standards-compliant browsers. If you can see the banner, consider switching browsers.

photodropper DirectBuy Yahoo TMDA Lexmark Linux news from LinuxWorld.com Scientology AdTI SSH SCO CP2102 Linux Herbalife Jerry Reynolds VX30 PowerPoint Matt Harrison nutzwerk intelligent design Eaton Powerware