Beet.tv has a good interview with Kevin Lynch in which Kevin talks about the shift in how content is created. The gist is that content creators will start creating for the small screen and scaling up from there. I think that plays with how we’ve been talking about contextual applications. The small screen is a very different beast to design for and it forces you to really think about your user interface. You just don’t have the real estate to make mistakes on the small screen. That’s going to be a key discipline and I think we’ll see UIs scale up from those small screens which hopefully improves the UI on the larger screens as well.
Let me start by saying I’m not anti-HTML5. I think it’s great. I think open standards are core to the DNA of the web and that’s part of the reason I’ve been encouraged that Adobe is moving more in that direction with AMF, RTMP, and some of our underlying protocols. But I also don’t think that means there is no room for companies like Adobe and Microsoft that want to see the web be better. I don’t think it’s an issue of corporate greed or vendor lock-in, but I understand the economics of how those end up being profitable. On the Adobe side I think it’s just that we have a lot of services and tools that we want to provide and we need a platform we can innovate quickly on. When the winds of technology shift we want to be able to make sure our customers can stay ahead. Video? RIAs? Real-time collaboration? Enterprise data management? All things our customers needed that we could build into the platform and make available to them. With the way open standards work it’s just not feasible to push those innovations through. So we’ve been very careful with the Flash Player. That’s how we provide our customers value. But it goes beyond features and into another problem with the web: a consistent experience. From browser to browser you’re going to get wildly different implementations of a “standard”. With Flash Player you can deploy your content and know it will run the same way for everyone that has Flash regardless of browser or operating system. There was an example today that made me chuckle and write this post. It’s not the best example; blurs and sparkly trails are not necessarily ideal uses of Flash, but in this context it was important. They wanted to capture a specific experience, it added value to the overall presentation, and was worth taking the time to create. Here’s the email:
My 20% at Google is the NORAD Santa Tracker, which gazillions of adults and kiddies use each year to track the progress of Santa across the world.
Last year, I used our Flash API to create the tracker map, primarily so that I could make a glittery comet trail of Santa’s past 7 stops. I tried it in JS with resized animated GIFs, and then decided that Flash would be much less painful – and was right. The code drew a line on a Sprite, blurred the line, then added some little sparkle movies and animated them.
You can see a screenshot with some trail here: http://www.wired.com/images_blogs/photos/uncategorized/2008/12/24/santa_nrad_edited.jpg
This year, I have ported the map to our JS v3 API, because we are doing aversion that utilizes the Earth plug-in (3d flying Santa!), and I wanted to make sure there was a version that didn’t require a plug-in. But, I really miss the glittery comet trail.
- Works in FF3, Chrome/Safari, IE 7+.
- Doesn’t require images (bandwidth is an issue).
- Doesn’t require a plugin
I’ve contemplated canvas, but not sure if that supports foreground blurring,and don’t know if it would translate to VML with excanvas. It doesn’t seem very SVG-y. I could try animated GIFs again, but they don’t animate the same across browsers. I could also try window.setTimeout with some PNGs, but that will slow down the browser, require images, and won’t achieve the same blurred line effect.
Do any of you have a better idea? (Help prove to me and the kiddies that Open Web can make magic happen!
- PamElf (<- my elf code name)
Not an off the wall request by any means. It’s a pretty basic task and using open standards in this case is a great way to go. Especially considering that she’d like mobile support for this (later email) and HTML is still the best way to target every level of device. What surprised me was the responses:
My two cents:
SVG Web does support the blur filter so you could get this working cross browser if you force the flash renderer.
If you just forced the flash renderer for IE, that doesn’t solve the problem of Chrome/Safari who have not turned on their SVG Filter support.
SVG Web is a cool project to support SVG, but a requirement is that you have to use Flash. So even when you try to use open standards, you still have to fall back to Flash in some cases.
A hack would be to have a separate
<canvas>that draws the blur w/ an opacity and z it?
Seems like a decent solution, but requires some hacks. This is fine for a 20% project, but when you’re trying to be productive, are hacky solutions the best way to go?
How ’bouts IE 7+ with GCF? That’d let you try things like
A perfectly fine way to do it, but GCF is the Google Chrome Frame plug-in, which would mean another plugin and as Pamela says the message after that, it’s not ideal at all from an end-user case.
Now I understand that the major roadblock here is the IE 7 requirement. If it wasn’t for that you wouldn’t need the Flash fallback for SVG Web and you wouldn’t need to use something like the Chrome Frame plug-in to make it work. But that’s kind of the point of open standards. Before you can really take advantage of a technology you need to get a consensus from everyone. All of the browser vendors have different agendas and different priorities. Right now Microsoft is the hold-out, but what happens if something comes along and threatens another browser vendor’s goals? Then they’ll be the hold out. That’s part of the price you pay for standards; you have to get everyone on the same page before you can move forward.
In the end, that’s better for everyone. Once everyone gets moving in the same direction, that becomes the baseline, and the web is a better place. We’re seeing that start to happen with HTML5. And despite the “Flash is dead” rhetoric, HTML5 will be a good thing for the web. Things like playing basic video and doing animation/vector graphics are so simple and yet so integral to the web experience that they should have been done in an open standards way a long time ago. But if Flash didn’t exist those things wouldn’t have become as important as they did as quickly as they did. And even now, as the web tries to move forward, Flash is being used as the fallback so that the web can evolve even if not everyone in the group buys in.
To me, that says that Flash will always have value. We control the platform so we can keep innovating and pushing the web forward in our own way. Maybe that’s content protected video, maybe it’s P2P support, maybe it’s a binary transfer protocol, maybe it’s hardware acceleration, maybe it’s writing your own filters and blend modes, and maybe it’s real-time collaboration. Eventually, the open web will incorporate all of those things. But I still wish there was more cooperation between the companies who have technology core to the web and the open standards groups who create the future of the open web. If nothing else, the open standards organizations can see what features stick and which don’t so that you don’t waste valuable time trying to standardize something users don’t want.
In the end, everyone wins. Flash won’t die, Flash developers can still be on the cutting edge, and Adobe will continue to support designers and developers on both sides of the open web/Flash spectrum. We’re all part of the web ecosystem in our own ways. Just like any ecological system, if one side goes extinct, the other is going to suffer.
Tonight we’ve released the AIR 2 and Flash Player 10.1 betas on Adobe Labs (direct download links for Flash Player and AIR). This is the first time we’ve simultaneously released the desktop (AIR) and browser (Flash Player) runtimes for all three platforms (Mac, Windows, Linux) at once which is a great milestone for the Flash Platform. So what is this release and why should you care? One thing to note is that this is just the desktop runtimes, not any mobile runtimes. Those will be coming later. Luckily a lot of the work we did for mobile in terms of adding new APIs and optimizations are all in these releases so you’ll still get a lot of the benefits.
Flash Player 10.1
Lots of new stuff in Flash Player 10.1 including the multi-touch APIs, the performance gains, and some new networking APIs. The biggest thing (IMHO) with this release is the huge, huge memory improvements. Kevin showed the slide at MAX but it’s worth mentioning again. Without any code you’ll see significant improvements in memory with Flash Player 10.1.
The AIR team has been kicking all kinds of ass and I think AIR 2 is going to be a great release. One of the things we heard over and over again after AIR 1.0 was that people wanted more access to the native APIs of the operating system. AIR 2 brings a lot of that. Now you can open up a file with its default application as well as invoke native commands with the new NativeProcess API. We’ve also added the ability to create a socket server inside an AIR application and monitor changes to mounted drives. Plus a lot more. And you get all of the performance enhancements (and more) from Flash Player 10.1 so it should be a lean, mean AIR experience for end users as well.
Developing with the new Runtimes
We won’t have a new Flex SDK for these runtimes yet so it’ll take a tiny bit of manual work to add support for the developer tools and the new runtime. Nick Kwiatkowski has a great screencast up for using the AIR 2 SDK in Flash Builder. It basically involves creating a copy of the Flex 4 SDK and then manually copying over the AIR SDK so it overwrites the AIR 1.5 SDK that ships with Flex 4. On the Flash Player side you’ll have to grab the playerglobal.swc and replace it in your Flex SDK.
I’m pretty excited about this particular set of runtimes. Talking to developers it seems like AIR 2 hits the mark and helps them accomplish more. Seeing the foundation put in on Flash Player 10.1 to create really great mobile experiences is also exciting. As always make sure to provide any feedback or any issues you run into over on the forums.
At the developer conference in San Francisco today, RIM and Adobe announced a collaboration around creating content for BlackBerry devices and Adobe’s Creative Suite tools. This builds off of the momentum we started with RIM when they announced they were joining the Open Screen Project and dedicated to bringing Flash Player to BlackBerry. There are some good links on Techmeme which cover the announcement pretty well.
Creating Content with Adobe Tools
Adobe is known for first class design and development tools and today’s announcement means that you’ll be able to use those tools to target RIM’s devices. There are going to be multiple points of integration. One of the critical pieces of creating mobile content is to make sure it is optimized for the smaller screens and often less bandwidth. In Creative Suite 5 we’re going to support optimized graphic and video content from Adobe Photoshop, Adobe After Effects, and Adobe Illustrator. We’re also supporting a seamless workflow between those design tools and Blackberry’s developer tools including the BlackBerry Web Plug-in for Eclipse and the BlackBerry Java Plug-in for Eclipse.
More interestingly for developers, we’re going to be working closely with RIM to enable full support for BlackBerry devices in Creative Suite Design Central, Dreamweaver, and Fireworks. You’ll be able to use those three tools to test and create content for BlackBerry’s mobile browser as well as to create widgets directly on the BlackBerry device. Device Central is a fantastic way for testing both HTML and Flash content for specific mobile devices. It lets you tweak battery settings, screen sizes, and other phone-specific functionality. Now we’ll have support for most of the BlackBerry phones so you never have to leave Creative Suite to see exactly how something will look on the phone.
Lastly, on the application front, Adobe is to be working on applications for BlackBerry that will let users take rich media and image content from the phone and quickly and easily bring it into tools like Photoshop Elements and Photoshop.com so it can be edited and modified.
My colleague Mark Doherty has some great stats on what the BlackBerry market looks like and what this collaboration will mean for people who want to use their existing skills with Adobe’s tools to create mobile content for BlackBerry. Seeing the level of cooperation between Adobe and RIM is an exciting thing for designers and developers. Unlike some companies I think RIM sees the value in partnerships and with the breadth of Adobe tools it means they’re able to leverage our community for all kinds of different content- not just Flash.
Next year is going to be incredibly exciting for Adobe developers and designers. We’ve already talked a lot about Flash Player being available for smart phones next year, you’ll undoubtedly be hearing more about AIR, and hopefully we’ll continue to see deeper mobile integration across all of our tools just like you’re seeing with RIM here today. For more information you can check out the BlackBerry portal on Adobe’s site to get the scoop on the details and see some of the workflows in action.
Today we announced an interesting partnership between Salesforce.com and Adobe. As Tim Anderson noted, there has always been a surface integration because Flash Builder could consume WSDL’s and Salesforce.com has always exposed them. But this goes quite a bit deeper. One, we’re working with the Salesforce.com team to make sure their IDE is completely integrated into ours. You’ll be able to get a combined Force.com and Flash Builder tool so you never have to switch environments to create Flex applications on top of the Force.com platform. The new tool exposes a new project type, the Force.com stratus type, and lets you automatically connect to the Force.com platform using a WSDL file. Then you can use the data features of Flash Builder to connect your data in the cloud with Flex components. It also has support out of the box for creating AIR applications that support online/offline synchronization.
The new tool and the partnership really simplify the process to connect to the Force.com platform so that you can focus more time on building a really great user interface that exposes those services. A “consumer-link” user experience is becoming more and more prevalent in the enterprise and is seeing a lot more demand. As ReadWriteWeb notes this is going to do a lot to help merge the consumer world of Flash with the enterprise back end of Force.com as well as some of our enterprise functionality in the form of LiveCycle Data Services. I think there are also some cool use cases here for integrating LiveCycle Collaboration Services. And of course the Force.com platform now gets access to over a million Flash developers who can target the cloud.
You can check out the video below for some getting started information. There is also a fantastic Force.com quickstart on Adobe’s Developer Connection and a lot of other information on the Force.com section of Devnet. Finally there will be a live webinar on November 3rd with James Ward and Markus Spohn where you can get a demo and then ask questions about how it all fits together.
We did a soft launch with some information of a concept that Adrian Ludwig and some of the other brain-trust folks at Adobe came up with recently called Contextual Applications. I have absolutely fallen in love with this term (and I had nothing to do with thinking of it). In a lot of ways I think this is RIA 2.0. One of the problems with RIA was that it had a grossly vague definition. It was kind of a Frankenstein combination of a desktop-like user experience, better design, real-time communication, rich media, and Web 2.0 ideals. In the end, RIA encompassed almost everything; Ajax, Flash, Silverlight, Adobe AIR, WPF, etc. That’s not a bad thing but it became hard to distinguish the value of RIAs because everyone could claim they were doing “RIA stuff”. The important thing is that we made a lot of progress with RIA and changed how people thought about software development.
Defining Contextual Applications
Contextual applications are a lot more concrete and have a better value proposition for both end-user and developer. It isn’t defined by a particular technology but instead a particular type of experience. So what is it? The idea is fairly simple. You’ve got a core set of data and a core experience that you have to deliver. But in today’s web there are multiple “touch points” out there. What about mobile? The desktop? A browser experience? A widget? An experience specific for social networking? Maybe a television? Users expect to have their content everywhere, on demand, regardless of how they’re connecting to it. The user experience and design challenge is creating a unified brand and experience that leverages the same content and is tailored to the specific technology limitations of a particular “touch point”. Solving that challenge will give you a contextual application. An application that moves with the user across a number of screens/devices while maintaining content and a user experience that is consistent but unique to each device.
Finetune: The Ultimate Contextual Application
The Contextual applications site has a number of examples but my favorite is definitely Finetune. They are a great example of one of the earliest contextual applications. They started out with a web-based application. Then, with the benefits of the desktop they created an AIR application that had native windows and used the file-system capabilities of AIR to tie into the iTunes library and pull artists that were interesting to the user; using the technological features of the underlying touch point to customize the experience. Then they were interested in deploying a version of the Wii so they created a Wii-specific browser application that ran on the Flash Player in the Wii and maintained the Finetune branding. Then of course mobile was a big demand. So they built to mobile applications; a Flash Lite app that reused a lot of code and still maintained the Finetune experience but customized for the small screen. They also built an iPhone app with touch support that captured the experience of the iPhone while maintaining that core Finetune interface.
To me, the Flash Platform stands alone at being able to let developers and designers easily deploy contextual applications. With so many different operating systems and screens supported, it becomes easy to reuse the tools and workflows to create applications that are tailored for those screens while maintaing a sense of continuity. And think about the server infrastructure. Are you using FMS to stream Flash Video content? That content will be supported everywhere the Flash Player is so you can quickly jump between screens and be sure that your base content, the most important thing, is completely in tact. It lets you design around your content and maintain that emotional branded connection with your users.
Ultimately it is about productivity. The number of touch points is only increasing and to be able to deploy on as many of them as possible you need to be able to reuse code, design assets, and workflows as quickly as possible. The Flash Platform gives you the broadest reach with a large community of designers and developers who are skilled with the tools. Ultimately that means you’ll be able to create contextual applications quickly and reach your users wherever they are. That’s why I’m so excited about this concept: ultimately it gives the user more control.
The press releases just crossed the wire and we have a ton of news coming out of MAX. Plus more surprises in store for tomorrow. For those of you not here you can still check the keynotes out. I’m hosting the online side of the MAX keynotes and we’re doing some fun stuff before and after the keynotes to give you a sense of what’s going on at MAX. As you can tell from the rundown, there’s some fun stuff today.
Flash Platform Runtimes
We’ve been saying all year that Flash on mobile devices is a push this year and we’ve made a lot of progress. Today at the keynotes we’re going to be showing off Flash Player 10.1 for smartphones. This is the version of the Flash Player that we’ve been working on so hard this year. We’ve been working with some great partners including Nvidia and ARM to optimize the player for those devices and create a quality mobile experience.
Possibly more important is that the number of companies committed to the Open Screen Project continues to grow. Today we announced that RIM is joining the Open Screen Project which means that Blackberry will be supporting Flash Player 10.1. Google is also on board. We’ll have public versions of Flash Player 10.1 for Palm, and Windows Mobile later this year with Google Android and Symbian following shortly. Developers will have mobile bits in their hands soon.
We also announced AIR 2.0 which is going to give Flash developers a lot more native hooks into the operating system. A lot of the developers I talked to wanted it and so that’s what the team did. Mike Chambers talked about some of these features at Flash on the Beach. Another cool feature of AIR 2.0 is the ability to record from the microphone without going to a server. getMicrophone can now be a reality
We also have public betas of both Flash Builder and Flash Catalyst that are available today. I’ve been really impressed with how far Flash Catalyst in particular has come from Beta 1 to Beta 2. It’s a lot more polished, has more functionality (including video) and feels a lot more fun to use. If you checked out Beta 1 and found it lacking, you should check out Beta 2. We’ve also made big progress on Flash Builder and I’ve been a very happy camper using the tool full-time.
Some very cool stuff is also happening on the server side. We’ve released ColdFusion 9, a spectacular release with some great features including the ability for you to consume ColdFusion as a service from inside of your Flex application without writing ColdFusion code. I’ve also been playing with the LiveCycle Data Services release and it’s modeler plug-in for Flash Builder. The team has focused on model-driven development making it easy to generate and create a model, then linking that model directly to your Flex application. It helps by generating all of the assemblers and you can directly modify the user interface just by changing the model.
Finally we’ve got some Flash Media Server news. We’re adding support for HTTP streaming which will include support for content protection. We also have released the Collaboration side of Flash Platform Services and announced pricing so you can jump in and start adding collaboration to your application.
If you guys have any questions (sorry I don’t have more fleshed out info, it’s a lot of news), feel free to drop me an email – email@example.com and I’ll try and answer what I know.
Adrian Parr has a really great list of the 2010 RIA-themed conferences that have been announced. I’m hoping (and assuming) that he’ll be adding to this list as more conferences get added. There are a few on that list that I’ll know I’ll be attending (and a couple I need to check on) and I’m looking forward to connecting with everyone. Hopefully Adrian will add MAX 2010 to this list when we announce the dates (hopefully) after this year.
Thanks for the list Adrian!
The hyptasticness that is Google Wave continues to annoy me as a Flash developer and RIA enthusiast. Now I preface all of this by admitting that I haven’t used it; maybe when I get an invite this thing will be worth all of the finger grease that keyboards have endured as people talk about it. And I’m not saying it’s not impressive; it is. It’s a great demo, it does some very cool stuff. I’m not annoyed at Google Wave, I’m annoyed because everything that people like about that demo was doable 3-5 years ago with Flash. Flash Remoting, Flash Communication Server, and our much better user interface capabilities pretty much could have created Google Wave. Now I understand that there’s some excitement because this is built on open standards with a more open model, but people don’t get excited about standards- they get exited about vision. And that’s what kills me.
I don’t care if you’re a Silverlight developer or a Flash developer; the technology platform you’ve got is years ahead of what Google Wave is built on. Yet with all of our UI prowess, our design sense, and our pure and simple technical superiority with things like real time communication and scalability we haven’t built very much that captures people’s imaginations the way that Google Wave has. I think we lack the vision.
I think it could be argued that in some cases we’re TOO visionary. If someone had actually built Google Wave 3-5 years ago it wouldn’t have made the same impact because people wouldn’t have realized what it meant. In the RIA world we live in the bubble of the future. I genuinely think that most of us look 3-5 years ahead because that’s where our technology puts us. When people don’t get what we’re trying to pitch we just move on to the next thing. Look at Augmented Reality. Possible with Flash for a couple of years now but it’s just starting to get some main stream attention. RIA developers seem permanently entrenched in the Technology Trigger of the Hype Cycle and we don’t seem to be able to follow things through to the Plateau of Productivity.
Part of the Wave hypefest is probably because of the world’s love/hate relationship with Google. When they do something everyone goes nuts and that’s because they really do have the power to change the web. They did it once, they’re big, they’re smart, they can do it again. But there are a lot of smart people in the RIA world. Big companies like Microsoft and Adobe and small ones like Aviary and Picnik. We just don’t seem to encourage the visionary demos, the ones that make people rethink how they’ll communicate and interact. I don’t know if that has to come from the big companies directly or whether it’s something we can encourage startups to do. We don’t have a technology problem; if that was all it took we’d be cranking out Wave-esque demos all the time. We just don’t seem to be able to look at the entire scope of what we’ve been doing for the past couple of years and put it together in a game changing way.
I don’t have a solution, but if you’ve got suggestions, I’m all ears.
Today we announced the release of the distribution side of Flash Platform Services. Most of the action is on Techmeme but I liked the ReadWriteWeb post, the TechCrunch post, and the VentureBeat post specifically. Distribution Services is the one that’s new and the goal is to let you track your application across a number of different screens while also simplifying the distribution mechanism. There are also hooks that will let you easily bring in advertising so that you can both track and monetize your content. The first thing people will think of is widgets, and that makes sense because a lot of the “sharing” aspect, which we’re partnering with Gigya for, will remind people of the widgets they’re able to place on Facebook, MySpace, blogs, and other places. But as Serge’s MAX Widget shows, these can be more complicated applications as well. So while widgets may be the first thought, any one of these three threads; sharing, tracking, and advertising, can be brought into an application of any size. So regardless of what kind of application you’re building, these services should be helpful.
Show me the money
One thing this allows you to do is easily monetize your content. The money side of this is that advertisers or developers can buy installs and pay a fee (starting at one dollar) per successful installs. You can also target this a bit, so if you want to make sure a high number of people are embedding your widget, you can promote it via the network and you’ll be charged a fee anytime someone embeds or installs your content. On the profit side, you can also offer to host advertisements via our network. We’ll give you a specific CPM (cost per thousand impressions), we estimate around $5, and pay that out to you.
These services also work with mobile devices. This is one of the slickest features I’ve seen demoed because when a user wants to install a shareable mobile application, they’ll get an SMS with a link to the application. When they click it, our distribution service detects which device they’re on and will push out the correct version of the application. Currently we support Symbian S60 phones, Windows Mobile, and the iPhone. That doesn’t mean you can use Flash on the iPhone, but you can create an iPhone version that can be pushed out with our distribution network.
The Rest of the Services Story
There are three parts to the Flash Platform Services initiative; Distribution, Collaboration, and Social. Distribution is what we announced today, Social will make it easy to integrate social networks like Facebook and MySpace, and Collaboration has been in beta for a while, you know it as Flash Collaboration Services. All of these will have a pay-per-use model and will provide added functionality or easy integration for developers. The Flash Platform is the most cutting edge technology on the web. The full range of things it lets developers and designers do just doesn’t exist on any other platform. As a result, we’re able to do some very interesting things when it comes to collaboration, tracking, distribution, or integration. The goal of these services is to make it much easier for any Flash Platform developer to accomplish those things. Lowering the barrier to entry for things that makes Flash so powerful is going to be beneficial for a lot of developers.