Slashdot on SproutCore

Slashdot got onto today’s story about “One particular JavaScript Framework can Rule The World — *if* it’s from Apple.” I’ve been tracking this story because of the “Flash Killer” moniker. I liked how some of the Slashdot crowd dragged the Techmeme pumpers back down to earth, and so annotated a few comments which caught my eye….

An early comment describes how the different runtimes offer different capabilities, then: “More on-topic: This ScriptCore looks like Yet Another Javascript Framework (YAJF?). Some choices seem particularly odd, such as choosing to reimplement buttons through javascript code instead of using native browser widgets.” That was the big disconnect for me in today’s conversation too… whatever you build atop HTML/JS/CSS is still bound by the HTML/JS/CSS runtimes of your particular audience. Chad Udell had the same perspective mid-day. (The “native chrome vs neutral chrome vs branded chrome” issue is one I stay out of. 😉

This seems a clear case of confusing the sizzle with the steak, the map with the territory: “SproutCore is pretty impressive for building real JS web applications, although the story doesn’t real end there. There’s a convergence of other improvements, such as HTML5, CSS, and SVG, that are filling a lot of the multimedia roles previously the domain of flash. For example, WebKit already supports CSS transforms, gradients, client-side database storage, animation, HTML5 media, downloadable fonts, masks, reflections, etc.” Just because the paper map is flat, does not mean the territory has no hills. Your labels are just a model, and it’s more useful to look at what you can actually do, with which near-term and long-term costs. SVG theory and practice differ.

There were some references to traffic/revenue strategies from commercial bloggers, and charges of sockpuppetry. There’s some (apparent) engagement by a principal, but no resolution… more ad hominem than ad rem.

I got foiled by an Ajax text editor stripping out linebreaks (maybe it wanted paragraph tags?). Text should be simpler…. 😉 [Later: I got modded down to 0 and marked as “Troll”!]

A strange but common line: “You’re missing the point… flash and silverlight require plugins to work in a web browser. Not only is this an extra install for the end user, it also means not all platforms and browsers will be supported (A great example being no flash/silverlight on the iPhone…) The nice thing about “SproutCore” is that is 100% based on web standards (HTML, XML, JavaScript, etc) and will work on any platform and in any browser that follows those standards out of the box, no plugins needed!” We all already know that the world does, overwhelmingly, choose to install a certain small predictable media runtime. People out there do adopt Flash as standard capability. (Power to the People, baby. 😉 But he misses that advances in HTML/JS/CSS require bigger browser installs, sometimes browser switches, sometimes OS switches! If your browser runtime doesn’t display their HTML or run their JS as they expect, then it’s you that’s at fault for “not choosing a standards-compliant browser”. Dude, NONE of them are “fully standards compliant”! We’re all just trying to get better, improve things month by month.

Some reality: “I’m with you all the way as far as preferring standards over proprietary stuff. However, the iPhone seems like a bad example to me. It’s a proprietary platform, controlled by Apple.”

A common slam: “Still think Flash isn’t all that proprietary? Try selling a competing editor or changing the spec.” If the speaker would look around, the speaker would see that lots of people sell tooling atop the Flash platform, servers atop the Flash platform. Same with the PDF platform. I would agree that the governance of SWF is still within Adobe, rather than released to ISO as PDF recently was, but it’s a lot more approachable than the governance of iPhone. I’d prefer a face-to-face meeting with such a speaker, before guessing whether they’re aware of the mismatch between their speech and reality.

Another commenter brings the discussion back to ground: “From TFA, SproutCore is basically a rich set of JavaScript libraries. Flame/mod away, but it’s true. Flash/Silverlight don’t only contain the same app struts for you to build upon, but they are also incredibly powerful application hosting frameworks with rich graphics and multimedia libraries to go beyond what HTML can render. Comparing SproutCore to Flash and especially Silverlight is nonsense. Saying it’s a Flash/Silverlight killer is delusional.” (He seems a bit MS-delusional himself, because you can deliver with Flash while Silverlight remains academic, but he’s accurate about the different layers of capability.)

I haven’t personally confirmed this report, but it shows why every Ajax app has a responsibility to disclose on which specific runtimes they test, and which of those runtimes they recommend, and on which runtimes they’re just plain inaccessible: “The photo gallery [] demo on fails to work on Opera – the right photo pane not even rendering. Although Opera isn’t widely used, with its exceptional standards-compliance it’s a great barometer for how compatible something may ultimately be.” Followup: “It doesn’t seem to work quite properly on Camino, either…”

I think this may be a little harsh: “Web 2.0 exists because you don’t have to code your apps for each and every device separately. This is not the case with iPhone – anything not specifically built for iPhone is just awkward to use.” (A lot of browser apps are awkward, on a lot of devices… it’s still early days, we’ve got to improve design portability. OS-specific coding is a separate issue.)

A good example of the reaction to learning new conventions for a limited audience: “I [worked a lot of languages and environments but] never bothered to get deep into Objective C, because while it’s theoretically transferrable, it is really just used to write for the Apple Carbon/Cocoa/Core/Whatever/Don’tNitPickItsJustAnExample* stack. Same went for DirectX on Windows when I still wrote software for Windows. I would like to make apps that do whizzy things with Core Animation or whatever, but I just can’t make myself get excited at the prospect of learning yet another vendor-lockin technology.”

Oddly, Google has few relevant hits on the front page for “webobjects coldfusion”… much of the SproutCore evangelism today seemed like it would have worked for WebObjects as well.