Just a quick note to let people know that the notes from my FitC Toronto session “Flash CS3 Components: A Guided Tour” are now online at gskinner.com/talks/. I’ll try to get my source code up in the next few days.
Month / April 2007
Free Extension: AS3 String Utils
To continue the Extension goodness, here is an uber-handy AS3 class that we built the second we had access to AS3.
VI. AS3 String Utils
With the advent of regex in Actionscript, string methods become easier, and in some cases a lot faster. It also gave us a good exercise in AS3. This class is found in the com.chewtinfoil.utils package.
Oddly, Macromedia released a string utils class around the same time we built this, but we found that not only was there less methods, but they made no use of regex, and basically ported an AS2 version.
We have intended on releasing this one for some time, so without further ado, here it is:
Download this AS3 String Utils!
Please let us know if you find any problems, or have any other ideas for fancy string-abusing methods. See a complete API and example after the jump!
Continue reading →
Flex + Apollo + Digg API = DiggTop!
When we were invited to build a sample application for the Digg API contest, my first thought was to do something cool with another new release. We’ve been doing a ton of work with Apollo (our “gTimer” time management app for example), and I decided it would be fun to do something more “creative” with it.
The concept was to build a desktop Digg reader that I would personally want to use (I’m fussy). I wanted it to be something really functional and useful. I wanted an Apollo application that added value to the Digg experience, and skipped the seemingly obligatory cube flip effect (fast becoming the hallmark of Apollo apps). This wasn’t planned to be an application that wowed you at first sight, but rather be an application you’d want to keep using after the first day or two.
The end result was DiggTop. It’s a nice, small (<500kb), unobtrusive (especially in mini mode), cross-platform application (Mac OSX and Windows XP) that lets you view a custom blended Digg feed on your desktop. We mainly aimed to keep it simple and usable, but we also threw in a few cool features, like keyword feed support, custom article notifications, video preview, application update notification, and image slideshows.
I’d love to go into depth about it’s features and how we built it, but I’m catching a plane to FitC Toronto in the morning, and should probably finish packing. Instead, I’ll leave you with a screenshot, and a link to the DiggTop home page, where you can learn more, and download the alpha application for free.
Extension Melee (Part 4)
To mix things up a bit, this extension is not actually an extension, but a component. However, I think it’s fair to group it in our series of flash extensions (see part 1,2,and 3), due to its obvious usefulness 😛
VI. SimpleTabBox
The SimpleTabBox is an AS2 component we built a while back – as evidence, here is a screenshot of it in action in gProject. This is one of the components that I have always felt should have been part of the V2 component set, but for some reason, the closest Macromedia came was the release of the TabBar in one of the Devnet CDs (which was not very useful as all).
Download the Extension. Included is the component MXP, as well as the source classes, and an FLA with the skin assets.
This TabBox was designed with one thing in mind: An easy way to create a pleasant simple looking ViewStack in flash. I’m sure there are others out there, in fact Paul Ortchanian released an implementation a couple weeks ago.
I hope someone out there finds this useful. As with all of our other free extensions, feel free to let us know if you find bugs or have feature requests.
Continue reading →
Flash CS3 Components Revealed
FitC Toronto 2007 is just a couple weeks away, and I’m working hard to finish off my talk on the Flash CS3 component set.
I was really excited when my team (gskinner.com) was chosen to develop the component set for Flash CS3 (except FLVPlayback), with Adobe and Metaliq. I had the pleasure (and stress!) of leading the architecture and development of this new set of components.
At FitC Toronto, I will be giving a full tour of the v3 components. I’ll be talking about the goals and philosophy behind the new architecture, skinning, styling, and extensibility (extending or creating new components). I’ll also take a shallow dive (I only have an hour) into the inner workings of the new component architecture. I’m hoping to provide content for both designers working with components, and developers that are interested in building new components or extending existing ones.
FitC looks like it’s going to be one of the best conferences in 2007, with a really stellar speaker roster. If you’re going to be there, and want to learn about the latest set of components in Flash, check out my session “Components and AS3” right after lunch on the second day. Also, feel free to pop in on my panel with some really smart dudes (Mike Downey, Aral Balkan, Keith Peters, and Chris Allen) on “AS3, Flex & Apollo: What They Mean For You” on the first day of the conference right before lunch.
Back from Japan
I just got back from 16 awesome days in Japan. My wife and I spent a week in Kyoto, and a week in Tokyo, checking out the sights, eating amazing food, experiencing the culture and hanging out with friends.
There’s way too much to talk about here, so I’ll stick to super brief disjointed thoughts: Kyoto is really beautiful, and an excellent place to experience the more traditional side of Japan. Tokyo is a huge, crowded, and rather ugly city (aren’t all big cities?), but the people and culture make it amazing. The amount of respect, decency, and politeness Japanese people show others gives me hope for the rest of the world. Cherry blossom season is a great time to go to Japan – it’s so beautiful under the Sakura, and there’s so much happening. Hanging out with Marcos and Glyn (who flew up from Korea) was awesome – great company, and we got to experience parts of Tokyo that we never would have otherwise (thanks guys!). Japanese gardens are absolutely unsurpassed in beauty and detail – every step reveals a new, perfect photo opportunity. There’s a lot of super cool stuff to buy in Japan (we certainly got our fair share), including some really neat toys. Heated toilet seats are kind of nice (I suppose moreso for female types), but I’m not a fan of “posterior washes” (it’s kind of violating). You must have sushi at the tsukiji fish market at least once in your life (it’s soooo good).
We were there mostly for vacation, but I also squeezed in a little time to meet up with Mariko and Teiichi from Adobe Japan, as well as to show some of my recent work and hang out with some Tokyo Flashers. It was really great meeting everyone, and getting to see and hear about some of the cool work that’s going on over there.
Overall, one of the best trips I’ve been on. I’d strongly recommend it to anyone. I took a ton of photos, and might post some here when I have time. I’m going to have to do some re-working of my Sakura experiments to match all the photos I took.
Now I have to get busy and finish preparing for FitC Toronto (which I also highly recommend)!
Extension Melee (Part 3)
Looking over all our extensions, it is clear that the #1 thing we automate is quick access to files. gProject was initially created to give us a quick-open file listing. OpenBoundClasses and FindInLibrary also find us symbols and classes with a keystroke. Even gSearch helps us find the files or symbols we are looking for.
To round off the “Quick-Open” extensions (part 1, part 2), here are two small commands that give us two more ways to open and find files.
IV. QuickOpen
The QuickOpen panel is a proxy to your recent files. Apparently we thought click “File > Open Recent” menu wasn’t enough, so we created a popup list that you can bind to a keyboard shortcut. QuickOpen is an easy access, keyboard-accessible shortcut to the recent files. Unfortunately flash will not give focus to XUL dialogs on the Mac, so you have to click it in order to use your keyboard. Works great on PC though.
V. QuickOpenImport
Despite the similar name, QuickOpenImport is completely different. Often, when working on a class file (or FLA), we come across a class that we would like to open, but are unsure where it is. This extension pops up a dialog with a TextInput, and opens the class path you enter.
QuickOpenImport requires that you have your classes in a normal class path, since flash 7 and 8 will not tell us where it looks when compiling. Supported paths are relative to your FLA (“./”), “./classes”, “../classes”, and the flash classes directory (for components, etc). You can add paths by manually editing the JSFL, which is located in the configuration directory in the Commands folder.
That’s it for today. Look forward to more extension goodness next week!