Any browser with Flash installed can run applications that are built with Adobe's Flash development tools. General estimates on Flash browser penetration range from 85-98% (this can vary significantly if you include mobile device browsers, although the new 10.x Flash players currently in beta are partially focused on mobile devices - see their "Slider" framework), so it's a pretty safe bet that just about anyone can utilize a Flash-based Web application in their browser when they come to visit your site.
If you are wondering if you have Flash installed in your browser, then if you can view this video of John Lennon's Imagine on YouTube, you do.
The new FlashBuilder 4 IDE and Flex 4 SDK have some powerful new capabilities. For example, there is a new "Spark" user component architecture that is vastly improved over previous component architectures. There are new code-free designer tools available (called Flash "Catalyst") that enable designers and user interface professionals an ability to collaborate better with the coders, an improved and simplified skinning architecture, increased developer productivity within the IDE, and a new data/service model that makes binding with Web services and other data components easy (hooray for StrikeIron!)
The attractiveness of building applications and Web sites on the Flash player using Flex and IDEs like Flashbuilder 4 is essentially the boundless creativity that can be employed by developers and Web designers using this technology. This includes creating visually appealing interfaces, utilizing advanced sound, video, and graphics capabilities, and delivering a traditional desktop-like experience with any browser. You can then let the Flash player handle the cross-platform details so these applications and Websites have a consistent, yet broad appeal.One example of a powerful Flash application is the Color Visualizer created by Sherwin-Williams, allowing users to photograph pictures of rooms in their house with various paint colors available from the pain supplier: http://www.sherwin-williams.com/do_it_yourself/paint_colors/visualizer/
The dream of "Rich Internet Applications" has always been to improve the usability and interactiveness of Web applications. This in turn creates a better, richer user experience for the entire Web, enabling a rising tide to raise all ships so to speak. These rich Internet applications enable external data sources and Web services, such as those that we provide at StrikeIron, with internal data sources and other reusable content, providing a foundation for compelling, sophisticated applications to emerge. This has the potential to literally change the landscape of the Web for the better.
It has been six years since Flex 1 was released.
It has been eight years since Macromedia (since bought by Adobe) introduced the term "Rich Internet Application", a.k.a the RIA.
It has been fourteen years since Flash was first introduced, and there have been precursors to Flash such as Shockwave and FutureSplash.
There are new converts to the Flex SDK every day.
And yet, the dream of mainstream Websites built entirely in Flash, and business applications with millions of users accessed out in the "cloud" via a Flash runtime has yet to materialize.
First, there is no question that Flex and Flash are gaining momentum. In addition to all of the new Flash tools being delivered by Adobe in 2010, there are also an extensive number of application frameworks based on Flex that have emerged such as Parsley, Swiz, Mate, Prana, Razor, Ruboss, Jumpship, GAIA, and several others. The Flex SDK has been integrated into several other IDEs (along with Eclipse) such as IntelliJ IDEA, Flash Develop, and Amethyst. There are a whole range of components, support sites, and testing tools such as FlexMonkey, Tour de Flex, Arthropod, Fluint, RIATest and many, many more. An entire ecosystem and a substantial "Flash Nation" certainly exists and drives increasing levels of adoption.
However, if anyone were to ask me if I would recommend building an entire commercial site or Web application using Flex to be deployed on Flash runtimes, I would have to give pause and suggest that they strongly consider the tradeoff between visually compelling applications with an incredible user experience and applications with a high search indexing level and search engine friendliness.
After all, what good is it if you create the most expressive and interactive Web sites in the World if no one can find them? If Google doesn't know about you these days, you more or less don't exist.
The challenge is that all Flex-based Flash applications and Websites compile down into a single file with an .SWF extension. This file extension tells a browser that has Flash installed how to interpret the file for that particular operating system and then work its magic. It is interpreted bytecode, not static text, and unfortunately that's a problem for search engines.
Search engines are built to index static text that exists within individual pages on HTML-based Web sites. Content is indexed, stored in databases, and when a search query matches a Web page's content, the search engine directs a user to the exact page within that Website via its unique URL. Since a Flash application consists of a single .SWF file, indexing and pointing people to individual pages within a Flash application just isn't possible.
However there is some good news. Adobe has been working with Google to develop spidering technology that enables text within .SWF files to be indexed (and therefore found) within the Google search engine. Yahoo, though behind Google in capability, is participating as well. If you do a search within Google of filetype .SWF, it currently returns over 300 million results.
Unfortunately, a search engine can only direct you to the entire .SWF file rather than individual locations within the application since a Flash application is truly a running application rather than a collection of uncoupled pages. That's tough to overcome using SEO techniques.
Oh yeah, and then there is Microsoft's new Bing search engine. While it still has a small search engine market share compared to Google and Yahoo, it flatly refuses to index any .SWF files. A search on Bing for "filetype:swf" yields exactly ZERO results. Presumably this is because of their emerging Silverlight offering that competes with Flash.
And then of course there is the latest Steve Jobs dispute with Adobe where Flash isn't available on the iPhone or iPad. And there is also the emerging HTML 5 specification that has some components competitive to Flash, causing some to wonder about the long term prognostication for Flash.
So, most companies are left to create Websites that only utilize Flash embedded within single pages with non-Flash-based site navigation. This is what we do at StrikeIron. It is also what Adobe does on their site.
If it's not a public application of course, this is not an issue at all. You probably don't even want a private application indexed. Or, if you are building applications to be run from the cloud where it makes no sense for individual pages to be indexed, Flash and Flex are great choices. For these scenarios, why you wouldn't take an RIA approach is beyond me.
The elephant in the room with Flash runtime-based Web applications and 100% Flash public Web sites is still SEO and all of the marketing upside you risk if you are trying to drive traffic to your site (and who isn't?). And of course, a close second is all of the big technology company politics and business practices that seem to endlessly threaten technology innovation and are always something to wade through when thinking IT strategy.
I am really rooting for Adobe and Flash however because I love RIAs, and would much rather live in a visually compelling interactive Web world rather than having to pour through flat, boring, least-common-browser-denominator based sites. But we're not there yet and the future is still not entirely clear.
Comments