I refuse to believe that the entire planets best idea of the day is JavaScript.

There isn’t a day that goes by where I stumble into some random blog post, comment, remark, argument that involves JavaScript lately. It’s as if the entire quagmire of its existence is trying to ambush me with wave after wave of interpretation of why it’s important… i’m under JavaScript siege and now it’s time to go all Die Hard on it.

Here’s my notes

* Plugins were evil, JavaScript is the web’s future.
Plugins made a strong point to the interwebs, it said loudly “Hey browser’s stop trying to hijack developers to your greedy needs and if you want to sit around waiting for a committee to make a decision, fine, but me.. i’m going to give that guy over there HD porn…”

Fact is products like Java, Flash and Silverlight (the “evil three”) were the service pack the web needed, it needed to prove the point that developers aren’t getting their fill of API  / multimedia needs with the slow latency filled migration patterns we (sadly) still have today. It wasn’t until Silverlight and Flash punched each other to death and in turn created this competitive annoyance in the market both externally & internally – that is – internally inside Microsoft it reminded the Windows team that “plugins” could very well hijack the beloved desktop SDK’s if their pace is left unchecked (cannibalizing Windows potential offerings). Externally it also reminded the web that browsers haven’t being doing their jobs, the fact that these two brands duke it out so publicly was the fresh reminder “oh by the way browser, what the hell are you actually doing!”.

Google was the disruptor in that equation as well, Firefox made a good run at trying to keep rising with the demand tide but it wasn’t until Google got its hands in the mix that we started to see a change. Not only did they push the JavaScript angle loudly than any other company but they also baited Microsoft IE Team constantly to meet their needs, it was actually a beautiful thing to see how they worked that team like a puppet via the whole “You need to focus on fixing JavaScript runtime perf levels”.

So plugins are evil? without them you’d probably be still hacking away at some crappy codec or trying to find more hacks to get around memory issues in browser(s) – or worse – writing Java Applets (probably extreme).

* JavaScript is different than it was, its awesome!
Yeah, i’m calling bullshit. Majority of the frameworks today exist to abstract you from focusing on writing actual JavaScript because whatever reason. When you have a JavaScript framework as being the excuse as to why a language should be considered then that’s probably your first clue we’re dealing with a dumb ass response to a problem that needs attention.

Some might argue “well that’s the power of JavaScript, you can write frameworks to solve problems” which to me rides along the same logic as how painters in the old days use to make their own oil paints in order to paint… today you squeeze it out of a tube and you’re now focused on painting less about sourcing various ingredients to make “red”. Abstraction is fine if you are looking to allow a developer to feed instructions into a compiler that then gets distilled into another language (cross compile etc). I simply raise the bullshit flag when that same concept isn’t applied at the compiler but is instead this extra memory footprint at the actual runtime instance itself. As now you’re just putting extra layers of ductape over the corpse that which is JavaScript in order to hide its inherit stink.

* Yeah but JavaScript is what we have today, so we should just deal with it
You can’t really argue this point beyond “yeah but I’m overweight and I can’t stop eating, so just let me die of a horrible death”. I hate mediocrity with a passion and I find anyone who compromises with JavaScript as a solution to a problem they know at the deep core as being a bad idea to be “enablers”. If you are that person and you’re writing JavaScript to pay the bills, cool, but you’re also not helping the industry and if anything you feed the whole ecosystem with more crap to deem “acceptable”.

* Stop using JavaScript isn’t an option, we just have to wait and see what’s next
Which brings me to my next train of thought – what the fuck is taking so long with ECMA6 or whatever its replacement. At what point do we declare fail on these “committees” and rally behind the idea that this shit has to stop taking so stupidly long (are they meeting every 2 years? are they even still alive…are the 90 and need time to watch Matlock before energising the base around their decisions???).  TypeScript for me is “fine, lets just get on with it” or I’m open to anything that hints at being not freaking JavaScript.. i’ll write python in the client if I have to, but get this stuff sorted out and stop wading it down by this agonising death by democracy attitude. Break the web, its broken anyway at least this will be the event that freaks everyone out long enough to come up with a better idea than what we have today.

I refuse to believe that the entire planets best idea of the day is “JavaScript” (aka ECMA3). If that’s the case then the various education systems are teaching the wrong classes.

I have been doing this thing you kids call today “web development” since 1995, I’ve watched the entire internet move at an agnosing slow pace. I got hands on with VRML and watched that crash dive, I got hands on with Adobe Flash which then lead me to Adobe Flex and then later I as most know got hands on in Silverlight/WPF. I keep chasing the idea or potential that we as a human race have, in that we know that multimedia is a medium that can convey so much importance at a pace that’s exciting – when the technology platform allows it.

Today, by keeping JavaScript as being the “best” of the entire plugin wars as a solution, you have to be an absolute idiot if you believe that’s a step forward. It’s steps backwards not just small steps, but large steps.. steps that will take us another 3-5 years to recover from again. Look at the historical patterns around Prescriptive vs Descriptive design languages…

JavaScript is the digital age’s version of herpes, every time you think its gone a new outbreak occurs – DHTML, AJAX, “HTML5”

 

 

 

Related Posts:

My Kickstarter NSA Project

I’m going to create a company that will slowly own all inbound/outbound traffic. I’m then going to control the entire advertising channel that goes along with this. I’m also going to monitor all of your behaviour online and i’m also going to make it so i own as much of your mobile device(s) as well to ensure I have not just home/work covered but where you go as well. I’m also going to do everything I can to ensure all software programmers don’t abandon the web for improved / innovative solutions that transcend by re-writing mediocrity over and over (AJAX was a great ride, but have you seen this new HTML5 …. mwhahahaha).

I’m sorry you were talking about NSA, please continue while I Google some more.

My end point is this – There’s a lot of trust online and for anyone to think that trends like HTML5 are for the greater good really need to step back and understand the status quo today and sure you’re offended by the NSA’s behavior …which is comical at best compared to the level of data we entrust into corporations daily – because they have a “Do no Evil” policy 🙂

 

 

Related Posts:

The mission to land a .NET developer on Jupiter.

image

Ask not what Microsoft can do for you but what you can do for Microsoft. That’s really the inspiring quote that President of the new colonization group – aka Windows  – needs to say to the unwashed masses of tomorrow.

Microsoft is taking on a mission that looks to go beyond the moon, they want to land on Jupiter and it will be done with Apollo. Still confused?

If you’ve not paid attention to all the codenames flying about the place you’d be forgiven to be confused as there’s a space theme happening and with these code names its quite interesting to see how the objectives for the next generation of Microsoft is likely to shape up.

Jupiter is rumored to be the reset button to Windows Presentation Foundation (WPF) and Silverlight. A reset is the latest suspicion as just yesterday I found out that the XAML ethos within Microsoft has been disbanded and set to various corners of the company.  Some went to Internet Explorer team, some went to Windows teams and others went to Google, Amazon and Facebook.

Why disband the teams? It is time for pencils down folks, let us stop piling on code for the existing stuff but now let us set our sights for the future, let’s be bold. Let us be daring. Why land on the moon when you can land on Jupiter floating on a cloud of Azure? (Ok, I lost myself in that metaphor as well).

Ok fine, I have gone through the seven stages of Silverlight/WPF grief and I am at acceptance I think.

The Mission.

In order to better prepare for the mission ahead, let us think about the various things we need to account for prior to launch (September).

Replace Crew Members.

image

Inside Microsoft there is a lot of toxic turmoil going due to internal re-orgs (which is fairly common) that fueled with how the Global Financial Crisis has affected employees etc. it’s no secret that Microsoft are losing some quite influential and dare I say, hard to replace staff to places like Google, Facebook, Amazon and so on. I personally know of three employees who have hated working for Microsoft for quite some time but have been stuck due to housing prices in Redmond etc not being ready enough for a resale – that is – until Google, Adobe, Facebook and soon Amazon have campuses of their own in Seattle.

Now the super geeks have alternative employment options. Microsoft is now on notice, treat me better or I will leave. The later choice has been winning in my opinion and the more the new found employees have sent me messages of "Omg, its way better over here than Microsoft" which has to be salt in some current employee’s wounds whom are likely staring down the barrel of uncertainty in the company given its end of year commitment scoring mixed with the demise of what we used to call the Silverlight/WPF & Blend ethos. What to do!.

Reaching Parity. 

image

A gentleman and fellow .NET scholar Jose has done the best he could in reverse engineering Direct UI (rumored to be the leaked incarnation of Jupiter). He has some insights that are both great and disappointing at the same time. The great part is it could very well be the next iteration of what has to come in the landscape of C# and XAML for tomorrow’s UX Pioneers.

The downside is its 3-5 or maybe more steps backwards in the current feature parity you have all eagerly waited for over the past 4 years. There are some fundamentals in the room whilst there are concerns around some of the other features that may or may not make the cut for version one.

If I know Microsoft and I like to think I do, this is likely to be yet another one of those traditional "version 1" moments whereby the team(s) behind the product eventually stumble across the finish line, exhausted but barely breathing enough to shout "Give me feedback on what you want in version 2, it will be better I promise" followed by some metaphor about how it’s a marathon and not sprint to the finish line (We got great mileage out of that with Silverlight and I dare say you could get a few more products out of it yet).

The tooling is likely to be not in place during this version 1 lifecycle as my sources tell me that the Blend Team aren’t cranking out the vNext improved world of Microsoft. I know Steve Sinofsky has had a few ambitions about what the Tooling should look like in the perfect world of Windows vNext frontier and I am guessing he did not play well with others in the Devdiv team(s) to share such ambitions.

That being said, either there is a skunk works tooling team hidden in some random building in Microsoft that others do not know about or the tooling story behind this next frontier is unlikely to be in place before Sept or for whenever this next version of our beloved Silverlight/WPF ethos occurs.
What I mean to say is welcome all to Microsoft 2005. Hold onto your Winforms or ASP.NET MVC  for a little bit longer and for those of you in Silverlight/WPF investment land(s) – try to not focus on the future but the now (best to keep your code base as lean as possible and not to tightly wound in client-side logic).

Put vital organs into Escrow.

image

Microsoft are quick to throw technology at a problem first and then ponder as to why the problem existed. I’ve often personally seen strategies – wait, that’s not correct, strategy requires forward thinking – tactical decisions (better) made around trying to grow developer audiences.

The assumption are

"ok, we’re not making our tech palatable enough, lets steal stuff from Ruby On Rails, Apple or Oracle to make it better".

The absolute harsh reality is often a lot of non-Microsoft customer(s) etc. just don’t like Microsoft (Ever liked a girl/guy and they don’t like you back? You try changing your clothes, hair, car etc. and still nothing. Welcome to the Microsoft Developer outreach program, you will fit right in).

The other side of this coin I guess is those of you who adore Microsoft for what they are. You spend thousands of your own dollars to go to various events to listen to Microsoft confuse the absolute crap out of you. The problem is lately, they seem to be a company you just cannot bet on for the future.

Grandiose plans to land on Jupiter may be bold, daring and exciting but is it dependable? Can this company commit to a master plan and is this a plan or just a tactical political brain dump mixed with a lot of Microsoft experimentation.

Is it a case now of not waiting for the next Service Pack but now waiting to see if a product can get past version 3 and 5 before you really consider it as a viable option of the future?

In order to prepare for this next mission, someone has to donate some good will to the fans of Microsoft technology. That means you cannot stick to the ye olde "need to know information" mentality. You got to bring your roadmap(s) for the future and you got to show us that you’re telling the truth that you want to aim for Jupiter and not some closer planet or worse – the unknown void beyond Jupiter.

Commit and stop being assclowns.

image

Commit to us so that we may commit to you. No more lies, No more "I’ve got a secret, can you guess!" and lastly no more internal political child play spilling over and into the blogosphere. It’s time to be a big boy company and use big boy strategies with big boy plans mixed with a lot of big girl personality (somehow that did the ladies no favors).

If we are to take on this mission, it’s time for a smarter playbook around transparency and if Steve Sinofsky is willing to bring the "come to Jesus" moment for the company around consolidating the entire product lines into a consistent continuous experience across all devices with a developer/designer experience to boot. Great, I personally will print out a t-shirt that says "I’m back in team Steve" (heh my old team inside Microsoft was called Team Steve…Steve the manager though was a arrogant jerk, different story, different time).

Right now its just a case of me holding up a really sick puppy that others have kicked and telling you all about the neglect its owners have given it. (If I quote that metaphor I was given last night by a friend).

Related Posts:

Understanding “Why would Microsoft do that?”

image

There is a consistent theme that I often see when I have been invited into conversation(s) regarding Windows 8 and the whole HTML5 saga. The main undercurrent is "Why would they do that?" and it is a perfectly valid question that often gets lost in the whole opinion / news pieces that are floating around.

Understand the metrics first.

Inside Microsoft you are really goaled around a metric that involves the words "market share" in that somewhere along those lines your entire reason for drawing a pay cheque distills down to that. You have to help Microsoft grow its market share across all battlefields and there are multiple battlefields in play.

Battles are what are happening in today’s software industry. It is quite competitive and cutthroat in many places and often mercy is for the weak.  Companies on both sides often play by the rules governing ethics but often more so than ever it is not the case under the covers or behind closed doors. There are often many tactics at work that the audience(s) and customer(s) do not always see.

For instance, when Silverlight/Expression was heating up in the early days the battle between Adobe and Microsoft was quite intense (I myself was caught up in it quit easily). You’d have situations where Adobe would threaten to shut down a conference if Microsoft Staff showed or you’d have Adobe specifically target Microsoft showcase wins the next year and spend large amounts of $$ to win the customers back to create the perception that these customers had buyer’s remorse.

Apple, Google, IBM and Oracle all suffer from the same somewhat software industry driven guerrilla warfare style tactics. It is a competitive sport and staff within get quite emotional and aggressive at times about it – like a thunder dome of super geeks.

Tactical approaches and competitive aggression is what fuels Microsoft often. It has also to answer the question you have around "Why would they do that" simply put; it is about building an army primarily.

Understand the Tactical Programs

You have programs in play like BizSpark – an idea to give the software away for free in order to seed start-ups into adopting the Microsoft technology stack. It is the old heroin addiction formula at work, in that the first hits free but the second and third will cost you. Ensure an addiction takes place then the monetization will follow.

HTML5 + Windows 8 are no different. The prospect of enticing never before heard of developer hordes – also known as the Alternatives to .NET development into adopting Windows 8 platform(s) via the HTML5/JavaScript route is worth the risk to Microsoft.  It is about socketing these peeps in early, get them acclimatized to the Microsoft technology stack and from there you can bleed the monetization models outwards into channels that you can declare internal victory over.

Understand the Compete motions

The thing though is this playbook or this strategy is in no way different to the days when .NET was first created and it is again a rinse/repeat formula being played out.

The motivation is growth around developer share (that is an obvious objective around winning) the other objectives are also around competing head to head with Google & Apple. Google is the main focus though, this company is taking bodies from Microsoft staff lines often and if you were to look at the past two years around who’s left the .NET development teams as well as the Internet Explorer teams for Google it’s almost alarming.

Google don’t need to compete with Microsoft, they just need to re-hire their staff and I often giggle about this as I once wrote an internal memo regarding Adobe compete whereby I said "We should make a $300k a year offer to their entire evangelism staff to work for us, we say here’s $300k now go sit in the park and enjoy life for the next 2 years as it would be cheaper than what we spending on compete for Adobe".

Google are kind of doing that in many ways.

Understanding the gullibility.

Google are also provoking Microsoft into adopting their tactics and more importantly forcing the companies hand into moving Internet Explorer closer towards a HTML5 Future(s) than before. For instance they punk’d Microsoft into fixing the JavaScript engine within Internet Explorer because they had the company convinced that this was their biggest fear around how Microsoft could beat Google. Microsoft took the bait and the funny part is the person who worked on that engine is now working at Google today.

Google played Microsoft and it is this small random pocket of competitive insights that often go unnoticed in the industry. These small little gems of "hah that was funny" all add up to the situation we see before us today around why Windows 8 looks and is likely to act in the way it is.

There is no real strategy here, just tactical competitive reactions played out that do not often give pause to the massive impacts it places on the hordes of developers who wear the Microsoft logo on their blogs / resumes etc. with pride.

Microsoft is doing a terrible job at corporate communication(s) and the most frustrating part of all is that it is the actual fans of the brand that are noticing the most.

That is probably a small glimpse at how a competitive situation can motive product lines into making snap decisions the way they have been in the past five years.  The reality is you the customer out there who use the technology actually play somewhat a smaller role than you do think around feature selection and roadmaps for product designs.

It’s often a competitive influence that drives the most decisions and sure compete leads to innovation right and that’s something we should all embrace – except if the tax is instability.

Summary.

For a deeper insight into this topic around “Why” Listen to a podcast I did list week titled “Windows 8 Round Table” via TalkingShop DownUnder.

http://www.talkingshopdownunder.com/2011/06/episode-58-windows-8-round-table.html

Related Posts: