This ain't the 80s. Google ain't Lotus.
posted Sep 19, 2007

I like to read Joel's stuff. But sometimes I disagree wildly, and this is one of those times.

He makes several points, one of which makes a bit of sense.

just build cool stuff, and wait for the hardware to catch up...we don't care about performance or optimization much anymore.

There's something to that. Remember when people cared about html page size?

Then Joel goes straight off the deep end.

So if history repeats itself, we can expect some standardization of Ajax user interfaces to happen in the same way we got Microsoft Windows.

His supporting arguments for this are:

  • There are a buncha-buncha ajax frameworks out there, all of which do the same basic stuff

  • An anecdote about Lotus and their 3D spreadsheet.

The lotus analogy is stupid as hell. Lotus went down because they pursued a terrible idea. 3D Spreadsheets?! Are you kidding me? The only connection with Moore's law was that it prevented them from seeing how bad the idea was. The bad idea itself was to blame.

If GMail ever tries to do 3D email, they deserve to lose all their users. If some ajax framework decides to focus on 3D widgets, it will quietly be abandoned.

A more interesting point is the observation about lots of ajax frameworks. Joel is right, but he's needlessly anxious.

I've done real work with 3 of the frameworks (Mochikit, Prototype and YUI), and I've learned they really are doing basically the same stuff. You can port things between them rather fast.

Joel spends a lot of time talking about a super-framework, a "newSDK", which would make all others obsolete by ushering in a new era of beautiful interactivity.

Won't happen. Such a hypothetical uber-SDK will remain hypothetical.

It's true that the dream of effortless interactivity could be realized by such an uber-API. But too many people are doing too many different things in too many different ways. And new stuff gets invented all the time that falls outside the limits of prior understanding.

Not that it stops people from trying for the uber-API gold ring. Adobe and Microsoft (and Sun, ha ha) all have a horse in that race, with AIR, Silverlight (and JavaFX, ha ha ha).

Ironically, it's the very desire for such an uber-API that creates the competitive forces which block its adoption. I can imagine the folks at Adobe saying "you microsoft SOBs, could you just for once not try to eat everyone's pie and leave us alone with this AIR thing? We just want all the users to enjoy a nirvana of interactive bliss!"

I think the best hope for progress (slow, incremental progress) toward the glorious dream is by defining simple ways for non-uber APIs to communicate and do common things. Not-so-exciting stuff, like XML. Like MySQL. Like svn. Like unicode. Not very profitable either - at least, not directly.

I think compelling standards will emerge. But they'll be the kind of standards that javascript frameworks evolve to support - not the kind of standards that replace javascript frameworks.

It's also worth remembering the hardest problems are human, not technical. For a brief period of time, there was awesome interactivity in MS Outlook. And then people started writing email viruses, so we turned that interactive stuff off real quick.

The biggest reason we don't have automatic great stuff is that we don't want automatic bad stuff. Yin and Yang, balance of the universe, etc.

Comment by gwenhwyfaer
posted Sep 19, 2007

"Lotus went down because they pursued a terrible idea. 3D Spreadsheets?! Are you kidding me? The only connection with Moore's law was that it prevented them from seeing how bad the idea was."

Yeah. Nobody wants pivot tables.

Comment by LPD
posted Sep 19, 2007

I don't think pivot tables are what they were after. Pivot tables don't depend on fast hardware :)

Comment by Jonathan Allen
posted Sep 19, 2007

If GMail ever tries to do 3D email, they deserve to lose all their users. If some ajax framework decides to focus on 3D widgets, it will quietly be abandoned.

You totally missed the point. 3D was the killer feature of the spreadsheets. The killer feature of email clients will include things like universal cut and paste.

posted Sep 19, 2007

MySQL is worthless. ISO SQL is what connects stuff.

Comment by Hi there
posted Sep 19, 2007

The uber-API already exists. It's called OpenLaszlo, instead of targeting some new plugin, it targets things you already have. Right now, DHTML (ajax) and Flash. If a Java ME version gets written, you'll have coverage of almost every browser and device out there.

Comment by Gabe
posted Sep 19, 2007

An uber-SDK that compiles down to JavaScript could be the future... I figure Joel's got a 50/50 shot on that one. What I disagree with is that Google will be blindsided by it.

Google will be blindsided by something, but it's not going to be more of their own specialty. They'll get beaten by the next big thing 20 years from now when they're calcified and unable to adapt.

Comment by Donal
posted Sep 20, 2007

Agree that OpenLaszlo is technically a very strong player in this field, though for whatever reason they're often overlooked. BTW, why the sneering at JavaFX?

Comment by davo
posted Sep 20, 2007

I usually find Joel's stuff spot on, but I disagree with him on this also. The assumption that is so widespread is that the browser is the best thing ever - it's not! It has no API's, it's slow, it's riddled with bugs and different bugs at that. Web connected desktop apps are the way of the future.

Comment by Rohit
posted Sep 20, 2007

I completely agree with you! When I read Joel's article I couldn't believe what he was saying. Absolute rubbish. Gmail is not going the Lotus way.

Comment by Wayne Khan
posted Sep 20, 2007

The 80s certainly wasn't my time yet, so the comparison certainly doesn't ring true for me. But I certainly wouldn't see the downfall of Gmail anytime soon.

Comment by Ykslops Leoj
posted Sep 20, 2007

I used to be a loyal reader of Joel's stuff... bought his books and read most of his blog entries, but now I just can't relate. The guy's head seems to have exploded in recent years. Sorry, Joel but we've drifted apart. :-)

We must also remember that the guy used to work for Microsoft and still seems to have a soft spot for them.

Anyway, I always thought the reason Lotus 1-2-3 went down the drain was because they made the same mistake WordPerfect Corp. made thinking that Windows was just temporary phase and IBM OS/2 was the way to go. Warp speed anyone?

Comment by Stephen Jones
posted Sep 20, 2007

I looked at Open Laszlo last night. The demo is real neat. You click on different bits in the sidebar and you get two frames, one that explains what this part of the widget does, and a play frame that shows you the 'file not found' error message.

Still, what do you expect off an OSS firm? About the same as off the most successful commercial software company. The Quick Starts for Silverlight are quick, but they don't start!

Comment by Josh Kim
posted Sep 20, 2007

After I read Joel's post, I was going to sit down and tear it to pieces.

Thank you for saving me some time! Hehe.

Comment by ed
posted Sep 20, 2007

The point is not to port between them easily. It's the interoperability feature. You can't cut and paste between them.

Comment by LPD
posted Sep 20, 2007

The point is not to port between them easily. It's the interoperability feature. You can't cut and paste between them.

It's not a javascript framework's job to provide cut-and-paste. How would you do it? Joel knocks ajax frameworks for lacking something that was never their intent or duty to provide.

Comment by
posted Sep 20, 2007

XML is not the future of programming. This is why Flex and Laszlo are -not- the next big thing. I have used browsers a lot. ;-) You come to expect that some things won't work the same way in every browser. Joel's comments on this are spot on. It's really REALLY hard to get this right. The current crop of frameworks does not do this right - yet.

Google already has a Java to JavaScript "compiler", GWT. This is like a compiler which converts assembler to C++. It's going the wrong way. Joel may have some inside information. Maybe Graham's arc project has a LISP language that can compile to JavaScript. Maybe Steve Yegge at Google has the "next big language".

There is also the backdrop of Fowler and friends who have seriously big influence. Check out Language Oriented Programming. The Cool Kids are often where these guys are at.

http://www.infoq.com/news/2007/09/Language-oriented-programming

I think Joel is exactly right. I know we geeks and nerds want to hang onto our hard-won skills. How many of you know a mainframe developer who's still waiting for their skills to become relevant again? They will wait forever.

The folks who think web connected desktop apps are the future are of course correct. The browser IS a web connected desktop app! We can see that Apple is working hard to create new standards for browsers to bridge the gap between typical static UI apps and new dynamic UI apps. Mozilla's XUL is also another example of a dynamic UI app.

But, any markup language is going to face challenges. Witness the death of Cold Fusion.

Joel's hints at a dynamic language being a driver for a new age of applications will prove to be exactly correct, and the delivery platform will be a next gen browser which does HTTP but also the new thing (ATP?, application transfer protocol?)

  • one more thing - why the big dump on 3D? Have you seen Beryl, Core Animation, Open GL effects? The market seems ready for a continued migration to 3D. Bill Gates recently said it's the next big thing. (During their touch table intro.)
Comment by davo
posted Sep 21, 2007

You are correct browsers are a desktop app connected to the web. However many developers seem to think it's the only one - and causing a lot of pain because of this.

Comment by
posted Sep 21, 2007

I think Joel is exactly right. I know we geeks and nerds want to hang onto our hard-won skills. How many of you know a mainframe developer who's still waiting for their skills to become relevant again? They will wait forever.

I sort of suspect Joel is waxing nostalgic for the days when he worked at Microsoft, having fun adventures in the land of the all-encompassing windows API toolset :)

Joel's hints at a dynamic language being a driver for a new age of applications will prove to be exactly correct, and the delivery platform will be a next gen browser which does HTTP but also the new thing (ATP?, application transfer protocol?)

That language could be javascript (actionscript/ECMAscript). Javascript is what you write XUL apps in.

why the big dump on 3D? Have you seen Beryl, Core Animation, Open GL effects?

Those effects are awesome :) But they don't exactly add much to spreadsheets or email.

Comment by
posted Sep 21, 2007
  • Who says 3D wouldn't be cool for email. Who would have thought a 3D desktop pager would be cool. When you see it, you'll want it, just like the first time you saw Beryl.

  • Yea - JavaScript. I read Steve Yegge. (http://steve-yegge.blogspot.com/) Clearly this has merit. For the impatient, Yegge created Rhino on Rails. JavaScript could be cool. It would be cooler if the didn't say Java. or ECMA. Rhino - that's cool. One language to rule them all! Sure makes it easier to overcome the paradox of choice. (http://video.google.com/videoplay?docid=6127548813950043200)

  • While you're there, watch the video on human computation. It has nothing to do with this thread, but it's incredibly cool. (http://video.google.com/videoplay?docid=-8246463980976635143)