[book]: http://demo.quietlyscheming.com/source/ApolloBook.air

Rob Adams is the User Research Specialist on the Flex team. I like Rob. I like Rob a lot. I really wouldn’t want to see Rob in pain. So for Rob’s sake, bofore I go any further, I feel the need to point out that there are lots, and lots, and lots of places where using a Page-Flip metaphor is really, really, really the wrong decision. Honestly, probably most of the time.

But it’s cool, right?

So…FlexBook, meet Apollo. Apollo, meet FlexBook. [download it here.][book]

(Breathe deep Rob. Breathe deep.)

[pg]: http://polygeek.com/299_adobeflash/flashnews_better-than-a-lego-vagina-award-for-360flex
[orig]: http://www.iparigrafika.hu/pageflip/
[fb]: http://www.quietlyscheming.com/blog/components/flexbook/

There’s been an interesting little discussion going on in [the comments of this blog post on PolyGeek][pg] about the [FlexBook component][fb] — mostly pointing out the relationship between this component and the previous flash-authoring based versions, and questioning what value Flex is adding to the effect.

To Tink and the others who pointed out the history of the flip-book…of course, you are absolutely right. The flip-book effect has been around in flash for years…If you go look at the page of samples I posted, you’ll see the [link to the original][orig] (? not sure if there were earlier implementations) flash flip-book that I used as inspiration.

Does flex add anything to the effect? yes and no. Technically, flex is flash…anything you can do in a flex application, you can do in a flash-authoring project too. So Tink, and others, are right, that rebuliding the flip-book as a flex component doesn’t _technically_ allow anything that wasn’t possible in Flash. In the same way that anything you can do in C++, you can do in assembly. And anything you can do in HTML, you can do with a blank HTML page and a whole lot of javascript. But there are a lot of people out there who used C++ (and still do) who weren’t interested in delving into the depths of assembly, and lots of people who want to save time by describing a web page declaratively through HTML rather than building it line by line from Javascript. In the same way, there are many developers out there who would love to (and would pay to!) take advantage of the incredible visual abilities flash has to offer, without having the time or the skillset to dive deep into the traditional flash authoring workflow.

Flex has a different design center than flash, and makes some things easier and some things harder(?) Actually, I don’t really think the technology makes anything harder…except, perhaps, publishing tiny SWFs. The functionality the Flex SDK provides is pretty additive to what the core player API gives you, so I do believe (and have made it a bit of a mission to evangalize the fact that ) anything you can do in flash, you can also do in flex. But certainly the lack of tooling support for things like drawing and timeline animations makes some things more difficult.

But I think publishing a flex component version of the flip-book, and a whole bunch of other techniques from flash’s storied history does in fact add huge value. There’s a lot of incredibly talented individuals out there who know how to create amazing visual effects with actionscript and the timeline. There’s a whole lot more incredibly talented developers out there who really do not have the skill-set to create those effects, but would really like to use them in their flex applications. Flex’s component model, framework, styling and skining system, templating and item renderers, and most importantly, MXML — the glue that brings all together — are explicitly built around the idea of code reuse…around the idea that fantastic experiences can result from a collaboration between left brain developers and right brain designers (and cross-brain dev-igners).

So, by all means, full credit where credit is due…to the community of talented flash developers and designers who have spent years creating amazing visual and interactive effects with the flash platform. But let’s recognize the opportunities that exist (including financial…I give my work away free as an evangalism effort, but I believe talented flash dev-igners could make good money selling their services into the flex community) for all of us if the flash community considers bringing some of that creativity to bear on the growing flex ecosystem.

[source]: http://demo.quietlyscheming.com/source/Book.zip
[license]: http://en.wikipedia.org/wiki/MIT_license
[flexbook]: http://www.quietlyscheming.com/blog/2007/03/06/new-flex-component-flexbook-repost/

Despite the clear statement in my [previous Flex Book post][flexbook] that the source wouldn’t be available immediately, I’ve been buried under a pile of helpful readers informing me that my ‘download source’ link was broken. I suppose I shouldn’t complain about eager interest, no?

I really wanted to have some time to clean up and document the code, but given the overwhelming interest, I’ve gone ahead and [posted the source for download][source]. I still hope I’ll be able to add a little more documentation in the near future (don’t hold your breath).

The FlexBook source is available under the [MIT Open Source License.][license] It requires Flex 2.0.1. to compile. I’ve tested the zip file somewhat, but if you have any problems compiling, comment here and I’ll get them fixed.

Caveat Emptor :)

### [FlexBook source files][source]

[demo]: http://www.stretchmedia.ca/blog/index.cfm/2007/3/9/Flex-Chart-Range-Selector–Google-Financeish
[doug]: http://dougmccune.com/blog/
Check out Brendan’s [chart range selection sample][demo] that emulate’s google finance’s nice chart navigator. I love this example because

* it’s done mostly in MXML, with very little actionscript required
* it uses a component from the ever growing collection of excellent 3rd party community flex components
* it’s just so damn cool.

Great work, Brendan (and, by extension, [Doug][doug]).

[FlexBook]: http://www.quietlyscheming.com/blog/components/flexbook/

360Flex is happily underway, and shaping up to be a great event. In honor of all the people feelin’ the Flex love down in San Jose this week, I thought I’d put out a new sample this week.

The source will follow, along with a little more explanation, when I’ve had a chance to clean it up. But until then, [check out the FlexBook samples][FlexBook], then come back here and let me know what you think.

Are you at 360Flex this week? Come say hello

### [FlexBook component samples][FlexBook]