Love the One You're With

Monday, August 25, 2008
 0 comment(s) send this post to a friend
Stephen Stills I was moseying down the aisle at the grocery store the other day when an old friend greeted me with a hearty "Hello! How ya' doing?" The voice came from behind me and I couldn't recognize who it belong to, so I put on my best pleased-to-see-you-too face and spun around.

I had worked up a vivacious "Howdy!" before realizing that the speaker was entirely unknown to me. What's more, he wasn't quite looking in my direction—he was looking at the off-brand frosted flakes along the bottom shelf. And there was something peculiar about the way he cocked his head, the way he hunched his left shoulder. Then I noticed the slab of silver pressed up against his ear.

I wrestled my greeting into a muffled croak just in time to hear him say, "Well yeah, long time no see!" A swirl of tin-foil chatter erupted from the box at his ear. I turned away and resumed my perusal of the porridge section. Then I realized I was still smiling, and stopped.

Call me old-fashioned, call me pre-post-modern, but I can't stand the cell phone. Oh, I've got one and I use it. But it knows its place and it stays put most of the time. I keep it on a short leash. It speaks only when spoken to.

I'm no Luddite. I make software for a living, for crying out loud. I was browsing the web back when NCSA Mosaic was the only way to do it. But I've worked with technology long enough to know it can help or it can hurt. Cell phones help a lot. But they hurt a lot—you and me. The trouble is: it's not always obvious when they're helping and when they're hurting.

Did you know that talking on a cell phone while you're driving is not much better than driving drunk? Who'd'a guessed? The Human Factors and Ergonomics Society estimates that 2,600 deaths a year happen in the US because somebody was yakking and driving. Driving with a cell is illegal in Britain, Japan, Spain, Australia, France, Germany, and about 45 other countries—not to mention California, New York, and a few other places. Sometimes it's obvious when cell phones hurt, even if we don't want to believe it.

But sometimes it's not so obvious. Sometimes the way they hurt is so small and so subtle that in our enthusiasm for gadgets and chatter we overlook the downsides. And when millions of people around the globe spend so much time talking at pieces of metal—a 2007 Disney survey showed that kids spent an average of three hours and 45 minutes per day on their cells—little hurts can open up a big wound.

Here's an example. Have you noticed that in the last ten years cell phones have changed what the word "with" means?

It used to be that if I was in a car with some friends, I was with those friends. If I wanted to talk, I talked to them. There was no other option. Nowadays I get halfway through my best joke before realizing that what my passenger is laughing at is a text he just received from a buddy in Las Vegas. He's not with me. He's in my car, but he's with his buddy.

It used to be that if I was waiting at the doctor's office I was with my fellow patients. I didn't want to be. I wanted to be away from their coughing and blowing. But I was with them. And if they wanted to ask how old my boy was, I told them and asked how old theirs was. If somebody looked like they were going to faint we fetched the nurse. In our small way we were bound together, tethered with the cords of shared misery. Nowadays that lady who might have asked about my goiter instead gossips with her girlfriend. It's my disease that she'll be catching even though she's not quite here.

With used to mean the people you could punch if you had to. And that's a sensible definition, it seems to me. Nowadays with means the people whose gadgets you can make buzz. Your Xbox Live buddies, your Facebook friends, your contact list. You may never have met these people. You can't smell them, you can't kiss them, and their voices sound like a soup can. But by Jove you're connected.

Cell phones help and they hurt. They help when they connect people who can't otherwise connect. They hurt when they get in the way of real-world connections. And they get in the way more often than we realize. We just don't notice because—well, because we're chatting.

There used to be a song people listened to, back when people listened to the same songs as other people.
If you can't be with the one you love
Love the one you're with
Love the one you're with
Sometimes the hippies took these words a little too seriously. But today the song gives a helpful reminder that the people around us—I mean actually around us—matter in ways that nobody on the other end of a line or radio wave can matter. Real people need smiles and thank yous and having doors held open for them and handshakes and hugs far more than wireless people need them. The way we're with real people is important in ways that no other definition of with can match.

I say we take back with and make it mean something again—something physical and immediate and germ-laden and real. And I'm ready to do my part.

So here's my commitment to you, dear Reader. If I'm ever in your presence, and there's a competition between me being on my cell phone and me interacting with you, you win. Proximity trumps virtuality. So if I'm talking to you and my phone rings, let it ring. If I'm talking on the phone and you walk up, I say a quick goodbye and hang up. If I'm texting and you're talking, hit me in the ear and I'll stop.

If I can't be with the one I love, I'll love you. Not in a hippy way I hasten to add.

Labels:


iPhone 3D Renderer

Friday, June 13, 2008
 2 comment(s) send this post to a friend
iPhone SimulatorProgress on porting Phit to the iPhone has moved quickly this week.

On Wednesday I set out to port my 3D renderer from Windows to the iPhone. This is a renderer I've maintained for several years and which I use in teaching 3D rendering for games at the Guildhall. (A renderer is a piece of software that displays 3D objects on the screen.)

Porting the renderer proved much easier than I expected. Now I can load and display 3D models—like this one from Unreal Tournament 2004—on the iPhone simulator.

I was surprised that the renderer ported over so well. It was written for the PC. On the PC it supports both Direct3D and OpenGL—I stripped out the Direct3D portion. It is quite a large piece of code, with about 40 files or so and maybe 15,000 lines of code. I've only ever compiled it with Visual Studio, and the gcc compiler used for iPhone is substantially different.

I thought the biggest hurdle would come from the fact that the iPhone framework is written in Objective-C, whereas my renderer is all C++. As it turns out, Objective-C files that have the extension .mm happily coexist in both worlds: they can call C++ object member functions as well as Objective-C object methods. So I wrote one or two Objective-C classes to interact with the iPhone OS and framework. I have my two dozen or so C++ classes that make up the engine. And then I have three or four "adapter" classes in .mm files that help my C++ classes talk to the iPhone OS.

I tried to get an iPhone this week to test the code on. (The iPhone Simulator on the Mac tells you nothing about how your code will actually perform on the iPhone. Presumably the iPhone will run quite a bit slower for complex 3D scenes.) Unfortunately, with the June 9th announcement of the new iPhone, nobody is selling iPhones anymore. So I got an iPod Touch instead. But I'm still having to wait because Apple hasn't gotten us our Developer certificate yet. You need that to make your iPhone/iPod Touch into a development device.

So on the one hand I'm learning the iPhone SDK. On the other hand I'm working on Phit, upgrading it for life on the iPhone.

Specifically, I wanted to improve the way the pieces move in Phit, making them smoother and more natural. The iPhone sets a high standard for user interface "feel", and I want iPhit to meet or exceed that standard.

So I'm creating a new physics system for iPhit. It uses Verlet integration to move and constrain pieces, and features a sophisticated collision detection system so that pieces can "stack" and won't pass through each other. The implementation I have now seems to work very reliably, but is slower than I'd like. Still, it begins to give an idea of iPhit might feel on the iPhone. Feel free to try out the new physics and let me know what you think.



Labels: , , , ,


Unsolved Problems in Digital Game Development

Friday, May 23, 2008
 0 comment(s) send this post to a friend
FogI spoke on the subject of "Unsolved Problems in Digital Game Development" at a recent meeting of the IEEE Consumer Electronics Society in Dallas. The talk laid out the current state of game technology, then outlined some problems that remain unsolved. I focused on three problems: Atmospheric Rendering (i.e. fog), Realtime Radiosity (i.e. indirect lighting), and Simulating People (thinking here mainly of the complexity of integrating AI, animation, and physics). I focused on these three because solving them would make such a great difference in the video game experience.

In truth, interesting possible solutions for all three of these problems have appeared in recent years, so they're not entirely unsolved. I showed several videos of these early solutions in action. The group seemed to enjoy the talk, and I enjoyed giving it. A PDF version of the talk, with links to the videos I showed, is now available.

Labels: ,


Slip Sliding Away

 0 comment(s) send this post to a friend
iPhoneI'm still in the honeymoon phase. I just discovered that I could add Phit as a widget in the Mac Dashboard and play it any old time just by touching a button. Now that's good mashup.

Last night I discovered what Apple means when it talks about an "always on" policy, and again it has made me sad for the PC. On the PC, "sleeping" your system involves several seconds of the system semi-shutting down. Waking the system takes several seconds, and then you have to log back in. On my Mac, sleeping takes no time, and waking up takes no time. I close the lid of the laptop, it's asleep; I open the lid, it's awake. Why can't the PC do this?

I'm searching for a good alternative to Office 2007. Mellel and Nisus both look tolerable. We'll see.

It sounds like I'll need to use OpenGL ES as the drawing system for iPhit. Apparently it's the fastest option for games. I'm well familiar with OpenGL (I teach OpenGL at the Guildhall), so this should be a quick point of entry for me. But I'll run some performance tests early on to verify that I can get 30fps (that seems to be iPhone's max frame rate) with as many moving elements as Phit uses.

I also had a game design thought for iPhit. What if the user could tilt the iPhone in order to make all the pieces "fall" toward gravity? Obviously this would need to be something the user could enable or disable quickly—otherwise it would be too easy to screw up your game with an accidental tilt. But assuming it was controllable, it might offer a neat way to quickly shunt all the pieces off to one side of the board, or to reset the level by sliding everything up toward its starting position. Just a thought.

Labels: , , ,


Speech Impediment

Thursday, May 22, 2008
 0 comment(s) send this post to a friend
iPhoneI just played my first round of chess on my new MacBook using only my voice. The Mac has amazing speech input support. I can make chess moves just by calling them out—"Computer, pawn at e2 to e4." And I'm thinking, "Why have I never used speech input on my PC?" So I click the Speech icon in the Control Panel in Windows—I don't think I've ever clicked it before—and, oh yeah, XP does have speech recognition ("if installed," it cautions). I just never thought to use it before. Because the Mac is unfamiliar, it's forcing me to rethink how I use computers, and I'm discovering all sorts of new ideas.

I suppose it's a bit like moving to another country. In the early '90s I went to college in England and suddenly discovered I was a child again. I was startled by street markings. I didn't get certain grown-up jokes. I was delighted by TV shows that seemed fresh and new to me, but which—I would later realize—were actually banal.

PC users must never look at Spotlight in the Mac OS. It allows you to do a sort of Google Search with Suggestions in real time on your system. On the PC I use Google Desktop Search, but Spotlight is faster and even more friendly. And it comes with the OS. I guess Vista has something like that, but who cares?

I installed the iPhone SDK and played with the iPhone Simulator for a bit. Then I tried to get their HelloWorld project working and was astounded that it failed to compile. I have implemented hundreds—nay, thousands of HelloWorlds in my twenty-five years of programming, and I don't recall one ready-made by the SDK developer that instantly spewed out a hundred error messages. No doubt I just have a setting out of whack somewhere. Still, it's a little worrisome.

Labels: , , ,


iPhit: Porting Phit to the iPhone

 0 comment(s) send this post to a friend
iPhoneThis week I start a new project. I'm porting Phit to the iPhone. The FedEx man just dropped off my new MacBook—my first foray into Mac. Liam uses them at school, so he initiated me. He showed me the button on the bottom of the Mac that tells the battery life. He helped me figure out which power cord to use. He assured me that the white light on the front of the Mac bodes well rather than ill. Then we formed a GarageBand and recorded our first megahit.

I considered a Mac a few years ago but chickened out at the last minute. No right mouse button? No delete key? Why don't you just cut off my arm?

This time I have no choice. I'm making a game for the iPhone, and the SDK requires a Mac. So here I sit, searching for a Home key that doesn't exist (though Command+Left Arrow does much the same thing). Isn't it a little bit ironic, considering Apple's 1984 commercial, how totalitarian is their approach to user interface?

The Mac interface is so slick, though. A high-energy, full-screen movie greets me on startup. Everything is smooth and colorful. It's a beauty bath. I go back to my PC running Windows XP, and it's like watching an old Land of the Lost rerun. Great special effects, for the time.

My goal is to get Phit ported over soon after the iPhone AppStore opens. Daniel McNeely (of ArmorGames) and I have partnered to make it happen. We think people will absolutely love Phit on the iPhone. What do you think—how does Phit with multi-touch sound to you? You'll be able to drag two pieces at once, yank this one out of the way to get that one past. Sitting on a train. Or driving your car. It will rock.

You haven't played Phit? It's a simple puzzle game I made last year that you can play on the web. Try it—it won't bite. Though people do tell me it's addictive. I had a note from a lady who was quitting smoking and using Phit as a replacement.

Over the next few weeks I'll keep you posted as I delve into the dark, mysterious, vaguely Fascist world of making games on the iPhone. Check back often or you'll totally miss it, and then your friends will ask if you saw the last awesome post and you'll have to admit you didn't and then they'll realize you suck.

One last question. Who thought it was a good idea to sharpen the edges of a laptop?

Labels: , , , ,


To Print or To Post?

Saturday, August 18, 2007
 12 comment(s) send this post to a friend
On Wednesday I wrote the article friends have told me to write for years. It tells how I suffered from depression between the ages of eleven and thirty-one, and the miraculous way I came out of it. I know a lot of people who struggle with depression, though not a lot of them talk about it openly. I know very few people—in fact, I can't think of any offhand—who have gone from deep depression to zero depression as I have. So I believe my story has value. I want people to read it. I want as many people as can be helped by it to read it.

You could be reading it right now, except that I haven't posted it here. Why not?

Answer: I don't know why not. Frankly, I'm wavering between the worlds of print and online publication. Come, waver with me a spell.

Print

Print publication has several advantages over online. If I publish my article in a magazine, for instance, they might pay me. Now with an article on depression, payment seems like a piddling issue—rather mercenary, really. If I were writing about trends in men's haberdashery over the past 50 years I would expect to be compensated. But writing an article about depression is a giving thing, a healing thing. I'm not above taking money for my work, but if money were the only obstacle it would be no obstacle at all.

Generally speaking, print magazines pay and websites don't (or do only through indirect means—more on that later). All other things being equal, payment is an advantage of print.

Clout is another big advantage. If you tell someone, "I just had an article published in Relevant magazine," they know you've achieved something special. If you tell someone, "I just posted an article on my blog," they say, "So'd my mother." Online "magazines"—with a few exceptions—don't fare much better than blogs in the Great Chain of Clout that society tacitly upholds. I've had a few articles on Relevant's site that didn't appear in the magazine. Appearing on their site is worth something, but not as much as appearing in the paper version. Print is your respectable older uncle—he's getting a bit past it, but he's got moneybags and he still talks the best game in town.

Print magazines and newspapers will continue to diminish in the face of online competition. Books, however, will remain unthreatened by their online variations for a long time. I want to publish books, and that means I have to impress book publishers. So I care about where my articles appear.

Circulation can be an advantage of print. Many magazines have tens or even hundreds of thousands of readers. Though not every reader is guaranteed to read every article, if you get an article into a magazine, you've got a shot at thousands of eyes. In my own experience, blog posts rarely receive as many as 1,000 readers. So all but the most popular blogs reach fewer people than magazines do.

I can't ignore print. The promise of payment, clout, and circulation make me want to keep trying to get my articles into magazines. But there's more to this story than meets the eye.

The Few, The Proud

Magazines sound great until you realize how few there are. Last spring I took a class in journalism. Our first assignment was to identify potential markets for our work. I had always believed there were hundreds of magazines that might publish my writing on Christian topics. In truth, there are somewhere between two and six.

That's because the vast majority of magazines are highly specialized. If I was a Seventh Day Adventist I could shoot for the Seventh Day Adventist magazine, but I'm not so I can't. If I was interested in writing sermons for busy pastors to copy and pass off as original to their hapless congregations, I could target one of several magazines that specialize in this racket, but I'm not so I won't. If I were a graduate of any of a number of universities or seminaries, I could get published in their magazines, but I'm not so I can't. If you take a list of all the Christian periodicals in existence, then scratch out the ones that are exclusive to certain group memberships, that feature highly specialized kinds of writing, that have very small circulations, or that are just plain weird, the resulting list consists of about ten magazines. But then each of these are specialized as well. I could write for Today's Christian Woman—I could! An article on depression, for instance—but normally my thoughts don't significantly cross paths with TCW's editors. Christianity Today is not highly specialized, but good luck getting published there. The CT editors have to actually watch you being circumcised in order to consider you for publication. By a certified freemason. It's in the masthead.

So for me that leaves Relevant—which is right down my alley, actually—New Man, Discipleship Journal, and uh... well, those.

If my mission in life were to see my articles in top-tier magazines, I would find a way. I would figure out what lower-tier magazines want and write that. Then once I had accumulated some under-clout I would cash it in to get the attention of top-tier magazines, figure out what they want and write that.

Here's the rub: I don't care. I am not a journalist. I am not even a writer. I'm a person who lives and thinks and stares and studies and teaches and thinks some more. My words are the polished poop of those activities. If I see a compatibility between what a magazine wants and what I like to think about, I'm happy to find a compromise there and write something suitable for the magazine. But I can't find the motivation to climb the writerly ladder, churning out whatever is needed in a broad area of interest just to see my articles in print every few months. I like to set my own agenda for what I think and write about.

My desire to follow my own muse in writing combined with the small and specialized world of print magazine publishing means I'll only get published rarely, if at all. There are simply too many constraints. Thus the appeal of the online world, where constraints are all but missing.

Democratic News Aggregation

If I decided to publish my article on depression online, it would take me about ten minutes. That's quite a bit faster than the several months it typically takes with a print publication. I would post it to my blog, then advertise it via reddit and Digg. Even if the article was absolute rubbish, I could bank on at least twenty visitors reading it in the first hour. If those visitors liked it they would upvote/digg it, ensuring its propagation to more visitors. Potentially, tens of thousands of visitors could catch wind of the glory of my article and, within the space of a few hours, flood my site to read it.

The impact of democratic news aggregation services (like reddit and Digg) on publishing is nothing short of revolutionary. I've been with the web since NCSA Mosaic; I've seen lots of nifty fads come and go; I am not one to wax lyrical on the Power of the Internet. But democratic news aggregation (DNA) is really something special. The word "Gutenberg" wants to slip in here, but I'll avoid the cliche. Point is: DNA fundamentally improves the way idea-producers move their ideas to idea-consumers.

In the past, when an idea-producer (for instance, a writer of an article like myself) wanted to get his idea out into the world, he had to go through one of a relative few idea brokers: newspapers, magazines, book publishers, TV networks, record labels, art dealers, film studios, game publishers. These idea brokers did everything. They screened out "unsuitable" ideas (though their idea of "unsuitable" might not match yours). They picked out the "best" ideas. They packaged them up with other ideas as well as paid advertising, then marketed and sold the package to consumers.

Traditional Media

This isn't such a bad system—after all, the world lived with it for 500 years—but it certainly had its problems. It put a great deal of power in the hands of a few to decide what the public should and shouldn't see. But speaking more sympathetically, it left brokers with an incredibly difficult job. In a world where thousands of great ideas are spawned every day amid millions of inferior siblings, idea brokers had to constantly pick through the muck to find the stars. I'm told book editors go through hundreds of book proposals per week, yet only publish a few a year. Record company A&R reps comb through dozens of CDs a day, most of them ear-splitting rubbish.

So consumers lost because idea brokers often made bad—sometimes pernicious—decisions. Idea brokers lost because they were constantly awash with crap. And idea-producers lost because they discovered they were Legion—each of them a single, tiny, humiliated voice among millions.

The arrival of sites like reddit and Digg announced the death—or at least the gradual marginalization—of this system. It's the old strategy of dumping the middleman. Actually, in this case the middlemen didn't entirely disappear. Rather, they were replaced by software that distributes the task of sorting through muck to hundreds of willing consumers, effectively promoting them to micro-editors. Now it's not the magazine editor that decides what gets published, but an ad-hoc focus group of readers momentarily formed to evaluate articles. If they like an article, the software shows it to a wider group, and so on and on. If they don't like it, it dies on the vine.

Democratic Media

There are major societal advantages to this system (though risks as well—subject for another post, I think). When voters are the media, they can no longer complain about media bias. But as an idea producer I benefit from this system as well. Before DNA services came along, when I posted a blog article I could only hope that a search engine found it and popularized it. This almost never happened, at least to me. Now I can submit my articles to DNA services and receive an instant, fair assessment of the article's appeal to ordinary readers. If people like it, they come. The more people like it, the more come.

The Joy of DNA

Back in March I posted an article on Paul's use of the word skubala in his letter to the Philippians. I sent it to reddit on a whim, and within hours it had received over 200 votes and 20,000 visits. Reddit readers tend to be atheist Bible-bashers and they liked hearing that the Bible contains the word "shit." Many of them also liked the deeper message about legalism and grace. They upvoted and left comments. The article found its public.

How else would that article have gained a readership? A Christian magazine editor would have roasted me on a stake rather than published it. A secular editor simply wouldn't have cared. But readers wanted the article, and reddit helped them find it. That's the promise of DNA services in a nutshell.

When my article on skubala went large, I enjoyed some of the benefits of print. Twenty-thousand readers is good circulation, even by print standards. I gained a little advertising revenue, which meant I got paid (though very little). But there were other benefits that print couldn't have offered.

When visitors read my article they came to me. That meant I could watch their traffic patterns and statistics. My site, not a magazine, gained their praise: if they bookmarked my article, they bookmarked me. They read other articles I'd written. I was the publisher; I was the host; I gained direct contact with readers.

Best of all, visitors could comment on my article, giving me instant feedback on how it struck them, what they thought and liked and hated. With a print article I might get a few letters to the editor over the course of several months. With my blog post I got scores of comments in a matter of hours. For anyone who cares about how his writing impacts readers, comments are priceless, and print really can't compete in this area.

How Cool is Democracy?

None of my subsequent posts have done nearly as well as my article on skubala. In the last couple of months my articles have received between 60 and 400 views each.

I value those individuals who do read my site. But honestly, when you've had 20,000 visitors in a single day, 400 a month is a bit of a letdown. This is the downside to DNA services: they're too damned fair. You only get mind-blowing numbers of visitors when you blow visitors' minds.

That's OK. I'm not asking for people to read my stuff against their will. I expect myself to write well in order to be read. But there is a problem with DNA services that is interesting, and it's part of the reason I haven't completely dismissed print.

The problem with democratic news aggregation services is that they are democratic, and democracy sometimes sucks. Take reddit for instance. Although reddit is democratic, the "society" of reddit—the body of voters registered with the service—is highly idiosyncratic. Reddit users tend to be left-wing, technical, and anti-Christian. Articles with a rightward (or even centrist) slant tend to get hammered. Articles about Christianity tend to do badly (unless they're ridiculing it). The trick with my skubala article, though I didn't intend for it to come across this way, was that the article seemed at first glance to bash Christianity, but actually had a strongly Christian message.

I write about Christianity quite a bit, and what I've found is that the democracy of reddit, as well as Digg, doesn't care to read about Christianity. Articles on Christian topics generally do badly on DNA sites. If Christians use reddit and Digg, they don't use them to find Christian material.

My particular niche is Christianity, but anyone writing about niche topics will do poorly on DNA sites. The greatest writer in the world on the topic of quilting will never get a hearing on reddit even if thousands of reddit users love quilting. It's what you learned in Civics class: majority rules, minority rights. With DNA services, the majority rules. But there is no court system, no defense for the niche. The minority is crushed.

"So," you think, "why don't Christians, quilters, and other freaks open their own reddit/Digg-like sites to help them find good articles?"

Well, it turns out there are two such sites for Christians: GospelShout and blogs4god. I have two problems with these sites. First, although I often write about Christianity, I rarely write specifically for Christians. When I post to a Christian-only site, it feels like self-ghettoization of the worst kind, hiding my work from non-Christians and lite-Christians who would enjoy the work but would never visit such places.

Second, these sites are beyond lame. A front page story on Digg often receives more than 1,000 votes. Front page stories on GospelShout typically have three—you heard me—three votes. Blogs4god does slightly better, with leading stories gaining as many as six or seven votes. These sites get little traffic.

Welcome to My Pain

I began this article by inviting you to waver with me over the question of whether to send my article on depression to print magazines or to post it to my blog. Here's another data point: I actually sent the article to an editor at New Man on Thursday. He said he loved it, but turned it down because it was written from a first person rather than third person perspective. It's not in the style of his magazine. Hey, that's fine; I value stylistic consistency.

There's one other magazine that it would be great for: Relevant. Except that I've sent quite a few good ideas to Relevant over the last several months, and though I've published a few pieces through their online arm, their print arm has never even replied to my queries. Maybe they'd reply this time. In a month. Or three. Or when we see each other in heaven. Or I could just post the article and send it to the DNAs in minutes. I reckon it could get some traction on reddit, maybe. Unless it's deemed too spiritual. In which case it will stagnate on my site, blessing the occasional lonely wanderer who happens to run across it via a Google search for "depression miracle dark.crystal".

What do you think? Any advice? I'm all ears.

Labels: ,


Bringing the Server Home

Saturday, June 23, 2007
 2 comment(s) send this post to a friend
The web is faster than the applications installed on my local computer. It takes Excel 15 seconds just to open a blank spreadsheet. Yet I can bring up a blank Google spreadsheet in less than a second. Windows Search takes minutes just to search a subfolder on my hard disk, yet Google can search billions of pages in milliseconds. (Google Desktop search has helped to close that gap, thankfully.) I get more done, faster, through web apps than through local apps. They just work faster.

And that's a shame, because here at my fingertips I have $2000 worth of Dell XPS laptop goodness. I have a dual-core CPU, a few gigs of RAM, and a hard disk dedicated to serving me. Yet they serve me worse than sites thousands of miles away who see me as one anonymous visitor among millions. I'm beginning to wonder why I bother spending money on applications and nifty hardware when Firefox and a cheap computer would serve most of my needs.

It seems there's a lost opportunity here for those who make personal computers and software. They've dropped the ball, and Web 2.0 services have recovered it—now they're sprinting for a touchdown. But I don't think it's too late for personal computers to be more than windows to the web. Personal computers are, after all, personal. They are typically dedicated to a single user or a small set of users. They are local—that must be worth something in terms of speed, efficiency, and user-knowledge. Why do they work more slowly than the web?

The hard disk has a lot to do with it. When I ask my computer to open a spreadsheet, it runs a tangled obstacle course of file accesses to give me what I want. It has to find the spreadsheet file, open it, figure out it's a spreadsheet file, and decide what application is meant to open that kind of file. It then has to find the application executable file, open it, find out what other data files and DLLs the file relies on, and open them. It has to create new processes and windows, allocate new memory, load and process bitmaps for buttons and so forth—it has a lot to do.

Every one of these file seeks and accesses takes time. Computer CPUs and RAM have gotten very fast, but hard disks still run on geologic time. So every time I ask my computer to do something new—something that involves new files and applications—I enter the microcomputer equivalent of the long dark night of the soul.

What I've just described is actually the worst-case situation. If Windows has no idea I'm about to open a spreadsheet program, then it has to go through all this file-opening rigamorole. More recent versions of Windows avoid some of the slowness by caching the programs and files that I use frequently. If I open Excel, use it for a while, then close it again, Windows doesn't fully close it, but keeps it near at hand in case I ask for it again. After I've used a program once, I can usually open it much faster the second and third times.

Still, it's rarely fast enough. It may take 5 seconds rather than 15 to open Excel, but 1 second to click a link to an online spreadsheet and open it. How in the world are internet servers still faster than my computer?

Specialization is the keyword here. When I ask Google Docs to give me a new spreadsheet, it says, "You know, it's funny you should ask because I was just thinking about that. I was just thinking about spreadsheets and how I might best serve you with one. Here you go." Google Docs spends all its time thinking about how to give me a spreadsheet, so when I ask, it's ready.

When I ask my computer to give me a new spreadsheet, it says, "Huh? Tetris? What? Oh, you're changing the subject. Wait, what did you say? Spreadsheet? I can't remember what that is... Oh! Yeah, I can give you one of those. I've got one lying around here someplace, somewhere under this pile of documents and applications. Give me a sec'..." My computer is a generalist, not a specialist. It can do for me anything that a computer can do—play a game, write a document, edit pictures, crunch numbers—and that's a useful quality. I tell my computer where to go, it goes there. But not instantly. It has to pack for the journey.

A web site, on the other hand, cannot do anything or go anywhere. A web site, typically, is dedicated to doing one thing, doing it well, doing it en masse, and doing it—hopefully—fast. Lulu makes books. Blogger manages blogs. YouTube serves video. Each of them performs its specialization competitively with other specialists, and that competition quickly makes them skillful, useful, and quick.

If switching between websites took a long time, the web would be much like my computer. I would work on a spreadsheet for a while, then wait while switching to a gaming site. The web is not like that. In fact, with tabbed browsing I can switch instantly between totally distinct specializations. I can go from blogging to reading an article to playing a game in less than a second. Through the web I get the specialization of individual sites coupled with the diversity of the mass of all sites. Even the personal computer's trump card—generality—is outdone by the web.

Personal computer applications do provide some advantages over the web. They can keep working despite network outages. All things remaining equal (like, in the absence of trojans), they offer greater privacy and security. And after all, there is this vast, untapped "X" factor: a personal computer should be able to know its user better than anyone. It can learn which words he tends to misspell and fix them automatically (or coach him, if he asks for it). It can know he tends to log on at 9 AM and browse the news. It can be ready for him to play Counter-Strike next Friday night, just as he usually does. Web sites personalize their services to a certain extent, but that's not their natural advantage. Personal computers should work harder to understand their users and anticipate their needs, because that is their natural advantage. They can dedicate gigabytes and whole CPUs to the problem; websites cannot.

Still, no matter how much my computer studies me and attempts to cater to my every whim (which, by the way, it will never be all that good at, because people are complex, unpredictable, and hard to understand—even by other people, much less a computer), if it can't open a spreadsheet quickly, it is going to lose to the web.

Here's a proposed solution. Why not make personal computers more like the web? If dedicated servers are so effective at serving files and applications quickly, why not make each personal computer like a collection of servers?

Instead of having one large, fast hard disk, put several smaller, perhaps slower ones into each personal computer. Likewise, include multiple, separate banks of RAM, separate buses, and separate cores. (To a certain extent, hardware is already going this direction.) Now, for each commonly-used application, have the OS dedicate a single HD/RAM/CPU sub-computer to that application. In effect, set up a server inside the computer specifically for serving Excel, for instance. Now when I ask to open a spreadsheet, the Excel sub-computer says, "Right away, sir! In fact we've already cached the last forty spreadsheets you opened, the three spreadsheets that arrived in the mail this morning, two new spreadsheets we downloaded from your favorite websites, and all your favorite templates in case you're thinking of making a new spreadsheet." Excel would own a sub-computer, Word another, Counter-Strike another, Firefox another. All the applications you use the most would operate continuously on their own local servers, anticipating your needs, ready to spring to your aid the moment you ask them, positively slavering to pander to your every whim.

What about applications you use less often? Well, they can share sub-computers easily enough. Indeed, the OS can analyze which programs you tend to use together as opposed to those you tend to use separately, and group separate programs onto common sub-computers since they're less likely to be requested simultaneously.

Maybe hardware and OS producers are already planning something like this. I sure hope so. I use tabbed browsing for so much of my work now that I'm thinking of remapping Alt-Tab to toggle between browser tabs instead of applications.

Labels:


When Web Commerce Goes Wrong

Wednesday, June 06, 2007
 4 comment(s) send this post to a friend
Yesterday morning I visited sprint.com to check out their phones and plans, and noticed a strange problem. In Firefox, the page listing their phones flickered constantly, as if repeatedly refreshing itself. I found this a little disconcerting—should I trust a technology company with a broken website?—but decided to go with Sprint/Nextel anyway. They had the cheapest plan, the cheapest phones, and their coverage map showed better coverage at my home than any other provider.

In fact, it was clear they were in the middle of upgrading the site. Between Monday and Tuesday the look and feel had changed. On Monday they would ask you up front if you wanted to deal with Sprint or with Nextel; by Tuesday this choice had disappeared, and you could go directly to selecting phones without worrying about which branch of the company you were dealing with. I figured they were having some hiccups with certain browsers, but surely the site would work well enough when it came to real interactions.

Still, I didn't make an order right away. Later in the afternoon I went back to sprint.com and placed an order for two phones (one for my wife and one for me) and a plan. The whole process seemed pretty user-friendly and smooth—until I came to the very end. After I had gone through the credit check, after I had given them my address and credit card number, after I had attempted to transfer the numbers from our old phones (unsuccessfully), then at the very end I got a page that said, Error. Transaction failed. Our servers our funky right now. Try again later—or something to that effect.

Uh-oh, methought. Did the transaction go through or not? I watched my inbox for a confirmation email for half an hour or so, and nothing came through. So methinks: When they said transaction failed, I guess they meant the whole shebang.

So I go back to the sprint.com website with the intention of emptying my shopping cart and saying goodbye to Sprint/Nextel forever. But when I click the "remove all items" button, the site doesn't empty my cart. Instead it gives me an offer for a $50 rebate on my purchase. So here's a handy tip for consumers: If you make an order at sprint.com, first fill up your cart, then try to empty it, because they'll give you a hefty rebate.

Ordinarily I'm the sort of person who runs screaming when companies do this sort of thing: I like to buy what I want, not what people want to give me a quick "deal" on. But in this case I decided that the extra $50 made it worth another try. I wasn't going to find a better deal from another provider.

So I went through the ordering process again. I do another credit check (ouch—haven't I heard that it counts against your credit score every time you have a credit check done?), enter my credit card number again... Interestingly, though, this time the site lacks an option for transferring my old phone numbers over. Does it remember the previous failure? Or are they still updating the site on-the-fly, so that an option that existed 30 minutes ago has now been retired? Could that be the reason the first transaction failed?

So I submit a second transaction. Guess what? It fails again—with the same message.

Well, obviously that's a deal killer. Sprint wants to sell me communications technology but their web front end can't communicate with their server back end during a sensitive financial transaction. My trust and patience are spent. I go to another provider and order my phones and plan there.

That's when the nightmare began.

Well, actually it began this morning when I received two emails from my bank saying, "Um, it looks like you've got some fraudulent activity going on in your checking account. Better call us." So I don't call them (my old cell phone is caput—that's why I'm trying to order new ones), but I check my account online and see what they're looking at: Two orders from Sprint totaling almost $300, along with another from my new provider.

Let me be clear: sprint.com told me the transactions failed. I never received a confirmation email, an invoice, a receipt, a final "please print me" screen—nothing like that. Sprint just charged me. Twice.

I consider placing a stop payment on the charges, but they seem to have already posted. Either way, if I can get Sprint to refund me, this problem will soon be a distant memory. So I decide to call Sprint immediately.

The charges in my bank account are listed as coming from Sprint.com, and they have a toll-free number embedded. So I borrow a phone from a friend and call the number. I navigate a voice menu. The nice robot lady asks me for my account number. I don't have an account number, I explain. She doesn't understand—she says it's all the same to her if I use my Sprint phone number rather than my account number. I don't have a Sprint phone number. When she realizes I'm numerically challenged, she forwards me to a real person with a real Indian accent.

Now, you need to understand. I love India and I love Indian people.
We took the kids to an Indian culture festival a couple of years back, we love India so much. And I don't begrudge companies for outsourcing their customer service to India—though it does, one must admit, say something about the priority that they put on customer service that they consider it something they can offload overseas. But Indians need the jobs; and they usually speak English very well. Yet, one does get the sense that a customer service assistant who is 8,000 miles away is somehow detached from one's problems, doesn't one? And what I'm needing is engagement, not detachment, because this company, after all, has just defrauded $300 from me (as another of their customer service reps will later admit. Stick around.)

But this is a real Indian accent, meaning that I can't understand her. I explain my situation, my lack of an account number or phone number, my experience with the site. I'm not sure if she gets it. But she tells me she needs to connect me with Sprint customer service. Which confuses me, because that's who I just called. "No, we're Nextel," she says—at least, that's what I think she says—and forwards me to another number.

So I navigate a menu, and talk at a robot lady, and talk to another customer service rep, this time an American. He is surly and brusque, not friendly-and-incomprehensible like the Indian girl. I explain the situation again. He puts me on hold. The music is a pleasant 70s-era vibraphone ensemble. He comes back. He can't find me in the system. "Did you order by phone or through the site?" I explain again that I ordered through the site. "Ohhhh," he says, as if experiencing an epiphany. "You'll need to speak to the web department." I think this dubious, but what choice do I have?

I call the number he gives me. Menus. Robot lady. On hold (Vivaldi this time). Indian again, a young man who sounds rather coy and nerdy, but with excellent English diction. I tell him the story. He takes my name and social security number. On hold. He comes back. I'm not in the system, he explains. I need to speak to Sprint's web department, he says. "I thought this was Sprint's web department," I say. "No, this is Nextel's web department," he replies.

Now at this, I must confess, I begin to feel a bit miffed. So I explain to him that I've just spent an hour on the phone being given the runaround and I want him to solve my problem. So he tells me he'll call Sprint's web department on my behalf and sort it out with them. He puts me on hold. Flight of the Bumblebees, punctuated by "We value your call" announcements. Ten minutes later, he's back. "You're not in their system either," he informs me. I can see I'm just getting started.

My journey through the bowels of Sprint's customer service system takes over 4 hours. I dial 8 separate numbers and am forwarded to countless others. The high point comes when I contact "Customer Care" (snort!) at the suggestion of a rep who thinks that although I'm not registered as a customer with Sprint or Nextel—despite the fact that Sprint/Nextel just charged me $300—as I've tried the billing department, credit check department, and new sales departments for both phone and online sales for both Sprint and Nextel respectively, then "Customer Care" is no doubt where I'll get the help I need. I call Customer Care, and after going through the usual rigamorole end up with a young, hip, gum-chewing Indian man who immediately asks to put me on hold and then does. Except he doesn't—his finger misses the hold button, apparently—and I hear him kibitzing in Hindi with his friends. The only word I recognize is "pizza." When he comes back, I begin to explain my problem, but he cuts me off in mid-sentence and says he is forwarding me somewhere.

"Worldwide Services," the lady announces.

"Uh, say again?" I reply.

"Sprint Worldwide Services," she repeats.

I stammer, I grunt. "How— why did I end up at Worldwide Services?"

She hesitates. "I don't know, sir. I have no information about where you—"

"I was just speaking to Customer Care and the next thing I know I'm speaking to— I don't understand why I'm—" And here, I must admit, I really thought I was going to cry. But I didn't. I'm a man, and I was born before 1980. Tears, no; lump in throat, yes.

In these few moments interacting with this woman I can tell that she is an older, Southern black lady and that she has a comforting, experienced, kind-yet-no-nonsense attitude to life and customer service. Don't ask me how I know—you can just tell these things.

So I say to her: "Look, I need some help. You're just going to have to play psychotherapist for a minute. I've been getting tossed around the Sprint/Nextel phone system for the last 4 hours. Nobody seems to be able to or want to help me. And I'm all out of ideas. I just— Could you help me figure out who can really help me?"

And in a comforting, maternal, patient voice, she says, "Of course I can, honey. Why don't you just tell me what the problem is." This makes me want to cry more. But I don't.

So I tell her. And she gives me advice.

"The first thing you need to do is to call your bank and have them put a stop on the payment." I tell her I don't think it'll work, but it's worth a try. She says, "If you want to put me on hold, I'll wait while you call them and take care of that." Wow, I think, somebody at Sprint (she turns out to be at Nextel, actually) finally knows how to serve customers. But I tell her the phone I'm using doesn't have a hold feature. I'll call the bank after she tells me how to deal with her company.

She explains to me that the Sprint website screwed up. It charged my credit card but didn't complete the sale. I'm not even in the system. They might send me the equipment, in which case I can just refuse it—but they might not. "You need to call your bank," she says, "and let them know that there has been a fraudulent purchase made from your account—because that's really what it is—and you want to stop it before it goes out."

So I thank her, and say goodbye, and call my bank. They tell the charges from Sprint had gone through immediately; a hold was never an option.

* * *

If you look on the sprint.com site, you'll see a link to "Contact Us." If you click it, it will take you to a link for email support. If you click that, it will take you to a page titled "Email Sprint Support." You select whether you're a current customer or not, a topic for your email, a subtopic, and then type your message into a tiny text area—oddly, it has a 52 character limit. When you click "submit," another page summarizes what you entered, then gives you a list of search results from their support FAQs. Not very helpful.

Below the list of search results is a message: "Didn't find the information you needed? Call Sprint Customer Support at 1-800-SPRINT1 for further assistance." (I like how the word "needed" implies that perhaps, just maybe, in the space of time between when you clicked the submit button and now, your need became a thing of the past.) And then there's a back button. That's it. The heading says "Email Sprint Support," but there is no way to send an email. If you want help from Sprint, you have to use the phone.

Labels:


Why is Digg so boring?

Thursday, March 29, 2007
 13 comment(s) send this post to a friend
The lead story on Digg right now is "Rosetta@Home Distributed Folding Coming to Xbox 360?" I don't know about you, but I find that headline positively yawn-inspiring. I like the Xbox 360 and I like the Rosetta Stone, but I don't know about Rosetta@Home. "Distributed folding" makes me think of a laundry sweatshop—it's just not a captivating idea to me. But the arrival of a particular brand of distributed folding to local game machines excites many people, apparently, because they voted it to the number 1 spot on Digg.

Over on reddit, the hottest news item is "One woman fighting an army (pic)." Now there's a link that wants clicking. Maybe you disagree—there's no accounting for taste—vote me down if you think I'm weird. I think I'm not: I think the promise of a picture of a woman vs. an army plainly outranks the promise of... of some incomprehensible Rosetta-folding-thing embedded in an incomprehensible gerund-laden sentence.

Just below the news about folding is, "Microsoft prepping component to HDMI adapter?" The question mark tells us we're dealing with a rumor, I guess. You know, TVs are neat, especially the big new flat ones, and adapters greatly impact the quality of many display systems, yet I still just can't get excited about a whole article on a little electronic plug. What I'm struggling to understand: Do Diggers really care about this stuff, or is Digg just broken?

reddit and Digg are similar in concept. Presumably the technology behind the systems is largely identical. So why is it, when I browse reddit, that I quickly find myself engrossed, whereas when I browse Digg, I quickly find myself dozing?

I have no investment in either site. I don't care which is better. When I first sniffed around reddit and Digg a month ago, both intrigued me, and I divided my browsing time between them. In fact I rooted for Digg at first. It's prettier. Digg Labs rocks. The Digg button for my website worked effortlessly whereas the reddit button resizes oddly (I told reddit; they replied; they still haven't fixed it).

Then after a couple of weeks, I noticed something weird: whenever I browsed the news, I always ended up at reddit. I just liked it better. So I asked myself, like a man courting two women, liking them both, seeing that the one is prettier and nicer and has better long-term marriage potential and that the other is uglier and rougher, yet preferring the latter and being unable to account for his feelings—"Perhaps it's her informality, perhaps it's just the way she makes me laugh," he says—thus did I ask myself, "Why do I prefer reddit?"

It's the Little Things...

Here are some reasons.

(1) Digg stories bore. I find myself trolling through pages and pages of Digg stories and rarely clicking. On reddit I find about 60% of the headlines interesting. Reddit stories are, on average, more interesting than Digg stories.

(2) Reddit has a better information-per-eyefull ratio. On my monitor I can see 25 reddit headlines in one glance; on Digg I can see 6. And those 6 are clogged with Digg buttons, icons, various font colors and sizes, and a pointless story description. Why do we need a description? If you want to know if the story is interesting, just click, for crying out loud. All the little jinglies that make Digg attractive to newbies make it tedious for daily use.

(3) Digg Capitalizes Its Stories. Like That. Not always, but more than reddit. And somehow it puts me off. Digg headlines just don't scan as well as reddit headlines. Capitalization Makes Words Plod. Reddit headlines—usually, not always—scan more nicely.

(4) Categories stink. Digg asks story submitters to categorize each story. Reddit throws all stories into one big pile. You'd think categorization would be a good thing—divide and conquer and all—but in a democratic news recommendation service, categories defeat the purpose. What is Digg but a personalized, fuzzy categorization service? It makes rigid, human-picked categories redundant. It undermines the very thing Digg wants to do: automatically recommend news based on affinity. I wonder how much of the reason Digg's stories stink lies in its recommendation algorithm hobbling along on the crutch of manually-selected categories. Maybe if Digg got rid of the crutch, their algorithm would get better.

(5) Digg stories are harder to submit. Here's a final complaint, and it applies only to people who submit stories, but I wonder how much it feeds into the overall quality of Digg. To submit a story to reddit, you type in a headline, then click submit. That's it. To submit a story to Digg, you type in a headline, then a description. Typing the description evokes a feeling somewhere between stage fright and frustration, as you struggle to summarize for the public in less than 350 characters. Assuming you make it through the intimidation, you now have to pick a category among a number of arbitrary options. Then, before you submit, Digg informs you that your story is old hat and asks whether you really want to submit it. You insist you do, then lean back scratching your goatee: Why all the hurdles? Do Digg developers feel they need a filter to cut back on the number of stories users submit? Well, that would be sensible—except, isn't the whole point of a democratic news service to let users decide if a story is worthwhile? It's like putting a surgical mask on a baleen whale. Why do you need a filter? The whole system is a filter.

There you have five guesses why Digg works less well than reddit. But you know, these problems are really quite minor. Could they really have such a large effect on how these services ultimately operate? Although I'm sure there are many other differences that have equally big—or bigger—effects, even these five could seriously impact the overall service. That's because Digg and reddit are feedback systems—glorious feedback systems.

Feedback

Recommendation databases like Digg and reddit are complex, highly recursive, organic systems. Like rain forests, playgrounds, and stock markets, Digg and reddit consist of myriad feedback loops. Stories beget votes beget news beget comments beget stories beget comments beget votes—and so on and on. And wherever you have feedback, you have the potential for what we might call Resonance Cascades [ah, the memories]. In a feedback system, small initial variations collide and expand and fold [argh, the memories] back upon themselves to create massive higher-level effects. Yes, I'm talking about chaos theory: Butterfly in Bangladesh Brings Blizzard to Bangor and all that jazz.

So very, very tiny differences in the implementations of Digg and reddit can manifest in huge differences in the output of the overall systems. A cool story about Man-Eating Tigers! that might bubble to the top of one service might get buried/downmodded into oblivion in the other. Do you blame the story writer? Do you blame the algorithm? Do you blame the users? Yes! All of the above! Because all of them mosh together in complex resonance patterns. What you've been saying since the '60s is finally true: the system is to blame.

The Masses are the Message

Of course, the system administrators have more control than anyone. Digg can still improve—so can reddit—so can the brand new service that will destroy them all, which some high school student in Sweden will invent next Tuesday. If I were Digg, you know what I'd do: get rid of categories and descriptions, Kill Capitalization In Headlines, and tighten up the story list. Those changes would improve matters greatly. But would it be enough?

Eventually, maybe it would. Or maybe not. Because now, see, Digg is more than just an algorithm and an interface. Digg is also an Established User Base. And that user base likes what it likes—likes what Digg has trained it to like. What if what it likes is kinda stupid? What if Digg improves things and its users don't like it, or can't cope? What if the system can no longer resist the fluttering of all those butterflies?

Labels: