Happy New Year!

I intended to write this post last month. But because the last two months were so busy, in the end I could find neither the time nor the energy to write. So here I go with my first post in 2012 that partially talks about 2011.

Speaking of the previous year, I’d like to extend a big thank you to all my readers and followers. Knowing that people will read your posts and send feedback is like fuel for engines. Next, I’d like to say thank you and applaud all the community leaders who worked so hard to organize events. I know firsthand the hard work needed to put together an event. You guys did an amazing job in 2011. I feel both proud and lucky being able to be part of some of the events you organized around the world.

People asked me what the highlights of 2011 were for me. Many things come to mind, but once I boiled them down they distilled  down to only two:

  1. Adobe AIR and Flex demonstrated that development for multiple mobile platforms can be both fun and efficient. Indeed, what started as a promise back in 2010 grew to an amazing platform in less than a year.
  2. Adobe increased investment and effort in HTML/CSS/JavaScript. The last part of 2011 only accelerated a process that started long ago and produces things like: CSS Regions and Exclusions, CSS Shaders, Dreamweaver support for jQuery and PhoneGap, contributions to WebKit and jQuery Mobile. The PhoneGap and Typekit acquisitions cemented these trends and set up a perfect scene for more things to come moving forward.

What about me (I know, I know it’s a bit too much :D)? Well, I couldn’t be happier to tell you the truth! I am still having the time of my life and enjoy every bit of my job :) I’ve been doing evangelism for almost four years and I’m looking forward to many more. However 2012 marks a change regarding what my focus will be: I will focus more and more on HTML, JavaScript, and CSS. And I have to confess that I’m excited. First, because this is how I started to make money programming years ago (HTML/JavaScript/CSS and server-side technologies). And second, I think Adobe is extremely well positioned on moving forward the web standards and HTML authoring/services tools.

What about Flex, AIR, and Flash Player? Despite what some people are saying I think they will be doing great. The runtimes are pushed harder and harder because Adobe wants to make the Flash Platform the game console of the web. This means that even if you are not in the gaming industry your Flash apps will benefit. What about Flex? I think the Flex framework is mature, it has a great community around it, and it is used for big enterprise projects and consumer apps. Having said that I think that the Flex framework will be relevant as long as the community wants it to be. Because if the community doesn’t believe in it and stops using it then it doesn’t matter what Adobe does and who’s behind it. I will surely keep an eye on what you guys will be doing :).

I wish you a Happy New Year!

Adobe Touch Apps are available now

We just launched the Adobe Touch Apps part of the Adobe Cloud. You will find the six apps in the Android Market with one of them being available for iOS too (iOS versions will follow). Just as a quick reminder the six apps are: Collage, Debut, Ideas, Kuler, Photoshop Touch, and Proto.

I think this is great because it was about time we had more apps for tablets that can be used to create digital content. So far developers and companies were extremely good at creating apps for consuming existing content on tablets. As I said many times it is a pity not to be able to create content on your tablet device. I think that with the Adobe Touch apps we are going in the right direction: you can start working on a prototype while you are commuting and all you have is your tablet. Once you get to your computer you can continue your work on the same file. And the synch process between your computer and tablets devices is transparent; it happens auto-magically.

You can read more about these apps here.

Flash Player 11.2 Beta and Adobe AIR 3.2 Beta available on Adobe Labs

We just released Flash Player 11.2 Beta and Adobe AIR 3.2 Beta on Adobe Labs. The main features for this release are:

Multi-threaded video decoding (Windows, Mac OS, and Linux) — The video decoding pipeline is now fully multi-threaded. This feature should improve the overall performance on all platforms. Note that this feature is a significant architecture change required for other future improvements.

Flash Player background updates (Windows) — New versions of the runtimes can now be delivered more effectively to the end user with this enhanced updating mechanism (Background update is only available in the release versions of Flash Player).

From the release notes some additional info on the multi-threaded video decoding feature:

Multi-threaded pipeline was written grounds up to support lower end devices and full hardware stacks where all the decoding and rendering isoffloaded to hardware. The benefits of the modernization of the pipeline would be visible from mobile devices, tvs, netbooks to high end desktops.In Flash Player 11.2, the new video pipeline is available for desktop platforms (including netbooks ) and brings enhancements with respect to:

  • Eliminating jitter seen occasionally in some encoding and typically in live streams and real time interactive scenarios.
  • Gains in frame rate by reducing dropped frames as much as 50% on certain platforms with high bit rate content.
  • Seek frame accuracy.
  • High resolution/bit rate content decoding would still keep the player UI responsive and any background ActionScript processing going,which earlier could have experienced brief halts because all the decoding and player UI/ActionScript resided on the main thread. For HTTP streaming, ActionScript is the control point of fetching the stream data and delivering to the video stack. On seek, earlier thestreaming would halt, while the frames up to the point of seek would be getting decoded. With multithreaded video decoding, not onlywould the seek be more responsive, but it would also start playback faster after seek.
  • 50+ fixes as part of the modernization of the video pipeline architecture

Is this cool or what?

About Adobe MAX 2011: Flash and HTML

MAX 2011 was the sixth MAX for me and I have to admit it was by far the most interesting to attend. Judging by the discussions I was involved in or I overheard while being at MAX, I think that this is a feeling many share.

Fellow evangelists Ryan Stewart, Mark Doherty, Greg Wilson, and Michael Chaize already wrote about MAX so I won’t reiterate all of the news and announcements. However, I want to highlight some of the things I consider quite important.

Adobe Touch Apps

I’ve been arguing for a while that (1) tablets are not just bigger smartphones and (2) tablets could be used for more than just consuming digital content. So you can imagine how happy I was when I first heard about Adobe Touch Apps.

Adobe Touch Apps is a suite of applications that works on tablets and enables you to create and share content:

  1. Adobe Photoshop Touch – the name says all, doesn’t it? But make sure you check the video because you’ll be surprised by how powerful this app is.
  2. Adobe Ideas – a digital sketchbook for artists.
  3. Adobe Collage – create moodboards with ease. You can search for images, bring them into the app, and modify.
  4. Adobe Proto – this product has a good amount of magic. Using simple gestures you can create wireframes or interactive prototypes. In a matter of seconds you can add a header, a content area, a menu, pictures, and text
  5. Adobe Kuler – Kuler has been around for some time (2007 to be precise). It is the little app that helps you find colors that work together. There is a large community who adds new swatches. Once you find a theme you can easily customize the colors.
  6. Adobe Debut – helps you to share design/digital content created with Creative Suite anywhere right on your tablet.

You can find here a number of videos that show these apps in action.

As I said at the beginning of this section I’m glad to see apps for tablets that help people to create content on the go. However there is another thing that this suite is trying to address: device fragmentation. But first, let me present you the high-level vision. We announced a new initiative called Adobe Creative Cloud. Adobe Touch Apps is part of the Adobe Creative Cloud along with other services (such as Adobe Digital Publishing, Business Catalyst, and Typekit) and products (such as Photoshop, InDesign, Illustrator, Edge).

And one of the many benefits of these offerings is the seamless cross device synchronization. In other words you can take a picture with your phone or tablet and then open up your desktop or laptop and you will find the picture there. The bits are moving magically from one device to another (well you do need a Internet connection for this :D).

Stay tuned and early November you will find Adobe Creative Cloud prices.

HTML and Adobe

We talked a lot about HTML at Adobe this year. I bet you couldn’t believe the acquisition announcements of Nitobi/PhoneGap and Typekit :) However this is only one part of what we are doing at Adobe for the HTML world. These add to work around jQuery Mobile (last year we announced that we will contribute to jQuery Mobile), tooling for HTML5 (the Edge project and Wallaby are just two examples of new initiatives that complete Dreamweaver CS5.5 support for HTML5/CSS3).

So as you can see the work Adobe is doing around HTML5 is pretty significant and has reached the point where people from outside Adobe or Adobe’s community recognize this.

One aspect that is fast growing is the work Adobe does in moving web standards forward. Let me step back and tell you a short story. Back in 2007, Adobe AIR (called Apollo back then) saw the lights for the first time. And from the beginning we wanted to build a new runtime that would appeal to all web developers. What technology did developers use for building amazing websites and applications? JavaScript and ActionScript. Thus Adobe AIR brought support for both technologies. And the JavaScript/HTML/CSS support was made possible by including the WebKit engine in the AIR runtime.

Of course, we had to extend the WebKit engine in order to have the same APIs/capabilities as we had in ActionScript. For example to have access to the hard disk, to write/read encrypted data, SQLite support, camera and microphone access, and so forth (does this sound familiar? :D).

By doing this, our engineers became experts in WebKit. Fast forward to 2010 and we announced the CSS Regions proposal. Our engineers provided an implementation for this feature for WebKit. And this year we have two Adobe engineers who obtained the WebKit committer status. This is something great and I am proud to say I’m a friend of these two guys. I hope to see them getting the WebKit reviewer status :).

As the work with CSS Regions was moving on nicely, Adobe engineers didn’t stop here. At MAX 2011 we showed a new CSS feature that we are working on called CSS Shaders. Working with Apple and Opera we already submitted this proposal to W3C. Go here and watch the videos.

I have to admit that first time Alex showed me this (he’s one of the two Adobe WebKit committers) in action I was sure it was just some Flash application. When he told me that it is, actually, a modified WebKit and some CSS and JavaScript I was speechless.

So yeah, I think it is safe to say that Adobe “gets” HTML and we have lots of proof for this. And I know more things will come in the near future so stay tuned.

Flash Platform

Despite what others might think, my personal belief is that the Flash platform had an amazing year in 2011. With AIR 3, I think we have one of the best solutions for building mobile apps across devices and operating systems. The Native Extension feature makes it possible to extend the runtime and have access to all the other APIs available on the device right from your ActionScript code. The upcoming version of Flex, 4.6, will extend the support for mobile components and improve the performance.

With Stage Video and Stage 3D (Stage 3D is available only on desktops for now) you can build amazing applications that can handle video, sound, and complex 3D content. So playing Unreal Tournament in a browser through Flash Player became a reality.

What about new stuff? Well, take a look at these two sessions about the future of Flash Player from MAX: Flash Platform roadmap and What’s new in the Flex SDK. Workers (concurrency), a new Flex compiler, better tooling support (Flash Builder), and an amazing telemetry tool for profiling the release SWFs (Monocle) are things we are working on.

HTML and Flash

Last week I had an interesting discussion with two community leaders in the airport (hey guys, I hope your trip back home was fine :) ). And they were asking me about the future of Flash and what Adobe will do (they are first and foremost Flash guys). The main reason for all these questions was how the keynotes were perceived.

Since then, I thought more on this and watched again the keynotes. My personal belief is that all the effort Adobe puts in both HTML and Flash will actually serve developers and designers independently of what their first choice is. Joseph Labrecque has a good post on MAX 2011 and what some felt right there when everything was still hot.

Let me explain why. First, Adobe will be able to provide the best tools and frameworks for both technologies. If you are a developer or a business owner who uses Adobe technologies you’ll find easier to pitch your solutions. Clients would not see you as someone who only cares and knows only HTML or Flash. You’ll be able to propose the best technology for each project/client need. Definitely, this makes our life as Adobe evangelists much easier. Instead of being pushed into a defensive stance or fighting to be credible now we can just focus on the two sides of the stories.

Second, if you take a look at the history of Flash and how Flash relates to HTML it has already been about Flash doing stuff that wasn’t possible just with HTML. And the relation between these two was “AND” and not “OR”. “OR” implies that there can be only one choice. “And” means that they will co-exist. Some people after watching the keynotes they left with an “OR” in their hearts.

Third, if you are a guy who’s been building interactive content with the Flash platform then you are incredibly well positioned. Because you already know how to design and choreograph great content and apps. Without these skills all the JavaScript and HTML5 knowledge in the world can’t do much.

In reality for the foreseeable future the Flash platform will still be able to do things that are either impossible or more expensive with HTML. Certainly amazing 3D capabilities seems to be the main Flash usage. But let’s not forget about all the other goodies (improved Flex framework and Flash Builder, concurrency, and a faster compiler). These are things that will help developers who build interactive applications for desktop or mobile to be more efficient while building better apps than today.

Conclusions

I think 2012 will be an even more interesting year. Personally, I can’t wait. I’m so looking forward to see what people will build using AIR 3 and Native Extensions. I can’t wait for Stage 3D on mobile.

Second, yes you will be seeing us talking more and more about HTML and the things we are doing here at Adobe. Fellow evangelist Ryan Stewart already started working with PhoneGap. I’m doing the same. Actually, I hope to port one of my mobile apps to PhoneGap this month to better understand this platform.

At the same time, we are still working on the Flash side as hard as ever. Right now, I’m working with Ryan on the content for a European tour about Flex mobile development. We will hit about 9 different locations all over Europe. Once we have set up everything we will post all the details (by the way a big thank you to all the people from the community who are making this tour possible). So stay tuned and try to attend if you happen to be around of one of the locations.

Finally, I want to add that with each year I enjoy Adobe MAX more and more. It has to do with the feeling of family/community. There are thousands of people over there and from all over the world. And still you bump into someone who built something you knew or who read something your wrote or used/extended your code. This year I met people from South America, North America, and Europe. Actually there were lots of Europeans. To all of you, thank you for your time, and the friendly and insightful discussions. Looking forward to meeting you next year :)

Devices at MAX 2011

Later this week Adobe MAX 2011 will be officially opened. Last week I blogged about some of the sessions and labs that will be focusing on mobile development. This week I wanted to highlight some sessions that are built around specific devices.

Adobe AIR and TVs (Samsung and LG)

Televisions are getting smarter and smarter. This means that you (individual developer or company/agency) have a great opportunity to build the killer apps people will want to buy or use on their latest generation TVs. If you want to find out more about what you can do and how, bookmark these sessions:

Sony Android Tablets

Sony announced this summer two Android based tablets that will be shipped later on this year. This was a surprise for many as this marks the first time that Sony has built a tablet that uses Android. At MAX you can attend these two sessions:

BlackBerry PlayBook

To date, the PlayBook is one of my favorite tablets that money can buy. And one of the things that make this tablet special is that you have multiple ways to create your application, from HTML to ActionScript/Flex. Here are some related sessions:

NOOK Color

NOOk Color from Barnes & Noble is one of the hot devices on the market – the content, distribution, Android OS, and demographics all make this device special. Well, if you live here in Europe not so much :D. At MAX you can learn more about this ecosystem:

Motorola

If you ever developed a mobile application you know that building the app is just one of a long list of the check points you have to complete. And arguably it is the easiest to check too (thanks to Adobe AIR, Flex, and Flash Builder I’d say). One question I heard at many mobile events is related to application discoverability. At MAX you can learn about making your app more visible in Android Market and on Motorola smartphones and tablets:

Flash Player 11 and AIR 3 to be released in early October

Today Adobe announced that the next version of our runtimes, Flash Player 11 and AIR 3, will be released in early October. This is great news for all developers who rely on the Flash Platform for building desktop and mobile applications.

Just a reminder about some of the coolest new features coming with these releases:

Gaming

If you’ve ever played games like Machinarium or Tanki Online you know that Flash Player is one of the best options out there for developers and companies who want to build online games. To help you getting the most out of the Flash Platform we created a gaming center: Adobe Gaming Solutions.

We are also announcing the Starling framework: a lightweight framework for 2D graphics and animation that combines the simplicity of Flash with the power of the Stage 3D API. It is an open source ActionScript library. Watch this particle effect with Starling and Flash Player 11:

Adobe will also soon make a 3D framework technology preview called Proscenium. This will allow developers using Flash Builder to rapidly prototype apps focused on simple content interaction and display, whether for simple games, visualization, or high-quality rendering of small object collections.

Mobile Apps Support

The Native Extensions feature is aimed at mobile developers. I believe that this feature was the “missing link” that stopped some people who otherwise would have chosen the Flash Platform.

Indeed being able to write native code to expose native hardware and OS features and APIs means that you can basically extend the AIR runtime from now on. So, instead of asking Adobe for support for notifications or the contact list API you can create or buy/reuse a native extension that does this.

I know many people are already working on a number of native extensions many of them taking care of some of the most popular developer requests. I hope we will have some kind of a market so people who want to build native extensions and those who want to consume them will be able to meet.

Finally, the Stage 3D API will come to mobile devices too. So this means it will be possible run even more incredible content on these devices.

What about Flex and Flash Builder

With the new version of the runtimes almost out it is only natural to ask this question: what about Flex and Flash Builder? Well, don’t worry because Flex 4.6 and Flash Builder 4.6 are coming this year too (and if you are a Flash Builder 4.5 customer you’ll get this version for free).

Flex 4.6 extends the mobile support introduced by Flex 4.5 by adding new components and better performance. Here are some of them:

SplitViewNavigator

CallOutButton

SpinnerList

DateSpinner

Toggle Switch

The other big news is the improved support for text input across devices. Flex will be using the native text input control on every platform. What does this mean for developers? It means you can customize the keyboard (having access to all supported keyboards; e.g. numeric keyboard or email keboard) and you have access to features like spell checking or cut/copy/paste.

In terms of performance, simply repackaging with Flash Builder and Flex 4.6 can boost your application performance up to 50%.

These releases will provide support for the latest operating systems like iOS 5 and the upcoming Android OS.

Also Flash Builder 4.6 will have support for monitoring network traffic and unit testing for mobile projects.

Download

You can download the release candidates from Adobe Labs.

If you do the math, you’ll see that it has been almost three months from the previous updates of the runtimes, Flex, and Flash Builder. This is not much time, and yet the teams were able to add lots of new features. So I think they deserve a big round of applause! Well done guys!

About Flash Mobile Versatility

The Flash Platform as a compelling mobile solution across devices is enjoying an excellent momentum. I’m getting and seeing more and more Flash powered mobile apps. While this is interesting and cool this not what I want to focus on in this post.

Most people think about the Flash Platform for mobile as something that enables developers to build mobile apps for Android, iOS, and BlackBerry Tablet OS. What it is not so evident is it’s versatility: you can build almost whatever you want. And when I say this I mean it. You can build sophisticated games (and soon you will be able to build cool 3D games thanks to Stage3D), you can build beautiful apps for enterprise or consumer brands, you can build high performance apps for consumers, and the list can go on and on.

The last big thing that was a show stopper for some projects is about to be removed by the Native Extensions feature. This feature (it will be available in the soon-to-be-released next version of Adobe AIR) will enable developers to extend the runtime and achieve deeper integration with the device by accessing device/OS capabilities or other applications.

Let me give you just one example. Three applications that are quite different in what needs they solve while working and looking just great.

Cassandra Stand is a companion application for Android, iOS, and PlayBook devices. It picks  your location automatically and displays time/date, temperature, and news. While this app is a simple one it works and looks great. Congratulations to Leonardo Risuleo and the team.

Web Reader is probably one of the best PlayBook apps for those who use RSS readers. It is fast and intuitive and it works great with Google Reader. I’d love to see these guys writing an article about how they built their app. As with the previous two apps I installed the app on my tablet and played with it. My RSS list is pretty big and I was curious about how they will display all the categories and how easy would be to navigate between the various items. All I can say is that they did a good job :)

Hungry Cho-Cho is a funny little game for iOS. Tomer Reiss of KWAZI shown me this app during my visit to Israel earlier this year. It worked just great on my iPod Touch (at that time they were using AIR 2.5; I’m curious how it would feel with AIR 2.7 as this release brought more speed and performance especially for iOS devices). They released their application and he wrote a blog post about some of the things he learned while developing the game.

If you created some cool mobile apps using the Flash Platform, you know how you can get in touch with me. I’m out!

Future of Flex

Andrew Shorten (group product manager for Flex and developer tools at Adobe) just posted an interesting write-up about the future of Flex. If you are a Flex developer I’m sure you’ll find this worth reading. I know I did.

I won’t spoil the surprise but I have to say that I think this is good news!

If you have comments, please leave a message here! I will make sure it reaches Andrew’s inbox!

What are your favorite iOS/Android apps?

I’m really curious to find out what your favorite iOS or Android apps are. If you don’t mind sharing your preferences with me and spending a couple of minutes on writing them down, please drop a comment. You’ll get my eternal gratitude!

PS. You can name as many as you want as long as you consider them killer (or favorite apps).

About Different Types of Fragmentation

If you are a developer fragmentation is part of your life. Everywhere you look you find it:

Judging fragmentation in terms of good or bad is counter productive. It is what it is, right? In the end it gives us more work which is not that bad :)

There is fragmentation and fragmentation

However, there is another type of fragmentation that is becoming more and more visible. And this version is quite annoying. It is about having all these devices like islands in a big ocean. And all these islands are not aware of each other and they don’t even know they are islands.

What am I talking about? Let’s take a look at a typical household. You’ll find devices like:

And the simple truth is that all these devices are not aware of each other. Or in other words, if I have a smartphone and I’m home enjoying some TV time on the latest television set I don’t get any extra functionality on either device.

All together now

So what could we do to improve this simple scenario (a smart TV and a smartphone/tablet)? Well think of the “ultimate” remote control”. In a perfect world, when I want to find something interesting to watch at TV, I’d pull out my tablet (or smartphone) and open up the remote control app. This app will connect to television or set-top box and retrieve all the programs that are available.

Then it will present them in a useful way. Today, we think in terms of channels. You have x channels and you zip through them. Instead of this, this Remote Control app would display the available programs sorted on categories: SF movies, nature, cooking, news, fashion, sports, and so on. So with a quick flip through movie sections I could find easily an interesting movie. Or if I love football or tennis I can find what’s available right now.

Next, suppose that I select a tennis match (the US Open is coming by the way). While I’m watching the match I could choose the social section of the Remote Control app and I can check to see if my buddies are online. I could ping them to watch the match together and chat using text messages, VOIP, or video calls directly from the tablet device.

While enjoying the match together with my friends, my wife is on the way home. She has a smartphone as well and because of that I can get a notification on my smartphone or tablet that she is quite close to home. So I can go to the kitchen and start preparing the dinner. She could have left for me instructions for me (using her smartphone or personal computer) and I could check them on my device or using the fridge integrated tablet (did I mention the fridge has an integrated tablet?).

While cooking some delicious dishes somebody rings the doorbell. My tablet pop ups a notification and with one tap I can see who’s outside and decide to open the door or to ask him what he wants.

My wife wants a new couch and I start browsing for options using my laptop. Once I found something that looks great I choose to display the web site on my TV so we can see what it looks like. While the images are displayed on the TV I use my laptop to navigate, rotate, or zoom the images.

The next morning, as we are getting ready to leave the house I could check the car status on my phone: fuel level, service notifications, outside temperature. As I arrive at the office I realize that I forgot to program the air conditioning unit. I just fix this using my mobile phone.

Present or the land of opportunities

Now back to reality. Most of what I have described here is already possible. Of course there is no off- the-shelf solution but a smart developer can create software that makes different devices work together. I’ve been thinking about this a lot lately and also I’ve been talking to others smarter than me (fellow evangelist Mark Doherty has lots of idea about this cross device experience).

And the reason we don’t have off-the-shelf solutions (or solutions that do exist are very expensive) is that we don’t have a standard that is implemented by all the manufacturers who build smart devices. Manufacturers will have to expose some of the core functionality of their devices to third parties as well if we want to build software like my “Remote Control” example. Today it is pretty hard to come in as a third party developer/company and try to build in some interoperability.

How is this post related to what I’m usually talking about on my blog? Well, you can do many things with the Flash Platform since you can use it to build stuff for so many devices (personal computers, embedded devices, mobile devices, Arduino and Phidgets). Maybe we can start building cool prototypes and go after the big consumer electronics manufacturers and show them what is possible to do. This is one way to turn around this issue.

I don’t have enough insight into the consumer industry so what I’m about to say could be horribly wrong. I have the impression that many of the big players (companies who build TVs, cars, broadcasters and content providers) are just missing this. There is no doubt in my mind that one way or another we will end up talking about this type of fragmentation using the past tense. Until then, I wish you an amazing weekend and don’t forget to post a comment if you have something to share!

PS 1. Almost two years ago I wrote a post on a somehow related matter (augmented reality + always connected/synced). Back then I was pretty sure that in about two years we would have something like that available.

PS 2. There are some companies who are working in this direction (use your mobile device with your television, making home automation more accessible) but these examples are far too few.

Next Page →

Switch to our mobile site