Friday, February 05, 2010

My thoughts on HTML 5, Flash and Innovation

I have been aware of HTML 5 for several years now and many people have asked me if I see it as a threat. This question usually is posed in the context of the fact I work for Adobe and Apple has made statements such as "HTML 5 will replace Flash". I have thought about this hard and long from a number of different angles and felt it may finally be time to speak up. Yeah - it took a while and Steve Jobs (UPDATE - read disclaimer below) has told everyone how lazy we are. You see, I only do around 125 speaking engagements a year (an average of over 2 per week), travel around 300,000 kilometers as well as raise a family, play in a rock band, write books, white papers and technical articles, visit customers, produce episodes of Duane's World for Adobe TV and more. I am not sure what constitutes lazy but I can't do any more than I am now without sacrificing my family life so call me lazy or whatever. I don't really care.

UPDATE: It was brought to my attention from someone who was present that Steve Jobs words' were not exactly as reported (re: "Adobe is lazy"). In an effort to be accurate, I want to state I was not in the room nor have I heard Steve say these words. I am glad as most of us like Steve and think he has given the world some really great visions and technology. It actually deeply hurt my feelings when it was reported he personally attacked our character. Competition is good for the market and attacks of a personal nature have no place in our profession IMO.
END_OF_UPDATE

I have already divulged that I work for Adobe and I want to be pragmatic and transparent in this blog post. Some may take this as a slight against Apple. It is not. Adobe doesn't rant. I rant on my own time to make up for it but this is not one of those times.

In case you haven't heard, HTML 5 is a successor to HTML 4 and it will carry a set of new features such as native video capabilities, variables, and more. The theory some have put forward is that because HTML 5 will have video, this will hurt Flash. To begin, let's look at what Flash has done. If we had simply let standards bodies decide innovation, many of the top Web 2.0 patterns would not have developed. Microsoft introduced the XMLHTTPRequest objects, which led to the rise of AJAX. Adobe created Flash for rich visual user experiences and PDF for high fidelity documents while other technologies such as microformats and browser plugins to read them have extended the base set of web standards. Several vendors worked on Application Servers and specialized server pages written in PHP, JavaServer Pages, and more. Jeremy Allaire developed ColdFusion, still working so well today I was recently in an account that had CF version 1.1 running. This is the innovation that drives standards. None of this stuff came from standards and most of it used standards whenever possible. Eventually, some of the innovation gets commoditized into standards or browsers. That's life in the tech world. It happens!

If the video bits get commoditized, so be it. Then we have to place a great deal of trust in the browser vendors to consistently implement the behaviors and user interface controls so that there is a consistent web experience. It is with this thought that I start to see fractures in the arguments of HTML 5 replacing Flash. Individually, each browser vendor will build and test their own work and generally release good quality products. Open source engines like WebKit and Firefox do well (another example of commoditization - remember when people actually used to charge money for browsers??). Let's do some simple math to demonstrate the problem facing the web.

There are many browsers on the market (Internet Explorer 8, Chrome 2, Safari 4, Opera 10[13], Chrome 3, SeaMonkey 2, Camino 2, Firefox 3.5). Many of these run on multiple operating systems (Mac OS X, Windows, Linux, Unix) and have multiple concurrently used versions of each. The matrix is roughly 5 major browsers, times 3 major operating systems, times 3 different concurrent browser versions, times 3 different concurrent operating system versions--or around 125 major variations. Now factor in the diversity of screen resolutions, bandwidth speeds. and several other factors and ask yourself this question - "is it ( highly probable || somewhat probable || probable || not probable ) that all the browser vendors will implement HTML 5 in a consistent manner?" Since this has not been demonstrated with CSS and HTML 4 today, I would think that it is possible, but some details might be a bit rough. Anyone who has developed AJAX applications or rich content that uses CSS and has performed cross browser debugging knows this. I am not saying Flash is perfect, but the fact you have a single runtime environment is appealing to many people. To that end, I don't see Flash disappearing anytime soon. People who hate Flash may jump all over this statement but I hate peas and they are still being served in restaurants and stores despite my best efforts to rid the planet of those slimy, round green vegetables.

The next consideration is how well people implement the standards, the main choices being full, somewhat, or not very well. Take PDF as an example. The PDF format is an ISO standard meaning that it is in the hands of a fully accredited standards development organization. No one vendor controls it. Adobe Acrobat and Reader are the traditional reference implementations; however others are completely free to fully implement the specification. Apple has not in Preview. Microsoft has done a much better job with PDF IMO.

Apple itself has done some great stuff to innovate the web. iTunes is certainly a great example and I will publicly state I love OS X. I own an iPhone and recently bought my 7th Mac. I drank the Kool-Aid and may change when Ubuntu 10.1 comes out. (see - I am really being transparent, even at the cost of looking like a hypocrite).

Innovation will continue as things get commoditized. This will force further innovation on the cutting edge. This is just the nature of the beast. This is not to be feared; it doesn't mean Flash developers will suddenly drop Flash and only develop in HTML (if they did in a production environment they will probably be using Photoshop, Dreamweaver, Premiere Pro and After Effects anyways so I believe Adobe is well positioned in either case). Flex certainly is not going away any time soon. I don't see any Web Services wizards being introduced in browsers or the ability to perform advanced data throttling and paging operations running across multiple browser platforms. Flex is there today.

Having said all of this, my final thoughts are that I am really thrilled about HTML 5. Adobe will be there as will everyone else. Let's wait and see how it goes. I could be wrong. It wouldn't be the first time and forking the web would be a bad thing. HTML 5 represents a great opportunity for the entire world. It represents a sharing of information, the cornerstone to any democracy. It is in our best interests to get this right and work on it together.

Some of this may be flame bait so have at it. I've worked in standards for a number of years and base my thoughts off those experiences. If you want to flame me, go ahead. I live in Canada, it's cold and I this is just my own opinion anyways. I think there are probably around 6.4 billion more opinions on this subject out there somewhere.

Ciao!

Thursday, February 04, 2010

Apple's MobileMe not Trustworthy

That is a bold statement for me to make. After all, I am regularly talking about Cloud computing to a number of people and advocating its use. I have written several articles on Adobe's move into the clouds and have also clearly articulated that there are some subtle issues that need to be worked out. Nothing has prepared me for what MobileMe has done to my data.

It started last night as I was cleaning out my inbox and found a friend who had changed their address. I logged in to me.com to make the changes to my master records for my address book only to discover that Apple's cloud said I had no contacts. Now this frightened me a little (I still have local back ups) so I contacted them. Within 12 hours my contacts were back again. It was an older copy, however, so I had to fix multiple details. I relaxed a bit and slept.

Today, I got an even worse message. I have the same (you have no contacts) message (see below).


Since I was logged in on another machine, I tried to refresh that page only to now get a message that says "Your MobileMe contacts are temporarily unavailable".

FAIL!!!

Let me repeat that again:

FAIL!!!

Since MobileMe offers only chat support, I could not really tell them about this and how I felt. I asked the person twice directly "Has Apple had an event or has my data been corrupted?". The first time there was no response and when I asked the second time, the reply was "I am not aware...". So, what can we infer from this (other than Apple might have issues with their cloud)?

I think the first thing is that we really need a cloud users' "Bill of Rights". I want to be notified if my data becomes corrupt, lost, stolen, exposed, etc. It is MY data, not Apple's. If they have had an event, I believe I am entitled to know about it. The generic messages just tell me that MobileMe is not enterprise ready nor should it be trusted.

UPDATE:

An Apple rep got in touch with me and worked with me. There are sync issues with MobileMe and they are aware of them. To be fair and balanced, the Apple employee was timely, professional and courteous as well as understood my frustration. While I am skeptical of MobileMe being enterprise ready, I will be giving it another chance for a year.

Thank you Apple! Your customer service was good.

Tuesday, February 02, 2010

Duane's World Episode 23 - MovieSet.com and Flex Key Events

In this episode, I get to interview well known film producer Colleen Nystedt (who has worked with David Bowie, Matt Damon and hundreds of others in the industry) about a new platform for B-to-B-to-C movie collaboration. Code and tunes features a tutorial to work with keystrokes in Flex 4.

After watching this you will want to try out MovieSet.com to get special behind the scenes footage from great movies like Avatar, Trailer Park Boys and more.

Monday, February 01, 2010

New Chaos Theory algorithm for Lotteries?

I have always been a bit of a mathematics fan and I work on various algorithms. Some of the recent ones I have been working on in private are a combination of academia and new age philosophies. I decided to apply this in practice to the lottery so in January 2010, I used a filter to analyze and work on numbers that have a higher probability of being generated based on an evolution of Chaos Theory. The results are somewhat significant and shown below.

For those who are uninitiated, Chaos theory is focused around "order from chaos". I live my life in total chaos and find myself thinking about it a lot. Is Chaos really Chaos or is there something else? While many had pondered the theories of Chaos, Edward Lorenz, a meteorologist, is generally credited with the first experiments around 1960-1962. He used a computer to digest 12 distinct models for predicting weather. The experiment predicted what the weather would be, although not accurately.

I have believed that Chaos itself is just a pattern that we have an incomplete understanding of. For example, if you look at weather patterns, is it possible that we are missing some key criteria or have failed to understand a vector that affects the weather? Such forces may be difficult for humans to comprehend. The Butterfly effect and small variations in initiating conditions could explain much chaos. This leads me to my next thought.

What if there are certain types of brain waves that affect physical matter? I know this sound crazy but let's just explore this for a second. Such a possibility has been contemplated in conjunction with the chaos theory of lotteries before and dismissed. The idea goes like this. If enough people concentrate on a specific number, that number is more likely to be a result in a lottery. Of course, this theory would have to be balanced by assuming that the population that is thinking of equally random lottery numbers, yet this is not the case. There are numbers that are significant to various segments of the population in different cultures. Asians love the number 8, North Americans generally think 7 is lucky. Religious people associate God with the number 3.

Many lotteries that have a game whereby the numbers are selected from 1-49 inclusive have statistically significant patterns in drawn numbers based upon these theories. These are small enough to potentially make a difference yet likely not large enough to establish a winning hypothesis. Statistics can be found at http://www.lotto649stats.com/

I basically reviewed a number of lottery results and applied a filter towards shifting number significance based on cultural events. This was factored into a statistical draw model and factored in modification weighting based on current events in a confined geographical area. Think of it as an experiment to debunk the claims above. The results were interesting yet not a net positive outcome. Here is a snapshot of my lottery account in January 2010. I basically won a lottery prize every single draw using my algorithm based on buying 5 tickets boxing several combination of projected numbers. The odds of winning the grand prize once are one in ~14 million (not including the extra). The odds of winning a smaller prize based on 3 out of 6 numbers correctly drawn is about one in 12,000. To accomplish this every single consecutive time or to hit an extra number is not astronomical yet I would aver it is significant.


Having stated this, I do not expect this will yield any big results as the theory itself starts to destroy itself due to it's inherent flaw.

Either that or this is all just a crazy coincidence.