Showing posts with label Flash. Show all posts
Showing posts with label Flash. Show all posts

Saturday, September 10, 2011

Why Flash Media Server 4.5 is NOT the end of Flash

Adobe announced Flash Media Server 4.5 couple of days ago at the IBC conference. It didn't take long before the 'tech journalists' started writing ill-informed posts about how this marks the demise of Flash. This post is my humble attempt to educate them about what Flash ecosystem really is.


"Flash content" ≠ videos.

Almost all posts in the above techmeme cluster seem to interchangeably use "flash content" when they are really talking about just videos. 'Flash content' means anything that can be interpreted by the Flash Player aka the Flash runtime. 

The notion of FlashRuntime being a video player seems to come from the common reference of 'Flash Player'. It was originally called a player because it used to be a player for streaming vector animations. Over the past decade, Flash player has grown to do a lot more, and hence its more appropriate to consider it the 'FlashRuntime', than as 'FlashPlayer'. 

I will henceforth refer to FlashPlayer as FlashRuntime to be unambiguous. 

The FlashRuntime is a programmable environment that can download Flash content (packaged as .swf files) and execute it. Flash content can include text, images, audio, video and vector drawings. Soon this will also include native 3D content.

Since Video is one of the content types that FlashRuntime understands, a developer can write a videoPlayer that works inside FlashRuntime. All those video players you see on youtube, vimeo, hulu etc are created by those website developers, not Adobe. FlashRuntime provides a platform for them to build it. Adobe just provides the platform ( and sells tools to create flash content).

There are other types of Flash content that people use all the time. Browser based games like Farmville, angrybirds, Planet vs zombies etc. are also Flash content

scribd.com serves documents online through a Flash based reader. This is Flash content too. 
aviary.com allows editing images in the browser using an application written for the FlashRuntime.
audiotool.com helps artists create electronic music from the browser. This application is created using Flash too. 
You could call these applications 'flash content' too. Thats what they are, from the FlashRuntime's perspective.

So video can be part of Flash content. But not all flash content is video.


Flash Media Server does not serve all Flash content.

Flash Media Server  provides services that help create Flash content. One of the main uses of Flash Media Server is streaming Video content (Read more). So a developer can create a videoplayer that plays streaming video from Flash Media Server. 

What changed in Flash Media Server 4.5

In its earlier days, Flash Media Server used to stream live video only over a custom protocol(RTMP). So, users who had restricted access to the web (for eg., inside corporate firewalls) were not able to view these videos. Adobe then came up with HTTP Dynamic Streaming protocol. This allowed live video to be streamed over standard HTTP. Anyone with access to HTTP could now watch videos from Flash Media Server. 

When Apple built iOS, they created a new protocol - HTTP Live Streaming - to stream live video to iOS devices. This protocol was the only way to stream live video to iOS devices. 

This created a problem for Adobe's Flash Media Server customers. They didn't want to create two servers - one for iOS devices and another for everything else. Enter Flash Media Server 4.5.

Flash Media Server 4.5 now streams videos using Apple's protocol too. This helps Adobe's customers to stick to their existing infrastructure. If an iOS video player needs the HTTP Live Streaming stream, FMS will deliver that. If another video player asks for the RTMP stream or HTTP Dynamic Stream, the same FMS will deliver that too.

Thats all to it. This new feature in FMS4.5 will not allow *all* flash content to be available on iOS devices. It streams videos to iOS devices. It allows Adobe to keep their FMS customers from switching to its competitors in the video streaming server market.

Will this have any impact on Flash Runtime usage? 

The FlashRuntime has been capable of handling videos from non-FMS servers since the time flashRuntime included external video capabilities. Google videos, for example - built their custom video streaming server right from the beginning. This is the server app that now serves youtube videos.

Youtube will probably replace their FlashRuntime based video player  when HTML5 enabled browsers reach a substantial chunk of their user base. 

This FMS4.5 release does not change anything. 

Is Flash dying? 

When I first started developing Flash content, there was a lot of chatter about how flash is 99% bad and Flash is evil. Then video came along, and Flash not just survived but became the best tool for video delivery. Now that browsers are catching up with native video (and canvas), the anti-flash chatter seems to gain momentum again. Meanwhile, Flash Runtime seems to be on the verge of another pivot with the upcoming FlashPlayer 11. This upcoming version includes hardware accelerated 3D support. May be Flash will move on in this direction, and become a defacto standard there. May be not.  The point is - to hurt Adobe, developers will have to stop using Adobe tools. If Adobe built tools that enable developers to create Flash like content, but native to browsers (HTML+CSS+js) and Flash developers will move on to using those tools, Adobe might not even mind FlashPlayer dying.

FMS4.5 will only help Adobe make new customers. Existing customers are not going to move away - infact their lives just got a little easier. So please stop writing Apple - 1 / Adobe - 0 posts.  Thank you. Now, do this:

Friday, December 31, 2010

HTTP PUT & DELETE from an Actionscript REST client

REST based APIs use the HTTP verbs - POST, GET, PUT and DELETE to accomplish Create, Read, Update, and Delete operations on data respectively. Flash player for various reasons only supports GET and POST. This makes writing REST apps a little harder (an additional line on the client side, and support for an extra request header on the server end) than it should be.


Thankfully, most popular web frameworks provide some support to accomplish this. Ruby on Rails supports overriding the http method using the X-HTTP-Method-Override request header.

The below code tells the RoR server app to consider the request as a PUT operation:

var request:URLRequest = new URLRequest(resource);
request.data = dataToUpdateOnResource;
request.method = URLRequestMethod.POST;
request.requestHeaders.push(new URLRequestHeader("X-HTTP-Method-Override", "PUT" URLRequestMethod.PUT));
var loader:URLLoader = new URLLoader();
loader.load(request);

HTTP DELETE can be achieved using the same.

Friday, October 31, 2008

easter egg in Flash CS4 Professional

Keeping up with the easter egg 'tradition', Flash CS4 Professional includes the usual easter egg - a slideshow of all engineers who worked on the Flash authoring and player teams.

You can invoke it by clicking on a really small ( may be, a 1 * 1 px ) button on the About Flash splash screen. I'm not gonna spoil the party by exposing where the button is, its fun clicking all over the dialog, for sometime :)

When Flash CS3 Professional was released last year, I did a similar post. When I installed CS4 today, first thing that came to mind was to go find the easter egg. And I got lucky in a few clicks. Lets see how many releases I can keep doing this ;)

M Williams passed away a lil while ago. This picture will carry his memories as long as Flash CS4 lives!



And Robert Penner. the easing hero :)


I decided to stop at 2 screenshots, but this pic of Sean is too funny to let go!



Ok, I can't contain any longer, time to go try out the new features!

Tuesday, July 01, 2008

Flash content to be indexed better by google and yahoo

[UPDATE]: Looks like Peter Elst have almost similar reaction to this news and posted a better worded post here

There is a lot of news today about Flash files being indexed better by google and yahoo thanks to some new 'Adobe Flash player technology'. The 'new Flash player technology' will enable search engine crawlers to crawl deeper into swfs and hence index areas of the swf that were previously inaccessible.

If adobe has developed a specialized flash player for search engines to crawl, how about that version of Flash player be released to individual developers as well? A flash player like that will help testing professionals develop automated tests for Flash based applications. Currently Flex application testing can be automated, but that requires developers to add hooks into their Flex applications to let testing software (QTP etc) talk to their application. This new Flash player build might help developers achieve the same for Flash IDE based applications too, without any extra effort.

While the news as a whole seems to be interesting, I have a few concerns.

Both google and adobe say that there will be no change required from developers or companies to 'enable' their content to be searchable. Any text that appears in the SWF becomes searchable tag now. Though on a high level this sounds great, it also rings an alarms. In google's own blogpost about the news, Google says
If you prefer Google to ignore your less informative content, such as a "copyright" or "loading" message, consider replacing the text within an image, which will make it effectively invisible to us.
Umm... Really? Now how is that gonna be practical? Its not just 'loading' and 'copy right'. You'll have to hide text like 'first name', 'last name' etc, if you have a form, and will we have to create images for all of those?? Wouldn't that add a lot of unnecessary hassle to developers now? And if developers were lazy and didn't do this, wouldn't we start seeing a lot of results like this one?

There seems to be some confusion between google and adobe, when adobe says
"As a result, millions of pre-existing RIAs and dynamic Web experiences that utilize Adobe Flash technology, including content that loads at runtime, are immediately searchable ..."

and google says
"We currently do not attach content from external resources that are loaded by your Flash files. If your Flash file loads an HTML file, an XML file, another SWF file, etc., Google will separately index that resource.."

Secondly, if a XML file that a SWF file loads is indexed separately, the XML file will appear in search results, not the SWF. What benefit would that give users now? ( of course google says that they are working on this, so probably this will be fixed)

If google tried indexing an RIA application that has a Java backend, will the spider try hitting the service directly? ( thats what the above statement seems to imply) And if it did really do that, and the service returns a different results each time, how and what will google add to the index? Kinda confusing...

I'd prefer that SWF's text content being searchable should be an opt-in feature. If developers can choose to let search engines see some portion of the text that they need it to index, wouldn't that be better?

Of course the search engines being able to traverse through different paths of navigation within a SWF and being able to find content there is all a good thing, but how will search engines be able to take the user directly to a particular state? ( flex apps have deep linking feature, but not many people use it - and in many places, it might not make sense to use it in a flash app.)

Finally, is it only me who sees that both adobe and Google are trying to say how smart they are by themself? [UPDATE: Jack Schofield of guardian.co.uk did see that the google page dint have any credits to adobe. Umm, they did link adobe's press release though :P ] Adobe's press release says "Adobe Flash Technology Enhances Search Results for Dynamic Content and Rich Internet Applications" and Google goes "Google's ... new algorithm for indexing textual content in Flash files of all kinds" hmm..

Wednesday, June 11, 2008

CNN Money knows how Apple is gonna end the standoff with Adobe-By putting Flash memory on iphone!

A couple of weeks ago, John Dowdell, Peter Elst, Mrinal Wadhwa, and Brajeshwar Oinam posted about how 'geek' bloggers are writing silly posts about Silverlight vs AIR.

Today, someone passed me a link to this post on CNN Money, which beats every other blogger hands down:

" Just how will Apple meet expectations? Using the patent application as a guide, Apple appears to be making room on the iPhone for flash memory, which means an end to Apple's standoff with Adobe (ADBE) that's kept iPhones from easily viewing a plethora of Internet videos."

Now this dude thinks that Flash memory and Adobe's Flash media player are the same. Beat that people!

The entire post is a joke. Check it out!

Tuesday, February 26, 2008

Singapore Flex UserGroup - February meet

With Flex 3.0 ( and AIR1.0 and BlazeDS source, and flex source and, and...) being released this morning, this month's FUG meetup is time to celebrate! We have a couple of sessions this time around. The agenda as per Shunjie's UG invite mail is as below:

What:
7.00pm - 8.05pm : Session 1 - Test Driven Development by Thye Yeow Bok
BREAK
8.25pm - 9.30pm : Session 2 - Flex 3 / AIR 1.0 Live! by Hu Shunjie

When and Where:

27th February 2008, Wednesday, between 7.00pm to 9.30pm

at

Adobe Singapore,
PageMaker Room,
8 Temasek Boulevard,
#06-02, Suntec Tower Three,
Singapore 038988

You can register for the event by responding to the thread here:
Registering will help us make sure we have enough seats available in the meeting Room at adobe ;)

If anyone's willing to go for a beer after the sessions, I'd be game. See you all there!

Saturday, January 26, 2008

Use en_gb locale to download Flash Media Server - Dev Edition

I saw a twitter log from someone mentioning that he couldn't download Flash Media Interactive Server 3- Developer Edition, that was released yesterday. I tried it this morning, and happened to have the same problem.

The 'Download Adobe Flash Media Development Server 3' page shows up, and and it doesn't show Flash Media Server download bar, but lists Flash and Coldfusion as related downloads.

I went to the downloads homepage and tried it again, and this time the page reloaded, with 'ADobe United Kingdom on the titlebar'. And I noticed that the locale in the URL changed to en_gb now, and the download was available! Looks like, Adobe doesn't want US developers to download FMIS yet ;o)

Here is the url that works: http://www.adobe.com/cfusion/tdrc/index.cfm?product=flashmediaserver&loc=en_gb

This, am sure is a temporary issue. Hopefully Adobe will get this fixed in by the time you read this post ;o)

Cheers!

Saturday, November 17, 2007

Singapore FUG meet - 14th nov 2007

This post has been overdue for a longtime now, blame it on my laziness.

We had the first FUG meet in Singapore on Wednesday evening. It was a great start, I should say. We had more attendees than we expected. Finally looks like the UG meetings here are starting to become more interactive! And to top it up, we had a good bunch of adobe folks joining in!!

Unlike last year (and before) this year Adobe decided not to 'MAX' in Singapore.

Marianne Young, our contact point for the UG activities in Singapore had attended the MAX conference at Europe. And for this UG meet she agreed to do a presentation about things she saw and liked at MAX. Sorta like a highlight. To be honest, I was expecting just a simple presentation with pics she probably snapped during live presentations. Boy! She went ahead and collected real demo material that was used in the actual MAX presentations. A whole bunch of them!! And did a great session to kick start the meeting.

Her session included demos for Flash player 10 - hydra, text improvements etc, thermo, etc. Thanks Marianne, you are awesome!

And during the presentation we had a surprise guest peeking in. Prayank Swaroop, the Flex Evangelist for Asia Pacific is in Singapore for some internal projects and he dropped by at the meet as well. And so did Jack Lim, the BD manager for Enterprise BU from adobe. Suddenly our small little user group meet looked so filled up with celebs ;o)

The second session was from our own homeboy, Lionel/Flashmech. He presented about the PV3D based Effects classes that Tink has put through. Like his session before in the FSUG meet, he did a very impressive job here too!





We also had Stefano Virgilli of AdobeSoftwares.com join us in the meet! Its great to have you Stefano in Singapore!.
He did a brief intro about the upcoming Flex camp and other events. Check out the event pages here:

http://flexcamp-singapore.eventbrite.com/
http://cs3-mobile-workflow.eventbrite.com/
http://flash-lite-integration.eventbrite.com/

I'll be attending the FlexCamp for sure. Haven't decided about the rest yet.


And ArulKumaran mentioned that he will be in India for the next couple months. You'll be missed in the upcoming UG events!

I got a few more pics of the event on my picasaweb album

Thanks everyone for coming. And thanks to Shunjie for putting things together to make the event happen :)

See you all at the next month's event! Go ahead and post your thoughts about what sessions you'd like to see next month here

Friday, October 26, 2007

Singapore Flex User Group meeting

After a couple of months of silence, the Singapore Flex User Group is back again. Its got its own home now - and we have a forum set up as well for discussions.

The first meetup of singapore FUG is gonna happen on the 14th of November. Check out the details here. If you are in singapore, and are excited about Flash platform development and Flex in particular, do join us for the meet!

Adobe will be sponsoring some food and drinks, and Shunjie has promised to give away some free eclipse as well ;o)

Google's experimental site - searchmash - has a Flash UI

Searchmash has been around for more than a year now, and their current UI has been written in Flex!

A few things that I noted:

Their data transfer with the search server is in JSON.
Google maps is being loaded on an iFrame over the SWF.

pretty cool. The only problem I see with this approach is, If a user right clicks on the SWF and selects the 'settings' option, he's pretty much stuck. Only way to get over it would be to refresh the page. This is because the Flash app pops up the settings modal window, and since the iframe sits above the flash app, the user can never interact with the settings window.

I like how they've integrated a video search tab - which searches for the video in google videos ( and hence, youtube) and loads the video player swf from the corresponding site. Simple, and neat.

Techcrunch isn't very thrilled about the app being Flash. They question 'why flash'; and I ask, 'why not?' I mean- searchmash is a site for experiments, isn't it?
The author of the techcrunch article wonders if Flash is as fast as AJAX, and quickly decides to assume its not! He should probably take a look at the benchmarks here

Searchmash also shows snapshots of the results , using snap.com's technology. Apparently, guys at snap.com are very thrilled about this: http://blog.snap.com/2007/10/25/breaking-major-news/

Tuesday, July 17, 2007

Gaia - Steven Sack's flash framework for creating websites

I've been wanting to blog about this, more as a bookmark for myself, but then thought blogging would help someone knew learn about it as well.

Steven Sacks, a popular flash developer in the flashcoders community recently released a Flash website development framework Gaia. In Steven's own words :
Gaia (pronounced "guy-uh") is an open-source framework that provides powerful solutions for building Flash websites to designers and developers of all skill levels. Gaia dramatically reduces development time and is the first tool to feature a scaffolding engine for Flash.
Now, I don't do website development myself, so I haven't really used it. But I went through the demo video he had posted, and it looked really useful. Am sure it will give a jump start for website developers, when they start off to develop websites.

Unfortunately, at the time of writing this post, the gaia framework's homepage seems to be down for maintenance. Bad timing huh? In case you aren't able to view the site, just bookmark the url and try it out later. If you are into website development, take my words - its really worth it.

Saturday, July 14, 2007

Singapore Flash Usergroup meet - MoM

I'm just back from the Singapore Flash Usergroup meeting, for the month of July. It was a day of information overload! We started off at 10 AM, and ended the sessions at adobe (the venue for the meet) at around 1:45 PM, and a few of us then continued to discuss about the future sessions etc., over lunch. In short, it was a saturday, well spent!

Ryan started off with a overview of what today's sessions were gonna be. He also talked about the FSUG site, and his Flex (and AIR) experiments on the site, using the RSS feeds for his forum. Am still amazed about how this guy single handedly handles a site that heavy; not to mention, He has a busy day job as well!

Then followed 3 full length sessions - Hu Shunjie started off with a session on AIR. He showed how the AIR commandline utilities ADT and ADL coupled with flashDevelop can be used to create AIR applications. He also demonstrated a few sample applications he had been developing using AIR. Everyone seemed to enjoy his icicle application ;o)

And then Lionel aka Flashmech started off his session where he showcased a few interesting flash extensions that he found around the web. Boy, this guy had a huge collection of extensions installed! I assume He must be hosting a detailed writeup about the extensions he demo-ed today, in his blog. Watch out his space!

And then there was this lousy presentation by yours truly. I had a tiny presentation that I aimed at 'demystifying Flex' to newbies. I spoke a little about the history of Flash based RIAs and then continued to talk about how flex came into being what it is now. But to be honest, though I've been following the developments in the flex world, I haven't really written any flex application that really does anything interesting. So I made this presentation a perfect reason to attempt something worthwhile. I wrote up a complete newbie style Flex application using the beta of FlexBuilder 3, which takes a tag as an input from the user and searched Flickr for pictures associated with the tag, and displayed them in a TileList component.

In total I spent about 1 hour building the application on stage - in the process also explaining the flickr REST API. I could've used the AS3 API for Flickr, but I did also want to demonstrate how easy it was to consume a REST response and parse it up using E4X. Luck was my side, and without any major glitches, the app was up and running! ( I've uploaded the files here)

We had Arul Kumaran attending the sessions today as well, and being an early Flex adopter, I could see him all irked by the lousy coding I was doing ;o) But like I said there, it was a demo of how a novice Flex developer could write some working flex application, in about an hour's time :D

Aftermath:
After the sessions, we walked over a bit to a food court, for lunch, and discussed on a wide range of subjects, ranging from future usergroup sessions to general tech stuff to velvetpuffin to movies. There was a whole lot of enthusiasm in everyone, which was great to see!

We finally parted around 4:30, after a whole load of geektalk. Expect to see a lot of improvements in the FSUG activities soon!

Thanks to all attendees, and thanks Adobe ( and Marian specially) for helping us with the venue and those donuts!

Wednesday, June 20, 2007

FSUG updates + ATTN: Flash / AIR platform developers from Singapore

A few quick notes on the happenings over the last couple of days:

A few Singapore Flash Users group(FSUG) members attended an informal meet at Adobe Singapore yesterday. Mike Downey did a presentation about AIR and demo-ed a few AIR applications; The eBay app, buzzword, scrapBlog, to name a few. Had some nice fun time,(and nice snacks, thanks to adobe ;o) ) [Ronnie Liew has a writeup about the meet.]

Mike presented today at iX2007 Academic Forum as well.

A bunch of FSUG-ers met again today at Starbucks to discuss about the upcoming sessions of FSUG meets. We decided on making the sessions more friendly to designers as well. There will be more sessions targeted towards designers in the future. So do drop by at Adobe Singapore, on the second Saturday of every month. ( check out http://flashmove.com/fsug/ for updates)

Finally, following the steps by Abdul, I thought I'd collect links to Singapore based Flash/AIR platform developers and designers. So if you are a Singapore based Flash / AIR platform developer please leave a comment on this post.

Thanks!