Joel Spolsky and Weak Metaphors

Joel’s latest strategy letter is a long-winded diatribe on the current state of browser-based application development. There is some good stuff in there, but some of the metaphors are really stretched and the comparisons between desktop and web-based applications is a bit broken. Joel seems to think that web-based applications should support the same kind of features as desktop applications. This line of thought can only go so far.

For example, cut and paste between applications. I assume Joel wants to copy more than text from edit boxes and selected HTML from the page. No reason this couldn’t be done today (Live Clipboard anyone?) but doing so requires cooperation between the applications in question. The Web platform already supports it. And hey, the same kind of limits occur on desktop applications. Try pasting an Outlook contact into Quicken. On the Web right now, microformats and mashups provide functionality not easily possible in desktop applications.

Joel also brings up lack of UI consistency in web applications. Not so sure about this one. I believe a little bit of consistency goes a long way and many web applications share common UI elements and concepts. Let’s not forget just how consistent desktop applications can be. Microsoft Office seems somewhat consistent with its applications, except for the ribbon is missing from some. Sure, it may not be appropriate in all applications. I’m fine with that – just not overly consistent. And take a look at the UI’s of “web-style” desktop applications and media players and tools like Microsoft Expression (best if viewed with Silverlight). Again, just saying a little consistency goes a long way.

Finally, we get to the “NewSDK” concept. The super-do-it-all framework that all web applications use and Joel compares this to Microsoft Windows and the Windows SDK. Personally, I would be comparing the Web to Windows, not some framework that runs on the Web. Compare that “NewSDK” framework to MFC or WPF. In a followup post, Joel responds to readers who forwarded their version of the “NewSDK” by saying:

Indeed countless people have already emailed me to say that “NewSDK is here, it’s (choose one) Flex Builder, Google Web Toolkit, Java Web Start, Silverlight, JavaFX, Flash, ActionScript, MORFIK, OpenLaszlo, … (many omitted)” Ahem. These are not HERE until your TAXI DRIVER has heard of them, because I assure you he’s heard of Microsoft Windows.

Again, he’s comparing apples to oranges. Ask your TAXI DRVIER if he’s heard of the Internet. And again, I’d use MFC, WinForms, VCL as desktop examples of the “NewSDK” examples listed in the quote. Ask him if he’s heard of WPF.

Here’s another quote that rubbed me the wrong way:

If you’re a web app developer, and you don’t want to support the SDK everybody else is supporting, you’ll increasingly find that people won’t use your web app, because it doesn’t, you know, cut and paste and support address book synchronization and whatever weird new interop features we’ll want in 2010.

The ideas in this quote are exactly NOT what the Web is about. This is anti-Web. Forcing interop by mandating a framework is ridiculous in a place where open standards and formats are embraced. Web development can and is improving, but let’s not try to turn the Web into Windows. Of course, some people already are.

7 Replies to “Joel Spolsky and Weak Metaphors”

  1. Re: silverlight and flash.

    Why are you so against these technologies? I don’t see the OS community doing anything about them? Where is the Open Source technology that competes with either?

    Flash has been around for what? 10 years? How long should we wait?

    Tell me how to do some simple animation + some alpha transparency and filters in HTML. SVG? Pants. Canvas? Pants.

    Anything that needs Javascript to code is SO BAD. JS is the evil. Why can’t I use Python or C# to animate stuff in HTML+DOM?

    But I liked your comments 🙂

    monk.e.boy

  2. w.r.t. “forcing interop by mandating a framework”, I agree that that’s a poor outcome. However, it’s not an entirely unlikely outcome, especially if the standards bodies don’t do a good enough job. There are some interesting analogues here with the attempts to counteract the fragmentation of the UNIX market using standards in the 80s and 90s. The triumph of SMTP mail over various proprietary systems in available in the 80s and early 90s has some similarities too. Granted, of course, there are also very salient differences between these situations.

  3. It’s a funny thing, but I don’t believe there is any instance of anyone successfully arguing another person wrong. Proving them wrong, yes, but that requires rather more than a rant for a rant.

  4. Good write up Mark. I wonder if the taxi driver has heard of Flash? One of the things I enjoyed about Joel’s post was that it spawned so many different opinions. I had mine and now we get the Mark slant. All valuable, all interesting.

    =Ryan
    rstewart@adobe.com

  5. I am not sure how I should comment on this, sure your Taxi Driver has heard of Window, but has he heard of Windows API or MFC?
    He hasn’t heard of GWT that’s true, but he HAS heard of GMail, right…?

    None the less, interesting reading and you kept me through your entire post and even made me comment, so good work 🙂

    Btw, I am not really sure how you feel about standards and “binary frameworks”…?
    Did I sense an agreement towards my definition of ActiveX2.0…?

  6. I agree, Joel misses the point when he postulates that a proprietary platform will play the role of Windows in the web world. Interestingly this mirrors a recent post by Marc Andreessen which I’ve been meaning to blog: http://blog.pmarca.com/2007/09/the-three-kinds.html. He suggests that the future web will be dominated by platforms that let others host applications in some sort of controlled environment, basically runtime environments. I reacted to this in very much the same way as you reacted to Joel’s piece: his vision is a plausible path for the evolution of the web, but I don’t believe a proprietary product will succeed long-term in this space.

    BTW: I think you got the link to Joel’s article wrong in your first sentence.

Comments are closed.