The Story Behind ES4

November 1st, 2007

Doug misspeaks, Brendan responds forcefully, Chris weighs in, Brendan lashes out some more, and Dion naively asks, “can’t we all just get along?”

*sigh*

Ok, here’s what happened according to the record:

  • ES4 design starts in October of 2005
  • Doug (Yahoo) joins the discussion in June of 2006, is worried about Microsoft’s support
  • Pratap (Microsoft) goes on record in July of 2006 saying that ES4 will be in IE after version 7
  • Design continues unabated
  • Doug and Pratap registers concern about the size of the spec in March of 2007
  • An ES 3.1 proposal is made in April of 2007, but work stalls
  • A few weeks ago, Doug states that TG1 is “split” on ES4 at the The Ajax Experience conference (a statement that’s not necessarily accurate)
  • Some interpret his remarks as saying there’s a secret coalition between Adobe and Microsoft to force ES4 through and co-opt the standards process
  • Acrimony erupts

What really happened, near as I can tell (warning, speculation ahead):

  • Pratap wasn’t in close communication with his developers and superiors internally at Microsoft early on in the process. Once he finally got feedback internally, he found out that they didn’t like it. Stuck between a rock and a hard place, he tried to work out a compromise resolution in “ES 3.1″, but people further up the chain at Microsoft caught wind of what’s going on in ES4 and put on the brakes. Microsoft went into radio silence until everything spilled out onto the web.
  • Brendan sees what’s coming, and knows it’s not good. If Microsoft has put the brakes on ES4, it means they’re going to split off and go in they’re own direction. He’s concerned because it puts the future of web application development in jeopardy. This is looking all-to-familiar to him, so he responds with vigor to try and “rally the troops” to fight an unfair turn against several years of dedicated, hard work. His responses are clearly filled with heartfelt passion.
  • Chris’s job is as much political as it is technical. And he’s reeeally good at it. His job is to make sure that Microsoft has a valid stance in the eyes of web developers, even when opposing viewpoints are valid. It’s his job. He may truly believe everything he’s saying; then again, he could be putting up cover for a deeper strategy internally at Microsoft. We can’t know, because he gets paid well to speak well, and he’s good at it.

My thoughts:

  • On purely technical grounds, ES4 is an excellent proposal. It is well-engineered, precise, and balanced. (It is also extremely nuanced, which makes it hard to judge at-a-glance. This is not “a new Java.”)
  • Brendan’s passion is coming off as wild-eyed fanatacism. This is turning lots of people off. Is this a political, personal, or technical battle to him? It’s hard to tell from the tone of his comments. Now, where’s that middle ground again?
  • Chris Wilson is smooth. He’s got a silky smooth voice, and gosh darn it if I don’t just want to be his friend, even if I don’t trust him.
  • Chris wants: stability, interoperability, security, and functionality, in that order. Yet after repeated requests to provide specific, detailed, technical reasons why ES4 doesn’t address all four of those priorities (which it does, IMHO), no answer. I have yet to see a single detailed explanation of how ES4 would “break the web.” Not from Chris, Doug, or anyone else at Microsoft. Would love to see such discussion, truly. Send me links if you know of any.
  • Abject fear is not constructive criticism, and it’s not a strategy. There has got to be discussion about the flaws of this proposal that goes deeper than “I’m afraid of it.”

And if you think there’s some safe “middle ground,” I can only say: I doubt it. Language design (or at least, *good* language design) takes a long time, and Microsoft hasn’t even started drafting their ideas yet. Even if they truly believe that what they’re doing is the right thing for the web, by forking now they’re damning the web to stalled evolution and non-interoperability for at least the next 5 years, probably longer. (It’ll take 1-2 years to get the forked version out the door, another 1-2 years before any convergence between browsers can happen, and another 1-2 years before there’s significant market share for interoperable code. And that’s best-case.)

So think about that before weighing in against ES4. Do you want the status quo for the next 5+ years? I sure don’t.

In parting I’ll point out: no design will be liked by every developer, and that’s precisely the problem here. Not everyone can get what they think is best in this case. But, without support from all vendors, *no one* will get what they think is best. All vendors participated without reservation in the ES4 design until March of 2007. And even after reservations were spoken, no active participation to resolve the outstanding issues has occurred since. Given that, it hardly seems fair to say that ES4 is attempting to do something that will “break the web.” Quite the opposite.


Open Social

October 31st, 2007

Google has launched a social network platform to encompass all social network platforms. Besides the rather meta-meta nature of this play, it’s fascinating to watch the interplay between Google and Microsoft here:

Early October: Ballmer trashes social networks like Facebook as being “fadish”.

A few weeks later: Microsoft invests in Facebook for a ginormous valuation, beating out Google. This gives the appearance that Ballmer was trashing Facebook as a ploy — to lure Google into believing that Microsoft was only mildly interested in Facebook.

Now Google’s announcement. This raises several questions:

  • Did Google lure Microsoft into over-bidding for Facebook? (The WSJ already published an article discussing the implications of the inflated valuation on stock options, i.e. Facebook’s diminished ability to use equity to lure top-notch talent.)
  • Was Open Social a part of the discussions between Facebook and Google? Did Facebook relent for fear of becoming a share-cropper, i.e. an app on top of a platform, just like apps live on its platform? (Remember, whoever successfully creates the most meta platform wins.)
  • And/or, was the loss of Facebook a huge blow to Google’s plans for Open Social?

Fascinating stuff. It does strike me that Google’s play seems incomplete without the big-gorilla Facebook. Does this now become The Law of Duality in action?


Bubble II

October 28th, 2007

Neil’s law:

The size of the bubble is directly related to the number of experts claiming there is no bubble.

Now, I won’t say that we’re going through the exact same thing we did last time. It does appear a few lessons have been learned. But seriously, not every site that attracts a devoted following is going to be capable of generating huge returns using advertising revenues. So there’s going to be fallout. And when that happens, jobs will be lost. It’s a cycle; it’ll happen. It always does.

The amazing thing about market euphoria is the way it tricks people into thinking “This time it’s different! The rules have changed!” As if value can increase unimpeded forever.

That’s not to say we need to be all doom-and-gloom. It’s a fun ride — enjoy it! Just try not to lose your shirt over it. And if you do, enjoy it anyway! You only get a few such opportunities in a lifetime.


Neat and Neater

October 28th, 2007

Apparently, a comet that was discovered in 1892 has taken us by surprise and suddenly become a million times brighter, visible to the naked eye. Neat! I hope to check it out tonight.

In the process of reading about this, I discovered Stellarium, which has to be one of the coolest software applications I’ve ever used. Star gazing, anywhere in the world, anytime in history, from your computer. I’ve been using it for 10 minutes and I’m hooked. Even neater!


Sucker Punch

October 27th, 2007

What do you do if you’re standing on losing ground in a debate? One option is to bait your opponent with a blatant lie. It’s a dirty trick, but it works, especially when the lie plays into preconceived notions of the listener. Your opponent must respond — silence implies truth. But to expose your lie changes the focus of the debate — is your allegation true, or is it not? Just how true is it? Listeners tend to believe there’s a grain of truth in most any point of view, and cling to falsehoods that justify their world view. Thus you gain ground in casting doubt on your opponent, even though the doubt is entirely baseless.

If you’re lucky, your opponent will be angered by the dirty trick, and argue back with fervor. This reinforces the listener’s (mistaken) notion that reality lies somewhere in the “middle ground.” If you succeed in evoking passionate anger, you’ve maneuvered into equal, polar opposition from your opponent. You’ve gained yet more ground.

What do you do if you’re standing on winning ground and your opponent sucker punches you with a blatant lie? I’m no expert in debate (clueless really), but I decided to do a little research: don’t get angry, don’t argue the veracity of the lie. Instead, re-cast the lie in a context such that the listeners’ thought patterns lead to its dismissal. Easier said than done! But it’s the only path that leads to decisive victory.

Why is this on my mind today? There may be a storm brewing in the web world. I see two opposing entities, and an uncertain future. A shot was fired (sucker punch), and the response was passionate. I can clearly see who’s in the right; those who haven’t been paying attention will not. And thus the passion of the response, while clearly warranted, only serves to establish a firm middle ground for those who don’t care to dig beneath the surface.

Don’t take the bait.


D.R.Y. !

October 27th, 2007


Know of a Good Startup?

October 16th, 2007

I have a close friend (a telecommuter like me) who’s recently decided to hit the job market. As an experiment, I figured I would put out a line to my THRONGS of readers who might be able to hook him up with a quality opportunity. (I say experiment because there’s some risk I’ll get a deluge of emails for poorly matched jobs. Or that I’ll get none at all. We’ll see.) Here’s what my friend has to say about what he’s seeking:

I’m trolling for a startup — small enough that I can make a big impact as an individual contributor, but established at least to the point where they can pay me and have benefits. Ideally, a place that needs scalability/performance work measured in orders of magnitude, that’s what really gets my pulse racing and what I’ve excelled at in the past. I’m pretty much language agnostic, but my strongest languages are C and Perl.

I can personally vouch for him as one of the best engineers I know. You’ll never find someon like him by sifting through resumes, and he’s amazing at optimization. You should hire him. If you have something that fits well with what he’s looking for, and you’re willing to hire a telecommuter (which you should be), then drop me an email (see left sidebar).

(p.s. no 3rd-party recruiters — my rule, not his.)


Ajax is…Dead?

October 4th, 2007

One of Joel’s recent posts has been tumbling around in the back of my head. His observations are, as always, excellent. But unlike his usual posts, the conclusions drawn in this one mystify me. I see his point, but it feels…crazy.

One important truth he reveals is that software projects need not run optimally on today’s hardware; Moore’s law and the passage of time guarantee that when your product hits its prime market share, the hardware will be capable of supporting it.

Apply this maxim to development platforms, flip things around a bit, and we get this:

Any software development platform incapable of fully utilizing its hardware will surely fail.

This is true because there will always be some other platform that is capable of soaking up all that power, and that platform is going to have whiz-bang features that everyone’s gotta have right now that can’t be done in the old-fashioned turtle-speed platform.

Java is a great example. For those of us who used it back in the mid-90’s when it was brand new, it was slooooow. It was hard to believe that this was a “real” development platform. But it had some great features that outweighed the perf issues. And 10 years later, after 5 or so revs of Moore’s law and some nice optimization, Java is king. (Or at least queen.)

Case study #2: Ajax. Remember Ajax back in 2000? Yeah, I do too. If there’s a lesson to be learned from Java and Ajax, it’s this: your development platform should aim to run on tomorrow’s hardware. Worried that RoR is too CPU intensive? Relax, Moore’s Law will take care of it.

But…

Moore’s law isn’t quite the same as it used to be, now is it? As you might have heard (sarcasm), the multi-core world is coming, and a few people are a bit riled up about it.

Back to Joel and Ajax. Ajax depends on JavaScript, and JavaScript — as currently spec’d and implemented in browsers — is a single-core beast. The new version — supercharged kitchen-sink-of-features, still in its final spec’ing stages — will probably appear in the wild sometime late 2008. And what’s the new version doing to integrate well into the new multi-core world?

Well, nothing really. And it’s too late to change that.

So now we’re looking at version 3 of JavaScript before multi-core deficiencies will be addressed. Meanwhile it’s at least a few years before version 2 is established enough for Ajax apps and frameworks to depend on its features. Lather, rinse, repeat, it’s another couple years after that before theoretical multi-core Ajax apps are viable.

Repeat: the performance of Ajax apps will remain little-changed for the at least the next 3 to 5 years, unable to utilize multi-core processing power. (Same thing applies to Flash too, you’ll notice.) By that time, current processors will likely have 16+ cores. That’s a whopping amount of processing power lying dormant.

Do you think 5 years enough time for someone to build a platform that contains all the benefits of Ajax, plus some new great stuff, that lets developers soak up all the processing power in those extra cores, and deploy it to 90%+ of machines out there? Do you think maybe some of the big players have efforts in this space already underway? (hint: Gears is a start.) It’s just a question of who and how soon.

So what does this mean for Ajax? For one thing, it means that Ajax — as it currently exists is — will have to evolve for the long term. One of the major browser vendors is going to have break ranks and extend the browser platform to go multi-core (it won’t happen in lock-step — design-by-standards-committee is too slow and will inevitably lead to a back-stab). Either that or something new will emerge. (Or more likely, many new things will emerge.)

Get ready to brush up your skills…


The Big Red Button

September 30th, 2007

It happens on every flight. The lights go off briefly as the pilots prepare for takeoff. Instinctively, passengers reach up for the button that turns on the reading light. It’s a red, rectangular button directly overhead…it’s hard to see (because the lights are off)…is this the one?…*bing*

The big red button is alluring, all-powerful in it’s ability to draw you toward it. Place it with care — the best placement is not intuitive. Most often, the big red button belongs somewhere you wouldn’t normally find a button. Consider: the airplane (wrong), versus the subway (correct). Easily accessible: yes, prominently visible: yes, intuitive: no. The idea is that in a panic, you’ll find it, but in your daily routine it’s out of your way.

Draw parallels to your communications. How many times have you inadvertently started an email panic by placing an unqualified big-red-button in plain site? Conversely, when was your big-red-button missed because it was buried deeply in amidst complex prose?


The Return of Tomorrow (aka “The Schedule”)

September 25th, 2007

You may have noticed that some of my previously missing blog posts magically re-appeared this evening. And those close to me may have noticed that I caught up on email this evening. Plus I cleaned up the kitchen after dinner, did some other chores, and even managed to get some time on the piano. And now I’m writing this. Later, I may work on a new novel, finish the basement, and/or win the Nobel Peace Prize. We’ll see how my energy holds up.

Any parent of a newborn will recognize this — it’s the arrival of “The Schedule.” The Schedule is the magical point in a baby’s development when he stops going to sleep at a random time and waking at night (say, from his own gas) to discover that he’s hungry and needs to eat RIGHT NOW. Instead, he follows a daily pattern and holds in the gas (or sleeps through it — damn funny over the baby monitor, I tell you) and then wakes up early in the morning needing to eat RIGHT NOW.

For first-time parents, The Schedule is half mythology, half mysticism. You’ve heard of it, but don’t believe it exists. Or if it does exist, it’s not for your child. How can this child, whose sleeping pattern can only be described with the help of advanced chaotic science, suddenly become the Family Timepiece? We know those other parents who claim they got their child on The Schedule — why can’t we? Is it a cult? Will they let us in?

So after a couple of months of what I like to call “baby terrorism,” when The Schedule arrives it is a moment of great relief. Except for all the manic tasks and chores.

Manic, you say? Yeah, there’s the whole PTSD thing. Months of being on “high alert” (armed with wipes and onsies and headed for poopy combat) leaves one completely unprepared for the strange routine most people refer to as “daily life.” When The Schedule arrives, it is not to be trusted. Fool-me-once (and all that mumbling), I have 5 minutes to spare if I’m lucky, I better go change the oil.

I’ve always been a procrastinator, until now. You see, before The Schedule there is no such thing as “I can do that tomorrow.” That is the path of crusty bathtubs, overflowing litterboxes, and a stinky kitchen. So you evolve, and you do less with more, and you act with urgency. By the time The Schedule finally does arrive, you’ve forgotten that tomorrow is a tangible, reliable thing. Tomorrow? No no no, now that’s a myth.

Doing more-with-less is a Good Thing, thank you Henry. I don’t know why I used to think that researching reality show biographies was important. But no more! Now, where was that cancer drug formula I was working on…