Archive for the 'Uncategorized' Category

Adobe Edge Public Preview Available

The first public preview of Adobe Edge, Adobe’s IDE for building HTML5 applications (think: Flash for HTML5), was released on Adobe Labs today:

http://labs.adobe.com/technologies/edge/

This is JUST a preview, so it’s a pretty rudimentary version of the final product. So far it includes:

  • Create new “compositions” or edit existing HTML applications
  • Place and Animate PNG/SVG/JPG/GIF images
  • Place and animate HTML text

Some major features NOT included:

  • Interactivity
  • Code Support

So basically you can create animated banner ads, but you can’t click them. That’s not terribly impressive by itself, but it is a major milestone, hence the preview. Edge is scheduled for final release in 2012.

If anyone can create an IDE for building HTML5 applications, it’s definitely Adobe. In fact, I’m not aware of anyone else who is even trying. I still think Edge is going to be limited to building simple applications, prototypes, motion tests, etc., and large applications will be done the old fashioned way by hand, but if you want to build a relatively simple app, and you want to do it, really, really fast, Edge looks like a great choice.

Unity vs Flash for Cross Platform Development

For the past month or so, I’ve been working with Unity 3D, a 3D engine and IDE built by Unity Technologies. Prior to this experience I had only heard vague references to Unity, but it hadn’t really been on my radar until now. However, now that I’ve had a chance to dip my toes into it, I’m quickly becoming a fan. To sum up my experience:

Unity has done for 3D gaming what Flash did for 2D animation.

We’ve been looking at Unity as a potential solution to the great “cross platform” problem: How do we build one code base and deploy it to mobile devices and the web?

On the web, Unity has approached this in a similar way to Flash, where the end user must install a browser plug-in to see the content. However Unity’s content has much greater access to the system’s resources, in particular the 3D rendering pipelines, which Flash is just starting to add with the Molehill APIs. Result? Edge to Unity.

On mobile devices, both cross compile to native apps that run as native code on the phone. Result? Call it a draw.

When you look at building for both platforms using the same code base, the problem gets a lot more complex, and neither has really “solved” the technical challenges you’ll face. The first is handling different input methods. A lot of web interaction relies on rollover transitions for user feedback, however that interaction doesn’t exist on mobile devices which are primarily touch-based these days. Solving for both input methods can be partially accomplished through good user experience design, however it’s nearly impossible to avoid writing custom code for each target platform.

The second problem that neither Flash nor Unity can solve is asset loading on different platforms. On mobile, you have to respect the user’s bandwidth, or be prepared for the network to be unavailable, so you package all of your assets in the initial download and load very little at runtime. On the web, you can basically assume broadband these days, so you make your initial download as lightweight as possible, preload the bulk of your app, and lazy load the rest of the assets you need.

There’s no way for either Flash or Unity to solve these problems, so expect around 25% of your code base to be affected and change drastically when developing for a new platform.

With that said however, Unity is still a very impressive tool for building 3D games and simulations. It was built from the ground up with multi-platform development in mind though, so it has some nice features, in particular its well defined asset pipeline, and it can certainly push the barriers of production value beyond Flash, which mobile gamers expect, and web gamers appear to be trending towards.

Here’s a few more quick points of how Unity compares to Flash, in the context of building for web and mobile:

Pros

  • Much better graphics capability and overall performance for what you get
  • Potential for more advanced game play (particularly physics-based)
  • The Asset Pipeline (getting art, sounds, and animations into the game) was well thought out from the beginning, so there’s basically one way to do it, and it’s easy.
  • You can write your client and your server in the same language (C# is the default), which allows you to do logic on either side to improve performance, security, possibly maintainability.

Cons

  • The plug-in barrier. Can you convince your users to install a new plug-in and restart their browser to view your content?
  • The production values expected from a 3D application are going to be higher than the typical 2D experience. If you can’t meet the user’s expectations in that realm, you may have done yourself a disservice.

In the end, I really think it comes down to your creative vision. Choosing a technology is about making trade-offs, so when you ask “What do we want to build?”, you have to weigh what Flash does well, 2D animation and vector graphics, versus what Unity does well, physics and 3D.

Flex 4.5 SDK Build Released

Adobe has just released their next build of the Flex Framework, codenamed “Hero,” on Adobe Open Source.

Some of the mobile and more advanced features aren’t available until they release a new version of the player, but the new components they list are.  What I thought was particularly interesting was a few of the enhancements being made to the Spark Image Component, which is meant to replace the Halo Image component.

The Spark version is enhanced to provide BitmapData sharing across instances, which both reduces memory footprint and perceived loading time when loading the images multiple times.  Adobe took the Flex Framework a big step forward when they went from 3 to 4, which I think is shown in how they’re just now getting around to releasing fundamental components like Image.

It’s fun and efficient to use the Flex Framework for getting UI work done fast, but at the same time it makes me a little nostalgic for the time when I needed to write neat little gadgets like an image cache myself.

Videos from Flash Camp San Francisco

I had the pleasure of visiting Adobe’s San Francisco office for Flash Camp a couple weeks back. Coming just on the heels of Apple’s big 3.3.1 announcement, it was perfect timing to hear Adobe’s reaction directly from Adobe. All of the videos are posted online on Adobe TV, but to save you some time, here are my Cliff’s notes:

  • Open Discussion and Q&Q with David Wahdwani – Hear the first reaction directly from the head of the Flash Platform on Apple’s move
  • What’s new in Flash CS5 – Nothing new if you’ve been paying attention, lots new if you haven’t
  • Using Flash Builder 4 with CS5 – “You can edit your code in Flash Builder! It will ask you if you want to edit your code in Flash Builder!”
  • Flash Player 10.1 Internals – Must-see for devs, excellent talk about how the player handles low-memory situations and how to develop for them (think: mobile)
  • Flash Build 4 Tips and Tricks – For devs only really, but there’s definitely a couple tidbits worth noting (like keyboard shortcuts!)
  • TV & Mobile Design Challenges & Insights – “Make text and hit areas bigger” But also gives some concrete recommendations
  • Desktop and Mobile Development with Adobe Air – Adobe officially announced the AIR2 Beta for Android during this preso, talked about what it can do, very exciting
  • Introduction to Multi-touch in Flash Player 10.1 – Excellent primer to get you thinking about how to create multi-touch interfaces with Flash on Android
  • Developer Tips and Tricks for Targeting the Flash Platform – Mostly common sense techniques that good developers shouldn’t be news to any decent developer
  • Advanced Text Layout with Flash CS5 – I didn’t see this session, but the new text layout features are very impressive