| Ray Kurzweil on Multi Technology |
[Apr. 16th, 2009|09:38 am] |
I’ve always claimed in interviews that it doesn’t really matter whether the actual future resembles the future I wrote about in Infoquake and MultiReal. There are simply too many variables in predicting the future, such that if you do get it right, it’s largely a matter of luck. But like all authors, I do secretly harbor this fantasy about the world turning out exactly like I predicted it, and my books being hailed as visionary tomes before their time, and my grave becoming a tourist spot for centuries where young kids with beards hang out writing romantic poetry late at night. So it’s comforting to see that the visionary Ray Kurzweil (whose The Age of Spiritual Machines I heartily recommend) has, in effect, completely endorsed my idea of multi technology. Here’s what he says in an interview with GOOD Magazine: By the late 2020s, nanobots in our brain (that will get there noninvasively, through the capillaries) will create full-immersion virtual-reality environments from within the nervous system. So if you want to go into virtual reality the nanobots shut down the signals coming from your real senses and replace them with the signals that your brain would be receiving if you were actually in the virtual environment. So this will provide full-immersion virtual reality incorporating all of the senses. You will have a body in these virtual-reality environments that you can control just like your real body, but it does not need to be the same body that you have in real reality. We’ll be able to interact with people in any way in these virtual-reality environments. That will replace most travel, but we’ll also have new travel technologies for our real bodies using nanotechnology. Contrast that with how I describe the multi network in the appendices for Infoquake: A multi projection is a virtual body that “exists” in real space. While the multied body is only an illusion created by neural manipulation, it can interact with real (”meat”) bodies in a way almost indistinguishable from physical human interaction…. The multi network depends on two key components: (1) the trillions of microscopic bots that process and relay sensory information to the network, and (2) neural OCHREs that manipulate the mind into “seeing” the sights, “hearing” the sounds, and “feeling” the sensations of the network. Similarly, those who interact with multi projections allow neural manipulation to trick the mind into believing the virtual bodies are present. The big difference between good ol’ Ray and me is that a) he actually knows what he’s talking about, and b) I didn’t figure we’d get this working for another few hundred years. Kurzweil thinks we’ll be sending multi projections around the globe about the same time that Malia Obama gets her Masters degree. I think many of Kurzweil’s predictions are a tad on the optimistic side — he thinks the singularity will happen, oh, any day now — but basically sound. (Thanks to Richard Strayer for pointing out the interview.) |
|
|
| Ten Things Computers Should All Do Flawlessly, But Generally Don’t |
[Aug. 25th, 2008|10:05 am] |
I’ve been using computers since the mid ’80s. I remember tackling CP/M and Peachtree word processing back in the day, and I remember upgrading my computer to MS-DOS 3.3. I went to college in 1989 with a no-name PC clone sporting an 8086 processor that ran at something like 4 MHz. It had an amber monitor that would have looked at home in that VW Bus they drove around in Scooby-Doo. A lot has changed since then. But sometimes I wonder if the computing industry — all of it, from software to hardware to web services — really has the right priorities in mind. So here’s my list of the things that I hope to hell are working flawlessly by 2018. The frustrating thing is that every single one of these things can be done with today’s technology (except possibly for #7). - Automatic file syncing. It’s astounding how badly computers do this. Every operating system on every computer sucks at syncing files; it’s only a matter of degree. I should be able to turn on any device I own and access any file I own, and it should all happen transparently. I don’t want to have to think about where I put a particular file, or whether I can access it from my iPhone. My calendar events should automatically sync between my Blackberry, my desktop, my Google Calendar, and my websites. Perhaps the key is to have everything save to “the cloud” and sync locally for offline access; I don’t know. I just want it to work.
- Automatic configuration syncing. The younger, hotter sister of automatic file syncing. Now that we’re all starting to use web applications for everything instead of sending files around, these web applications all need to be able to talk to each other. My bookmarks should follow me from machine to machine, and from browser to browser. Every time I configure my Firefox or my Windows Media Player just the way I like it, I shouldn’t have to go through the same painstaking customization process on every machine I touch.
- Automatic backups. Macs now do this as a matter of course with Time Machine software. But Windows doesn’t. Well, let me qualify that — Windows will back up important system files as a matter of course, and create confusing “shadow copies” of documents in the background that you can roll back to. But it’s confusing as hell and inefficient to boot. What’s more, I want my computer to back up to an online storage facility, not some clunky piece of crap that’s hogging space on my desk.
- Automatic upgrades. I’m not just talking about the operating system software here — I’m talking about every piece of software and hardware should automatically check for upgrades on a regular basis from a single, unified interface. And then give me the option to install or not install. Linux does this, and Microsoft has made efforts towards this with their Windows Update facility. But right now I have separate programs on my desktop working in the background to check for updates from Java, Logitech, Apple, Adobe, ESET, Mozilla, and Dell. And that doesn’t include all of the programs that check for updates when you fire them up.
- Integrated security. This whole system of remembering a million different passwords in a million different places is unworkable. Not only that, but it’s not secure, because everyone on Earth except for Bruce Schneier either a) has their passwords written down on a Post-It note, b) uses ridiculously insecure passwords like their dog’s name, or c) has a handful of relatively secure passwords that they use over and over again, because we can only remember so many garbled strings of letters and numbers. I’m not a security expert, but it seems to me that biometric security would be a step up from where we are today.
Centralized identity management. Why do I have to constantly retype the same address information, the same email address, the same websites? Why is it that when I update my official bio to reflect a new book release, I have to log in to 4000 different websites and manually change my bios one by one? I understand the need to respect privacy — but if I want to share my information with a particular website, application, or company, shouldn’t I be able to do that with a click or two? We need trusted, universal services that can verify your identity wherever you are online.- Useful battery life. I am sick to death of power cords. If I never saw another power cord in my life, it would be too soon. But I could deal with power cords if they only led to docking stations that charged up my appliances enough to make them usable for an entire day. But right now, my laptop barely survives three or four hours untethered; my Blackberry struggles to get through the day with the WiFi switched on all the time. Fer the love o’ Christ, people, I need at least a day’s worth of juice for every machine I own. Please.
- Everything wireless. I’ve got connecting cables for my BlackBerry and my iPod. The printer’s wired to the desktop, as are the quad speakers and the subwoofer. The keyboard and mouse aren’t wired anymore — but the wireless transmitter for the keyboard and mouse is wired. I want, at most, one power cable snaking from the back of my computer to the wall. Apple is leading the way on this one, as usual. But with Bluetooth moving onto more and more devices, we’re getting close to achieving this one on all platforms.
- True, modular upgrades. For years, I’ve had the dream of having a single system that could be upgraded in a modular fashion. I’ll snap in the newest processor every couple of years. I’ll beef up my sound card on alternate years. I’ll upgrade the video card as circumstances warrant. But it seems that no matter how hard I try, I have to scrap everything and start from scratch after a few seasons. Is it really that difficult to future-proof hardware so I can upgrade my systems one piece at a time?
- True plug and play. Let’s say it together: every piece of equipment I buy should be able to interface with every other piece of equipment I own. I should never be in the position of having to struggle to get photographs from the camera to the printer, or having to figure out whether the DVDs I burned on one computer can be read on another — much less have trouble networking my Linux, Mac, and Windows boxes together.
Agree? Disagree? And what have I missed? |
|
|
| State of Technological Dissatisfaction |
[May. 14th, 2008|12:20 am] |
When I finally published the new design for this website a few weeks ago, I had a delusional moment when I thought I had actually got it all set up. I thought: I’ve got my website running WordPress 2.5.1. I’ve got an Eclipse/Aptana installation that works well for code editing. Photoshop CS3 for image noodling. A Sony VAIO laptop running Vista Home Premium that automatically updates itself. I’ve got Windows FolderShare set up to mirror all of my important files so I don’t need to worry about manual backups. All I need to do from now on is just keep updating the software, and I never, ever, ever need to configure anything again. Windows will update itself. WordPress will evolve incrementally. New virus definitions will arrive. Oh, I might need to swap out hardware a few times, but otherwise I’ve got everything in my computer setup exactly the way I want it. I’m done! I’m set! No more tinkering, no more Googling for solutions. Well, I’m almost set. I still need to fix the meta tags on WordPress. I’ve got to try to find a better FTP module for Eclipse, because the built-in one sucks rocks. I need to upgrade to Vista Ultimate so I can get Windows Remote Desktop and stop paying $20 every month to GoToMyPC. I need to find a way to have FolderShare mirror my Firefox profiles without making me close my browser five times a session… It’s not over. It’s never over, and it never will be. Somehow they’ve managed to do it. Microsoft, Intel, Apple, Sony, IBM, Google — all the dozens of companies large and small who make the hardware and software products I use — they’ve managed to put me in a state of permanent technological dissatisfaction. I’m not satisfied with my computing environment. I’m not satisfied with my website. I’m not satisfied with the tools I use. I need to upgrade something, I need to fix something, I need to improve something. I’m going to sit there on my deathbed bummed out as hell because, well, sure I’m about to die, but I’m about to die and I still haven’t gotten my Firefox profiles to sync properly. Some lefties would have you believe that this dissatisfaction is just a product of corporate lust. See, I fell into the trap myself in the last paragraph. As if we would all live peaceful, communal, nonacquisitive existences if Coke and Pepsi would stop shoving their advertising in our collective face. But it ain’t true. This is the human condition. That’s the hand we’ve been dealt. We’re permanently dissatisfied. We Americans are accustomed to thinking about our history as one continual struggle for improvement (however misguided it may be at times). We pride ourselves on the fact that every generation of American citizens has had more luxuries, amenities, and opportunities than the one before it, and the next generation will have it even better than us. The reason you’re sitting on a cushy hypoallergenic stainproof La-Z-Boy recliner is because your grandpa wasn’t satisfied with his wooden rocking chair. You’re not totally satisfied with your La-Z-Boy either — there’s always something you can do to improve it — and that’s why your great-grandkids are going to be floating on inflatable programmable portable instantly customizable space lounge chairs. And they’re going to have problems with those too… This technological restlessness didn’t start with America; not remotely. How far back does it go? The late, great Arthur C. Clarke nailed it in his late, great novel 2001. Early on in the book, we follow a group of primitive apemen led by one Moonwatcher. They’re starving, they’re dwindling, they’re skateboarding on the precipice of Total Extinction without a helmet or kneepads. That’s when the unnamed alien species delivers the Monolith — you know, that tall black slab you remember from the movie. As Clarke describes it, the Monolith is essentially a Machine That Pisses You Off. Suddenly Moonwatcher’s got these visions in his head of a group of primitive apemen lying around all sleek, fat, and comfortable. And he thinks: why don’t I have that? What am I doing wrong? What do I need to do to get that? Now here I am, a million years later. I’m sleek and fat and comfortable. I sit in a cushy chair all day with a little metal machine on my lap that lets me communicate with anyone in the world. I’ve got cabinets stuffed full of food, I’ve got a security system that keeps the bad guys out, I’ve got a house so insulated from the weather that I rode out last nights’ thunderstorms without a hitch. And yet I am irritated as fucking hell that I can’t get my Firefox profiles to sync. Lo, my children’s children, I promise you this: we’ll get those Firefox profiles to sync before you arrive. By the time you get here, you’ll be set, and you’ll never, ever, ever have to tinker with anything again. Really. Cross my heart. |
|
|
| Broken Technology |
[Apr. 21st, 2008|02:06 pm] |
The RSS feed for this blog seems to have broken when I posted the new design. When I go to my iGoogle page, the last article for this blog is still the entry from April 14, “Infoquake” Reviewed on Fast Forward. Which means there are certainly a number of readers who have no idea that I’ve redesigned the website, and who will just assume I’ve fallen into a crack in the Earth somewhere until they decide to come browsing this way again. This happened the last time I redesigned the site too. I’m unclear why this has happened. The URLs for the feeds should still be in the same place. All of the articles that were in the old feed are still in the new feed. I did mess around in the database and fix a number of GUIDs (Globally Unique Identifiers, for those non-geeks in the audience) that were pointing to a temporary address. But that should only have affected your feed reader’s ability to mark the entry as read or not read. At least you can delete and re-add the RSS feed to your feed reader. The syndication for my Amazon blog broke altogether several months ago, and my message to the Amazon technical support staff seems to have fallen into a crack in the Earth somewhere. Now I’m stuck adding new entries to my Amazon blog by hand. Why is so much technology so goddamn fragile? I joke about this all the time with my web programming customers. Chances are that if you see something drastically wrong with the website I’m managing — layout all fucked up, images floating all over the place, everything completely unreadable — it’s the fault of a single misplaced comma somewhere. Other industries don’t have this problem. I mean, if you’ve got a single board nailed crooked in your house, the whole thing doesn’t fall to pieces. This fragility is one of the whole reasons why it makes sense to move websites to CMS’s like WordPress or Drupal, or application frameworks like Ruby on Rails. Setting up a framework takes the gruntwork and repetition out of web programming, and it insulates you from fucking up the whole website by sticking a comma in the wrong place. Mostly. The reality of the matter is that web technology is still on a very low rung of the evolutionary ladder. We’ve got application skeletons and frameworks galore, but you don’t see a lot of application musculatures or nervous systems. Most software can’t repair itself — and even when it can do rudimentary repair work, like replacing accidentally deleted files or Windows Registry entries, it’s not smart enough to know when it needs repairing. My Firefox browser is now smart enough to automatically restore all of my tabs when it crashes, most of the time — but about 20% of the time, the browser still isn’t even smart enough to know that it’s crashed, and I have to open the Windows Task Manager and manually kill the process that’s not responding. And so I find working on web technology really fucking frustrating because it’s fucking broken so much of the fucking time. The web is full of dead links because the mechanisms for propagating electronic changes of address are sucky. Pages break on different browsers and operating systems because nobody — not even Mozilla — implements all the W3C standards correctly, and it’s quite difficult to make a website degrade gracefully. I get a little melancholy when I start to think about these things, because I realize that I’m not going to live long enough to see the really cool stuff. None of us are. Technology can be maddening and frustrating today, and it’s going to remain maddening and frustrating for a long time to come. |
|
|
| Building the Perfect User Interface (Part 3) |
[Feb. 11th, 2008|12:00 am] |
In part 1 of this article, I made a quick and handy definition of user interface: Given technology as a black box, user interface is how you tell the black box what you want it to do. In part 2, I listed some things wrong with the current state of user interface, using Google as a prime example. So we clearly haven’t yet mastered the science of user interface here in the 21st century. But what is it we’re striving towards? What’s the perfect user interface? In, say, a thousand years, when we have unlimited computing power and unlimited energy (like the characters of my novels Infoquake and MultiReal), what kinds of user interface will we be using? Let’s take the question one necessary step further: do we really need user interface at all? Or are we evolving toward the point where intelligent tools automatically understand what we’re trying to do? In a thousand years, will the concept of giving commands be obsolete? Software developers are taking the first tentative steps in that direction now. Apple’s Steve Jobs has always taken that “benevolent dictator” approach: we’ll decide what you, the user, need to handle, and the machine will just automatically handle the rest. Take disk defragmentation, a software task that only the wonkiest of technowonks has any interest in controlling. There isn’t any standard disk defragmenter for Macs, but that’s not because Mac hard disks never need defragmenting. OS X simply does it for you behind the scenes, as this article on the Apple website makes clear. Microsoft is moving in this direction too. One of the advantages that Windows users have historically held over Mac users is the fact that it’s generally easier to get under the hood and tweak the gears that make the system work. But that’s going away. Not only because OS X has brought command-line tweaking to the Mac, but because Vista is taking away a lot of tweakability from Windows. Disk defragmentation under Vista is a simple on-off proposition; flip it on, and the OS will handle it as needed. Likewise, throughout the operating system, interfaces that were once cluttered with hierarchical menus and interactive dialog boxes are giving way to much smaller lists of context-sensitive tasks. (For more of my thoughts on this, see old blog posts Don’t Worry, Vista Will Handle It and Look Ma… No Program Menus!) It’s the same long-term trajectory of user interface we’ve seen in automobiles. Look at the user interface for the Model T (pictured, below; original photo, with explanations and more detail, here). Most modern automobiles have reduced this to a standard set of four controls — the gas, the brake, the steering wheel, and the gear shift. It’s not that the car doesn’t still need all those functions, but now the car handles everything itself. It’s not exposed to the end user. If you believe the so-called experts, we’ll all be zipping around in self-driving robot cars within a generation. Follow this trend several hundred years, and where does it lead? I talked previously about elevators that automatically know which floor you’re going to via RFID chips in your apartment keys. Why couldn’t that work elsewhere? Maybe you’ll pull into the Starbucks parking lot and find your usual soy milk decaf latte waiting when you get up to the counter. Maybe the refrigerator will automatically order more eggs from the store when you take the last two out. Maybe the polling station will know that you’re a member of the Christian Coalition and have a ballot all queued up with Mike Huckabee’s name checked when you get up to the voting booth. There’s something very unsettling about these scenarios, and it’s not just the potential privacy hazards. Humans want to be in control of our environment; we instinctively resist environments that control us. Not only that, but we quickly grow bored with environments that coddle us. Humans are designed for dynamism, dissatisfaction, and change; despite the stereotype of modern man as couch potato, as a species we don’t handle stasis well. So we like to be in control of our surroundings. But how much of this control is just feel-good illusion? When you order a hamburger at Burger King, sure, they’ll make it your way — as long as “your way” only involves their nine predefined toppings. And when you ask for lettuce, you can’t control how much, or whether they use shredded iceberg or delicately layered romaine, or whether it comes from West Virginia or Peru or Ecuador. Burger King’s real slogan should be “Have It Your Way, As Long As Your Way Falls Within the Narrow Parameters of Our Way.” You don’t have much control over Google search results either. Try searching for “Bob Dylan.” You can choose to click on any one of the 25 million results pages you want — but Google determines the order in which they appear, which is tantamount to choosing your search results. (Try selecting the 4,523rd result sometime.) You can select “Advanced Search” and filter those 25 million results a number of ways, but you can’t choose the algorithm that Google uses to determine search results. Nor would you want to, because you’re not a computer scientist specializing in advanced information processing. If Google allowed you complete and utter granular control over every aspect of your search query, you’d either go insane or you’d never get anything done. So is the Burger King experience a premonition of our future? Do we need to just trust the benevolent dictatorships of Google, Microsoft, and Apple (not to mention Burger King)? Is the future of user interface just a big pie of machine control with a thin crust of user choice on top? As frightening as that scenario is, the opposite extreme is equally worrisome. It’s the future of total individual control. And boy, would that future suck. We’re all familiar with the totalitarian sci-fi future where Big Brother boxes you in to a world of limited choices. 1984, Brave New World, Logan’s Run, etc. But what about the world of ultimate choice, where you have to control everything? The world has gotten smaller, our capabilities have grown larger, and the number of choices we have to make is bewildering. Once upon a time, you could choose to be a blacksmith, a farmer, or a priest. Now your career choices expand into the hundreds of thousands. Your parents went to the store and bought apples. Just apples. We go to the store and have to choose between Granny Smith, Macintosh, Fuji, Braeburn, Pink Lady, Red Delicious, Gala, Pippin, and Rome Beauty. Big deal, you think. So I have to choose between a dozen brands of apples. How’s that a bad thing? It’s not. But what happens in thirty years when you’re expected to specify the size, tartness, color, firmness, ripeness, and pesticide of every piece of fruit you buy? What happens in 150 years when you can bioengineer your own hybrid apple/pear/mangoes right in the store while you wait? If you want to see the beginnings of the future of total individual control, look at Linux. The Wikipedia list of Linux distributions catalogs around 200 different flavors of Linux. DistroWatch has much more. And these are just the prepackaged bundles of Linux. The hood’s wide open and the tools are sitting right there on the dash, giving you complete and total freedom to replace anything you like. But who can deal with that kind of freedom? Unless you’re the kind of guy who likes to write display drivers in your spare time, you probably don’t have the time, the resources, or the expertise to make informed decisions about all of that. Perhaps one day we’ll all have neural implants to help us cope with all that cognitive processing. But until then, even the Linux geeks rely on consortiums of developers to make those decisions for them. My point is not to bash Linux or to get into the whole open-source-versus-proprietary discussion — please, God, I don’t want to get into that right now. Rather, I’m pointing out that whether you use a MacBook Pro, a Dell Inspiron with Windows Vista, or a custom box with Kubuntu Linux, you end up relinquishing control. There’s only so much time you want to spend fine-tuning your computer, so instead of letting Microsoft make your decisions for you, you let a worldwide network of open source developers make them. We can argue about whether that makes a better operating system some other time; the point is that the practical effect of too much control on user interface is… giving up control. So we’ve got the two extremes of User Interface Hell: the world of the benevolent dictator, where your control over your environment is deceptively limited; and the world of ultimate freedom, where you’ve got so much control that your ability to get anything accomplish is equally limited. Both of those extremes are equally unlivable; and you’ll notice that what those futures share in common is a lack of common-sense user interface. Obviously we need happy mediums. We need to reconcile these two extremes, and simply, reductive user interface is the key. The machinery that runs your information technology grows more intricate by the day, as does the machinery that powers your car. (Hamburgers, thankfully, seem to have reached an evolutionary plateau.) Despite what some Slashdot readers may fervently wish, I don’t think we’re headed for a future where everyone tweaks their own Linux distribution. If the freedoms we gain from our technology is the time and luxury of tweaking our technology, then we’ve gained nothing. What often gets overlooked is that user interface isn’t a technological issue; it’s a sociological issue. Bad user interface limits freedom, it limits capability, it disempowers minorities. Think of how much difficulty your grandma has using the ATM. Technology has become too integrated into our society for us to leave people behind through insufficient user interface. So what form will these perfect user interfaces take? To be continued… |
|
|
| Building the Perfect User Interface (Part 2) |
[Jan. 31st, 2008|02:11 pm] |
(Read Building the Perfect User Interface, Part 1.) In my first ramble about user interface, I used the toaster as an example of something that is erroneously thought to have a perfect user interface. Perhaps a more apropos example for most techies is the Internet search engine. Think of any piece of information you’d like to know. Who was the king of France in 1425? What’s the address and occupation of your best friend from junior high school? How many barrels of oil does Venezuela produce every day? Chances are, that piece of information is sitting on one of the trillions of web pages cached in Google’s databases, and it’s accessible from your web browser right this instant. You just have to figure out how to get to it — and Google’s job is to bring it to you in as few steps as possible. It’s all a question of interface, and that’s why user interface has been Google’s main preoccupation since day one. It might seem the model of simplicity to click in a box, type for a search term, and click a button to get your results. But the Google model of searching is still an imperfect process at best. You may not realize it, but there are still a number of Rubegoldbergian obstacles between you and the information you’re trying to get to. For instance: - You need to have an actual machine that can access the Internet, whether it’s a computer or a cell phone or a DVR.
- That machine has to be powered and correctly configured, and it relies on hundreds of other machines — routers, satellites, firewalls, network hubs — to be powered and correctly configured too.
- You need to know how to log in to one of these machines, fire up a piece of software like a web browser, and find the Google website.
- The object of your search has to be easily expressed in words. You can’t put an image or a color or a bar of music into the search box.
- Those words have to be in a language that Google currently recognizes and catalogs (and your machine has to be capable of rendering words in that language).
- You have to know how to spell those words with some degree of accuracy — which isn’t a problem when searching for “the king of France in 1425,” but can be a real problem if you’re looking for “Kweisi Mfume’s curriculum vitae.”
- You need to be able to type at a reasonable speed, which puts you at a disadvantage if you’re one-handed or using imperfect dictation software.
- Google has to be able to interpret what category of subject you’re looking for, in order to discern whether you’re trying to find apples, Apple computers, Apple Records, or Fiona Apple.
Some of these barriers between you and your information might seem laughable. But it all seems so easy for you because you’re probably reading this from the ideal environment for Google, i.e. sitting indoors at a desk staring at a computer that you’ve already spent hours and hundreds, if not thousands, of dollars to set up. If you’re running down the street trying to figure out which bus route to take, the barriers to using Google become much steeper. Or if you’re driving in your car, or if you’re a Chinese peasant without access to 3G wireless, or if you’re lounging in the pool, and so on. Even in the best-case scenario, after you jump through all those hoops, you usually have to scan through at least a page of results from the Google search engine to find the one that contains the information you’re looking for. Google does no interpretation, summarization, or analysis on the data it throws back to you. Some search engines do some preliminary classification of results, or they try to anyway, but it’s generally quite rudimentary. Chances are you’ll need to spend at least a few seconds to a few minutes combing through pages to find one that’s suitable, and then you’ll need to search through that suitable page to find the information you want. I don’t mean to minimize the achievement of the Google search engine. The fact that I can determine within minutes that a) the king of France in 1425 was Charles VII, b) my best friend from junior high school is currently heading the division of a high-definition audio company in Latin America, and c) in 2004, Venezuela produced 2.4 million barrels of oil a day — this is all pretty frickin’ amazing. But that doesn’t mean we shouldn’t note the search engine’s shortcomings. That doesn’t mean we shouldn’t point out that there are still a zillion ways to improve it. There’s still a huge mountain to climb before we can call Google an example of perfect user interface. But don’t worry, because Google’s on the case. Google has been making a mighty effort to break out of the web browser for quite some time. Not only have they been pushing their browserless Google Desktop app for some time, but they’re also quite open in publishing their APIs and trying to get you to hook into Google from other places. Cell phones, iPhones, car dashboards, public kiosks, refrigerators, digital chopsticks, Bluetooth-enabled dog collars, etc. Why? A few years ago, we might have said that they were trying to escape the monopolistic grip of Microsoft and its Internet Explorer browser. But now that Firefox has made serious inroads on IE’s dominance — they’ve got around 16% global market share, 20% North American market share, and 30% European market share, if you believe the latest statistics — it’s not such a big concern. No, the main reason Google’s looking for new avenues for search is that the standard WIMP (Window, Icon, Menu, Pointing Device) user interface is a dinosaur, and right now it’s late the Cretaceous Period and there’s a big fucking meteor zipping across the sky. Forget about the distinctions between Mac, Windows, and Linux — they’re all inefficient. While some computer operating systems may work more smoothly than others, they’re all based on the principles developed by Stanford researchers and Xerox PARC engineers in the late ’60s and early ’70s. What’s wrong with the WIMP interface? It’s a nice all-purpose interface for general tasks, but it falls down on the job on just about any specific task you give it. As software has grown more complicated, the WIMP interface has failed to keep up. Programs like Microsoft Word have become mazes of hierarchical menus and drill-down dialog boxes, and operating such programs efficiently has become an exercise in rote memorization. Shoehorning the computing power of a 2.4 GHz dual-core processor into seven or eight subcategories and a row of increasingly tiny icons is kind of like running an M1 Abrams tank off an Atari 2600 joystick. You’re wasting potential. Software manufacturers are now toying with a host of WIMP extensions and alternatives like the Office Ribbon, which try to unearth options that had been buried four menus deep for years. And while the Office Ribbon is pretty nice, it’s ultimately limited. You’re still dividing up a list of possible tasks into seven or eight subcategories, and expecting users to drill down to find the item they’re looking for. The Ribbon works fine for Office 2007, but it’s certainly not going to cut the mustard in Office 2020 (if such a thing even exists then). But let’s take things one step further. Forget the WIMP interface — the computer itself is just an intermediate step, headed soon for the great Recycle Bin in the Sky. As the MacBook Air has demonstrated, the physical machine itself is disappearing. People have been talking about the concept of “wearable computing,” and experimenting with gadgets like the Senseboard, which allows you to project a virtual keyboard and type on any surface you like. Computer manufacturers are looking at the mouse and realizing, heck, you don’t need an intermediate plastic device that represents where you want to point on a computer screen. You can just touch the damn thing yourself and make it do what you want. Thus the creation of Microsoft Surface and devices like the iPod Touch. The point I’m trying to make with all this is that we’re still in the Dark Ages in terms of user interface. You may feel pretty content with your little plastic box showing little two-dimensional pictures on a little 17-inch screen. But it’s just an interface, and a ridiculously inefficient one at that, and it’s going away. Soon. So if computers are going away, where do we go from here? Do we still need user interface? Coming in the next article… *** (Of course, let’s not forget that all this time I’ve just been talking about one very narrow application of user interface, and that’s interface as a gateway to information technology. But what about user interface in the real world? After all, your car’s got a user interface, your hedge clippers have a user interface, your TV has a user interface, and so does every elevator you’ve ever ridden. (Take the standard elevator. Elevators are extremely dumb machines. They spend large amounts of time sitting on the wrong floor. When you walk up to the elevator, the only interface you’ve got is a simple two-button panel that asks whether you’re going up or down. People often end up piling into multiple elevators that are going to the same destinations, requiring all of the elevators to stop at multiple floors. The buttons for opening and closing the doors once you’re in there are a bad joke — by the time you find them, it’s either too late to stop the doors or just an unnecessary extra redundancy. (How come the elevators don’t know where you’re going already? If you’re in a strange building, that’s understandable — but why should you have to push the same button for your apartment or office every day? Couldn’t the building automatically sense that someone’s waiting for the elevator via motion detectors? And couldn’t it automatically sense which floor you’re heading to by reading an RFID chip in your key? Hell, the elevator should start making decisions about which elevator to send and when as soon as I enter the parking garage. (So just like computers, these real-world interfaces are rife with inadequacies too. They’re just waiting for a revolution in user interface.) *** (Sources for the images in this article: “Google Is a Giant Robot” by Stuart Brown; screen cap of Google Desktop from the unofficial Google Operating System blog; and the original WIMP interface for the Xerox Alto, circa 1973, from the Encyclopedia Britannica.) |
|
|
| Building the Perfect User Interface (Part 1) |
[Jan. 30th, 2008|11:04 am] |
When I set out to create the world for my Jump 225 Trilogy, as I’ve written elsewhere, I started with a few technological principles: - Imagine that we have virtually inexhaustible sources of energy.
- Imagine that we have virtually unlimited computing power.
- Imagine that enough time has passed to allow the scientists to adequately take advantage of these things.
I discovered that starting from these basic principles, there are almost unlimited possibilities. You can easily have a world that’s intermeshed with virtual reality. You can create vast computational systems that have billions and billions of self-directing software programs. You can have pliable architecture that automatically adjusts to fit the needs of the people using it. And so on. It’s actually fairly easy to figure out a technological solution to just about any problem if you don’t have those constraints. The interesting questions in such a world, then, are questions of interface. You don’t bother to discuss if you can accomplish your goal anymore, because the answer is almost always “yes.” You just need to know how you’re going to accomplish it, and who’s going to pay for it, and what happens when your perfectly achievable goal clashes with someone else’s perfectly achievable goal. In other words: you’re at point A. You’d like to be at point B. How do you go about getting there? Note that when I’m talking about user interface, I’m not talking about how you actually get from point A to point B. The interesting thing about this whole new science of interface is that it doesn’t really matter. We can treat all kinds of science and engineering as a simple black box and just skip right over it. What I’m really concerned with at the moment is how human beings translate their desires into actions in the physical world. How do you tell the black box you want to go from point A to point B? It seems like a ridiculously easy question, but turns out it’s not. Let’s just take a very simple example of a black box that we all know: the toaster. You might think we already have the perfect user interface for toasting bread. You stick bread in a toaster. There’s one big lever that turns the sucker on, and a dial that tells you how dark you want the toast. How can you improve on that? Well, wait just a second — the desire we’re trying to accomplish here is to take ordinary bread and turn it into toast. And if you think of user interface as the way you go about accomplishing this, the user interface for toasting bread is much more complicated than you might think. You need to buy a machine to do the toasting, and you need to plug that machine into a power socket. (The right kind of socket for your part of the world.) And not only do you need a bulky machine that takes up counter space, but you need a dedicated machine that really does nothing else but toast bread and the very small number of specialty foods designed to fit in toaster slots. If you’re trying to toast bread in my house, you need to know that the toaster and the microwave are plugged into the same outlet, and using them at the same time will blow the fuse. You need to experiment with every new toaster you buy to find exactly the right setting — and yet, chances are that you burn toast at least once every couple months. How inefficient is all that? So going back to our world with inexhaustible energy and computing power, how would you want to make toast? Would you want to put the piece of bread on a plate, push a button, and instantly have perfect toast? Would you want to bio-engineer a plant that grows perfect toast? Or no, let’s take it a step further — do you want the interface to anticipate that you’re going to want toast and have it already prepared for you? Hell, let’s take it one last step: do you want to just imagine that you’re eating toast through some nanotechnological neural manipulation, when you’re really just eating a hunk of tank-grown nutritional protein supplement? The science of user interface is a fairly recent branch of knowledge. I’m not sure when it first came into being, but until I find some other contrary piece of evidence, I’m going to guess that the origin of the concept of user interface roughly coincided with the creation of the microprocessor. Why then? Maybe it’s because that’s the point in human history where technology disappeared from sight. You may not understand how the combustion engine works or the ENIAC computer computes, but at least you can look at it. You can actually see how the controls you have interact with the mechanics of the thing. But a microprocessor — well, pop open the chassis of your computer and look at it sometime. It just sits there. (That spinning thing on top is just a fan to disperse the heat.) For all intents and purposes, it is a black box to you and me. Suddenly we can leave the engineering to the engineers and think about that black box from a whole other level. So I’ve been thinking a lot about user interface, and I’ve been writing a lot of random stuff in random draft WordPress posts. Now I’m going to try to write it all down in some kind of cohesive order. Here are the main questions I’m hoping to explore over the next however-long-it-takes: - What exactly do you mean by user interface? (this article)
- What’s wrong with the user interfaces we’ve got now?
- Do we need user interface at all?
- A quick overview of bad science fiction user interfaces and why they would never work in the real world
- What makes the perfect user interface?
(For the insanely curious: the first illustration for this article is by illustrator Frank Paul, and according to this page, dates back to before the invention of the ENIAC; the second illustration, by Charles Schneeman, dates back to Astounding Science Fiction in 1941, according to this page.) |
|
|
| What the WordPress Needs Now |
[Sep. 10th, 2007|06:28 pm] |
I haven’t always been kind to open-source software (read exhibits A and B), but sometimes you’ve got to give credit where credit is due. WordPress — whose version 2.2.2 powers this blog, as of this writing — is a remarkably polished CMS with an extended community that rivals that of Mozilla Firefox. Me likey WordPress.  But WordPress has some irksome shortcomings that need to be overcome if it’s going to reach that Firefox level of ubiquity and respectability. I can’t pretend to be savvy enough to give any kind of real assessment of the shortcomings under the hood. But as a user and a web developer, here are some of the improvements I’d like to see to WordPress. - Simple plugin updates. Since it’s so easy to create a WordPress plugin, thousands of people have thrown together plugins of varying quality and durability. I’ve got about a dozen plugins running on my WordPress installation, but the only way to check for updates is to browse to the developers’ websites one at a time. Sometimes I’ll go for months without bothering to check. There needs to be an easier way to update plugins — or at the very least an easier way to notify WordPress users that plugin updates are available. (I see from this entry on the official WordPress blog that this is a feature slated for version 2.3. Hurrah!)
- Better word processing window. For an application that revolves around words, WordPress has a pretty lousy word processor. That’s not entirely WordPress’s fault, since it uses the TinyMCE JavaScript Content Editor, itself an impressive open source project. Still, the TinyMCE editor has a number of irritating quirks. Formatting often breaks in mid-composition, and once this happens the only thing you can do is save and reload the page. The editor will often do some very bizarre things with spacing that aren’t apparent until you publish. But the worst sins are the sins of omission. There are no buttons for simple tags like headlines and horizontal lines, and you can’t add id’s or classes to your HTML elements without switching to “Code” view. I’m aware that there are plugins out there to extend and customize TinyMCE. But honestly, headline tags should be available out of the box.
- Page sections. WordPress takes a very limited view of what type of content you can have on your page. All the default installation allows is one big text blob surrounded by preconfigured dynamic sidebars. But what if you want to include a callout box in your article? What if you want to subdivide your article into multiple sections with different formatting rules for each? Currently the only way to accomplish this is by digging through the HTML and CSS code and rolling your own sections by hand.
- Better caching options. Movable Type and some other blogging systems allow you to publish your entire blog as static pages. For the non-technically inclined, a static page is one that’s already assembled and ready to be served; a dynamic page is one that the server assembles on the fly from PHP scripts and database content every time you visit. For most situations, dynamic pages work just fine. But as soon as your site gets dugg or slashdotted, 47 million people will try to hit your website and overload the server with all those dynamic page requests. Recent versions of WordPress supposedly have improved caching abilities to deal with this problem, but I’m not a believer. I’d prefer the option to just turn on static caching with the click of a button.
- Better Windows server support. Users who run WordPress off Windows servers are second-class citizens. You can’t have permalinks unless you have an ugly “index.php” stuck in the middle of the URL; article and archive pagination simply doesn’t work. Some of these issues come from limitations of the IIS web server or your ISP. But these problems really need to be fixed, or at the very least, clearly documented. If the problem can be solved with ISAPI extensions, then include ‘em in the installation. If not, then these limitations need to be clearly spelled out in the interface and documentation. Currently there are too many cryptic problems with Windows installations that can only be solved with lots of irritating detective work. (The first person to say “that’s what you get for not using Linux and Apache” will get their eyebrows forcibly shaved off by me with a rusty butter knife. I’m in the process of moving to a Linux host, but it’s going to take some time.)
- Administrative RSS feeds. This is a feature in the Ruby-on-Rails-powered Mephisto blogging system that I’ve grown rather fond of. Every time someone creates or edits an article in Mephisto, a new item gets written to the administrative RSS feed. This makes it very easy to keep track of what’s happening in your blog. All you need to do is subscribe to the RSS feed and you can keep up to date with a minimum of fuss. Very useful for group blogs. (See screenshot that gives you a snippet of this feature below.)
 - Better backward compatibility. Standards on WordPress seem to get deprecated too quickly. The system’s only been around since 2003 — that’s four years, as of this writing — and already there are lots of older tags, functions, and database calls that won’t work with newer versions of the software. On the one hand, that’s the sign of a technology that’s rapidly growing and improving. On the other hand, that’s also a sign that some of the structural underpinnings of WordPress weren’t that well vetted in the first place. As a result, you often find plugins will break just by upgrading WP from version x.x.1 to x.x.2. I’m sure that this is usually the fault of the plugin authors themselves — but given the jumbled state of the official WP documentation, you can’t entirely blame plugin authors for being confused.
- Easy integration of multimedia. In addition to the ability to upload plain ol’ image files, WordPress needs easily built-in methods of inserting multimedia from popular sites like Flickr and YouTube. Or how about a quick n’ dirty way of uploading Flash? I doubt I’d use many of these things myself — honestly, I dislike multimedia-heavy websites — but there are plenty of people out there that would jump at the chance to integrate such things into their blogs.
- Usability overview. The WordPress interface is fairly user-friendly, but not quite user-friendly enough. Here’s a perfect example: I’ve been using WordPress for a year and a half now — and I just realized a week ago that the software has a built-in image uploader. I feel like an idiot for not realizing this before. But in my defense, the image management suffers from poor usability. I honestly had no idea what the “Upload” box did, and it never really occurred to me to give it a whirl and find out. There are lots of examples of poor usability throughout the WordPress interface, and I’m certain they cause users lots of grief. Someone go hire Jakob Nielsen.
- Tagging. There’s some controversy about this. From what I remember, the WordPress people are confident that their “categories” system works just as well as other “tagging” systems. Ideally I’d like to be able to use both — file a post under a single category (say, “Web 2.0″) but still be able to give it a wide variety of more granular tags (say, “WordPress, CMS, blogging systems, Dave’s kvetching…”). I used to use a plugin called Jerome’s Keywords, but for some reason it stopped working on one of the recent upgrades (see #7 above).
- Inadequate built-in search. By default, the search bar built into WordPress only searches blog posts, not static pages. It doesn’t search user comments or profiles either. Recently I found a plugin that accomplishes all this and more — it’s called Search Unleashed by Urban Giraffe, and it’s really quite good. But again, some of this functionality should be available out of the box.
- A security overhaul. You want to read something frightening? Read this interview with PHP security expert Steffan Esser about the serious problems with WordPress security. In addition to a few high profile flubs — including one recent nightmare where hackers managed to stick exploitable code into the actual WordPress distribution — Esser reveals all kinds of frightening security problems. One example:
And when [the WordPress team] finally released their update, I told them that the fix was broken and the exploit just needed a modification to still work. Their reaction was to hide that fact by silently changing the download tarball. They did not increase the version number, they just fixed the vulnerable code hours after the update was out. And later they publically stated that the previous tarball was only online shortly, while the timestamps inside the tarball clearly proved that shortly were several hours. I’m not considering switching to another blogging system after reading this… but it’s certainly got me rethinking the frequency of my backups.
|
|
|
| In Defense of Microsoft |
[Aug. 14th, 2007|11:27 pm] |
When I wrote my not-so-complimentary piece on OpenOffice the other week, I expected to receive at least a few slams from fans and believers in the open source movement. And I did receive an interesting comment from a fellow who signed his name MnMKY, which I excerpt here: The accomplishments of a worldwide effort, unifying multiple cultures and countries, is what OpenOffice.org represents. It is not a company sole bent on making money but on helping… Microsoft has showed little innovation since the beginning days, no wait they took the concept of a graphic interface from someone else to. Microsoft was a great marketing agency; their best client, themselves. Bill Gates is the ultimate master… OpenOffice.org deserves your talents unless you would rather sit on the bench and criticize and follow the the rest of the groupies. Innovation does not come from working in a bubble (MS OS, MS Products, MS Backend, MS tools) and neither does efficiency. Innovation comes from competition and not buying it. This has brought up something that really sticks in my craw that I’ve been wanting to write about for a long time. So now I’m going to ramble about it for a while for your edification and entertainment. You have been warned. For some reason, all semblance of rationality goes out the door when techies talk about Microsoft. There are people out there who simply hate Microsoft. I’m not talking about people who just dislike Microsoft products; I’m talking about people who believe Bill Gates and Company are actually evil. Microsoft is throttling the open source movement! Microsoft is practicing mental slavery! Microsoft is an evil capitalist enterprise that seeks to dominate, control, and destroy! (A lot of people have had the same kind of irrational delusions about our last two presidents. These are the ones who don’t think it’s enough that George W. Bush is incompetent and has made really dangerous decisions for really bad reasons during his two terms in the White House. No, George Bush actually plotted to overthrow democracy by rigging the tragedies of 9/11! He’s sending your children to Iraq to die because he hates Muslims and wants to claim all their oil for his Texas cronies! On the right, these are the folks who believe that Bill and Hillary Clinton routinely murder their enemies, and then lob a few cruise missiles at random aspirin factories to distract us.) I think part of the problem with the hardcore Microsoft haters is that many of them simply don’t understand business, or capitalism for that matter. It’s not for nothing that I compared the open source movement to socialism in a previous blog piece. Here’s the thing: Microsoft is a business whose primary goal is not to help people, but to make a buck. And there’s nothing wrong with that. America is all about making a buck. The main reason this country was founded in the first place was not because the Americans had philosophical differences with the British monarchy, or because they wanted the right to freedom of speech and assembly. It’s because said monarchy was taxing the colonists to death and not giving them anything back for it. (A side note: Paul Johnson in his often brilliant History of the American People traces the character of this country back to two primary groups. There were the Jamestown folks who settled in Virginia primarily to make money; and there were the Plymouth Rock folks who settled in Massachusetts largely for evangelical reasons. It’s a brilliant thesis. Money and religion: if you think about it, those words really do sum up the two sides of the American culture pretty well.) Not only is there nothing wrong with Microsoft being out to make a buck, but that’s what a corporation is for. And yet one of the nifty benefits of a business making a ton of money is that it does tend to help people. There are thousands of ordinary people who made millions of dollars by investing in Microsoft stock back in the ’80s when Bill Gates was just the richest dork in the world. Tens of thousands of people have built long, prosperous, stable careers from Microsoft paychecks. And Gates’ private foundation is already one of the most generous and successful non-profits in history; some people estimate that Bill and Melinda Gates’ efforts to make malaria drugs more affordable in third world countries have saved millions of lives. Millions of lives. That’s not trivial. The other reason companies incorporate in the first place is for stability. Corporations are collective entities whose raison d’etre is to generate predictable revenue. If the CEO is a crook or a bum or simply ineffective — if he/she is no longer helping the majority of the company’s employees and/or stockholders — the CEO can be replaced. Yes, a corporation is the sum of its people, but it’s also more than that. In other words: Microsoft’s primary function isn’t to innovate. It’s to minimize risk. Most people who buy Microsoft products usually acknowledge that they’re not getting the coolest, fastest, slickest software package around. People buy Microsoft products because: a) they tend to be good enough at doing what they’re designed to do, b) they’re relatively easy to use, c) they’re predictable, d) they’re pretty cheap, e) they’re ubiquitous and compatible with just about every piece of technology in the known universe. When I go shopping for cars, I head straight for the Honda dealer. Why? Because my Honda Civic is the coolest car on the road? No, because Honda a known entity that will deliver a B+ product every time. It gives me an acceptable compromise in just about every area I care about. Those who love cars for cars’ sake don’t buy Honda Civics, they buy Porsches and Audi TT Coupes and Land Rovers. Me, I just want to get where I’m going in comfort and safety. Likewise Microsoft Word. It’s stuffed with crap I don’t need, but everyone in the universe can read its files. If I save a file in Microsoft Word format, I can be 90% certain that I’ll still be able to open it, read it, and use it 10 years from now, or even 20 years from now. I’m willing to lay down money that Word 2017 (or whatever web-based Microsoft service replaces it) will still be a solid B product. And what about the question of innovation? I believe that private enterprise is generally the engine that drives innovation, not well-intentioned groups of people looking to help. Of course, you’ll find plenty of people willing to argue this point, but private enterprise has a lot of evidence on its side. Yes, government dollars paid for the development of the ENIAC and the computer industry to begin with; but it was IBM and Apple who brought them to your house. Government dollars got the Internet off the ground; but the Internet was just a nice little academic cluster until America Online and Yahoo and Google et al came along. And the notion that Microsoft doesn’t innovate is just patently untrue. The common conception in the tech world is that Microsoft buys up smaller, more innovative companies and technologies and then simply milks them for profit without lifting a finger to improve them. But just off the top of my head, I can think of a bunch of Microsoft innovations over the years: - The mouse wheel
- The tilting mouse wheel
- On-the-fly spell checking
- Ergonomic keyboards
- Tablet PCs, handheld PCs, media center PCs, and pocket PCs
- Software wizards
- “Surface” computing
- ActiveX, VBScript, ASP, and .NET
- Proprietary HTML tags
- Windows taskbar
- Windows Sideshow
- Vista ReadyBoost
- NTFS and WinFS file systems
- Windows System Restore
- Zune squirting
I’m not saying these are all good innovations. I think the world could have done without ActiveX, for instance, and if the Antichrist has an MP3 player, it’s a Zune. But the point is that these are all examples of places where Microsoft did take some initiative. They created something new. Hell, for all the scorn heaped on Microsoft Bob over the years, it was a risky new product. The reason Microsoft isn’t known for making radical innovations is because they’re not very good at it. What they’re good at is bringing fringe innovations — whether their own or someone else’s — into the mainstream of computing. Of course Microsoft isn’t generally the first to market. They don’t want to be. If fact, the recent upsurge of interest in OSX and Linux and open source products like Firefox is a godsend to Microsoft. Now they can sit back and wait for all the cutting-edge innovators to discover what works and what doesn’t, what people will pay for and what they won’t. Then they’ll jump into the market when they’re good and ready, find that sweet spot between functionality and convenience the customers are looking for, and charge full speed ahead. This is what they’ve always done. Bill Gates thanks all you Mac and Linux users for acting as his R&D lab. Does Microsoft have anything to fear from the open source movement? Well, sure. But not nearly as much as you think. Linux still cleans Microsoft’s clock when it comes to server software, but on the desktop Microsoft does not worry about Linux. Exact numbers are hard to measure (and controversial when you do), but most people think Linux desktop users make up about 3% of the PC user base. Which is roughly the odds of Dennis Kucinich being sworn in as the next President of the United States come January 2009. So where’s the pressure coming from these days if not the open source movement? Google. Apple. MySpace. Yahoo. Facebook. Sony. Nokia. And so on. All evil, greedy capitalist companies looking to make a buck. Some people call Microsoft nothing more than a marketer and repackager. But what’s wrong with being a marketer and repackager? Do you think every single product in your household is the end result of some mad genius in a lab coming up with a brilliant idea that’s never been done before? Hardly. Henry Ford didn’t invent the automobile; he just figured out how to do it quicker and cheaper than anybody else had. Likewise Bill Gates didn’t invent the operating system or the software application; he just figured out how to turn them from obscure hobbies into mass-market phenomenons. (It’s interesting how few people have the same criticisms about Steve Jobs and Apple as they do about Bill Gates. I mean, Jobs didn’t invent the MP3 player, or the graphic operating system, or the all-in-one computer, or just about anything that Apple is known for. Everything people hail about the original Mac was borrowed from Xerox PARC. What Jobs did do is figure out a way to put it all in a slick, affordable, attractive package — and he deserves to be commended for it.) My point in stating all this is not to fawn on Bill Gates’ feet and claim that the company he founded is above criticism. I just think that many people criticize Microsoft for the wrong reasons. They’re criticizing a Honda Accord because it’s not a BMW Z4 (the Mac) or one of those funky electric cars that gets 150 miles to the gallon (Linux). Microsoft by and large achieves the goals it sets out for. But more than that, by and large they achieve their customers’ goals. Their products do generally get better as time goes on. Sometimes it takes a while, of course. (Think of the leaps they made from Windows 95 to Windows XP over just six years. Okay, so they haven’t exactly kept up the same pace with Vista, which is a rather troublesome development for them. But I say let’s see where things stand when Service Pack 1 comes out at the end of this year or beginning of next.) So when you see someone who chooses to use Microsoft products instead of free open-source products, don’t whine that she’s a lemming or a corporate slave or an ignorant dumbass or a node in the Borg. Whether you like it or not, there are plenty of good reasons to buy and use Microsoft software. *** (One last side note: The Microsoft/Borg comparison always cracks me up. It’s not like the Starship Enterprise was made up of independent thinkers using open source software on a ship built in some underground Mecca by a rebellious band of freedom-loving hackers led by Ice-T. Come on, you know the Enterprise was made by Boeing on some fat government contract. You know there was heavy support by corporate underwriting. You know that the crew members are just mouthing the platitudes that Starship Command told them to mouth, but the realities of the situation on Earth are much different than the pretty face we present to the aliens.) *** (Okay, this is really the last side note: What’s Microsoft’s big Achilles’ heel? Security, security, security. They nailed the GUI, they nailed the first wave of the Internet, they nailed the Office productivity suite. But the rash of worms ‘n viruses ‘n such produced by insecure Windows 98 and Windows XP installations is the biggest challenge Microsoft has ever faced. I think they still have time to nail this one, and they’ve taken some good security steps with Windows Vista. But the clock’s a-tickin’. If you really want to destroy Microsoft, don’t bother with Linux. Write worms.) |
|
|
| OpenOffice: One Strike and You're Out? |
[Aug. 1st, 2007|10:51 am] |
You want to know why people use Microsoft products? I present to you Exhibit A. The new Sony laptop I’ve been bragging about came without a licensed version of Microsoft Word. Sony included a trial version of Office 2007 Student and Home and a copy of Microsoft Works. So I figured I’d give OpenOffice another try after having a few bad experiences with version 1. And as far as functionality goes, I like OpenOffice 2.1. It’s got a nice, clean, consistent interface across programs. Writer includes just about all of the features I’m likely to want or need from MS Word, and a few conveniences that Word lacks. (How nice it is to choose which custom dictionary you want to add unrecognized words to straight from the right-click menu.) It reads and writes Word documents pretty seamlessly, and although it crashes a little too often for my tastes, it always seemed to recover gracefully so I could pick up right where I left off. Until Monday. On Monday, OpenOffice Writer corrupted Chapter 38 of MultiReal. Corrupted it good. The file won’t open any longer. No file recovery option. When I look at it in Windows Explorer, it’s mysteriously shrunken in size by about 25K. When I open the file in Notepad or use one of the gazillion corrupted file recovery utilities out there on the Internet, I can still see amidst all the gobbledygook about 7 pages out of the original 12. For whatever reason, it seems like Writer truncated the file at that point. Between the recoverable text from Notepad and old versions of the document, I was able to cobble together most of Chapter 38 again. And considering that I had just (re)written that missing page a few hours earlier, I think I’ve been able to reconstruct most of what I’ve lost. I suppose if I could have downloaded a hex editor that would let me scour the raw data on the hard drive for those missing paragraphs, which are probably still floating on the hard disk somewhere. But my confidence in OpenOffice has now been shaken, possibly for good. How do I know that Writer didn’t corrupt other documents that I wasn’t just working on? How do I know it’s not going to mess up the next chapter I open? I can’t afford that kind of uncertainty. I can’t afford to lose another three hours trying to recover the next mess. Is Microsoft Word perfect? Hell, no. It’s bloated, it’s a resource hog, it’s got usability problems, and I’m not sure how I feel about the whole Ribbon concept MS has adopted in its 2007 version. Plus it’s a big fat target for every malicious hacker on the planet. But I can’t remember the last time Microsoft Word corrupted a file to the point that it was unrecoverable. Perhaps sometime two versions back when I was using Office XP. Yet it’s happened after only a month using OpenOffice. I’m not ruling out the possibility that my Diskeeper or McAfee Security Suite caused this. Perhaps the laptop got nudged while it was writing to the hard drive, or maybe something funky happened when I closed the lid and put it into Sleep mode. But what are the chances that these things would only corrupt the last file I was working on, out of all the hundreds of thousands of files on the system? I can’t rule out that I might just have been unlucky, and I know this kind of thing happens in Microsoft Office too every once in a blue moon. This whole episode has brought home to me the fact that the most important factor for any piece of software is the Hippocratic factor: first, do no harm. I don’t care how smooth and pimped-out a ride your car is; if it routinely leaves you stranded in the middle of nowhere, it’s useless. (Incidentally, I also got stranded in the middle of nowhere by my Honda this past weekend, but that’s a different story.) (Okay, so Chevy Chase, MD isn’t exactly the middle of nowhere. But I lost another few hours of writing time regardless.) Now there are many ways in which a piece of software can be said to do you “harm.” You might argue, with some justification, that Windows Vista’s irritating User Account Control does harm by unnecessarily wasting your time. You might argue that the full MS Office installation loads your PC with crap that slows things down and wastes resources. If you pass a lot of macro-laden documents back and forth, you could argue that leaky MS Word security does your business a lot of harm. But I’ve found far too often that open-source alternatives to Microsoft desktop programs turn out to be unwieldy, unstable, and in some cases, just plain unusable. OpenOffice is buggy. GAIM, the Gimp, and Eclipse crash constantly. Mozilla Thunderbird might be the most unreliable piece of software on the planet (although I will admit that I haven’t tried Thunderbird 2.1, which is supposed to be pretty good). Linux is famous for its stability — presuming you can find all the drivers to get everything working properly. But then again, despite what the Slashdot crowd tells you, Windows very rarely crashes, and the Blue Screen of Death only crops up when you’re using really kooky hardware. Firefox seems to be just about the only exception to the rule when it comes to common desktop applications. I’ve said it before: Microsoft programs are cheap. $130 on Amazon will buy you a 3-computer license for the Home and Student version of Office 2007, which includes Word, Excel, PowerPoint, and OneNote. It’s a small price to pay for insurance against losing your work. I want to use open-source software. I really do. But most of the time, I get that same feeling you get when you drink plain-wrap cola and try to convince yourself that it’s just as good as regular Coke. It’s cheaper, sure, and it doesn’t put money in the pockets of a faceless megacorporation that tramples on the little guy and blah blah blah. But there’s a reason people pay that extra 40 cents for a six-pack of Coke at the supermarket, and you can’t blame it all on them being mindless capitalist lemmings. |
|
|
| Keeping Up with the Kludges |
[Jul. 30th, 2007|11:40 am] |
There’s a very useful word in the techie sphere of influence that remains largely unknown in the wider world. It’s called kludge. According to Wikipedia, a kludge is “a clumsy or inelegant solution to a problem or difficulty.” Kludges usually come about in programming when you either don’t have the time or the budget to deal with a certain problem. A basic example: you build a website that works just fine in all the modern versions of Mozilla Firefox, Internet Explorer, Opera, Flock, Safari, Netscape, Konqueror, etc. And then you get a call from an account rep in a different department asking in a strident tone of voice why the website is causing sparks to fly out of his client’s ancient WebTV box. If Jesus Christ were your webmaster, he would clap his hands and come up with an elegant and elaborate piece of code that accounts for every browser on the market. This piece of programming legerdemain would not only deal with every WebTV and Mosaic 1.0 and Lynx browser still out there, but it would do so in a systematic way that would ensure compatibility with future unknown browsers and web services too. But you’re not Jesus Christ. Not only that, but you’ve got a million other pressing issues on your plate that are much more important than this. On the other hand, this particular WebTV user happens to be the sister of the uncle of the CEO, and it’s worth spending ten or fifteen minutes to keep the CEO happy. So you grumble a little bit, fire up your text editor, and insert code that looks something like this: <For all normal users...> <Do this.> <If the user is on a WebTV browser AND it's a Tuesday AND there's a full moon...> <Do that.> <Unless it's a Thursday and "Heroes" is still winning its timeslot, in which case...> <Do something else entirely.> <Now back to the normal code.>
Voila! You’ve created a kludge. It’s of no use to 99.9% of the world and it will slow down your application for everyone by some small fraction of a second — but on the other hand, it’s only taken you two minutes to write and the client’s happy. Here’s a dirty little secret that the programmers don’t always tell you: all computer programs are full of kludges. Nobody ever intends to use them. Everyone’s application starts with the best of intentions and the cleanest of architectures. This is going to be the slickest widget ever! People will still be using it every day in 2035! Then life and the marketplace intervene, and the application wanders off track. You start to add kludges. If Microsoft let you dig in to the source code for their operating systems, you’d see bazillions of kludges. Microsoft in particular is notorious for preserving backwards compatibility at all costs. Which means that in 20 years, when the only person left in the world using Lotus 1-2-3 is an old man with Alzheimer’s in Patagonia, the Windows Vista 20-Year Anniversary Edition (Now with Sherlock!) will still be able to run it. But it’s not just computer programs that are full of kludges. Our lawbooks are full of kludges. I see from a page called Looney Laws that, in Michigan, a woman’s hair legally belongs to her husband; in Newport, Rhode Island, it’s illegal to smoke a pipe after sunset; and in Logan County, Colorado, it’s illegal for a man to kiss a woman while asleep. (Whether the same holds true if a woman kisses a sleeping man, the page does not say. In fact, it would be nice if the page would cite some references somewhere, but I won’t hold my breath.) Every time you drive up to an ATM and wonder why the hell there’s Braille on the keypad, you’re experiencing a kludge of sorts. If you ever find yourself locked in the trunk of your car, you can thank the Patron Saint of Kludges for that lever that lets you open it from the inside. Whenever you tear open your kid’s Lego set and find a 15-page booklet telling you that Lego is not liable if your child chooses to set the blocks on fire and wedge them down his sister’s throat, you’re seeing the results of a kludge. But here’s the problem: the world is shrinking. Products and laws and programs that were once created with tens of thousands of relatively homogeneous white people in Middle America are now being exported all around the world. It’s all well and good to translate your web application into Spanish and French. But are you going to translate it into Dutch, Farsi, Cantonese, Hawaiian, and Shoshone? What happens when you get an influx of web traffic from Pakistan? Are you going to rush out and create a kludge for every linguistic, cultural, geographic, religious, and political special circumstance out there? Of course not. You don’t have the time, and you don’t have the money. The problem with kludges is that they get progressively more expensive as they pile up. It seemed like a simple thing to write a few lines of code to deal with that one WebTV user. But when it comes time to redo the website, you’re going to see a big mess of kludges for these one-off circumstances. Some of them will conflict with one another. What happens when you’ve got a WebTV user who’s also a Spanish speaker and color blind? You need to make more contingencies. You have to test each of those contingencies. You have to hire experts, put together beta user groups, deal with all the exceptions that entails. And make no mistake about it, kludges cost money. Lego needs to hire lawyers to vet every word of that 15-page booklet, they need to hire desktop publishers to lay it out, and they need to pay printing costs to actually make the damn thing. Then there’s the extra penny or so it’s going to add to the shipping cost, and the extra hard drive they’re going to need in their office to store all four hundred customized versions of these legal booklets included with every different Lego set. Microsoft Windows is on close to a billion PCs, and you can bet that there are plenty of colorblind Spanish-speaking WebTV users whose children like to set things on fire and jam them down their sister’s throat. Their new Vista operating system has somewhere north of 50 million SLOC (source lines of code). That’s a lot of kludges to sort through. This can’t keep going on. We’re going to have to find ways to deal with the kludge problem. It’s pretty clear to me that pushing people towards standardization will only go so far. There’s a large “English-only” movement in the United States that’s trying to force governments to stop catering to speakers of other languages, Spanish in particular. But you can only force 28 million American Spanish speakers to do so much. Besides which, what happens when English is no longer the lingua franca of business throughout the world? All it takes is a couple of economic shifts, and your kids might be learning Hindi in school and desperately trying to sound like Delhi natives on the phone, instead of the other way around. No, I think in the long run we’re going to have to start carrying our kludges with us. What does that mean in practical terms? It means that the burden of adapting to the world is going to shift from large corporations and governments to the individual. It means that rather than the content providers being responsible for translating text into your language, you’re going to take content from abroad and (Babel) fish the language you understand out of it. Speaking futuristically, it means you’re going to need to find special glasses to compensate for your colorblindness. The city’s going to disclaim responsibility if you can’t tell the difference between the red light and the green one. So you’ll need a device that can continuously broadcast to the world around you that you’re colorblind. It’s probably not going to make the traffic light change colors, but it could certainly cause the ATM display to automatically switch to colorblind mode. And along with that device, you’re going to be using a ton of middleware to constantly tweak the world to your hardware (whether that hardware be computer, phone, or neural implant). You’ll be translating content on the fly to fit your own time or place or idiom. It means you’ll be Greasemonkeying reality. Luckily, technology is on the side of the individual. As processing power skyrockets and processor size diminishes, it’ll become easier to carry your personal solutions with you. (Although with the growth in cheap wireless networking, you might not necessarily be carrying anything.) And this will be a good thing for everyone in the long run. Small businesses won’t have to worry so much about complying with crushing, confusing, and contradictory regulations. Software licensing agreements will shrink so that you don’t have to worry about clicking “Yes” to the fact that this software may be inappropriate for young children, despite the fact that you’re 85 and living in a retirement community. If you’re not allergic to peanuts, you won’t have to read a goddamn warning label about peanut allergies on every single product you buy. And the sister of the uncle of the CEO will have to fend for herself. Imagine that. |
|
|
| Sony VAIO Bloatware |
[Jul. 2nd, 2007|10:12 pm] |
| [ | Tags | | | adware, bloatware, computers, crapware, laptops, notebooks, preinstalled software, sony vaio, sony vgn-fz140e, technology, trialware | ] |
Pursuant to my earlier post about all the unnecessary crapware pre-loaded on my new Sony VAIO laptop… I found a way to get a list of all the stuff that Sony loaded this thing up with, above and beyond Windows. You just open the Sony Recovery Center, and click the option to reinstall some of your programs and drivers from the recovery disks. Here’s the list. The entries with asterisks (*) are trialware. The bolded entries are programs that I consider useful. - Adobe Acrobat Professional *
- Adobe Flash Player
- Adobe Reader
- AOL Software Suite *
- Battery Checker
- Click to DVD
- Corel PaintShop Pro Photo IX *
- Digital Document Shredder *
- Diskeeper *
- Grouper ScreenSaver
- Image Converter
- Instant On
- Location Free Client
- Microsoft Office 2007 Home and Student Trial *
- Microsoft Works Bundle
- MobiTV Icon
- Napster with 14 day free trial *
- Norton Internet Security 2007 with spyware protection *
- PX Engine
- Quickbooks Free Starter Edition *
- Roxio Easy Media Creator
- Setting Utility Series
- SonicStage
- SonicStage Mastering Studio
- Sony Pictures Game Links
- Sony Shared Library
- Sony Utilities DLL
- Sony Video Shared Library
- Spiderman Screensaver
- Spiderman Wallpaper
- Spy Sweeper *
- System Mechanic *
- Travelocity Gadget
- VAIO Camera Utility
- VAIO Camera Capture Utility
- VAIO Documentation
- VAIO Entertainment Platform
- VAIO Event Service
- VAIO Help and Support
- VAIO Media
- VAIO Power Management
- VAIO Survey
- VAIO Video & Photo Utilities
- WinDVD for VAIO
- Wireless Switch Setting Utility
- X1 Desktop Search *
That’s truly an awe-inspiring (or is it stomach-churning?) list. By my count, that’s 46 pieces of extra software, of which perhaps 12 are of any use to me. (Although I suppose in addition to the bolded stuff, I might one or two of the shared libraries in order to run the instant on and DVD stuff.) Some of these choices just baffle me. Why, for instance, include Spy Sweeper, when Norton Internet Security’s spyware protection is already installed (not to mention Vista’s built-in Windows Defender)? Why include Microsoft Works and a trial of Microsoft Office? Why include an old version of Diskeeper that doesn’t even work properly with Windows Vista? The answer, of course, is that someone paid Sony for it. And they’re passing the cost along to me in the time it takes to uninstall all this shit. So far I still think it’s a pretty good bargain, but not without its irritations. |
|
|
| My New Sony VAIO Laptop |
[Jul. 2nd, 2007|09:59 am] |
So after flirting with the idea of buying a MacBook Pro for months, I went with Windows. But I went with Windows in style. A few days ago, I purchased a brand new Sony VGN-FZ140E notebook computer from the local Circuit City. (Here’s the laptop homepage on Sony’s website.) Circuit City had a deal which was pretty hard to pass up. For the incurably geeky, here are the specs on my new computool: Intel Core 2 Duo T7100 processor running at 1.8 GHz- 15.4-inch widescreen WXGA LCD with reflective coating
- Intel Graphics Media Accelerator X3100
- 200 GB hard drive (only runs at 4500 RPM, unfortunately)
- 2 GB of memory
- Built-in wireless connectivity to 802.11a/b/g, and even n
- Built-in webcam and microphone
- DVD-/+RW drive, which I think has that cool LightScribe labeling thing
- Slots ‘n jacks ‘n ports up the wazoo
- Only 5.75 pounds, including battery
- Windows Vista Home Premium
So why no MacBook Pro? It’s simple: the display for the regular ol’ MacBook is too frickin’ small, and the base model for the MacBook Pro is $2,000 before sales tax and shipping. What did I pay for my Sony? A nice, light $1,200 including sales tax. And I have to say that this Sony almost matches that Apple cool factor. It’s extremely thin and light, and has this graphite coating that just begs to be caressed. The display is absolutely gorgeous, the brightest and clearest I’ve ever seen. So far, the machine’s been as quiet as a church mouse, it doesn’t heat up unnecessarily during normal use, and the Vista Aero graphics are pretty snappy. I’m not quite used to the keyboard layout yet, but the action is phenomenal — the keys are almost flat, like the MacBook’s, and they don’t clatter loud enough to wake the neighbors. All in all, this should be powerful enough to do what I intend to do on this laptop. Which is plunk my ass down in a series of Starbucks and write Geosynchron, the third book in the Jump 225 Trilogy. There will be the occasional bit of web contract work on here, but again, I mostly reserve that for my desktop. I’d gotten used to all kinds of inconveniences with my 2003 vintage Toshiba notebook. The lid doesn’t open and close properly, hibernation doesn’t work, there’s no built-in WiFi, and the thing vents out the bottom, so if you stick it on a cushioned surface it overheats and shuts down. Almost any new laptop I buy would solve those problems, but the Sony VAIO solved problems I didn’t realize I had. Like the fact that all of the ports are exactly where I want them to be, and the power jack includes an L-shaped connector that makes the cord take up less space. So what are the immediate downsides I see to this machine? - The trackpad is a bit smaller than usual, and it’s almost completely flush with the rest of the casing. Seriously, it’s only recessed about a millimeter. This means that half the time I have to slide my finger around for a second or two to actually find the trackpad. It doesn’t help that the trackpad is black with black buttons, so it’s almost completely camouflaged. In low-light situations, you can barely even tell it’s there.
- The sound is a lot tinnier than I expected. I probably should have gone for the model with the fancy-schmancy Harman-Kardon speakers, but I suppose it’s not really that big of a deal. I listen to most of my music on the desktop anyway, and if I’m going to watch DVDs I’ll be using headphones.
- No Bluetooth. Which isn’t a tragedy for me, considering that I don’t really have any Bluetooth gadgets. But I was really hoping to start Bluetoothing my office so I can get rid of some of those wires. Guess I can always go buy an expansion card.
- The integrated video isn’t powerful enough to let me run advanced games, which probably won’t be too much of an issue considering I do the little gaming I do on the desktop PC.
Probably the most noticeable thing about the Sony OOBE (out-of-box-experience) was the massive amount of bloatware that came pre-installed. AOL was infecting everything, and there were poorly designed ads for all kinds of crappy products on the desktop and hidden in the Start menu. Not to mention pre-installed trial versions of everything from Office 2007 to QuickBooks to (Lord help me) Symantec Internet Security. Not only that, but get this — Sony actually included complete versions of Spider-Man and Spider-Man 2 on the laptop, which you need to pay about 10 bucks to unlock. Because, you know, when I’m in the mood to watch Spidey, I prefer to watch him in gawdawful DRM’d Windows Media format. All this bloatware tells me that Sony isn’t making much money off these laptops anymore. No wonder IBM wanted out of the business. There’s relentless downward pressure on prices — hell, they’re making $100 laptops now. So it seems the only way the company can make a buck off a Sony VAIO is by selling ad space and cross-promoting other Sony products. (The Spider-Man film franchise is Sony’s, in case you hadn’t figured that out.) The other strategy at work here is that Sony is trying to differentiate their laptops by including all kinds of proprietary software. Most laptops come with their own branded networking apps and backup utilities. My Sony VAIO also came with a Sony media player, Sony DVD creation utilities, Sony photo editing package, Sony audio recording software, Sony camera utilities, Sony desktop wallpaper, Sony power management, Sony driver update utility, Sony wireless networking, and Sony video conversion. And in case you missed the hint, there’s a Sony Memory Stick slot right in front of your face. So let me just say this to the good product managers at Sony: you’re not Apple. You’re not even Microsoft. Sony, you make clunky programs with lousy user interfaces, and nobody in their right mind is going to buy your laptops just to get a copy of your lame-ass SonicStage media player. Your core competency is cutting-edge electronic equipment with fantastic design. But if you’re going to pretend to be a software company too, you need to hire people that know enough not to put dialog boxes in your update utility that say “Please install manually some patches.” |
|
|
| The Science of "Infoquake" |
[Apr. 9th, 2007|04:54 pm] |
| [ | Tags | | | asimov's, darwin, futurism, infoquake, lamarck, norman spinrad, predicting the future, science, science fiction, scientific method, technology | ] |
Norman Spinrad recently wrote a review in Asimov’s of my novel Infoquake wherein he discussed the scientific accuracy of the book. Mr. Spinrad had this to say: [W]hether or not such a novel could be considered “hard science fiction”… might be moot if Edelman himself were just blowing rubber science smoke and mirrors. Instead, he is actually trying to make bio/logics and MultiReal seem scientifically credible in the manner of a hard science fiction writer and doing a pretty good job of it, at least when it comes to bio/logics. Edelman seems to have convincing and convincingly detailed knowledge of the physiology and biochemistry of the human nervous system down to the molecular level. And cares about making his fictional combination of molecular biology and nanotech credible to the point where the hard science credibility of the former makes the questionable nature of the latter seem more credible even to a nanotech skeptic like me. A week or so later, SF Diplomat took a potshot at the scientific credibility of the book in his smackdown of Spinrad’s piece, saying that though the book is enjoyable enough, “Infoquake is practically fantasy.” This has led me to give some thought about the scientific credibility of Infoquake and the scientific credibility of science fiction in general. Should the reader care whether my book — or any SF book — has good science? For the record, my knowledge of science is fairly rotten. I don’t have the foggiest idea what the spleen does, I can’t really tell you anything about Planck’s constant, and I had to put down A Brief History of Time about 40 pages in because I was overwhelmed. As you might imagine, I’m very pleased that Spinrad thought I have “convincingly detailed knowledge of the physiology and biochemistry of the human nervous system down to the molecular level.” Greg Egan and Arthur C. Clarke are probably climbing into graves right now specifically for the purpose of rolling over in them. But when I started the process of writing Infoquake, my intention was to write a novel about high-tech sales and marketing. It was only supposed to be accurate insomuch as it wasn’t supposed to make people with real scientific knowledge snicker. So I set the book at some undefined time in the future, about a thousand years from now, and I stuck an apocalyptic AI revolt in the interregnum to really wipe the slate clean. Then I made three suppositions: - Give the scientists (virtually) unlimited computing power.
- Give the scientists (practically) inexhaustible energy reserves.
- Give the scientists a few hundred years to tinker, without all the regulatory, governmental, religious, and socioeconomic chokeholds in place today.
Supposing all that… What kind of world would we end up with? I started doing my initial research through your typical high-level Encarta searches and the like (Wikipedia wasn’t around then). And I discovered that we’re really, really close on so many “science fictional” technologies already. Teleportation? We’ve got teleportation, believe it or not. (Okay, so it’s only on a quantum level at this point, but why quibble?) Orbital colonies, medical nanobots, virtual reality, and neural manipulation? All possible, based on the evidence we have now. There are a million possible technologies out there whose only real barriers are time and economics. Why aren’t we all flying around in personal spaceships by now like Heinlein, Asimov, Bradbury, and Clarke predicted we would be? Because these authors didn’t have scientific chops? No, because it’s too fucking expensive, that’s why. We have flying cars and jetpacks and space stations and the like, they just haven’t proven practical enough to mass produce. And unfortunately, nobody really had any way of knowing that they weren’t practical until the engineers sat down at the drawing board and tried to do it. I’m convinced that the same is the case with the technologies in Infoquake. Take the multi network, for instance, wherein you’re fooled through nanotechnological neural manipulation into believing that you’re somewhere you’re not. Scientifically feasible or infeasible? From a theoretical standpoint, we can practically build the multi network already. Put someone on a slab in the ER, saw off the top of their skull, and start stimulating pieces of brain tissue with tiny electrodes; they’ll start seeing and hearing things. So why don’t we have a functional multi network today? Because we need (1) much smaller electrodes, (2) much more detailed mapping of which pieces of the brain do what, and (3) ultra-fast computers that can keep track of all this information and manipulate it in real time. Once we have that: voila! Virtual reality! Right? Obviously, once someone digs in there and tries to build something like this, they’re going to discover that it’s not quite that simple. There might be no practical way to power those electrodes, for instance, or maybe there’s some bit of brain chemistry we don’t quite understand yet that will make it impossible to host lots of little nanobots inside your skull. We’re going to have to wait for the chemical engineers to synthesize a finer type of wiring, which will require access to cheap cobalt from Bolivia, which is impossible because Bolivia’s in a state of civil war, which is caused by blah blah blah et cetera ad nauseum. That’s life. That’s the slow march of progress. All we can do in the meantime is theorize and then sit back and hope the results in the lab match the equations on the chalkboard. I often think about the 19th century debate in scientific circles between the Darwinian and Lamarckian models of evolution. Take the evolution of the giraffe. Jean Baptiste-Lamarck figured that a lifetime of stretching and craning his neck to get that good stuff high up in the trees would actually alter a giraffe’s biochemical composition. The giraffe would then pass on some kind of beefed-up genetic heritage to its offspring, causing the species to evolve over time with a longer neck. Darwin came along later and said that what the giraffe does makes little difference. The reason the species evolves is because the giraffes with taller necks are more likely to survive and thus pass on the tall-neck genome. Both of these explanations sound perfectly plausible. I’m sure Lamarck had plenty of reason for believing what he believed, and in fact, his theory was widely accepted as truth for fifty years. Now it turns out that Lamarck was wrong on this particular business, and Darwin was right. But again, there was really no way for anyone to know that right off the bat until generations of scientists kept digging through fossils and Gregor Mendel did his whole thing with gardening peas. There are still a few stubborn holdouts who don’t accept Darwinism. And that’s the thing that laypeople tend to forget about science. The guy shouting “Eureka!” and madly scribbling equations on the chalkboard is only the first step in a very, very long process. Scientists need to get in the lab and get their hands dirty. They need to collect evidence and subject that evidence to rigorous tests. They need to present that evidence before their peers in scientific journals. All kinds of alternative explanations need to be thoroughly vetted and debunked. And all of that stuff takes time. Years, decades, centuries. There’s a reason why it’s called the Theory of Evolution, just like there’s a reason why it’s called the Theory of Gravity. The real world tends to get in the way too. Scientists’ funding gets cut. Their agendas for pursuing particular lines of research get questioned. Governments come in and make executive decisions about what science they can pursue and what science they can’t. Security issues abound. Patents must be filed, lawsuits must be litigated. And when you’re a science fiction writer, of course, you don’t have time to do any of that. All you can do is the very first step, which is to try to recreate that proverbial “Eureka!” moment when the guy runs to the chalkboard and scribbles out his equations. We don’t know what’s going to happen in the laboratory to support our theories. We don’t know how the fossil evidence is going to weigh in. We can only offer vague conjectures about how much it’s all going to cost. So anyone who believes they’re reading an accurate depiction of the future in a science fiction novel is deluding themselves. Future science has too many unknown variables for anyone to possibly predict. If we do end up someday breeding über child warriors to fight bug aliens on virtual terminals in outer space a la Ender’s Game, I’m sure Orson Scott Card will be the first one to admit that he was just lucky. As for Infoquake, you can call it fantasy or you can call it science fiction. I don’t really care. I would just caution against mislabeling it for the wrong reasons. |
|
|
| Google's Instant Translation |
[Mar. 31st, 2007|01:50 pm] |
In case they weren’t working on enough already, Reuters reports that Google is working on the ability to instantly translate documents. BabelFish on steroids, if you will. How would you build such a thing? You might think that Google’s programmers would try to break down languages into sophisticated formulae depicting sentence structure and grammatical rules and that kind of thing. Wrong. If I’m reading the article correctly, Google’s essentially trying to do the whole thing through pattern recognition. This means that when you feed this sentence into the Google translator – Nel mezzo del cammin di nostra vita mi ritrovai per una selva oscura ché la diritta via era smarrita. – the program doesn’t particularly care that you’re trying to translate the opening stanzas of Dante’s Inferno. It doesn’t care about the Renaissance or Biblical allusions or Italian grammar. All it cares about is the fact that 76.4% of all Italian documents with this sentence translate it into English the way Henry Wadsworth Longfellow did: Midway upon the journey of our life I found myself within a forest dark, For the straightforward pathway had been lost. In other words, Google is treating language translation as one big black box. Let the computer figure out the complex algorithms that magically turn Italian into English; all Google cares about is the result. (Of course, you understand that I’m drastically simplifying things here.) This is more or less the same way that the Google search engine works, and it’s proven to be a major breakthrough. When you type “Britney Spears” into the Google search box, the computer logic behind the scenes has no idea what or who a “Britney Spears” is. All it cares about is that people who are looking for that particular term are very likely looking for the website of the pop star and not some obscure brand of English toothpick. And the more searching and clicking web surfers do, the more aggregate data Google has to fine-tune its searching algorithms. The end result? Well, Google works. It’s a zillion times more effective than any other search engine, and in an astoundingly large percentage of searches you find what you’re looking for. So how accurate is the Google translator? The Reuters article tactfully states that “the quality is not perfect” and “it is an improvement on previous efforts at machine translation,” which is a nice way of saying it kind of sucks at the moment. But the good thing about pattern recognition is that it improves dramatically the more patterns you feed it. And, hey hey, wouldn’t ya know it — Google’s right in the middle of scanning the complete collections of a number of libraries around the world. Certainly there must be hundreds of thousands of source documents and their miscellaneous translations in the Google databases now that are just ripe for analysis. But not only is such a system likely to improve with time — it could theoretically adapt to changes in the language too. For instance, the Google algorithm might notice that words which were once translated as “colored people” and “Negroes” are now being translated as “blacks” and “African-Americans” instead. Some will wonder if such an effort can ever truly succeed. Could you build a perfect translator from a machine that doesn’t understand anything it’s translating? I’m no neurological expert, but I can’t see why not. I’m a big believer in the Turing test, which basically posits that any machine that can fool you into thinking it’s intelligent is in fact intelligent. (See my earlier screed about Turing tests and mind uploading.) In the same way, it seems to me that if you feed enough data into a pattern recognition algorithm, eventually that algorithm will be much more capable of linguistic translation than any human could ever be. Of course, there will be limitations. The Google search engine is vulnerable to various efforts of “googlehacking” and social engineering. Witness sex advice columnist Dan Savage’s successful campaign to redefine the word “santorum” from the last name of an evangelical U.S. senator to — well, you look up “santorum” on Google and see what the number one result is. There’s also a well-known phenomenon where the top Google search results end up reinforcing their status because, well, they’re right there and everyone clicks on them. It’s an endless loop. One can imagine a similar scenario happening whenever we start relying on Google translators instead of human translators rather than as a supplement to them. And it appears that day is coming sooner rather than later. What I can’t wait for is the day when Google opens up the API to its translation service, allowing people to do homebrew instantaneous translation mashups on the fly. That will be fun. |
|
|
| Dave on Ruby on Rails |
[Mar. 12th, 2007|11:25 am] |
Imagine you’ve never played the game of football (the American version) before. You’ve never even seen a football game, and you have no idea what the rules are. But somebody tells you it’s way hella cool, and you’ve got the build for it, why don’t you come on down and join the team. So you suit up and get on the field, but you still don’t have the foggiest idea what’s going on. Sometimes people are running with the ball, sometimes they’re throwing the ball, sometimes they’re kicking it or just pushing other players around and jumping on them for seemingly no reason. You try to ask the other players what’s going on, and they’re perfectly willing to help you — but all you can catch is a few seconds of their time between plays when they’re out of breath. That’s kind of how I feel trying to learn Ruby on Rails. What the hell is Ruby on Rails? For all you non-technical people out there, it’s a programming environment that’s supposed to make development super, mega easy. Those with a more technical bent have probably already heard about Ruby on Rails. But for those who haven’t, it’s an open-source web framework where you can use the popular Ruby language to build robust applications using the Model-View-Control pattern in an astonishingly few lines of code. How easy is it? Well, once you’ve got it installed properly, you literally type “rails book” and then “ruby script/generate scaffold chapter.” In the space of seconds, RoR generates all of the files you need for a project called “book” composed of multiple “chapters.” From there on out, it’s amazingly simple too. You can describe the data model with two basic statements: class Book < ActiveRecord::Base has_many :chapters end class Chapter < ActiveRecord::Base belongs_to :book end
RoR takes care of generating all of the HTML files needed to make it work on the fly. Within five minutes, you can have an application that will let you seamlessly add, edit, and delete chapters to a book. No more mucking around with granular SQL statements and spending hours debugging. The problem is, you’ve got to get it installed properly. And getting Ruby on Rails installed properly is a bitch. It’s taken me days, and I’m still not sure I’ve got it done right. Luckily, you don’t need a web server to serve up the application because RoR comes with a built-in lightweight web server called Webrick. Oh, but wait, Webrick isn’t powerful enough for a production server, so we need Apache. With the FastCGI module installed and configured for Ruby files. Oh, but wait, nobody uses FastCGI to do this anymore, everyone’s using something called Mongrel these days… Compound this with the fact that every flavor of *nix has its own special tweaks and mods that you need to do to the config files to get things working. I’ve seen a million pages now with some variation of the following: “Never mind why for the moment, if you’re using CentOS with MySQL and Apache, you need to CHMOD 755 on this particular folder and add this line to the httpd.conf file…” Think you can escape these problems on Windows? Good ol’ clunky, kludgy Windows that makes everything simple? Wrong. There’s a package out there called InstantRails that you can supposedly just unzip on your computer and have the whole thing running in minutes. Except my spankin’ new Windows Vista machine at the office won’t unzip it, because Vista currently has a problem unzipping zip archives with tens of thousands of files in them. Yes, Ruby on Rails is cutting-edge web development, and I’m not used to sitting out on the cutting edge. RoR has literally only been out for 2 1/2 years. And that means that it’s poorly documented, with most of the available information coming from uber-geeks who’ve figured something out after much trial-and-error and written a hasty post about it on a blog or forum. Remember what the World Wide Web was like in, say, 1994? Everyone was fantastically excited about it, but nobody was quite sure what it could do. You would see pages that were nothing but prettified bulleted lists alongside pages of enormous graphics taken straight out of a glossy four-color catalog. There’s a reason why they call it the cutting edge or the bleeding edge. It’s because you feel like you’ve been cut and you’re bleeding. Kind of like you feel after playing football. |
|
|
| Don't Worry, Vista Will Handle It |
[Mar. 7th, 2007|11:19 am] |
Call me a masochist, but I installed Windows Vista on my home machine this past weekend. I wasn’t about to spend much money to get my rapidly aging Shuttle XPC Vista ready, so I simply opted to buy an $85 ATI Radeon video card that would let me run the Aero interface, however creakily. The list of apps with Vista compatibility problems is truly mind-boggling. We’re talking about stuff I use every day. Dreamweaver, ColdFusion, Eclipse, iTunes, Irfanview. Add to that the fact that my Photoshop disc is on the fritz and you’ve got a major productivity roadblock. But perhaps the app that I miss the most is one that works in the background: Diskeeper. Diskeeper is (or was) probably the best defragmenter available for Windows. It’s got a feature called “Set It and Forget It” which allows you to configure the program to defrag your hard drive in the background whenever it sees the need, and then, as advertised, forget all about the damn thing. But the bastards at the Diskeeper Corporation want me to pay $30 to upgrade to their new Vista version, even though I already bought an upgrade less than six months ago. So I decided to look at alternatives. I opened up the built-in Windows Vista Disk Defragmenter, and I was astounded to see this:  In case you’re looking at this image and wondering what’s so astounding, the only thing you can configure here is the schedule. No setting priorities, no setting unmovable files, no program menus, no help file, no nothing. I wasn’t expecting a robust interface like Diskeeper’s that allows you granular control over what files get positioned in what place on the hard drive, but I wasn’t quite expecting this either. Windows Vista is full of these kinds of user interface decisions. Places where the operating system presents you with a limited set of options and tells you, “don’t worry, Windows Vista will handle it.” We’ll defragment your disk for you, we’ll switch color schemes when necessary, we’ll block you from handling the nasty files, we’ll decide when the computer should sleep and when it should wake. Remind you of anything? It reminds me of a Mac. Mac OS X doesn’t have a built-in disk defragmenter. Why? Because every Mac comes with a team of Magic Disk Gnomes that scrub your hard drive every night? No, because OS X does all of the disk optimization it needs to do in the background. It defragments as a routine process of the operating system, and just doesn’t tell you about it. (See the article on the Apple website About disk optimization with Mac OS X.) Macs are famous for making things easy on the user. But along with that usability push comes a configurability hit. As far as I know, there’s no Registry Editor sitting right off the Apple menu that will allow you to muck up your system with a few mouse clicks. There’s no “Run” command that lets you wreak havoc willy-nilly just by tapping random keys. People claim that things “just work” on a Mac, and that’s because the engineers that built OS X have taken out most of the options that don’t. The *nix operating systems (i.e. Linux and Unix) lie on the opposite end of the scale. You can do practically anything on a Linux command line, from rebuilding the kernel to deleting crucial files to rolling your own device drivers. (Where disk defragmenting is concerned, however, Linux, like OS X, does its thing in the background. See the article Why doesn’t Linux need defragmenting?) One of the reasons I’ve always liked Windows is because it occupies the middle ground. You get 60-70% of the Mac GUI experience and 60-70% of the Linux command line experience. The best of both worlds, some might say. But now, with Windows Vista, Microsoft seems to be wising up to the Apple way of thinking. Let the computer do the work for you in the background. After all, who really wants to worry about how fragmented your computer files are? The geeks and the code monkeys do, and they can go buy a third-party utility or just install Ubuntu like they’ve been threatening to do anyway. The implications of this philosophy go beyond mere disk defragmentation. They go to the heart of the question of what computers are supposed to do for us in the first place. The whole reason we use computers at all is that they’re supposed to simplify things for us. Many of us seem to have lost sight of that. We get caught up in fetishizing the computer itself and forget that every minute we spend tweaking and configuring a computer is, in essence, a minute wasted. The ideal computer would be a completely invisible computer, one that could anticipate what you’re going to do and then make that task quicker, easier, and more efficient when you decide to do it. It’s only now, however, after 20 or 30 years banging our heads against these things, that computer technology has grown and matured to the point that it can begin to achieve that goal. Your measly Pentium II processor couldn’t spare enough cycles to try and figure out everything you were trying to do ahead of time; all it could really do was respond to your commands and give you a few shortcuts. But now your smokin’ Dual Core chip can churn through a thousand possibilities and contingencies in a millisecond. (Stop snickering, readers from the year 2017.) It can figure out the trivial things you don’t need to figure out, like whether you’re using the latest device drivers or what kind of screen resolution you have. What this means is that starting now, operating systems won’t have to present you with options that will mess up your system. In fact, they’ll be presenting you with less configurable options rather than more. The computer will anticipate what you’re trying to do and automatically give you the configurations that make the most sense for you. The era of humans trying to figure out how programs work is coming to a close. The era of programs trying to figure out how humans work is now underway. A seemingly small semantic shift, but one that will change your relationship with technology in the very near future. What this means is that at some point you’ll be able to boot up a computer and it will just instantly know that you’re a left-handed attorney in Taiwan that doesn’t care about the engineering functions on the calculator. There will be lots of privacy issues to sort out, you betcha. And lots of amusing fuck-ups along the way. (What happens if you’re a left-handed patent attorney in Taiwan that does want to see the engineering functions on the calculator?) But it means that those Disk Defragmenter controls ain’t coming back anytime soon. (For further thoughts on the topic, see my previous article Look Ma… No Program Menus!) |
|
|
| Windows Vista Frustrations |
[Feb. 23rd, 2007|11:38 am] |
I’ve got a new part-time job, and along with that job came a brand-new Dell PC. (Along with it also came a hellacious commute that’s eating up my free time, thus explaining the lack of blogging lately.) The new PC is a monster: Dual Core 2.66GHz processor, 3.5GB of memory, a screamin’ video card, and a 360GB hard drive. Not to mention a 24-inch flatscreen monitor big enough for me to view satellite images of entire U.S. states and still be able to make out your house. (Yes, your house. I’m watching you right now, in fact. Does your mother know what you’re doing?) So the PC is fabulous, but the Windows Vista Ultimate Edition that came pre-installed? Not so fabulous. It’s a shame, because I generally like Microsoft products. Yes, the company’s got its problems — they’ve been guilty of many sins over the years, including bloatware, vaporware, crippleware, and bullying behavior — but overall I believe Microsoft has done about as good a job running 95% of the world’s computer desktops as one can reasonably expect a company to do. Here are my first impressions of the good stuff and the bad stuff with Windows Vista: First, the bad stuff:  - User Account Control sucks. Yes, Windows Vista’s new access controls are just as bad as you’ve heard. I don’t mind the concept of clicking through approval dialog boxes when I’m doing something that could potentially disrupt my system. The problem is that Vista gives you multiple dialog boxes, sometimes three or four in a row. You’ll get a dialog box saying that you need to give Windows permission to continue — and then you’ll get another dialog box actually asking for your permission to continue. Wha? It doesn’t help that these dialog boxes are poorly designed so it’s difficult to see at a glance what you’re trying to approve or deny. (See above.)
- The Sidebar sucks. Well, perhaps it’s not the Sidebar itself so much as the gadgets that ship with the Sidebar. Sidebars are great in theory, as Apple users (and Google Desktop users) (and Yahoo! Widget users) can attest. But the built-in gadgets that come with the OS are terrible. You can’t resize them. You can’t cut and paste from them. You can’t sort them. You generally can’t right-click on them. And there are generally only one or two options for customizing them. Why would I want a postage stamp-sized display of four RSS articles that I can’t sort, resize, cut-and-paste, e-mail, or bookmark?
- The new Start menu sucks. I can understand why some people would get irritated with the scrolling menu hell of Windows XP. But with the new Vista Start menu, programs are simply hidden, and you end up using the Search feature all the time. There’s much less visual clutter, but things don’t feel any better organized. Plus… why is it that with a smokin’ nVidia graphics card and over three gigs of RAM, it still takes TEN FUCKING SECONDS for the Control Panel menu to cascade off the Start menu EVERY FUCKING TIME? Honestly, people.
- The new Explorer windows are confusing. Explorer windows really should come in two sizes: one standard size for browsing files in a stand-alone app, and one standard size for browsing files in open/save dialog boxes. But there are so many options now that I’m easily confused. The different configurations appear to be somewhat random — sometimes you’ll get a super-compact save dialog, sometimes you’ll get an extended dialog with all of the folders and favorite places in it. Come on, dudes — I don’t need to compile a C++ program here, I just need to find the file I’m looking for so I can open or save it.
Aero transparency is confusing. Sure, the new look and feel is very clean. But the transparency effect on all of the toolbars and window edges leaves something to be desired. I often find myself in the situation where the windows underneath the top level are darker than the window that’s on top. I’ll often be staring at a stack of windows and click on the wrong one, because I simply can’t tell which one’s the active window. (See screen shot to the right.) (One good thing about Aero is that the aliasing effect you’d get in earlier versions of Windows where part of a window would remain onscreen for a few seconds even after you moved it is gone.)- You’re going to get compatibility problems. Some of my standard apps, like the Eclipse software development environment, the Irfanview freeware image viewer, and Virtual PC, won’t install correctly or only run with certain limitations in Vista. For instance, every time I try to open Eclipse, I get a warning message asking me if I know what this piece of software is and if I trust it. If there’s a way to permanently trust a piece of software, I don’t figured out how yet.
- First Boot Window Explosion Hell. I don’t know if there’s a term for the explosion of crap you get when you boot up a new system for the first time, but there should be. Booting up Vista for the first time, I was bombarded with a gajillion messages and dialog boxes that took me ten minutes to sort through. Anti-Virus isn’t installed! The Roxio software that came with your Dell isn’t working properly! You’ve got important Windows Updates to install! Here’s an introduction to Vista! Blah blah blah. Shut up and let me get to work already.
I don’t want to leave anyone with the impression that Vista is all bad. There are some good features that will make my life easier: 3D Flip is cool. The 3D flip thing is a lot more useful than it sounds. It’s very helpful to be able to scroll through your running applications by seeing 3D thumbnails of them. Plus it’s remarkably quick. (At least it is on my system. I’d hate to see how it runs on my home desktop.) If you’re not up for 3D flip, the old-fashioned Alt-Tab flipping is much improved as well — and even running your mouse over the items in the taskbar gives you live thumbnails of your running apps.- The RSS store is cool. All of the RSS feeds you subscribe to through Internet Explorer 7 don’t get stored in the browser, but rather sit in a common RSS feed store that other applications can access. So the feeds you subscribe to IE7 will automatically appear in Outlook 2007 and your Sidebar gadgets. Unfortunately, there aren’t many apps that can tap into this right now, but eventually it’ll be a good thing. This RSS store will also propagate with you if you have, say, a roaming profile, which means you’ll be able to take your RSS feeds with you to any Windows desktop. In theory.
- The Network and Sharing Center is cool. Networking has always been extremely cryptic in Windows. It’s amazing how much hassle you need to go through just to get a wireless network up and working in XP. I haven’t tested the wireless capabilities of Vista yet, but the general networking controls are much simpler and more intuitive. Vista will actually draw out a cool little network diagram for you, including the routers and hubs, that can help you figure out the lay of the land.
- Help has improved. It’s been a long time since I’ve spent any time in the Windows Help files. Now with Vista, I find myself running to the system help every few minutes trying to find out how to do something in the new UI that I was used to doing in the old UI. Microsoft’s obviously spent some time cleaning up the Help system and making it more comprehensible, and I seem to be finding answers much quicker now.
- Better folder organization. No more “Documents and Settings” folder — now all of your personal settings are stored in the much more intuitive “Users” folder. Under that are clearly labeled folders like “Documents,” “Desktop,” “Contacts,” “Favorites,” and “Mail.” And yes, if you use the built-in Windows apps, contacts and e-mails are actually stored in individual files, as they should be, rather than in an easily corruptible database. (If you’re using Outlook 2007, however, you’re SOL.)
So overall, I’d say that Windows Vista is… okay. Perhaps a B-minus or a C-plus. I expect that as I learn the ins and outs, I’ll get used to it and my opinion will improve. Let’s hope so. I spend too much of my day in front of computers to dislike my operating system. |
|
|
| Windows Vista and Easy Security |
[Feb. 1st, 2007|01:27 pm] |
I’ve owned and continuously operated Microsoft PCs since that clunky 8086 behemoth running MS-DOS 3.3 that I took to college with me in 1989. It ran at a sizzling 6 MHz, unless you pressed the big white button labeled “Turbo” on the front, and then — look out! — 12 MHz. (Why you would ever turn this button off, I don’t know.) In all that time, I’ve never been hit by a computer virus, worm, or malicious piece of spyware. Once, not too long ago, I actually double-clicked on a virus-infected e-mail attachment without thinking, but my computer security package quickly caught it and disabled it. That’s not to say that I’ve never received a virus over e-mail, or suffered an attack on my firewall. These things happen all the time. I’ve been to web pages that could conceivably have launched various bits of nastiness onto my machine had I not been running Firefox with a pop-up blocker and lots of Javascript restrictions. I’ve just never suffered the effects. And why have I never suffered from a virus outbreak? Because, despite what you see and hear all over the Internet and the media, the security problems of Windows are vastly overblown. Windows is and has always been a fairly secure operating system, if you know what you’re doing. True, I’m what they call a computer professional, meaning that I make my living on these things. I can program PHP and ColdFusion. But when it comes to the operating system, I’m not some technical uber-wizard that can pinpoint obscure DLL failures using the command line. I know how to edit the Windows Registry, I know how to start and stop Windows Services, I know how to use the Event Viewer. These are all fairly basic computer troubleshooting skills, and yet these skills and some readily available off-the-shelf security software are all it’s taken for me to keep my computer safe for nearly 20 years. (And no, this is not an invitation for someone out there to try and craft something that will infest my computer. I’m sure you can. But the point is that you haven’t bothered to try yet.) The security problem, therefore, does not lie with Windows software. The problem is with Windows usability. Most of you reading this blog may be astounded to realize this, but Microsoft’s most pressing problem is not the encroachment of free and open source Linux. It’s not the growing popularity of the Firefox browser, or the lagging performance of its online properties in relation to Google’s and Yahoo’s, or the activities of a small population of malicious hackers and crackers. The thing that keeps the Microsoft brass up at night, believe it or not, is that most people feel like Windows is too darned hard to use. To us in the tech world, it seems like every Joe and Jane you pass in the street reads Slashdot and has contemplated switching to Ubuntu. But the vast majority of people aren’t nearly that technically savvy. I found a study from 1997 that gives the number of IT jobs in the United States at 2,063,000. Even if we’re charitable and say that, despite the IT bubble burst, the number of tech jobs has doubled since then — or even tripled — we’re still only talking about roughly 2% of the U.S. population. We’re a lot more computer-literate than we were a decade ago, but I’m willing to bet at least 70% of the Windows users in the United States have never even heard of the Registry. And so these are the people that your standard Russian underground hacker types devote their energy to attacking. After all, if you’re a burglar, why bother carrying around lockpicks when two-thirds of the houses in the neighborhood leave the back door unlocked? When you read about zombie PCs that are unknowingly sending out tens of thousands of spam e-mails every hour, you never hear that the victim was a sysadmin for Smith Barney. It’s the people with the usability problems. It’s the guy who downloads porn screen savers from untrusted sources. It’s the guy who believes that Chase Bank really did just send an e-mail requesting that he go to www.chase-banc.com and reset his password. These people don’t know how to secure their computers. So it strikes me that Microsoft has, on the whole, emphasized the right things in the development of their new Windows Vista operating system. They’ve concentrated on security, usability, and reliability. They’ve added in long-needed User Account Control, which will pop up a big, flashy warning message when your 73-year-old grandmother tries to add a worm to her Startup folder. They’ve built in anti-spyware, a stronger firewall, phishing protection, desktop search, and parental controls. Similarly, their workover of their Office software package has focused on cleaning up the user interface and bringing little-used features that have skulked backstage in sub-menus up to the spotlight. Now whether Microsoft has actually done a good job is another question altogether. All of the early indicators say that Windows Vista is a less user-friendly operating system than XP was. They also point out that, since Microsoft spent so much time rewriting things from the ground up, there are bound to be a rash of new security holes in the first few months. (And I’m not even going to get into the whole Windows-vs.-Mac-vs.-Linux thing here.) Unfortunately, I won’t be able to judge Vista first-hand until I either a) get the free reviewers’ copy that Microsoft is supposed to be sending me, or b) bite the bullet and buy that new laptop I’ve been talking about buying for months now. And if option a) comes first, I won’t be able to give a full review, because neither my desktop nor my laptop have strong enough video cards to handle the new Aero interface. But our opinions aren’t necessarily the ones that matter in the grand scheme of things. No matter how convoluted the new user interface is, us relatively knowledgeable folks will get used to it pretty quickly. If Microsoft can help that 70% of people who’ve never heard of the Windows Registry to take better care of their computers — and maybe throw in a few goodies for the rest of us — they’ll have achieved what they set out to do. It starts by making it easier for people to lock their back doors. |
|
|
| You Are What You Read |
[Jan. 31st, 2007|12:11 am] |
Never let it be said that I’m not a sentimental idiot. I had a fun little idea earlier tonight about taking my catalog of books on LibraryThing and doing a photo mosaic out of it. You know, to prove that “you are what you read,” or something jejune like that. So I took a couple of photos of myself and one of the Infoquake book cover, and I done did it. Here are two of me. Once again, these are mosaics made completely of the book covers from my collection in LibraryThing. Click for the full-sized images (1.16 MB and 981 KB, respectively). No, really, click on them, resize them, scroll around, it’s worth it. And don’t forget to expand the image out if your browser does that automatic image resizing thing.  And here’s the cover of Infoquake, also composed strictly of my LibraryThing book covers. Again, click for full image (681 KB):  So how did I do it? It’s surprisingly not very difficult at all. 1. Sign up and catalog your books. This is the time consuming part. Go to LibraryThing, sign up for an account if you haven’t done so already, and catalog all your books. Go ahead and sign up for a premium account; they’re cheap. Take some time to customize the book covers to the ones that are actually in your library. It’s a little bit labor-intensive, but I find it can be a relaxing thing to noodle with on my laptop while I’m watching TV. 2. Download all your book covers. No, you don’t have to download them one by one. Display your catalog in Cover View, then show the maximum of 100 covers per page. Save the whole page in your browser so that all of the supporting images get saved into a separate folder. In Firefox, it’s as easy as File/Save Page As, with a File Type of “Web Page, Complete” selected. Then browse to the next page of your library and repeat. Once you’ve got all your library images in a folder on your desktop, it’s fairly easy to sort them by name and delete the extraneous files. 3. Install AndreaMosaic. I found this neat-o piece of freeware called AndreaMosaic that enables you to create these mosaics on your desktop. The software doesn’t have the most user-friendly interface in the world, but it works phenomenally well (and it’s quick, too). Basically there are two steps here: tell the program where to find the photos that will make up your mosaic, and tell the program which photo you want to convert into a mosaic. (For a slightly more involved tutorial, see this how-to article on Engadget.) 4. Experiment. There are about ten different customization settings in AndreaMosaic that will vary the quality and granularity of your mosaic. The more images you have to make up your collection, the better the quality will be. (Mine were created from a pool of around 1,100 images.) You can set the software to do tricks like automatically flipping, rotating, duplicating, and cropping the component images to get your mosaic to look juuuuuust right. My wife’s reaction after I called her upstairs to look at these mosaics: “You are the biggest geek on the planet.” My response, made while beaming proudly: “Wow, am I?” Go. Try it. Post links in the Comments section below, if you’re so inclined. |
|
|
| navigation |
| [ |
viewing |
| |
most recent entries |
] |
| [ |
go |
| |
earlier |
] |
| |
|
|