Windows Mobile 7 Series

Calling all Silverlight developers.

If you are a .NET developer today your skills and much of your code will move forward. If you are Silverlight or XNA developer today you’re gonna be really happy.

I am shit-hot excited about Windows Mobile 7 Series. I think it looks great, and I love the design elements from the latest Zune software (something I also really like). And I think what seems to be their developer strategy is awesome. Take expressive platforms like Silverlight and XNA and bake them right into the DNA of the phone. The result is going to be some really slick looking applications.

I also used to talk a bit about a divergence in the strategies for Flash and Silverlight. Obviously they’re still competitors, but if the Silverlight experience on WinMo 7 is application based, I think it does represent a big difference in how Silverlight and Flash are approaching the mobile space. I don’t think there’s a right or wrong, just different strategies based on the two companies strengths. But in the end, I have a lot of faith that the Silverlight designers and developers I know are going to help build an ecosystem around Windows Mobile 7 Series that will look next-gen.

Plus, with guys like Anand Iyer shifting focus to WinMo, it’s clear it’s a very important part of the strategy for Microsoft.

Introducing “Contextual Applications”

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 on the Wii so they created a Wii-specific browser application that ran on Flash Player in the Wii and maintained the Finetune branding. Then of course mobile was a big demand. So they built two 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 maintaining 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 intact. 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.

2010 RIA Conferences List

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 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!

Google Wave Pisses Me Off

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 mainstream 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.

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.

Win Money By Building a Great Location-based RIA

Intuit and Xtify are running a contest that’s very close to my heart. Xtify provides a set of location-based APIs so you can see where the people using your application actually are. And of course Intuit is a huge supporter of Flex and they have a very robust SDK for building Flex applications on their platform. Combine those two things and you have the Intuit/Xtify Application Contest.

The contest started yesterday, so you’re already late. The publishing deadline for your application is June 23rd, so you’ve still got a couple of months. The grand prize is $7,000 and there are also $4,000 and $1,500 prizes for 1st and 2nd place. This is a great chance for people interested in location and RIAs to earn some money while playing with a great platform. I might even try and enter :)

Enterprise Flex with Cynergy

I was lucky enough to go hang out with the Cynergy crew in DC a month ago and got some video of Dave Wolf talking about one of their enterprise Flex applications for Quickcomm. In the video Dave gives a tour of the application and provides some background. I think it’s one of the better looking Flex applications out there and I like the subtle UI tweaks they included. You can check out some of their other work on CynergyTV.


Quickcomm Enterprise with Cynergy from Ryan Stewart on Vimeo.

The Best RIA Resource Yet

Matthias sent a note about RIA Alltop and I think it’s the best collection of RIA blogs/information that I’ve seen. Alltop is a “headline aggregator” it basically has a collection of blogs on a subject and then lists the most recent posts for those blogs. The RIA section covers everything from Flash, Flex, Silverlight, JavaScript – pretty much any RIA language that you’re interested in. It’s by far the most diverse collection and I think it’s one of the best ways to get a quick snapshot from a variety of different sources. This is going to become the second link I click in the morning after Techmeme.