The Future of Javascript — Who Cares?!?

Yesterday on Slashdot, someone posted an InfoWorld interview of Brendan Eich (the creator of JavaScript).  In the interview he lays out his plans of the evolution of JavaScript into what he calls JS2.  The discussion on Slashdot was over the details of whether the language changes made things better or worse.  The thing about programmers is that they won’t all agree on anything.  Everyone has their own understanding of how software should be written.  My critique isn’t on any of the details of the language changes, its the premise itself.

First of all, let me say that I don’t believe JavaScript to be the Holy Grail of languages.  It’s not perfect, there are things about it that I find irritating.  There are also things about it that I like.  This is true of any language with any competent hacker.

Why JavaScript Matters:

More and more software is being designed to run “in the cloud”.  The benefits are obvious.  Deployment is trivial, as are upgrades.  Developing for the web means not having to care about the users’ platforms.  Connectivity is becoming faster and more ubiquitous every day.  JavaScript matters because it is the language of the web.  It excels not on technical merit, but out of necessity.

In the 1990s, Netscape was in a unique position.  It essentially owned the web platform.  Whatever they decided became standard.  When Microsoft built IE, they had to include JavaScript support so their browser could compete.  Every new browser since then had to include a JavaScript engine.

In todays market, every computer has a web browser and therefore has a JavaScript engine.  JavaScript matters for one reason, and only one reason: it is ubiquitous.

Why JS2 Does Not Matter:

Although Mozilla acts as if they inherited Netscape’s mid 90s status as keeper of the web platform, this is not the case.  They say that it doesn’t matter is Microsoft adopts JS2 or not, they’ll just write an IE plugin.  This may work to increase JS2 adoption, but it doesn’t actually solve any real problems.  JS2 is a solution looking for a problem.

When building TileStack, my main problem with JS isn’t some language feature (native classes, typed variables, etc.) it’s the lack of consistency between browsers.  Granted this isn’t something the Mozilla Foundation can fix, but a new version of the JS language does more harm than good in this context. 

Why JS2 is Harmful to Mozilla:

While Mozilla has the best of their JavaScript team busy writing new language features, the competition is getting tough.  Apple continues to push the limits of WebKit.  The next version of Safari will smoke the competition when it comes to JS performance.  They are packing so much stuff into the browser, that web developers will start to question the need for Flash.  Meanwhile, Mozilla is working on the syntax for the “let” keyword.  Hey Mozilla, where’s mobile FireFox?  How come the poster boy for open source isn’t part of the first open source mobile phone platform (Android)?  Congratulations on all the downloads of FireFox 3.  Too bad it’s killer feature is that it doesn’t suck down resources like FireFox 2.  Wake up guys, you’re starting to lose!

I guess the point is that language syntax is one of the least important features of a platform.  Do developers use .Net for C#’s syntax?  Is Objective-C’s syntax the reason for Apple’s recent successes?  Will the declarative structure of JavaFX Script save the Java platform?  I could go on with more examples, but I wont.  The answer is a resounding NO!  There are much more important things to ensuring the success of a platform than language syntax.

I suppose this doesn’t really need to concern me.  The web as a platform will continue to exist and grow and mature.  It’s just frustrating to observe this waste of time and energy.

UPDATE: I want to give credit where credit is due.  My colleague Josh Gertzen was quoted in AjaxWorld magazine on the irrelevancy of JS2 in an article that ran on Slashdot for a while.

Sending Legitimate Bulk Email

This is for all those people who are trying to run a web business that need to send bulk email messages and don’t want them to go directly into their recipients’ spam folders.

Yesterday, I (and several others) dedicated several hours to the task of determining why every email we sent went directly into the spam folders of those we were trying to reach. When you search Google for information about spam filters, you find plenty of information about blocking unwanted email, but hardly anything about making sure your legitimate bulk email is not discarded with the trash. We were able to solve our issues, and so I thought I’d share our findings with the community.

  • Send only plain text. Attachments and HTML content raise flags with content filters.
  • Set the message header: “Precedence: bulk”
  • You must set a subject, body, from address, and reply-to address (not having reply-to was my problem

In addition, if you are hosting your own mail server you should:

  • Publish an SPF record in your DNS configuration
  • Configure your MTA to and DNS to use DKIM. (Acronyms FTW!)

I hope this info is helpful to someone. I wish I had it.

Sources:

Things on My Desk (November 2007 Edition)

  • Airlink+ 802.11b Wireless Router
  • Cable Modem
  • Small box labeled “Everything Mac”
  • Smaller envelope labeled “Everything Else”
  • 1 empty Diet Pepsi can
  • Clipboard with notebook paper and a legal pad attached
  • Dillard’s Gift card envelope
  • Open CD Jewel Case
  • 17″ Macbook Pro
  • Kingston 1GB USB Memory Stick
  • Paperback TNIV translation of the Bible
  • Commentary on Romans
  • Digital Camera
  • Three cork coasters
  • One cup of cold coffee, 1/4 full
  • 15″ Compaq LCD monitor
  • Kengington Bluetooth mouse
  • Apple Power Supply
  • Multi-colored index cards
  • Chip-clip
  • Empty Package of peanuts
  • Black dry-erase marker
  • Extra battery
  • Deck of playing cards with pictures of my friends plotting my demise
  • Bridal portrait of Megan
  • Broken pair of sunglasses
  • Stack of receipts
  • World clock paperweight (not weighing down any paper)
  • Analog clock with my initials engraved
  • Letter opener
  • Class of 2000 cup full of pens and pencils
  • Stereo speakers
  • DVI to VGA monitor adapter
  • KVM cables

Freedom of Speech OK Unless Talking Politics

Ok, so the guy that created the Hillary Clinton 1984 video that’s on YouTube revealed himeself.  Since he works for a consulting service that the Obama campaign uses, he was promptly fired.  What bothers me most about this is the fact that people are acting like this was the correct thing to do.  The article even speculates whether the Obama campaign did enough to distance itself from this video.

We are a country that’s proud of our freedom of speech.  YouTube is probably one of the best examples of this expression. Anyone with a video camera and an internet connection can send a message to the world.  You can say anything you like, and if everything lines up just right, your video could be seen by millions of people.  That’s power in the hands of individuals. This is what America is supposed to be all about.

But if you post something about a political candidate, people start questioning.

  • Who made this?
  • Who paid for it?
  • How much did it cost?
  • Can they say that?
  • Is this fair?

My question is, why do we restrict the very speech that the first ammendment was written to protect?  It’s not just the culture and the media.  There are laws.  Remember campain finance reform?  529 organizations?  Why should you have to register as a 529 to talk publicly about a political campaign?  Maybe it’s just me, but this whole thing seems hypocritical and, quite frankly, stupid.

Update

Well, its apparently been over 2 months since I last posted anything to the ol’ blog.  The last think I wrote about was the late night release of ThinWire 1.2 RC 1.  So much has happened since then.  Instead of writing about everything, I’ll just list stuff that’s happened since then:

  • Two snapshot releases of ThinWire have been made.
  • I attended three weddings in three cities in three weeks.
  • I finished reading Asimov’s Foundation novels.
  • I attended a midnight wedding.
  • My printer broke.
  • Megan and I celebrated one year of marriage.
  • I purchased an iPod.
  • Epson sent me a brand new printer.
  • I read the New Testament
  • My company purchased additional office space.
  • I replaced the brake pads on my car.

Here’s what I haven’t done since the release of RC1:

  • Get a haircut.

See you in April!