Upcoming conferences (where I’ll be, where I won’t)

This is a quick post to about a few of the conferences I’m either speaking at, going to, or regretting not being able to attend.

When: August 18-20, 2008
Where: San Jose, CA

I can’t go! Nooo! I’ll be in Sweden. I might make it back in time to come and hang out with people at one of the last parties, we’ll see. Tom tried to convince me to fly from Sweden to Cali and give a presentation the next day and that just sounded like a horrible idea, so sadly I won’t be presenting at this 360|Flex. I really wanted to, I think 360|Flex is one of the best conferences, and it’s certainly where I’ve had the most fun. I’ve attended the first three 360|Flex conferences (all the ones in North America) and I spoke at the last two. And since I love the conference so much (but can’t present a session this time), I’ve made sure I’ll still make my mark on all attendees (more on that in a post tomorrow).

speakerbadge_200_120_e.gifFlash on the Beach
When: September 28-October 1, 2008
Where: Brighton, UK

I’m presenting! w00t! I’m looking forward to this one, I get to fly over and kick it in England and present cool Flex shit to a bunch of Flashers. I’ll write a full post about FOTB shortly…

screenshot001.jpgAdobe MAX
When: November 16-19, 2008
Where: San Francisco, CA

I’ll be attending MAX, but not presenting. I thought about submitting a session topic, seeing as MAX is literally in my backyard this year. But I’ve heard some horror stories about multiple required submissions months and months ahead of time, and that’s not really how I roll. I’ve been pretty overwhelmed with writing Flex for Dummies, so the MAX session topic submission just sort of felt like an additional ordeal I didn’t want to deal with. That said, I’ll definitely be there and we’re going to rock the shit out of San Francisco, so come and play.


My writeup of Ely Greenfield’s MAX session

Ely Greenfield’s session at MAX was, in my opinion, the best session of the conference… although I didn’t really attend many sessions at the conference (with so many people walking around who has time to sit in sessions?). But Ely’s was frickin’ awesome. Video recordings of his presentation in Barcelona have been posted by Joao on his blog. If you missed Ely’s session at MAX or you missed MAX entirely, go watch these videos. Seriously, go watch them now. The session was called something like “Flex Roadmap”, which was basically Ely talking about experimental directions they’re going while thinking about Flex 4.

Praising Ely
If you use Flex you know Ely. He’s formerly the charting master on the Flex team. I heard he wrote most of the charting framework with his eyes closed in 3 days. He’s one of the smartest guys I’ve ever met. His blog was an amazing resource while I was learning Flex. If you’ve been dabbling in Flex chances are you’ve seen some example code that he posted on his blog. Maybe you’ve seen this, this, this, this, or this. Turns out he’s been busy and hasn’t been blogging, which I’ve thought was a horrible idea. I think Ely’s blog posts are some of the most inspiring code examples out there, and his blog alone has probably convinced more people of the value of Flex than any other single source (this is all very biased, I learn extremely well from reading good source code). But Ely hasn’t posted a blog entry since March 19. WTF? I’ve often wanted to write a letter to Adobe on behalf of the Flex community and say “I don’t know what you have Ely working on, but give him some time to blog cool shit again. Whatever he’s doing can’t possibly help Flex more than his blog.”

Ely’s session at MAX was the first time I got a look at what he’s been doing, and it was the first time I thought to myself, “Oh, THAT’S what he’s doing? OK, you win. Keep him doing that.”

Creative Thinking from a Blank Slate
I want to try to get to why I thought this session was so good. To get a little perspective: we’ve got the Flex framework, which is something close to 300,000 lines of Actionscript code. That’s a big code base. That includes some monster classes like ListBase and DataGrid. So with that in mind, Ely gets up there and basically says: Let’s start over and really think about these components. Boil them down to the core functionality. What IS a list? Who cares that we have this ListBase class of over 7,000 lines of code. Maybe it’s not right. Let’s make it the right way. Let’s really figure out what the core functionality of a list is (and it doesn’t involve laying out scrollbars or clipping content or laying out items vertically or horizontally). He goes over a dramatically different way of creating a core list component in the session (see the last couple video segments).

There’s a really important (and dangerous) thing happening here. Most people would look at the current state of Flex, which includes a proven, stable, large code base and they would take that as a given. What I mean by that is that most people would think about how to take the framework and tweak it slightly to make it better (kind of like the improvements from Flex 2 to Flex 3). It takes balls (and brains) to be able to look at such a code base and say “Let’s rethink this. Knowing what we have learned from the past few years of Flex’s life, is this the right way to make a framework?”

That’s a leap that I think is more difficult than it sounds, and it’s something that I think is important for all software development. Too often we can start taking existing ways of doing things as the only way of doing things. Say you’ve been working on a project for months (or years) and the product now does a bazillion more things than you ever thought it would. Maybe the actual core use for the software is now dramatically different. I think it’s hard to back up and really think about the project with a fresh perspective. Question the architecture, question the fundamental design. Maybe the way it worked was right for the time, but doesn’t make sense any more.

This is obviously dangerous, because you can’t simply rewrite your entire code base over and over again (well, you could, but you’d never ship a product). And Ely constantly restated his disclaimer throughout the session, which basically went like so: they’re committed to backwards compatibility, nothing he shows or talks about is decided on, and all your old code that uses the Flex 2 or 3 framework will not be useless. He has to say this over and over because people get freaked out when they see such fundamental changes (which has important implications for all Flex applications ever created). I’m sure that this discussion comes up a lot internally at Adobe, and I’d love to hear more about how that conversation goes.

I’m glad Adobe is keeping backwards compatibility in mind, but what makes me even more excited is to see that Ely’s able to think about the Flex framework with a fresh, innovative perspective. This was what I really took away from MAX: the concept of stripping your code down to core functionality, thinking about it in a fresh light, and not being afraid to change everything.

I hope I didn’t sound like too much of a kiss-ass in this post.


3D Glasses Goodness at MAX

I took some pictures of a room full of dorks rocking the 3D glasses. Awesome. Last night we had the PaperVision 3D birds of a feather session and we handed out 3D glasses to everyone for a little nerdy fun. A huge pat on the back to Ben Stucki, who couldn’t make it to MAX, for his awesome work with a) writing the code for PV3D that allows us to render things in “3D-glasses-enabled” mode, and b) for sending me a big ass box of 3d glasses to hand out during the session. I believe Ben will be blogging about how you can integrate 3D glasses support into your PV3D projects, so stay tuned on his blog for more on that.

Also, I *think* John Grden will be showing some more 3D glasses stuff at his PaperVision inspire session on Wednesday at 3pm here at MAX. So if you didn’t get a chance to try out the 3d glasses, go to his session and you can look as cool as the people in these pictures.





You’re all a bunch of dorks.


Come to the Custom Flex Components Birds of a Feather session at MAX!

I’m part of a panel that’s running the Flex Custom Component Development birds of a feather session at MAX. We’ve got an allstar group together: Deepa Subramanian, Tony Hillerson, Chafic Kazoun, Adam Flater, and Andy McIntosh. We’re all going to be hanging out and talking about component development in Flex. But we don’t know what to talk about. We’ve got a tentative list of topics we think people might want to discuss, but we want suggestions for things to cover.

When: Monday October 1 @ 9:30 pm
Where: Room 179 A

Here’s what we’re thinking so far:

  • Invalidation/validation model
  • Application components vs. custom components
  • Performance/Memory Optimization
  • Coding Conventions (naming conventions, mostly)
  • Code Behind
  • Component development in Cairngorm
  • Underriding or Monkey Patching
  • Where to go drinking after we’re done

So come by the BOF session on Monday night and we’ll talk about component development. I know it’s late, but seriously, come by or we’re going to cry. Bring your questions and ideas on what you want to cover. Leave comments about what we should try to cover or just email me directly (doug@dougmccune.com). See you there!


Doug.dorkiness += 3d_glasses

Here’s a screenshot of me having some fun with TileUI and 3D glasses. If you’re going to be at MAX, find me and we can all look cool together wearing 3D glasses. Attend the Papervision 3D birds of a feather session. Side note: Ben Stucki is the 3d glasses master.

Seriously, MAX is going to be ridiculous. I’m gonna get you wearing 3D glasses, flinging tiles around on a multi-touch table. This is gonna be fun.

Click the image for a larger size. You got 3d glasses?