Flash and HCJ (HTML, CSS and JavaScript)

Originally posted on danzen.wordpress.com

In this post, I will compare Adobe Flash and HCJ (a handy acronym for HTML, CSS and JavaScript).

QUICK CREDENTIAL CHECK

I have built hundreds of features and sites in Flash and HCJ over 15 years of creation at http://danzen.com for which I received the Canadian New Media Awards Programmer of the Year. I coordinate the Sheridan Interactive Multimedia Post Grad Program http://imm.sheridanc.on.ca for which I received the Canadian New Media Educator of the Year. I also explore the philosophical side of coding at http://nodism.org.

PURPOSE OF POST

The purpose of this post is to help clarify what these technologies do to better guide our direction. In a more specific context, there are a lot of people bashing Flash and I would like to put this in perspective.

HCJ SUMMARY

HTML, CSS and JavaScript is an open source system to display Web pages and mobile Web apps

  • – HTML is a tagging language (XHTML is a subset of XML which is a subset of SGML) that defines the elements of the page.
  • – CSS defines styles that can be applied to the elements of the page.
  • – JavaScript is a programming language based on ECMA Script (latest Object Oriented) that can work with HTML elements and styles.

FLASH SUMMARY

Flash is an application to make features that run in a browser plugin or in the AIR environment for desktop and mobile Apps

  • – The application has tools to build visual assets like vector illustrations, animations, text, images, sound and video.
  • – Flash has the ActionScript programming language which is based on ECMA Script (latest Object Oriented).
  • – Flash also supports CSS for styling.

NOTE:
Both systems access server side scripting just fine to store and retrieve data or to accomplish asynchronous loading like AJAX. This was a hallmark of Flash ten years ago. Flash also has Flash Builder and the Flex framework which is a tag based approach that publishes a Flash file. The Flash compile code is open source as is the Flash code that people make if they choose. For instance, my http://flashfeathers.com series of advanced interfaces is open source. Regardless, open source should not kill closed source.

COMPARISON

Both systems have the same potential. The main difference is in culture and in tooling.

Over the last ten plus years, creators of Flash and creators using Flash have been in a symbiotic relationship to hone the tooling of Flash specifically for making enhanced interactive features (see INTERACTIVITY SCALE post). This means that there are hundreds of media specific classes (code) with thousands of properties, methods and events tailored to interacting with the media. Everything we need has been carefully catered to (or filtered out), organized, tested and applied.

HCJ, on the other hand, has been used primarily for display and collection of information. So culturally, there is a ten year gap – even in basic functionality like rotation, let alone the culture of dragging, collision, keyboard commands, bitmap control, sound and video manipulation, filters, 3D, etc. I say culturally, because some of these things were possible, just not really sought after. There might be hundreds of hit tests done in HCJ and millions done in Flash.

Culturally, over the last few years (and particularly since the iOS no-Flash-in-Browser “NFIB” situation) there have been steps to move HCJ in the direction of enhanced interactive features. As mentioned, the potential is there. People are building libraries – a famous one being JQuery, and media is getting tag support with HTML 5, etc.

Tools are being built – even by Adobe, especially by Adobe, to support enhanced interactive features in the HCJ system. Tool makers have the benefit of seeing Flash grow and will no doubt catch up to where Flash is now in a few years. Of course, in a few years, Flash will have continued to progress as it is doing in the direction of 3D.

ANALYSIS

We are again at a time where Consumption and Creation have been separated. In the 90′s we consumed online and created on our desktop. In the 00′s, we did both on the Web although the creation pattern has always lagged far behind the consumption pattern. In the 10′s, with the arrival of mobile devices and in particular the success and arrangement of the iOS devices, we have the Web for consuming stuff and the Apps for creating stuff. Communication sits between or can be done on both sides.

Consumption with browsers and creation with apps is a natural split as indicated by the names – browser and apps. As an application builder, I do not mind the the split because we have a way to get paid for the apps! Try getting paid for a Web app – I have tried for 15 years with little success.

Marketing loves the split too – because they get to show authoritative content to the viewer. Unfortunately, there has been a throw-back to authoritative content and I think they have forgotten the power of user created content – rotating a picture of a car in 3D is not user created content and only scratches at the surface of engagement.

PREDICTION

The split between consumption on the Web and creation with Apps will hang around for a while **. There will be some enhanced interactive sites with the HCJ system but for the most part, people will think that fancy animation is enhanced interactivity and they will be satisfied consuming. The HCJ system will also be used to make apps. Most of these apps will be information apps – as in, “it is on the Web but we wanted a presence in the App store”. Other HCJ apps may rival Flash and Native apps in enhanced interactivity but if the Adobe Flash team and community does its job, Flash will keep ahead of the curve – the curve that they created in enhanced interactivity. Props to Flash.

NOTE:
Flash now uses hardware acceleration to help with issues of slowness on macs, etc. in video playing and 3D and more mobile functionality is available so there has been (and will be) improvements in speed and functionality.

CONCERNS AND CONCLUSION

The Flash community is very open and creative – some have gone on to help HCJ with their experience. What has not been very helpful is calling Flash (or letting Flash be called) taboo because clients can’t get their message on iOS Web. Marketing agencies should offer (or continue to offer) engaging mobile apps as a further opportunity to build brand experience. Right now, for the most part, there is no better and efficient way to create enhanced interactive experiences across the mobile platforms than Flash and Flash Builder – I guarantee it. Adobe is doing a wonderful job with the tools – just perhaps not as good a job as Apple with the hype.

Dan Zen Signature

Dan Zen – 2011

** It is possible that we will sway away from the Web as an all encompassing place for everything. The Web will act like a promotional place for offline and online products. More and more products will access the Internet directly like multiuser game “clients”. This will happen more so if we kill plugin architecture – either that or everyone will have their own browser (Google has already started with Chrome and its custom extensions). If you are thinking of going this way – Adobe AIR allows you to make your own Web browser – similar to Steam for instance.

FINAL NOTE:
There have been generalizations made in this post – to go through all the specifics would have been lengthy.