Wednesday, June 15, 2011

The Re-Birth of Microsoft & What it Means for Developers

About 4 minutes into the Microsoft preview last week of Windows 8 http://allthingsd.com/20110601/microsofts-windows-8-demo-from-d9-video/ , the leadership of the Windows team make two points: Windows 8 will ship with Internet Explorer 10 packaged into it at the beginning of 2012, and their new “immersive applications” will be built with their new development platform “which is based on HTML5 and JavaScript”. Immediately the blogosphere went into a rage about the abandonment of .NET, Silverlight, Visual Studio and a lot of other tools that the majority of the developer community had taken years to learn and become proficient in.

There are 3 points about the vision of Microsoft that bear some comment.

First, according to Gartner Group stats, as of 2014, there are expected to be 2 billion computers in use worldwide, with annual shipments worldwide peaking around 300 million in 2011, and remaining there for a few years. By 2015, there will be as many smart mobile devices, such as smart phones and tablets, in the world. In fact, 200 million more smart mobile devices than PCs will ship this year alone. MSFT has a huge installed base (resident on more than 80% of PCs), but is a laggard and a follower in all mobile device markets (e.g. less than a 4% operating system share in smartphones). It needs to head where the consumers are headed.

Second, the rising tides of cloud computing and mobile web services development actually require that back end enterprise applications will continue to exist for decades. Those who see HTML5 & Javascript & lightweight “languages” (such as PHP & Ruby, MySQL, Drupal, Joomla, etc.) as great tools for “apps” do not delude themselves that the world can do without the skilled experts who work on “applications”. The difference is scale, the difference is discipline, the difference is skill in Java, C, C++, etc. – the languages of computer science. But perhaps the great difference is in the user: the users of apps are consumers, the users of applications are corporate types and web front ends. Microsoft must play in both worlds – this is no change from where they have always been.

Third, though MSFT sucks at usability, Windows 8 & IE 10 mark yet another new opportunity to become great. If Apple has taught us anything, it’s that there are people who can design great experiences, and MSFT management by now knows that Apple doesn’t have a monopoly on them. The design of the Windows 8 demo screens are meant for all machines, they are simple and usable, and they are built using a development system “which is based on HTML5 and JavaScript”.

As Microsoft morphs to become relevant again, big system developers should know that their jobs are safe because the future is about both apps and applications & users and usability. As we move from 2 billion devices needing software to 5 billion devices needing software over the next 5 years, let’s sleep relaxed – those of us in the world of software development have secure futures.

Monday, May 30, 2011

A Simple Exercise


So, with the advent of all the new features in HTML5 and CSS3 that, in the proper combination, will make many sites far more stunning, I thought it was a good point in my life to read a few books on User Interface Design.

After reading two classical and two recent design books, I decided to take a site tour of the 5 companies that have the highest market value in America today. In size order, they are Exxon Mobil, Apple, Microsoft, Chevron, and General Electric.

So now let’s have some fun. Open your favorite browser, then open each home page in a separate tab, and just look and keep comparing. Try to figure out what they want to accomplish, and what they do accomplish. What do they tell us about how they think about their customers? Enjoy the tour.

www.exxonmobil.com

www.apple.com

www.chevron.com

www.microsoft.com

www.ge.com

There may be more than a trillion dollars in market value represented in these 5 companies, but it sure doesn’t look like it….

Wednesday, May 25, 2011

The 3 things wrong with HTML5


With virtually all HTML5 features that will wind up in the final RFC (due in 2014) having been proposed and coded, now the WHAT Working Group @ the W3C is moving to the review stage. So now that we know what’s in it, what are the 3 things that are most wrong with HTML5?

First, the browsers and the customers aren’t ready yet. Shown below are the browser market shares for the major browsers, according to Ars Technica (www.arstechnica.com).


More than 50% of the worldwide browser population is on IE versions 6 thru 8 as of the end of April 2011. On the www.html5test.com test site, these browsers show as achieving scores of no more than 32 on the HTML5 full feature implementation scale of 400. As opposed to these dinosaurs, the current browsers perform quite well:

So right now HTML5 sites are viewable by about half the worldwide population of browsers. Time and Microsoft updates will cure this problem in the next year.

The second thing wrong with HTML5 is the security hole. HTML5 was designed as an open standard. It was designed for use with many technologies, but primarily to interleave with CSS3 and JavaScript. If you were fairly cautious about JavaScript to begin with (see www.owasp.org/index.php/Category:OWASP_Top_Ten_Project ), you know that any good black-hat hacker worth his PC can execute the OWASP Top Ten attacks. One of the world’s foremost experts on this topic, noted two weeks ago that “90 of the F100 companies had JavaScript vulnerabilities right on their home pages”.

Now let’s toss some new HTML5 features into the mix, including: access to local data storage on our devices, web workers, new elements such as canvas, and security sandboxes, and the attackers will find 50 more ways to penetrate this new environment. But let’s appreciate that the security issue has a cycle, they attack we patch and correct, and it gets progressively harder with time to summon the skills to attack. And let’s appreciate that it took both time and security expertise to eventually get the Viagra out of our email Inboxes.

The third big thing wrong with HTML5 is the speed of the browser. How does HTML5 compete with an app? Until recently, the speed of device based apps was measured in milliseconds and browser based apps was measured in tenths of a second. That is changing - quickly. Speak to any CEO of a gaming company, and they have an HTML5 strategy. And the reason is that speed improvements on devices & in browsers that will bring hundreds of millions more users to become gaming-capable.

To watch this in real time, open all the browsers on your device, then on each browser go to the following 3 sites: http://v8.googlecode.com/svn/data/benchmarks/v6/run.html, http://krakenbenchmark.mozilla.org/kraken-1.1/driver.html, and http://sunspider-mod.googlecode.com/svn/data/hosted/sunspider.html. You will be surprised by the 30 – 50% difference in speed of your various browsers running JavaScript.

The speed of JavaScript running on the iPad has gone through a 4X acceleration with the release of the iPad2. There are similar comparisons for its speed running on the different browsers. So between Moore’s Law at work on the devices themselves and the rapidly improving & competing code bases in the browser engines, time will also cure this problem.

So, what’s wrong with HTML5 - nothing that the passage of time won’t ameliorate.

Your browser may not support display of this image.

Monday, May 23, 2011

Starting Over...

I recently had the pleasure of spending two hours with a bright group of six 40 to 60 year old unemployed New Yorkers trying to do “networking”. You know the crowd: college educated, went to work for the F500 right out of school, spent years in various jobs, worked hard, were promoted a few times, managed groups of people in various functions, honed their management skills and lost their knowledge worker skills.

Then the layoffs, the outsourcing and the cutbacks started, then the buyouts, and then they found themselves out of work with a “package” that turned out to be far less than what they needed. Today they collect unemployment insurance, apply for a job or two a week, sometimes feel they’ll never get back, explore and discard new opportunities regularly, and generally find themselves devalued and depressed. A number admit to crying when they ponder their situations. The tough love answer is: start over….

Your browser may not support display of this image. The US Bureau of Labor Statistics ( www.bls.gov/oco/ ) illustrates the issue beautifully: to get a good job today, you need to get a current education targeted to the fields where the 3+ million new high-paying job openings are.


For those of us in software, there are 175,000 jobs being created domestically for applications software engineers – mostly for web services development. (These jobs are beyond the 1.3 million US IT tech jobs still to be outsourced to developing countries by 2014, according to www.investors.com ).

Today, this means there are jobs for those getting familiar with the web services revolution: HTML5, CSS3, Javascript, PHP, MySQL, Drupal, and Apache – mixed together with the special sauce of User Experience design. If you really want to, you can read books and sign up for classes. Invest 4 hours a day - like you used to do when you were in college - and it should take you 6 months to become a competent apprentice with these technologies.

Then put yourself out there as a very low-level knowledge worker making $15 - 20 per hour, not great but much better than the $10 per hour you currently “earn” for unemployment and still less than the $22 per hour charged by outsourcing companies for non-college educated workers in China and India. It takes work, it takes patience, it ain’t easy, it means taking a hit to your ego, and you will have to re-discover that feeling you had when you started out – not sure whether you can really do it… but you will.

There are no easy answers for the unemployed, yet this we know: mobility, the web and cloud computing are going to fuel high tech job growth, just like an aging population will generate jobs for nurses and doctors. One in ten IT jobs created in the next 5 years will stay in the US. Kids graduating from college today with knowledge of web services development are getting $50k – 110k as starting salaries. Starting over is tough, but, if you try, you will rediscover the youth and energy you still have.

Saturday, May 21, 2011

Cloud Computing

This blog is dedicated to those seekers with a passion to actually read and learn about those technologies that will bring the future of the Web to fruition and radically alter our lives.

So let's start with 4 simple things that will radically alter our world by 2015:

> data centers that morph into cloud computing centers;

> access networks that add more mobility and speed;

> consumers and “prosumers” in the industrialized world who are going from an average 2 to 6 devices that access the Net daily; and

> applications that meet needs we haven't thought of and run on the device we have handy at the moment.


The news in cloud computing is not only that it is growing spectacularly (> 40% per year through 2015). The real story is that 85% of the total costs of running data centers are dropping annually as we add users to the cloud. This creates what the economists call “economies of scale”, where the company that grows the fastest gets the lowest costs and the greatest control over setting pricing. Economies of scale in the auto industry over the last century brought huge drops in prices for users, and better lives for us all.

The news on the access network front is similar: more & faster ways to get to the Net from wherever we are. Mobility is the key, as well as the ability to get to an appropriate screen for the app we want to use – no movies or books on my iPhone – no phone calls on my HDTV. As choice rises in our access networks, prices for access will drop.

The news on devices is similar. Today my HDTV, car, phone, tablet, laptop, desktop, and alarm system all give me easy access to the Net via a browser. Within the next year, more devices will join this parade. The arrival of screens with browsers and Net access augurs a wider connectedness than we have ever experienced. It also causes huge drops in prices for consumers.

The news on apps just adds to this fast forward lurch. Literally a half million apps run on either an iPhone or Android phone today. But most apps only run on one screen, are optimized for only one operating system, and are not really meant to be shared. This all changes as we move to better, standards-based browsers and the HTML5 suite (HTML5, CSS3, and Javascript). In the next year, the explosion of cross-device gaming running on Facebook and other exciting new applications, such as www.thewildernessdowntown.com and www.webglsamples.googlecode.com/hg/aquarium/aquarium.html , will dramatically raise the bar for most websites.

And, finally, the way forward… The 3-D Metaverse was captured elegantly in a 23 pager written collaboratively in 2006 (www.metaverseroadmap.org/overview/ ). The place we will begin to inhabit starting around 2015… read and learn and comment and criticize.