Hey Joel Spoelsky, it’s Called Flash

Really interesting post by Joel Spolksy about the history of software development and how that translates into the current very web-centric environment. Now in the era of computing he’s talking about I was more worried about playing ThinkQuick or writing crappy QBasic programs than writing real software, but I think he makes some really good points about the usefullness of software optimization and where it will get you in the end. PCs got faster so that it made sense to push the envelope instead of spend countless hours tweaking and tuning. As Joel notes, this is a lot like today with bandwidth being the restriction that people are concerned about.

But Joel spends a lot of time talking about JavaScript in the browser and the problems with it right now that will someday be solved by more bandwidth and some hardcore engineering. I read that and all I see are places that Flash shines. Flash is pushing the boundaries right now. Of both rich media and application development. Complex Flash applications are sometimes slow to load, but I tend to agree with Joel; that’s not going to matter. He takes some time to say that Sandboxes aren’t going to work but I agree with Tim Anderson here. Here’s Joel’s prediction:

What’s going to happen? The winners are going to do what worked at Bell Labs in 1978: build a programming language, like C, that’s portable and efficient. It should compile down to “native” code (native code being JavaScript and DOMs) with different backends for different target platforms, where the compiler writers obsess about performance so you don’t have to. It’ll have all the same performance as native JavaScript with full access to the DOM in a consistent fashion, and it’ll compile down to IE native and Firefox native portably and automatically. And, yes, it’ll go into your CSS and muck around with it in some frightening but provably-correct way so you never have to think about CSS incompatibilities ever again. Ever. Oh joyous day that will be.

We’ve got a lot of that right now with Flash/Flex. It gets even scarier the more of the article you read. He touches on user interface standards and application interoperability that comes when everyone is building on the same platform. He takes on a lot of the critques with Ajax and they are mostly critiques that I think Flash solves. Especially when you throw AIR into the mix. It’s a great read, I highly suggest you check it out and I’d love to hear your thoughts.

[tags]Flash, Ajax, Programming[/tags]

No related posts.

  • http://ww.remotesynthesis.com/blog/ Brian Rinaldi

    I had a similar reaction, finding it weird that the post focused solely on JavaScript. Boiled down, he seemed to be making a simplistic argument that the future of the internet is in large javascript files. I know his point was more overarching than that, and I think his larger point is a valid one. I also think he misses a bit in focusing too much on the browser anyway.

  • http://weblogs.macromedia.com/jd John Dowdell

    Frustrating. I read it a few times. And it was long. And even after that I couldn’t pull out his points. “Skip Intro” needed for text.

    I think he’s saying there are advantages to being able to apply a single set of coding habits to a wide range of delivery environments and audience types. That seems unobjectionable. ;-)

    His use of the term “sandbox” threw me — no matter how I tried to read it, he seemed to be saying that ActionScript execution is slower than JavaScript execution and has more cross-domain restrictions. Both claims would seem silly, though. I’m not sure what he’s trying to say.

    I hit the forums to try to see how others understood his seven screenfuls of text… all over the map, though. Don’t read these if you care about your blood pressure… lots of people *are* up-to-date, but lots others speak uninformedly:
    http://discuss.joelonsoftware.com/default.asp?joel.3.544058.14
    http://discuss.joelonsoftware.com/default.asp?joel.3.543760.4
    http://discuss.joelonsoftware.com/default.asp?joel.3.541835.39

    (Sidenote: On that “single set of coding habits for a wide variety of environments” need, I’ve been seeing people focusing on a given syntax and core APIs, but I haven’t seen as many focus similarly on DOM knowledge or knowledge of extended libraries — WPF similarities across Vista and Silverlight will be at the syntactic level, and there are meaningful learning costs when scaling down desktop coding to in-browser coding. With Flash we’ve already seen the learning costs of developing to the mobile profile (particularly with the AS2/AS3 difference in Flash Lite 2), but there’s still the whole Device Central range of differences: display resolution, input differences, device-specific APIs. I don’t see similar practical awareness of scaling issues in the non-Flash world yet… J2ME developers may be the closest, but they’ve got a whole bunch of other costs to focus on as well. Summary: The “learn one language and rule the world” stance seems hard to support.)

    jd

  • http://weblogs.macromedia.com/jd John Dowdell

    Edit:
    Summary: The “learn one language and rule the world” stance seems hard to support. The common ECMAScript model does seem like it will be applicable in a great variety of environments, though.

  • barry.b

    yeah, I read it last night and thought… “he forgot Flash” … that’s why I threw up the quip on Peter Bell’s blog “Flash is the new Windows … Silverlight the new Apple? and XUL the new Amiga?”

    and that a typical 40Mb memory hit of a Flex app is just waiting to be come irrelevant.

    but IMHO, he’s got a valid point about inter-op between apps and/or libraries. The comparison has to be made – because our solutions will demand this – with features found in desktop application and O/S like windows.

    “you can’t really cut and paste objects from one Ajax app to another, for example, so I’m not sure how you get a picture from Gmail to Flickr. Come on guys, Cut and Paste was invented 25 years ago.”

    exactly. I can do that between a browser and MSWord, tho…

    the target has to be, say, “C & P” video between YouTube and my blog.

    Anything less means that we’re not there yet.

  • Pingback: Flex/Flash Solve A Lot of Problems: They May Be Disintermediating the Browser « SmoothSpan Blog

  • http://weblogs.macromedia.com/jd John Dowdell

    I’ve read those screenfuls and comments again. Now I think the nut may be: “I’d like to have a compiler which lets me deploy to many different runtime engines.”

    (He’s not asking “How can I deploy advanced capabilities most widely and economically?”… he just seems to be asking for compilation across disparate types of runtimes.)

    … call me sick, but I just read it again, and he seems to rein that in further “I’d like to have a compiler which lets me deploy to different browser runtimes.” Not much of a thought, but many words to get there…. :(

    jd/adobe

  • http://blog.digitalbackcountry.com Ryan Stewart

    So is he talking about OpenLaszlo then? That seems to be one option the blogosphere is putting out there. And it’s open source, so maybe that’s a good solution for Joel.

  • Anonymous

    It’s certainly an interesting read, and the predictions are bang on, I think. But his predictions on specific solutions are way off base. Personally I think he missed the point of the RIA revolution completely, like a lot of developers stuck in AJAX-land. When a dissertation uses the Java Applet Runtime as its gold-standard for critiquing plugin-based (or as he calls it, “sandbox”) RIA development, the author is clearly out to lunch. I’m sorry, there’s just no nicer way to put it.

    I do think he’s bang on with his general predictions though, specifically with bandwidth improvements — and once again, the Flash Platform already has a solution. When Flash 10 comes out with Flex SDK caching, that will put to rest all size queen arguments against deploying Flex apps. So we’re already there. And it ain’t AJAX, people.

    (and Silverlight… what’s that? :) )

  • http://www.joeflash.ca joeflash

    That was me. Sorry, forgot to fill in the comment form, duh!

  • Pingback: GadgetGadget.info - Gadgets on the web » Blog Archive » Hey Joel Spoelsky, it’s Called Flash

  • http://www.deitte.com Brian Deitte

    Ah, I knew this would happen. I’ve had this article open in my browser for the last day and was planning to write a similar article on it. I’m way too slow. :)

    It was very odd to me that he completely ignored Flash/Silverlight/etc. I kept expecting him to at least acknowledge the alternatives, even if he didn’t like them.

    In addition to thinking of Flex throughout the article, I kept thinking about Buzzword.

  • http://www.deitte.com Brian Deitte

    I didn’t finish that last thought. I kept thinking about Buzzword because of the talk of a better GMail, which made me think of Google Docs. Buzzword may take longer to load up, requires a plug-in that you may not have, etc, but I think (and of course the whole Flex community thinks) it’ll win in the long-term.

  • Pingback: Two Jars » Blog Archive » I don’t know if you’ve heard but uh…Flash is a platform worth looking at!