Sonoflash – Easily Add Sound To Your Flash Apps

I’m a huge fan of using sound in RIAs. I think that having audio cues is just as important as visual cues and that a click sound, or a subtle noise when you interact with an application makes for a much more usable experience. Unfortunately it can be kind of a pain to add those kinds of sounds to Flash applications. In general you have to go hunt down royalty free sounds and use MP3 files in your application which can add a bit more size to an application than some people want. We made some changes to the sound APIs in Flash Player 10 that let you generate sounds and while I was in Singapore I talked to the guys from Sonoflash who have a really great solution.

You can download a series of libraries from them which are all different soundscapes and have different themes. Add one or more of those SWC files to your application and then you can just call the sounds with some simple ActionScript code. All of the sounds are generated by AS3 an so take up a lot less weight than having to deal with MP3s. It also means you can tweak the sounds on the fly and use the APIs to modify the pitch, frequency, or other variables when you call it. I did a video with them in which they show off some examples and how to use it.

Sonoflash; from Ryan Stewart on Vimeo.

The Web Way vs the Wave Way vs the Flash Collaboration Services Way

afcs_logoAnil Dash has a post worth reading up on his blog that talks about the “Web Way” versus the “Wave Way” and why Google Wave won’t succeed because it doesn’t really fit the same pattern of successful web technologies. He makes 4 general points to define the “Web Way”:

  • Upgrades to the web are incremental. Instead of requiring a complete overhaul of your technical infrastructure, or radical changes to existing behaviors, the web tech that wins is usually the sort of thing that can be adopted piecemeal, integrated as needed or as a normal part of updating one’s websites or applications.
  • Understanding new tech needs to be a weekend-sized problem. For a lot of web developers, long before they start integrating a new protocol or platform into their work, they hack together a rough demo over a long weekend to make sure they truly grasp how it works. And a weekend-scale implementation on a personal site usually translates roughly into a 90-day implementation cycle in a business context, which is a reasonably approachable project size. (In tech, three days in personal effort often translates to three months of corporate effort.)
  • There has to be value before everybody has upgraded. This is basically a corollary to Metcalfe’s Law. While we know networks increase in value as they add more nodes, the nature of web tech is that, in order to be worthwhile, it has to provide value even if the people on the other end haven’t upgraded their software or web browsers or clients or servers. Otherwise you’re shouting into an empty room.
  • You have to be able to understand and explain it. Duh.

The entire post goes on to explain details of where Wave fits and where Wave fails. But as I read it I couldn’t help see it as a ringing endorsement of Flash and especially Adobe Flash Collaboration Service (AFCS). Before I dive in, I understand that Anil’s “The Web Way” has an inherent requirement that everything be “open”. Flash and AFCS probably won’t fit in most people’s definition of “open” as it relates to the web. In this case, I think that’s part of the benefit. Anil looks at Wave from the developer perspective and he provides a list of technologies required to use Google Wave and add real-time collaboration to your web application:

  • Federation (XMPP)
  • The robot protocol (JSONRPC)
  • The gadget API (OpenSocial)
  • The wave embed API (Javascript)
  • The client-server protocol (As defined by GWT)

That’s a lot of stuff for a developer to know and understand if they want to start building something that interoperates with and leverages the technology behind Google Wave. Now think about a Flash developer who wants to add real-time collaboration to their web application. They’ve got no real new protocols to learn (RTMP behind the scenes but not necessarily exposed in such a way that developers need to understand it), no new languages to learn, no new client-server protocol, it’s just ActionScript and(/or) Flex, and some new APIs. Then your application is real-time enabled. So let’s look at the four “Web Ways” and see how they apply to AFCS.

  • Upgrades to the web are incremental. With the pods and APIs for AFCS, it’s pretty damn easy to just integrate it with your current application. There is no rewriting from scratch and you can literally just add an AFCS component and enable collaboration for your application. As you dig deeper, the service gets more complex and you can do more with it, but to start, it’s dead simple.
  • Understanding new tech needs to be a weekend-sized problem. If you’re a Flash developer already, all you’re learning are a few new APIs. You still have to understand the fundamental issues behind real-time collaboration if you want to create complex components, but you’ve got the core development skills to create those applications so you can focus on learning the theoretical stuff and not the code stuff.
  • There has to be value before everybody has upgraded. This is my favorite, because it’s one of the benefits of Flash. AFCS has 2 versions, a Flash Player 9 version and a Flash Player 10 that adds some more audio support. If you’re targeting Flash Player 9 then 98.8% of the web can see your application and with Flash Player 10 it’s 86.7%. No one has to upgrade anything to see your new real-time enabled application.
  • You have to be able to understand and explain it. With AFCS you can easily add real-time collaboration features like video chat, whiteboarding, and shared data into your Flash-based application. I think that works.

Now again, I understand that openness is a pretty core part of what the web is. But there has always been a trade off between openness and innovation when it comes to the web. And even in cases where “open” can be innovative, like with Google Wave, everyone else has to catch up. With AFCS, even though it may not fit with the wider definition of the “Web Way” you can take advantage of the cutting edge technology that everyone is excited about and ensure that it’s 1) easy to build and 2) easy for your customers and users to view.

Thanks to Sachin for tweeting the link to Anil’s post. I didn’t take the time to read it until I saw he did.

Flash Player 10 Penetration at 86.7%

flash_platform_blog

In case you missed it, the brand new Flash Platform Blog announced some new penetration numbers for Flash Player 10.

For our inaugural Flash Platform blog posting I want to begin with some important news. The Flash Player penetration statistics have just recently been updated and Flash Player 10 is now installed on 86.7% of Internet-connected desktop computers in mature markets, which is the fastest the Web has ever adopted new innovation.

It’s great to see the adoption speed and know that so many people can take advantage of Flash Player 10′s features. For those who want other datapoints you can see that MochiAds Zeitgeist is showing a similar percentage and RIAStats has penetration trending upwards but lagging about 10% behind our (and MochiAds’) studies.

It’s also a great inaugural post for the Flash Platform blog! The marketing team at Adobe has put a ton of work into this and I’m really happy with the content. I highly suggest you subscribe as this will be the place where you’ll see a lot of breaking news and general Flash Player momentum content. They’ve got a number of different authors so the entire range of the Flash Platform is covered. Plus the feed includes content from many of the evangelists.

Flash Player Multi-Touch: Confirmation from Kevin Lynch

flash_multitouch

At the Adobe Analyst Summit today Kevin Lynch gave some clarity around Flash on mobile devices which included news that Flash Player for mobile will have support for multi-touch and accelerometer features. James Governor had the first tweet; which also included info about the release date, namely a public beta before the end of the year and release early next year, but if you’ve been following along you probably know that.

Having more native device capabilities on the phone via Flash is going to let Flash developers do some very interesting things. Think about the implication for games, video, augmented reality, and general application user interfaces. If you’re interested in the Flash Platform and multi-touch Daniel Dura is going to be doing a session at MAX covering some of the advancements in the Flash Platform and multi-touch. It should be an interesting session. Considering how creative Flash designers and developers are, I think this is going to be a feature that will get a lot of interesting use.

Image from Techdu.de

Two New Open Source Projects at Adobe

Today we’re announcing two more projects going up on opensource.adobe.com and becoming part of the open source family at Adobe. The first is the Text Layout Framework, which comes from some of the advancements we made in Flash Player 10 to improve text support in Flash Player. The other is the Open Source Media Framework, which was known by the codename “Strobe” and provides a robust framework for media playback of any kind (video, audio, dynamic SWFs).

The Text Layout Framework (TLF) is something that’s going to be a huge boon to developers. If you’ve been working with text in the new Flex 4 components then you’ve been working with the Text Layout Framework. If you haven’t seen the demo you can check it out over on Labs. It was created by a group that is just a few blocks north of me and does a great job of showing off the features of the new TLF. Now that the Text Layout Framework is open source you can push, pull, and extend it to your heart’s content. A great example of this in action is the New York Times Reader and the Boston Globe Reader – both of which wouldn’t have been possible without the Text Layout Framework.

The other project we’re releasing is the Open Source Media Framework (OSMF). I’ve been digging into the documentation a bit and I’m excited about what this means for rich media and the Flash Platform. The OSMF includes hooks for any kind of media type the Flash Player supports including images, audio, SWF content, and of course video. Using the framework you can create your own media players and the OSMF provides a set of powerful baseline functionality. It has hooks for creating your own plug-ins for metrics, advertising, and other functions. It has support for both progressive download and streaming built in as well as all of the video controls and functionality. And there isn’t any UI associated with the OSMF so you can integrate it into your application however you want.

I encourage you to download the source code and check out the samples. There are some good examples that show how to go about building plugins, how to use the composite media features (so you can support a number of different media types in one player), and how to build UI components on top of the framework.

Tech Talk with Ryan Stewart on REST APIs in AFCS

This was posted a couple of days ago but I forgot to blog about it. I got a chance to talk with Raffaele Sena on the Adobe Flash Collaboration Service team about some of the things you can do with the REST APIs that we expose in AFCS. You can use any language you want (the SDK comes with the biggies including Java, PHP, and ColdFusion) to manage rooms and integrate authentication into your own environment. Make sure to check out the AFCS forums if you’ve got any questions.

Flash on the TV

I’ve been a bit off the grid which is why the blog has been a bit dusty. I’m down in New Zealand as part of Web09 and did some hiking as well as a bunch of customer visits and user group meetings so I’ve been neglecting the blog. But I wanted to make sure everyone saw the TV announcement. We’re working with a bunch of industry partners including Comcast, Intel, Netflix, The New York Times, Disney, and Broadcom to bring Flash Player to Internet enabled TVs. My favorite article was from the New York Times because of this quote:

The denizens of Hollywood and Silicon Valley have, by and large, vastly different value systems, role models, even tastes in cars, food and clothing.

But they increasingly agree on one thing: a standard for online video called Adobe Flash.

As Flash video continues to take off it means more opportunities for Flash developers. At Web09 and in a lot of the customer visits I’ve been in here in New Zealand, people want their content to be multi-screen and we want that to mean more than just mobile devices. We want you to be able to put your Flash content anywhere.

There are going to be a bunch of fun announcements coming up between NAB and FiTC, so stay tuned. There will be a lot of Flash goodness in the next couple of weeks.

Flash Player on the Palm Pre and the $10 million Open Screen Project Fund

Adobe announced a bunch of news today before the start of Mobile World Congress. I think Robert Scoble has the best roundup. The biggest? In my opinion it’s great to see Palm join the Open Screen Project. The Pre seems like it’s going to be a big, big deal, and getting Flash on it would be great for smartphone users. The other big piece of news? The $10 million fund that Adobe and Nokia have created for developers to build applications that work on Nokia devices and use Flash/AIR.

Most of this will be available in 2010, but I can tell you that this is the year of mobile at Adobe. We’re going to be doing a number of public betas, our tooling will start having robust mobile support, and the entire ecosystem is going to move forward. But we’ve also announced the availability of a downloadable Flash Lite runtime for Nokia and Windows Mobile devices, so if you’re targeting Flash Lite 3, you can bundle your applications with the runtime so you can deploy it all at once.

Stay tuned for more mobile Flash Platform stuff this year.

Akamai on Dynamic Streaming

Andy Plesser has a good interview up with Mike Afergan, an SVP at Akamai in which he talks about the benefits of dynamic streaming, which is part of the latest version of Flash Media Server. Video delivery is an area that I think still has a ton of room for innovation and as I’ve talked to the folks in our FMS group, I’m excited by what they’ve got cooking.

We talked about RTMFP, which we added to Flash Player 10. RTMFP opens up the possibility of creating P2P services in the future with FMS. Once the clients “check in” with FMS, they’ll be able to stream content directly to each other. This should help with quality for live or heavy-traffic events because everyone can share content and bandwidth. We’ve actually got a cloud-hosted service codenamed “Stratus” that will let you try out the technology right now using Adobe’s infrastructure. You can sign up for a developer key on Adobe Labs.

The Day Has Come – Adobe Opens up RTMP

I’m really happy to be able to blog that Adobe is opening up the Real-Time Messaging Protocol (RTMP) spec. As a lot of you probably know, RTMP forms a core part of the Flash Platform ecosystem. It is the backbone protocol for delivering real time data and rich media to the Flash Player. Now it will be available for any developer to implement in their own tools, server technologies, or projects.

As the Flash Platform has grown, Adobe as a company has pushed harder and harder to be both more innovative and more open. You see this in everything from open source Flex to open specifications like AMF and XMP and PDF. Part of the reason we can continue to open up is the fact that we are able to build value added services to our customers on top of our open technology. RTMP is no different.

The Digital Media group at Adobe has done some great things with RTMP. Over the past couple of years they introduced a variety of secure RTMP measures including an encrypted version of RTMP called RTMPE which enabled content providers to protect their content while allowing it to be consumed by the 98% of computers that have the Flash Player. These types of secure RTMP measures are what makes sites like Hulu possible – because the people that create content feel confident they can protect it while making it freely available.

These security measures are examples of technologies that Adobe built on top of RTMP, and they aren’t part of the core spec that we’re opening up. In general, this is even better news for developers. Adobe spent a lot of work creating those and we think we have a great solution to protect people’s content. But there are no rules in how developers should implement things like security or peer-to-peer functionality in the open RTMP spec – we’re leaving it up to developers to decide how they want to implement it. That helps Adobe’s offerings by expanding the entire RTMP ecosystem and fostering healthy competition for the best solution. Any user of the Flash Platform, from developers to the end users, is going to benefit.

So today Adobe is expanding the community around RTMP by continuing to be as open as possible and foster both innovation and healthy competition. When you think about everything RTMP provides – the data, the video, the audio – and think about all of the possibilities that now exist for 3rd parties and developers, it’s hard not to get excited. This is going to provide an explosion of innovation for the community around the Flash Platform.