Metacircular thoughts

February 25, 2008

What users want: porn, music, and video games

Filed under: Uncategorized — metacircular @ 10:41 am

Let’s get things nice and sparkling clear about what users want.

They want to download torrents of the latest episodes of their favorite TV shows. This is why torrent and P2P clients have billions of downloads. They want the utilities they need to watch, compress, decompress, and transfer around their media. This is why codec packs and utilities like WinZip have hundreds of millions of downloads. They want to keep their machines reasonably free of spyware. This is why applications like AdAware have hundreds of millions of downloads.

They want to communicate with their friends, be it through instant messaging, social networking websites, or whatever.

They do not give a shit about your blog or your productivity/organizational application (they don’t care about this blog or the little project I’m working on on the side, in particular). They won’t give a shit about it, anyway, unless you have an unusual angle, like Perez Hilton where you can get an eyeful just by scrolling, and without reading or taking the time to appreciate all the hard work the site’s creator puts in.

If you’re going to talk about what users want, look at how they’ve voted with their mice clicks: AdAware and celebrity gossip is in, Web 2.0 is out, not that it was ever in.

Maybe this is an indication that just because millions of people want something doesn’t mean that it has any intrinsic worth, eh?

Maybe spending your precious spare time on something that’s really tedious and difficult isn’t a good idea just because millions of dumb IE 6 users want it. Maybe, instead, you should spend your time on what you enjoy and value.

What you do to pay the bills or make your clients happy is a completely separate matter: you’re probably going to be logging quite a bit of time in Firebug because that’s quite possibly the most pragmatic way to do an application 5,000 people in a large corporation are going to use.

But when you finish the work day and you want to create excellent software for yourself, where you get to do the things your clients won’t let you do, why would you willingly make a Pentium 4 feel like a 386 with JavaScript hacks?

February 4, 2008

Web applications suck and they’re not worth creating

Filed under: Blasphemy — metacircular @ 10:28 pm

It’s a simple fact that complex web applications are almost impossible to create. This constrains you to making simple apps, which is often a good thing, but if the problem domain you happen to be in genuinely deserves deep exploration over time, you’ll quickly be fighting your deployment medium instead of working with it.

If you want a WYSIWYG editor roughly on par with the rich text box controls that give you about as much formatting oomph as Wordpad along with simple spellchecking of the kind that Firefox uses to tells me that “Wordpad” is incorrectly spelled as I type this, be prepared to spend several months to a year to get a production-ready version of it, the way Fog Creek did. That’s with FogCreek-level people on the job.

If you want a very nice, elegant calendar of the kind paying Backpack accounts do, be prepared to spend 2-3 months the way 37Signals did, and that’s if your coding chops are on par with DHH and the people who created scriptaculous and Prototype.

At least, if you want to achieve Internet Explorer 6 compatibility.

What chance do us po-faced mediocre daycoder fucks have? Fuck! We’re still trying to pretend Unicode doesn’t exist.

And then you have to host this. Once you grow big, you will need a full time system administrator to manage all of this, the way Fog Creek and 37Signals both do.

The unfortunate truth is that with a few minutes of point and clicking and a few more minutes of hacking in Visual Studio, I can create desktop apps with features that are a real pain in the ass to replicate in web apps. And your version will be on its way to being a big cumbersome JavaScript hack that takes so long to load it feels like a bloated desktop app. Irony.

Nothing to install, you say. From the perspective of someone who makes old-fashioned intranet client-server apps during the day and codes in their spare time and stands to make $0 off the software they produce from this, I don’t give a shit. I only work on the things I like, which it turns out almost no one else likes. You may actually discover that your customers actually want to host the software themselves, even though it’s a web app, in which case you have to do terrible things to make your dorkus malorkus customers happy.

I like applications that are fast (they do my 2 GB Core 2 Quad machine justice), that are available whenever I’m at my computer, and give me as much storage space as I can stick hard drives into my machine (on the order of a terabyte or so).

Can you imagine any web service anywhere giving you a terabyte of hard drive space, and actually delivering it? Even GOOG only gives you 2 gigs.

Getting back to complex apps, there’s a certain fundamental attribute of applications you live in, like email clients, web browsers, spreadsheets, text editors, IDEs, and other things that a lot of professionals get paid good money to spend all day in: extensibility, at multiple levels. Firefox has GreaseMonkey, Firebug, AdBlock Plus, and other wonderful things. Excel has VBA as well as a C/C++ API. Investment bankers live in their macros from what I hear.

Where is the web app equivalent of this? It’s some smug Danish cunt telling you you don’t need those things. That’s a copout and it’s a bunch of bullshit.

But there are tons of boring data-driven business apps that really ought to be web apps, you say. You are absolutely correct. By all means, the web is the default destination for heavily data-driven apps that involve a lot of simple data interactions and don’t require extensibility, realtime responsiveness (Ajax/Comet are not realtime), keyboard shortcuts and other power user features, and other lovely desktop things.

My point is this: my desktop apps leave your web apps in the fucking dust when it comes to the things that make performance-minded nerds happy. I will never create the next MySpace or Google. I don’t give a shit; I’d rather create the next uTorrent.

Blog at WordPress.com.