Posts Tagged ‘Plugins’

Flash is Finished (but not how you have been brainwashed to believe)

October 26, 2012
flashIDE

Flash Authoring Tool with Asset Tools and Management

I admire the human instinct to explore – to want to do new things.  So… perhaps it is no wonder that the interactive development world has embraced this challenge of HCJ – HTML, CSS and JavaScript under the popular guise of HTML 5 and proudly open source for all to contribute.   Flash on the other hand has been honed for roughly 15 years into a tool with synergy of parts organized by a hired team of brilliant people with the focused purpose to make an application for building advanced interactivity.

In my mind, Flash is finished – as in COMPLETE.  In recent years, the improvements that the Adobe engineering team were telling us, we could not even really understand.  Concurrency… and other really high level tweaks to make it run as fast as possible has been the focus.   Developer conferences were becoming stale – there was nothing really new and exciting – new ended at getting access to the GPU and mobile devices through AIR.  One final wish for Flash would be to integrate the GPU so we do not have to think about it – like the Starling framework.

So… can we perhaps get it in our head that the lack of excitement for Flash is not because it is dead but because it no longer needs to be changed.  Flash is a mature system.  As such, can we please show it some respect – the whole world seems to want to kill it – is that what you do with adults after they stop growing?

On the HTML side, we are still adding new things.  We got three important tags – canvas, audio and video.  When Flash got bitmap access (canvas) in 2003 – yes, ten years ago, we developers felt the amazing excitement.  It was followed shortly with a dramatic upgrade to ActionScript – moving to AS3 a generation beyond the current JavaScript.  These were exciting changes.  The changes we are excited about on the HTML side are for things that Flash had years and years ago – I can’t even remember Flash without sound and video.

While HTML is still changing, so too is the culture of Web developers.  Hopefully they will advance past the mindset of just presenting information – and this whole adaptive design hoopla – we have been doing adaptive design in Flash forever.  That is what vector is about – that is a main strength of Flash.  Flash has always been able to scale in multiple ways – I have made many projects that implement adaptable design.  Anyway… hopefully developers will look past this to building applications where users can do things and create things.  This does not mean a form.  This often involves several elements that Web developers are still getting used to.

1. Hit Tests
2. Dragging and dropping
3. Resizing and rotating
4. Drawing with shapes and curves

If you ask any Web developer how many times they have done any of these you would probably get that they have dragged and dropped a few times.  I, being an interactive developer, have done all of these things hundreds if not thousands of times.

In Flash, we have been given 67 packages holding 757 classes although we do not use all of them and many just hold constants.  Perhaps we use about 50-100 classes regularly. Our main interactive container class, the Sprite has 68 events available, 53 properties and 39 methods.  You can see them here: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Sprite.html  Some might say that this is bloat.  Well… there have been many things pruned from Flash as well over the years – including the current way that JavaScript handles classes.  Flash is so well organized that any excess does not really get in the way.  You import the classes you need – and it is nice to have what you need.

AS3 Packages, Classes and Sprite Example.

AS3 Packages, Classes and Sprite Example.

I will continue to develop my Web and Mobile apps in Flash.  If I need a Web app for mobile browser then I will use HCJ.  I encourage all former Flash developers to use and recommend the right tool for the job.  I also encourage you to help develop HCJ into a right tool.  But I certainly do not encourage you to say Flash is dead or to recommend to co-workers, clients and upcoming developers not to use Flash.  Because I can guarantee you that in Flash we can build faster and more concisely than HTML 5 developers when it comes to advanced interaction.

Dan.

PS.

View the source of what I needed to do to get dragging to work in HTML.  I looked for almost a day to get a drag and drop script that worked across all platforms.  In the end, I chose an older script and modified it with the help of an expert in HTML 5 to handle mobile.  http://www.danzen.com/realmstar/drag-drop-custom.js – is 789 lines long to drag and drop.  Well… Flash is startDrag() and stopDrag().

This brings us to the topic of Libraries and Frameworks. JQuery and JQuery Mobile have have drag and drop solutions – I could not get them to work but I don’t currently do jQuery so that could be why.  CreateJS has a solution and I have since gotten it to work.  SentiaTouch probably does as well, etc.  All these different frameworks provide their solution with their syntax.  HTML is trying to implement drag and drop if they have not already – I think I read something about it.  Well… I tell you, it is time consuming to keep up with all this stuff and be swapping frameworks every month.  Perhaps it will settle but how will this look?  Do Web developers want all the solutions to go into HCJ?  Are the framework developers going to be happy with this as they see their framework implemented “natively” and become poly-fill for old browsers – hopefully.  And will this end version – converging to perfection be called bloated.  Will it take the same resources Flash?  Most likely – that is if it ever gets there.

In my mind, we need both open source and closed source.  You cannot design by committee – it gives you grey – committees and open source are similar.  Agile groups or even individuals are where ideas and advancement come from.  It helps for there to be a reward – such as money to spur such innovation.  Of course many innovators will donate their work to open source, it is just that for the most part, I see innovation coming from closed source – so do not try and kill it by smearing it and making it taboo – or, for instance, taking away browser plug ins.  It is most ridiculous for an open source community to say the only scripting in Web browsers will be JavaScript.  Can you hear yourselves?

Apple Should be Punished for Attempting to Kill Browser Plugins

February 22, 2012

THIS IS A PICTURE OF THE APPLE ICON STABBING A PLUGIN

Can you imagine if Microsoft back in the days of operating system wars… just after the time they bailed out Apple when it was on its death bed, said to the world.., “Our browser will not support plugins.  Instead, we have made an app store on Windows where we will get 30% of apps sold.”  Well this is what Apple did.

A couple of things have changed since the Microsoft reign:

1. HTML 5 has introduced the canvas tag and we have kludged JavaScript to get better at making apps in the open source world – so why do we need plugins?

2. Mobile is here with less processing power than desktops – so we can’t run plugins… right?

3. Mobile is small and plugin content was built for large screens – right?

4. Apple has become a cult and can seemingly do no wrong.

Let us address these points:

1.  The world should not rely on one type of thing.  We know that.  Why are we allowing HTML 5 (HTML, CSS, JavaScript) to have a monopoly in our Web world?  Plugins offer a forum to let companies build improvements.  How can people support open source and then say… sorry, it has to be made in HTML 5.  That is hypocritical – or perhaps to be more delicate… narrow minded.  We need plugin architecture in our browsers or we will stagnate.  Alternatively, we will find companies making their own browser systems ala Second Life, Steam, etc.

2. The processing power of mobile devices initially was understandably slow.  Blackberry and Android supported the Flash plugin for instance and performance on existing Flash content was sluggish for the most part.  Speeds have been getting faster and faster and soon, if not already, have reached acceptable rates.  Also, plugin makers did not design them for mobile.  So, let them design plugins for mobile.

3. Mobile screens are small and any legacy content runs the risk of not working well from an interface standpoint.  There are a number of HTML sites that do not work well on mobile – why single out plugins and in particular Flash for not working well?  Here is an idea – plugins have version numbers… why not allow version numbers after a certain date so that legacy material is filtered out until it is updated with mobile in mind.  Going forward, designers and developers know they are making for mobile.   Flash, for instance, does run on mobile – the thousands of apps in the app stores built with Flash prove it.

4.  Apple, through its iPod, became huge.  This success continued with the iPhone and iPad all the while glamorizing the brand and also selling its laptops and desktops to a point where it is the most profitable company in the world.  Hey… and it takes 30% of all apps and songs sold.  Obviously, Apple benefits from killing browser plugins.  If the world can’t get free apps and games in the browser, they will have to buy from the app store where they get 30%.  Now this is somewhat good for app developers because they have a better chance of making some money too.  It is also somewhat beneficial to the public in that they love consuming and the app store is a laid out to easily consume.  So… Apple seems to have gotten away with it and unfortunately influenced other browser makers like Microsoft to make similar decisions – while also giving plugin makers an inferiority complex as advertising companies and the world shun them for not being on the iPhone browser.

A browser should find and present things.  Browsers find and present an image, a video – why not an interactive piece like a Flash Feature, a Java Applet or a Unity Game?  The browser should NOT say – oh… I have a way to make interactive content – therefore no other way will be allowed.  This is especially true when the plugin structure has used by billions with content created by millions of designer/developers.

Now… Apple did what they did – and if the market says okay – then I guess they should not be punished – is that how it works?  I find it unethical for a company to present an Internet browser to a captive audience that does not include plugins like other standard Internet browsers so that people will be forced to a store run by that company.  Apple, I punish you even if our business society does not – you are not getting any more of my money nor have you for the last 3 years.

The real loss, however, has been a setback in advanced interactive works in the short term followed by a monopoly led by a slow moving open source conglomerate in support of HTML, CSS and Javascript.  I have said it before, and I say it again… Open Source should not kill Closed Source – it is not good for advancement.  They should both exist.  Killing browser plugin architecture (or the likes) is a bad move.

Dan Zen

PS.

A caveat is that I don’t make browsers or plugins, so do not really know the technical difficulties of all this.  I heard from Adobe that it was not practical to support all the different phones, etc.  Yet, Flash works as an app through AIR on these same phones so there should be a plugin architecture for browsers that will just play the app in a frame.  If it can be done on the desktop it should be able to be done on mobile.

Processing is Dead! All Hail JavaScript!

January 21, 2012

hail2

Processing is Dead!  All Hail JavaScript and HTML5!

ActionScript is Dead!  All Hail JavaScript and HTML5!

Java is Dead!  All Hail JavaScript and HTML5!

Objective C is Dead! All Hail JavaScript and HTML5!

C++ is Dead! All Hail JavaScript and HTML5!

C# is Dead! All Hail JavaScript and HTML5!

Ruby is Dead! All Hail JavaScript and HTML5!

Python is Dead! All Hail JavaScript and HTML5!

PHP is Dead! All Hail JavaScript and HTML5!

Hopefully you detect my bitterness and disappointment with the open source world, the tech media and the marketing industry in their frenzy to adopt HTML5 as supreme leader and shun perfectly good programming environments.

My experience is with ActionScript and Flash – a mature authoring environment which allows developers to make once and publish anywhere.  Anywhere that is until Apple came along an banned it from the mobile Web with lame self-serving excuses.  What followed was nothing short of persecution.  https://danzen.wordpress.com/2013/02/22/apple-should-be-punished-for-attempting-to-kill-browser-plugins/

Processing is a spin-off of Java with a wonderful artist following to make cool things.  Well… watch out… once people realize that you can do this in JavaScript and HTML5 – maybe you will have the horde against you too.

Most of these languages are server side languages and back-end coders may think they are safe because JavaScript is a front end programming language… but there is server-side JavaScript too.

My point is – there does not have to be nor should there be one programming language or development stack.  Why we are letting the Web be controlled by one system is beyond me.  Countless Marketing folks, Developers and Designers I have talked to in the field are saying Flash is dead – Plugins are dead.  Stop trying to kill Flash with your words and start trying to support it.

My apologies for the harsh metaphor (not as harsh now that I have taken out the swastika from the picture).  Of course, nothing is worse than human persecution.  But what some of you with power of influence are doing when declaring Flash dead or accepting the demise of the Plugin is unjust and truly not good for our culture.  Please read https://danzen.wordpress.com/2013/02/22/apple-should-be-punished-for-attempting-to-kill-browser-plugins/.

The Truth about Flash on Mobile

November 10, 2011

Adobe Flash on Mobile with AIR

There has been a lot of buzz about how Adobe has “Killed Flash on Mobile”.  This is not true.

  1. Flash on mobile is being focused to make APPS.  Adobe will focus on HCJ (HTML, CSS and JavaScript) for mobile browsers.
  2. The current Flash plugin is still supported on mobile including security updates so any legacy content on mobile devices will continue to work.  Adobe will not be developing future plugin versions on mobile.

BACKGROUND

In general, the mobile browser is for looking at things and mobile apps are for doing things.  Flash is great for making apps.  HCJ is fine for presentation and animation on the browser.  Flash would have been fine as well if you discount legacy pages that were not designed for mobile and of course if all platforms supported it.

If you would like to read more of a background on the split between browsers and apps on mobile and the differences between Flash and HCJ, then please read my earlier post:
https://danzen.wordpress.com/2011/10/24/flash-and-hcj-html-css-and-javascript/

Flash HCJ - HTML CSS JavaScript

ADOBE

Adobe has clearly stated that it is focusing Flash-on-mobile for making APPS in articles such as these:
http://blogs.adobe.com/flashplayer/2011/11/focusing.html
http://mikechambers.com/blog/2011/11/11/clarifications-on-flash…

Adobe AIR

EXAMPLES

Here is a recent post about three mobile apps that Dan Zen has just launched that are made with Flash and Flash Builder:
https://danzen.wordpress.com/2011/11/12/swoodle-wavy-tada/

SOME COOL FLASH SITES

Flash remains on browsers on desktop and if indeed the plugin architecture fades on desktop, there is AIR for desktop apps which will support Flash.  Also, there are experiments in streaming Flash interactive content to browsers without the use of plugins  which would be ready I am sure by any demise of desktop/laptop browser plugins.  Below is a link to some excellent Flash experiences should you need a more positive reminder of what we can build.

http://www.thefwa.com/article/30-flash-sites-that-school-html5

Or click the icons below (thanks FWA for the compilation!):

A great example of an immersive experience site that drops you right onto Normandy beach on D-Day. With 360 degree beach views and real video stories.

Flash and HCJ (HTML, CSS and JavaScript)

October 24, 2011

Flash HCJ - HTML CSS JavaScript

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 that identifies and organizes the elements of the page.
  • CSS defines styles (look and position) that can be applied to the elements of the page.
  • JavaScript is a programming language based on ECMA Script 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.

-11-