Flex


Thanks to all of you who attended my 360|Flex talk on building adaptive mobile UIs that work well across different device densities, form factors, and platforms. My slides are now available in two forms:

I actually recommend looking at the PDF (which has annotations for most non-textual slides describing what I talked about on each slide) first, because the PPT uses an Adobe corporate font that you might not have, so the text might not look right. However, a couple of the diagrammatic slides make more sense if you actually go through the animation builds in the PPT.

Also, since I suck at this whole “social media” thing, I forgot to mention that I’m @rictus on Twitter–feel free to follow me there; I don’t post a lot, but do pop up there occasionally.

I’m still working on cleaning up the sample app from the top and fixing a few bugs–once it’s ready (hopefully within the next week) I’ll post a link to the source here as well.

 

Digg!digg this | del.icio.usdel.icio.us | 3 Comments

Well, of course, I forgot the first rule of blogging: Don’t call something “Part 1” if you don’t already have Parts 2 and 3 already written and ready to autopost. I ended up getting distracted by other stuff and never finished my followup articles. However, I think a lot of what I was going to write about was explained more concisely in this spinning cube example by Nathan Ostgard and this quick tutorial by Jam3 Labs. In the 2D world, Ely Greenfield, Corey Lucier and others at Adobe have been working on a prototype 2D Molehill framework that’s worth checking out. For much more, check out Uza’s blog post with tons of links to Molehill material.

Digg!digg this | del.icio.usdel.icio.us | No Comments

Well, MAX 2010 was a blast, and I am beat. I may have more coherent stuff to say later when I’m more awake, but in the meantime, here are links to the updated workbook, assets, and slides for my “Build Your First Mobile Flex Application” lab. The workbook in particular has important extra information about properly getting your device connected for launching/debugging from Flash Builder.

Download the workbook (PDF)
Download the tutorial assets (ZIP)
Download the tutorial slides (PDF)

Digg!digg this | del.icio.usdel.icio.us | 1 Comment

It’s Day 1 of Adobe MAX 2010, and in conjunction with the start of the conference we’ve just announced the public preview releases of Flash Builder “Burrito”, Flex SDK “Hero”, and Flash Catalyst “Panini”. We’ve talked a little bit before about the new mobile features in Flex “Hero”, but now you can experience for yourself not just the new framework features, but also the all-new mobile development workflow we’ve added to Flash Builder.

One of the great things about mobile development in Flex and Flash Builder is actually that it’s not all that different from developing desktop or web applications. When building mobile phone or tablet applications in Flex, you use the same Spark components you’re already familiar with; we’ve added mobile skins and touch interaction to the existing core components like Button and List. On top of that, you can take advantage of new components we’ve specifically created to make it easier to build mobile applications with the standard view-to-view navigation people are used to on touchscreen smartphones.

Similarly, building a mobile application with Flash Builder uses exactly the same workflow as building a desktop application. You create a mobile Flex project using the “New Flex Mobile Project” wizard, but once you’ve done that, you’re writing code and using design view the same way you would for any other Flex application. In a mobile project, you can choose to run/debug either on the desktop or on an actual attached physical device. If your device is on your WiFi network, you can even use all the standard Flash Builder debugging features on the device, like setting breakpoints, stepping through code, inspecting variables, and moving around the call stack.

When you’re done, you use Export Release Build to build an AIR application package that’s ready for deployment to devices. Unlike on the desktop, mobile AIR apps are packaged and installed the same way as native apps, so you can take the output of Export Release Build and send it directly to an app store, like the Android Market. To end users, AIR apps look just like any other application in the app store; the only difference is that the first time a user runs an AIR app, s/he is prompted to download the AIR runtime. After that, AIR applications install and run just like native apps.

We recently released AIR 2.5 for Android, and as we build and optimize AIR for other platforms, we’ll be bringing Flex and Flash Builder to those devices as well; BlackBerry Tablet OS and Apple iOS support are on the way, with even more platforms to come in the future.

Here’s a bunch of information to get you started building mobile Flex apps with the preview release:

Of course, since this is still an early preview, there are bugs, performance issues, and missing features left to implement. But as you can see from the sample applications, you can do a lot with what’s there already. Let us know what you think–good or bad–in the Flash Builder forum.

I’m really excited that we’re finally getting to release this stuff to the general public. I know that the first time I got a Flex application running on an actual phone and hit a breakpoint on the device, it felt like a revelation. I hope it feels that way to you too!

Digg!digg this | del.icio.usdel.icio.us | No Comments

Adobe MAX 2010 is now just a month away, and we’re starting to prepare for a bunch of sessions where we’ll be talking about mobile development using “Hero”, the next version of the Flex SDK.

Because this is my blog, I’ll flog my own session first: I’ll be running a “Bring Your Own Laptop” (BYOL) lab on Building Mobile Flex Applications. The way these labs work is that you, er, bring your own laptop, and we give you bits to install on it for the session. Also, if you have an Android 2.2 phone, bring it (and the phone’s USB cable) along too–though that’s not required for this lab.

Glenn Ruehle and Chiedo Acholonu from the Flex Mobile team will be presenting Deep Dive into Mobile Development with the Flex SDK, which will go into detail about the mobile development features we’re adding in “Hero”, and how to optimize your development process as well as your applications when building across multiple screens.

Ryan Frishberg, another engineer on Flex Mobile, will be presenting a session on Performance Tips and Tricks for Flex and Flash Development. This session will discuss optimizing both desktop and mobile applications, and describe common performance problems that developers of every level can encounter when building Flex and Flash applications.

Evangelist Christophe Coenraets will be presenting both a session and a BYOL lab on building data-driven mobile applications with Flex “Hero” and AIR for Android. His sessions will be focused more on the data connectivity side rather than the basics of mobile application and UI development.

And from outside the building, we have RJ Owen and Juan Sanchez from EffectiveUI presenting Screens of Possibility: Pushing Multiscreen Experiences with Spark and Flex, discussing their experiences designing and developing on desktop and mobile devices. I can’t reveal details of the app they’ll be showing off in this session, but I’ve seen some early comps and I think it’s going to be very cool.

Of course, there’s going to be plenty more at MAX about mobile development, Flex, and AIR; check out the MAX Session Catalog for the complete list. Hope to see you there!

Digg!digg this | del.icio.usdel.icio.us | No Comments

It’s been quite awhile since I last posted, but I’ve been keeping busy. Now that we’ve released Flash Catalyst CS5, I’ve shifted my focus to helping lead the team working on mobile application development features in Flex and Flash Builder. Last night we posted the public announcement of the next version of Flex, code-named “Hero”, which will include the first version of our mobile development features.

If you’ve been following Flex over the last year or so, you might have heard of a related effort, code-named “Slider”, which was going to be a separate version of the framework that would be specifically optimized for mobile devices. What we’ve found over the past year is that vast improvements in Flash and AIR runtime performance on mobile devices, as well as the rapidly increasing power of modern touchscreen smartphones, have made it unnecessary for us to split off a separate framework. So going forward, we’ll have a unified framework for both desktop and mobile development, and “Hero” will be the first fruit of this approach.

For a good overview of our plans for mobile development, take a look at the Flex and Mobile whitepaper, FAQ, and Adobe Labs page. We’ve also started to post draft specs for the mobile features (as well as the rest of Hero) to the Flex Open Source site, and we’ll be rolling out more over time.

I’m excited that we’ve started talking about our mobile Flex efforts publicly, and look forward to revealing more over the next few months. Watch this space!

Digg!digg this | del.icio.usdel.icio.us | No Comments

…he says, belatedly. If you’re wondering why this blog and Snackr haven’t been updated lately, this is mostly why 🙂

On Monday, we released betas of:

  • Flash Catalyst — This is the new product I’ve been primarily working on for the last couple of years: the interaction design tool formerly codenamed “Thermo”. It allows you to take artwork created in the Creative Suite tools and turn it into a working Flash interface. You can publish it as a standalone piece, or give it to a developer to add functionality in…
  • Flash Builder 4 — This is the next version of Flex Builder, with a slightly new name and a whole bunch of new features for developer productivity and easy data access. We renamed it Flash Builder in order to emphasize that it’s a tool for building all kinds of Flash applications (including pure-ActionScript apps), aligning it better with our other Flash Platform tools, and reserving the name Flex for…
  • Flex 4 SDK — the open-source framework that’s the foundation of both Flash Catalyst and Flash Builder 4. The biggest feature is the new Spark component architecture, which completely separates the presentation of components from their underlying logic. Without Spark, Flash Catalyst wouldn’t be able to make it so easy to turn artwork into skinned components.

If you do try out Flash Catalyst, check out the great documentation, tutorials and videos page. In addition to content from our Learning Resources team, there are videos from some of the developers on the FC team, and from other folks on our prerelease group. It’ll really help you get up to speed quickly.

As someone who helped start this and this, I can say it’s always a little nerve-wracking to release the first public beta version of a new 1.0 product. You wince at every bug you knew someone was going to run into (and the ones you didn’t know about), and you wish you could just tell everyone “we’re planning to get to it, really!” for all the features that didn’t make the beta, or that you know aren’t even going to make the 1.0 release. But that’s dwarfed by the excitement of having people encounter it for the first time and seeing what they can actually make with it despite its limitations. I’ve already been amazed by what we’ve seen our prerelease group do with Catalyst, and I’m looking forward to see what you can do with it!

Digg!digg this | del.icio.usdel.icio.us | 2 Comments

I haven’t had much time to post to this blog (or work on Snackr) because our team has been really busy getting ready to show off an early version of Thermo at MAX 2008. In fact, we’re doing better than showing it–we’re also going to give a very early preview release to MAX attendees!

If you’re going to MAX, and you want to be one of the first to get your hands on it, you should sign up for the Introduction to Thermo session, where we’ll be giving out the first DVDs. The first session is full, but there’s some room left in the 5-6 pm session.

This MAX preview version is going to be Mac-only, and only available to MAX attendees. If you’re on Windows or can’t make it to MAX, don’t despair–watch this space for more info.

I’ll also be running a hands-on lab at MAX where I’ll walk attendees through using the Thermo preview build to turn an imported Photoshop comp into a working interactive design. I think the lab sessions are already full, but give it a shot if you’re interested.

Hope to see you at MAX! (And hopefully after MAX I can get back to working on Snackr…)

Digg!digg this | del.icio.usdel.icio.us | No Comments

The flood of Snackr downloads has finally slowed down to about 150 a day. Over 13,000 people have downloaded it so far; it looks like maybe about 500-600 people are running it daily–not bad for a little side project 🙂

Various people have requested the source code, so I’ve decided to host it on Google Code at http://snackr.googlecode.com/. You can file bugs/enhancement requests on the Issues tab there (the issues and wish list items from snackr.net have been migrated there), and check out the source anonymously using Subversion (instructions are on the Source tab).

The source is currently in an interim state–there are a couple of half-implemented features (the ability to “star” items to read later, and the Google Reader integration that Rob is working on)–but you should be able to run what’s there (the GR stuff isn’t hooked up at all to the UI yet, and the “star” functionality works but the UI is slightly broken). I’m planning to post interim test builds there once in awhile as well.

The source also probably isn’t the prettiest code ever :), and I haven’t finished commenting it, but I’m hoping to continue cleaning it up and refactoring over time. Feel free to check it out, and let me know if you have suggestions–or, better yet, patches you’d like to submit!

Digg!digg this | del.icio.usdel.icio.us | 7 Comments

Wow–nearly 600 people have downloaded Snackr in the last two days! Thanks to everyone who’s sent mail or posted comments; it’s great to know people like it. The most common requests so far seem to be:

  • Allow multiple selection in the feed list, so you can delete a bunch of feeds at once. It seems like a lot of people imported large feed lists from their existing blog readers, then realized they didn’t want to actually see all of those feeds in Snackr.
  • Support Asian language characters. Currently, Snackr uses Myriad Web, and the font is embedded in order to make fade animations work properly for text, but that font only has Latin characters. I’ll either need to add an option to use the system font (and turn off fade animations), or maybe build a version that embeds a font with Asian characters in it (though that would probably lead to a huge installer).
  • Ability to keep a list of items to read later (e.g. by starring them). I’ve been wanting this for awhile but haven’t gotten around to implementing it yet–now I have some incentive!
  • Posting the source. I do really want to do this, but I need to set aside some time to make the code slightly less embarrassing 🙂

I also noticed today as I was using it on my machine that for some short posts, the popup seems to “bobble around” a bit and end up at a very thin size (it’s different from the jittery animation on Vista/Linux; this is happening even on OS X). It’s intermittent, but it reproduces pretty regularly on certain kinds of posts. Has anybody else seen this? I’ll have to look into it–it must be a recent injection, as I never noticed it before.

I’m planning to make regular updates to Snackr, though things are pretty busy; I’m hoping I can carve out enough time to release a new version in a couple of weeks. Snackr should automatically notify you when an update is available.

Keep those cards and letters coming!

Digg!digg this | del.icio.usdel.icio.us | 14 Comments

Next Page »