21 December 2003
Yesterday I posted a longish (okay, long) piece on Robert Scoble's defense of the vision of computer as appliance. He responded in his usual lucid, well reasoned manner. This is my (still longer) rejoinder.
I agree that he and I are not incredibly far apart in our hopes and desires for the future of computing. I also agree with Robert that there is a fundamental disagreement about how we can get where we want to go. And that fundamental disagreement flows from a company named Microsoft: the difficulties in bringing me and Robert closer together in implementation are primarily a result of Microsoft's choices and business decisions. Let me elaborate.
Robert recognizes me for what I am: a semi-advanced and theoretically informed user. I don't write code; I use templates for web pages and cannot even do CSS. We don't even have comments, trackback, or other "fancy" things on this blog because I haven't taken the time to figure out how to get them done. I could, if I took the time, but I haven't. It's just not my bag, man. I'll eventually do some of these things (we're considering going to movable type on a UEA server, but we're not quite there yet), because the functionality is useful. When it coms to code, I don't care how pretty it is, or could be. I care that it works. Brute force or a few well chosen lines are fine with me, whatever works.
That said, Robert then mistakes me for a tinkerer at the OS level. I don't tinker outside of trying to retain system resources for things I want to do with my computer, even if that takes them away from doing things the computer has been told it ought to do (such as indexing all my files). Robert says we (he and I together) make a mistake: "we want a computer that works for us and we want to say the hell with the rest of the users." This is precisely what I don't want. I'm concerned that everyone have access to this truly powerful (and now little) machine. But I also don't want the reverse; I don't want a machine that is only useful to the town fool, or the person who is too lazy to get off of the couch. Honestly, I want people to "smarten up" and learn to use the tool the way the tool can be used. That's probably a pipe dream, especially given current efforts to dumb everything down so that it's "easy" and "complete" out of the box. But it would be the ideal, wouldn't it? I like to at least consider ideals, and to make people who don't want them defend their own ideals.
Where does this line of reasoning take us? Computers are complicated. They were designed that way. That design has a host of advantages, one of the primary being that people themselves can innovate. As with the Internet, I want smart ends (apps) and a simple middle (OS). People who don't want to innovate, who want to get E-mail, watch fun pictures, find trivial information online, can do that, there are lots of simple apps they can use (many of them from Microsoft). But putting all the tools into the operating system is the core problem, I think. As everyone knows, Microsoft doesn't only have a hold on the most used operating system. It uses that hold to generate sales of its other products. Even without allegations of misconduct, and I have no reason to make those here, Microsoft is clearly implementing and integrating non-OS required items into the OS. My Outlook Express in XP story is but one example.
There is likely to be no seriously defendable rationale behind integrating Outlook Express into the OS that is based on the nature and purpose of the OS itself. It is an attempt to take the OS beyond the OS, not simply to improve the OS, but to make it a different animal entirely; it is an attempt to make the OS everything that it was never meant to be. And the effects that follow are the effects I am complaining about. Had Microsoft simply offered Outlook Express (perhaps even installed, perhaps even default in the "on" position, though both of these bother me as wasteful of user time), I would be puffing a lot of hot air (many of my students probably would agree that this is not unusual for me). But when it is so tightly integrated into the OS that it cannot be shut off, we have a convergence of OS with app that is fundamentally designed not to advance the OS, but to advance other apps, and other business models. We now have a complicated middle imposing constraints on the ability of the ends (the apps) to be smart.
Here's where I'm going with this. I think the best OS would be one that was very fast, very stable, and could support a wide, wide, wide variety of apps (written by the OS creators or not, no matter). People who want to access newsgroups, another example used by Robert, would install a newsgroup reader. Even the integration of Outlook at this level alone doesn't accomplish this. When I had my Outlook Express experience (the one where I couldn't remove it no matter what I tried, including deleting the executable file that ran it), it did not connect to a news server. Why not? Because I hadn't configured it to. I knew about them, but I don't read newsgroups. I've just never had the time. But what if I didn't know how to do it? What if I was Robert's "regular" user?
As a regular user, I click on a link on the Web that looks like any other link. Outlook Express suddenly opens. I assume it's supposed to do that. It starts asking me questions:
- What is the name of your news server?
- "Um, what?" think I, and then ponder the setup screen a bit more. "Tom Brokow," I type.
So then, if I am not looking for a system that I can tinker with extensively, what do I want. I would take an OS "out of the ($200) box" and use it--so long as it is fast, reliable, stable, and can support a wide variety of implementations; and I would be happy. Very happy. When it starts to do things: I don't know about; without me telling it to; and without me being able to tell it to knock-it-off, then it stops being my tool and starts becoming someone else's. I don't pay for, or work with, other people's tools unless they're paying me (and probably not even then). This is my beef with automatic updating. Sure, put it in. Even turn it on. But tell me about it, and let me turn it off, sometimes turn it on, let me decide, empower me and other users (in the already referenced Toshiba debacle, Toshiba issued a patch for the BIOS on my machine, to fix a temp problem; the difficulty is that the the fix was to clock down the processor; I wasn't told this; I had a choice to make, but wasn't allowed to make it; this is what I'm on about).
Related, but not directly, let me say another word about transparency. Transparency is not about developers looking under the hood to develop. It's about end-users being empowered to know what it is this tool they are using is doing. The end-result of this is that they can choose, actually make a real choice, whether to use the tool. As for whether Microsoft would collect information on users and not tell us, there are a host of "reporting" elements within Micorsoft OS's and apps. Explorer regularly asks me to send a report to Microsoft when it crashes. Does Robert expect me to believe these end up in the trash or overwhelm Microsoft's bandwidth? I doubt it.
I don't think Microsoft would try to monitor everything users do; that would be hard to do (and I don't honestly believe Microsoft is evil in those terms; the idea is kind of silly, really). But to monitor certain things--installed aps, time using OS, etc.--that is probably within reason to believe Microsoft could handle. And for the right business reasons they might do it. My point is that if they decide to do it, I want to know it, so I can choose whether to use it (ideally, this is also configurable for me to turn it off, but that's configurability, not transparency). When you don't tell us what the tool does, what functions it incorporates, you take that choice from us. You actually diminish our autonomy. Fancy arguments to be raised in relation to an OS, but if you doubt the implications, read Benkler on it again. What more can I say?
I am very aware that I am a miniscule proportion of potential buyers (okay, I'm not even a miniscule proportion of a miniscule proportion, but indulge me here) of the new Microsoft OS (and I'm pleased it won't be called Longhorn, which on Robert's explanation of it as the development name, is probably quite good . . . better than "Operation Dessert Topping"). Lots of other people will buy more. Corporations; schools; governments. That's not the point, at least in my eyes. And this I think is something Microsoft still isn't getting (though Robert says just enough to make me think he might get it; I'm an optimist). Those people might want an appliance, but they don't need to get that appliance based on the largest selling, primary worldwide operating system. They can get add-ons (perhaps designed by Microsoft); they can get additional apps designed; they can seek specially designed versions of the OS from Microsoft (isn't niche marketing the thing economic markets are made of, even when it comes to economies of scale??). A well designed OS would let them turn their powerful computers into televisions, or typing machines, or message boxes. It would also let me keep mine powerful. The two are not mutually exclusive.
If the argument is that Microsoft is designing its new system for the large users, then I can stop paying attention, because clearly they're going to offer something different for the individual computer users that will be buying new computers with a Micosoft OS installed. But it doesn't sound like this is in the works. Changes are being made wholesale, integration tightened, transparency, defaults and configurability controlled or limited. I'll keep watching, but let me just reiterate my main point here: my problem is with the integration of applications in the OS for the purpose of making the computer more "appliance like." Computers are just too complicated to work in the host of ways "out of the box" the way Robert wants them to. There are just too many variables. There are a two real options to choose from to deal with this problem: 1) teach users what they need to know to do what they want; or, 2) make the boxes less complicated (make them fool-proof, as in, protected against even foolish users).
Microsoft seems to be taking, and Robert advocating, this second option. But in addition to the fact that it probably won't work (computers really are just too complicated to work "out of the box" without some knowledge on the part of users), it also misses the opportunities computers present us with to improve ourselves. The "dumb, out-of-the-box" choice disenfranchises users, and keeps people from becoming more than they currently are, takes away an important opportunity to grow, learn, experiment, and create. It makes them consumers (again). It replaces autonomous creation, choice, learning, and experience with someone else's choice and expertise. "Oh, you want a computer? You must want to send E-mail." And I hope, not only for my benefit, but for the benefit of my fellow man (geesh, you'd think I was running for President or something), that this is not the direction we go. For myself, I'll go kicking and screaming.
I just hope there are enough reasonably minded people in the game who are paying attention and thinking so that my kicking and screaming, and some hopefully well-reasoned arguments, have some effect.
NB: I've received two E-mail messages regarding my original post that have made me add this little end-note: I should probably not be counted in the anti-Microsoft realm, and I certainly harbor no ill will toward Robert Scoble. As I said in my last post, I'm writing this on a Win98 machine. My dead Toshiba ran on WinXP Home. I've never installed Linux. On anything. And I think this kind of conversation is exactly what blogs are for. I wrote my message primarily for Robert, with the hopes that he would read it, think about it, and that perhaps others would do the same. His response is, I think, in the same vein. I don't write for Joe Q. Public; I write for academics and tech people. (and that's who reads Displacement of Concepts). As for Robert, he writes as a Microsoft employee; I have no problem with that; I'm actually thankful for it. It's a "good thing" to dialogue with people who actually know stuff. I generally enjoy reading his posts, believe his enthusiasm is honest and sincere, and am glad someone who is paying attention on the inside is also paying attention to the outside. More than 'nuff said.
20 December 2003
I make it a habit to read the blog of the self-described Microsoft evangelist Robert Scoble. While I skip over lots of his posts (the blog follows primarily the "news" version of blogging, with quick links and short descriptions, not analysis), it's more interesting when Scoble gets into his evangelism role. In a post from the 19th, Robert argues that upgrades to software should be expected, desired, even perhaps cherished (my reading, not his words).
For example, he says this:
- I wonder, when cars moved out of the Model-T age did people complain so violently about getting electronic starters so they didn't need to turn a crank to get them started?
- And, yes, most people want a computer that's an appliance. Do we see massive protests when Tivo automatically upgrades the software in their machine? No. Why not? Because generally things get better. Same on the Microsoft side of the fence.
References to the computer as an "appliance" show me that the people making those references either don't get it, or do get it but don't want anyone else to get it. They want it to be an appliance, as that makes it easier to control and to turn people back from users into consumers. They do this by offering "improvements" that turn the computer into a TV (or some other appliance).
Microsoft is actually one of the worst offenders in regard to "improvement through persistent automated features". What do I mean by that? I'm happy to tell you.
The three most important concepts in software design are transparency, defaults, and configurability. Improvement through persistently automated features violates all three.
Transparency means that it is clear what actions the software is taking. Scoble would probably say this is unnecessary, especially as to an OS. I can hear him now, "Who knows how their car engine works? People want a car that drives, not one that they understand." My idea of the importance of transparency actually doesn't go to the level of detailed functioning. It goes to the level of functionality. The difference is that functioning is how the software achieves a certain result (such as showing a particular color on the screen, for example). Functionality is those things that it does, ie, that it can show that color on the screen. I might not care how the spark gets to the cylinday in a combustion engine, but I do care if an RF tag is telling the manufacturer that I've started my car. What it does is important to me, not necessarily how (unless the "how" includes addtional "whats").
The distinction is important. If Longhorn's Media Player regularly reports to Microsoft about my viewing or listening habits, I want to know it. If it regularly records those same habits in a file that can later be discovered by someone else (wife, lover, recording industry exec, you pick), I want to know it. If the OS records those details, I want to know it. I want the functionality, all of the functionality, to be transparent.
How many people know which processes should be running in Windows? Not too many. Can you find a list on the Microsoft site? No. The use of processes in the operating system is not transparent, and even moderately sophisticated users cannot easily find the purposes of functions they find running on their machines. It should be transparent. Nothing should be working on my computer without my being able to find out why it's working, what it does, and what the outcomes of its operations are. That is transparency. Keep in mind, this information need not be shoved into users' faces. Many people don't care, and rightly so. But for those who do, the functions should be easily findable; the operation should be transparent.
Defaults are also critical. Microsoft has run into security trouble with its products because it turns functionality on that is not needed. The Microsoft messaging function is one of these. Users at home just don't need this (unless they're running a home network and don't actually talk to each other, in which case it might make a nice proxy for human interaction). But yet the function is in the default "on" position, and XP users started getting spam pop-ups. The default "on" of universal plug and play over networks is another example. These are not things that people ordinarily need. Things that people ordinarily need should be in the default "on" position. Functions that the designers hope to later exploit should be "off" by default. Of course, this doesn't happen because designers want to grease the wheels for later potential exploitation, though in many cases exploitation never even happens. Defaults should be set with this in mind; necessary for basic and stable operation of the OS? Default should be on; advanced, future, or potential future exploitation or need? Default should be off.
Finally, configurability should be easy. If I want to turn UPNP on, to access my PNP scanner over my network, I should be able to do so. It should be easy. If I want to turn off the "trusting" elements of Longhorn, I should be able to do so (Seth Finkelstein at Infothought suggested this recently, and it makes sense within the framework I'm describing, but I can't find the actual post where he discusses it). It is my computer, and it should run the way I want it to. It should respond to my wishes, not someone else's. This is its true value: a configurable powerhouse that helps me achieve my goals. I should be able to set it up to do that however I want, and it should always keep the baseline, stable, necessary components in place (by the way, making things "necessary" as Microsoft did with IE, integrating them into the basic OS, contradicts all the notions I've raised here; OS's should be basic, choices above the most basic should be mine).
A final example, from my limited one-year experience with XP Home, that violates all three of these notions. The inclusion of Outlook Express in XP. I was working on something and clicked on a newsgroup link by mistake; up popped Outlook Express. I hate OE. It, along with Outlook, is one of the most targeted platforms for viruses around. I didn't want it on my computer. Until then, I hadn't known it was there (it did not show up in the programs listing on my computer). First rule violated: the inclusion of OE was not transparent. The second rule was also violated, in that the default was for OE to be present, not added by user choice. I didn't need XP, I had an E-mail reader, and any other OE functionality was not desired by me. It should not have been there by default. Move to rule 3, and we find our final violation. I tried to remove OE. It was not available in the "remove programs" function of XP. I found it in the directory structure and tried to delete it; I could not, as Windows would not allow it. I tried replacing the executable files with empty text files of the same name; XP overwrote them with new OE files within minutes. I tried write protecting the empty files; XP simply created files with duplicate names. In other words, the inclusion and operation of OE at this level was not configurable.
So that is the theoretical framework, with a clear example, through which I view OS (and computer, software, etc.) design. Microsoft regularly violates these notions. Microsoft's designs and initiatives, such as the Trusted Computing Platform, violate these notions, and show that Microsoft isn't interested in unleashing the full power of the individual computer and the individual computer user. They are interested in controlling the box and turning it into an appliance.
That is our theoretical background. The practical can be articulated somewhat differently. What do I want in practical terms?
- I want my OS to run my apps.
- I want it to keep running.
- I want it to leave me alone.
- I want it to leave as many resources free for me to actively use as it can.
- I want to know what it's doing.
- I don't want it reporting, updating, changing, altering, or acting differently today than it did yesterday unless I tell it to.
- I don't want it controlling my use or being "trustworthy" (but we know the "Trusted Computing Platform" is not about user trust, but content provider trust).
And this is what Scoble's model-T example misses; it's also what his Tivo example misses. The changes made to Windows (to be called "Longhorn" -- don't ask, I don't understand that as a brand name) are choices made by programmers about the nature of the environment in which we operate as computer users. They are not inherently and undeniably improvements to that system (the electric starter may not have been either, but we needn't go there at this point). Different people use their computers differently. People use their cars in pretty much the same ways. People use their Tivos in pretty much the same way. They start them so that they run, or they record and view with them. If Microsoft was offering a quicker starting computer, I would be happy to adapt. But they're forcing us to accept so much more.
When your improvements force me to change how I work, how I interact with my computer (and here I'm treating it as a tool of an autonomous individual, not an "appliance"), then I'm not happy. And not likely to upgrade. I'm working on a Win98 laptop right now, for example, and my experience with my Toshiba Satellite 1805, which ran WinXP Home before it died completely 13 months into its miserable existence, was not good; I prefer Win98. It does what I need, and I don't need a computer engineer's choice for how my use can be improved, especially when lots of those improvements are not exactly that to me, and others are not useful to my use.
Tivo, while apparently more similar, is also different. Tivo has one purpose, and one that it does well: it records and plays back television, cable, or satellite broadcasts. DVD players do something different. MP3 players a third thing. Each of these can be improved and user expectations can be met. If I record using Tivo in one way, and they upgrade it, and I need to learn a new way to record that works "better", I can still record (if I can't, then something is fundamentally wrong). Fundamental changes to computer systems, through such things are persistent automated features, may keep me from doing what it is that I want to do. That may result because Microsoft no longer wants me to be able to do it (such as run unlicensed multimedia content on my computer), or because they didn't anticipate my need. The reason isn't important.
The difference between the Model-T, the Tivo, an MP3 player, and the computer, is that computer is a general multipurpose machine. It does, or should be capable of doing, exactly what I want it to do. Maybe something more, but certainly nothing less. This is what Microsoft engineering teams should be working on. And every time they, or an evangelical Scoble, tell me that I'm just scared of change and should get over it, I see even more clearly that they just don't get it.
18 December 2003
A few days ago, The Register ran a story about The return of the 'free' PC. According to the story, Metronomy, a UK corporation, is pursuing an idea that has failed miserably in other circumstances: advertising supported free PCs (to be offered to UK residents).
As The Register reports, and Metronomy's Website confirms, the company will provide a new PC (2.4Ghz or better) to each subscriber, so long as they agree to watch three minutes of "TV quality" advertisements every hour. That is, every twenty minutes, computer use is interrupted by an advertisement, which plays for one minute. Users can, if in the middle of something "important" (like playing a game or shopping, according to the Website), put the advert off for up to five minutes.
All kinds of issues of privacy and access might be raised in relation to these kinds of plans. I'll leave those concerns to others. Instead, my difficulty with advertising supported PCs is that it seems that one of two things can happen when this business model is adopted: 1) the effort can fail miserably as people decide that having their computer use interrupted is not worth the price of the PC itself; or, 2) people can begin watching computers, instead of using computers. It is this latter possibility that troubles me so.
Why? Because computers are smart. They can help us work, achieve things that we might not be able to achieve without them (because they help us work more efficiently, or because they give us access to more information and help us deal with it, among other possibilities). The original design of the Internet was a "simple" (nondiscriminating) (also referred to as "stupid") middle and smart ends. It is the smartness of the computer that is important. "Watching" the computer, in the couch potato mode with which we have become so familiar over the years since TV's introduction, is a clear underutilization of its full potential (and potentially ours by extension, as well).
The point is that people can actually use (pdf) computers: to create, write, communicate, and interact--both with people and with content. They can use computers for something more than simply watching other people's output. The computer need not be merely fancy television, though given the implications of currently proposed or potentially existing restrictions on computer design, they may end up just as that. Advertising supported computers, even where those advertisements are "television quality" (is there nothing more to reach for?), tells us that the computer is a box we should watch, and that our watching can be interrupted in acceptable ways. I mean, we're only watching, waiting for something to happen while we sit on the couch, right?
I hope in the end we find out this is not the case . . .
16 December 2003
No. What I really want to know is how do you become a test subject for one of these experiments? In order to push the boundaries of knowledge, male students were shown pictures of beautiful women from this site and given money (geddit!!??!!). The dead clever scientists then discovered that the lads were less effective at calculating their best money offer, when looking at attractive lasses.
If anyone is thinking of repeating this experiment in order to confrm this important result, in the name of scientific progress, I will agree to be a subject. Just send me an e-mail.
13 December 2003
Sometimes you come across something, and you think, "Hey, that looks like a good thing." But then you read further . . .
For example, here is the "International Union for the Protection of New Varieties of Plants." Good. We need new plants. I'm sure we're all quite bored with the old ones (not that we know about all the ones we already have, but what the heck, new is good, right?). And new plants probably need protecting. Keep the birds away from them, and the other pesky beasts that might want to eat their leaves. So protecting them seems good. Who could argue with that?
But go have a look. Not quite what it seems, is it? By the way, it's related to this. And this is yet one more reason why reading is important.