Joseph BaldersonJoseph Balderson's blog at Community MX

Right on the edge of useful

Worst Presentation Moment

Posted Monday, August 21, 2006 10:20:17 PM by Joseph Balderson

Looking over the Top 10 Worst Presentation Moments on some Microsoft blog, brings back memories... reminding me of a Worst Presentation Moment of mine. Boy was it a doozy.

It's the early 90's, and back then I was big into space advocacy, because it seemed like the next best thing to being an astronaut aboard the Space Shuttle. I'm 21, and doing a major presentation of the latest findings of some unmanned spacecraft, I forget the name now, on behalf of the Mars Society, York University Chapter in Toronto. My co-presenter was a recent astrophysics graduate or something. I've got no university degree, no formal scientific training, but being self taught, what I lacked in education I made up for in enthusiasm as a volunteer for the society, so they gave me a prime presenting spot. Now I knew I could do it, because at the time I managed a small sales force selling security services door-to-door, so I was not shy in front of people, even if it was my first big presentation of this kind.

In the audience were physicists, teachers, students, astronomers, financial supporters for the society, and a few deans of the university. And they were all waiting for the latest juicy scientific details, because we got our info straight from JPL in Pasadena (this was before the internet, so you had to either subscribe to a journal or go to a lecture to get the latest news on this kind of stuff).

I got up to present, confident in my ability to deliver a presentation I knew by heart. But I had spent so much time the previous night absorbing the material, getting all the scientific details down, so nervous about the presentation, that I got almost no sleep. And the next evening, I was so hyped up on coffee and nerves, all that came out of my mouth was:

uh... ummm... and this is the ummm... uhhh...

My mind went completely blank. Three weeks of straight astronomy research completely down the tubes. I froze. I even got heckled to get off the stage by the sixth slide or so.

It was THE most embarrassing moment in my life. I so crashed and burned...

Luckily my colleagues sitting in the front row took pity on me and someone relieved me and did an impromptu presentation in my place, to this day I don't remember who it was, maybe the chapter president.

Prior to this I was involved in the society in a big way, and did a lot of volunteering with them. My embarrassment after that incident was so total that next month I resigned from the society's activities and never went back to a single meeting.

The good thing that came out of it was, I realized years later, I got over my fear of public speaking, for good. To this day I have absolutely ZERO fear of speaking in public, because I know, no matter how badly I screw up, nothing could be anywhere near as bad as that presentation.

What I learned is that no amount of preparation will ever make up for a good night's sleep. And until you screw up real bad, at least once, you never get any good at public speaking.

; )

Category tags: Blogs and Blogging, Education, On the Personal Side, This and That

Flex that Flash

Posted Wednesday, June 28, 2006 4:29:06 AM by Joseph Balderson

Today the Macradobians made history.

For those of you still hiding under a rock (just kidding), the team at Adobe Systems Incorporated just announced the release of a dizzying plethora of software and resources under the umbrella called Flex 2.0, which includes Flex Builder, Flex Data Services, Flash Player 9, the Flex.org resource center and the Flex Developer Center.

After being in development for nearly 2 years, and in public beta for a considerable portion of that time, Flex 2.0 has finally been released, to the accolades and cheers of a great many people in the Flash and RIA (Rich Internet Applications) Development community, including myself.

Some of you may be asking yourself at this point, "what is Flex," and "what does this mean?"

Flex is next step in evolution for the Flash Platform (yes, it's not just a plugin anymore, it's a "platform" now, doncha know?) Flash has gone through a great many changes over the years, and each new version has heralded new capabilities and powers. To list some of these, in Flash 4 (1999) it was, um... bad intros? :P  In Flash 5 (2000) it was Object-Oriented Programming and XML. In Flash 6 (MX) (2002) it was the Drawing API and Components. In Flash 7 (MX 2004) it was ActionScript 2.0, Class Packages and v2 Components. Flash 8 (2005), featured a whole new set of tools around bitmap rendering and effects, as well as a file up/download API.

Now hold on to yer pants folks, it's about to get interesting.

Now we have Flash Player 9. But no Flash 9 IDE (Integrated Development Environment). What we have, instead of the gradual evolution between Flash 7 and Flash 8, or even the big step between Flash 6 and 7, we have a quantum leap. The Flash 9 IDE would be the next step, but in fact the Flash 9 IDE isn't due out until sometime in 2007. So Flex could be called Flash 10. Only it isn't. It's Flex.

The Flash Player 9 capabilities are so radically different from its predecessors, that they have effectively split the Flash Player in two: (Virtual Machine) VM1 and VM2; think two flash plugins-in-one. VM1 is Flash 8 and below. VM2 is Flash 9 and up.

The reason Adobe needed to do this is because ActionScript has not only gotten a facelift, it got rebuilt from the ground up, and is now known as ActionScript 3.0, or as I like to affectionately call it, "Uberskript 3.0" ;). In remaking ActionScript, they eschewed compatibility to a certain extent, but they gained so much more.

Some of the features that excite Flash developers about Flash Player 9 and ActionScript 3.0 are:

  • a Just In Time (JIT) compiler that provides a x10 speed improvement in code execution;
  • Built in raw data socket support using binary sockets, which means that the Flash Player can accept raw binary data, which combined with the 10x faster code execution, leaves the field wide open for some serious mathematical heavy-lifting with custom parsing, cryptography and compression algorithms in Flash;
  • ECMAScript for XML (E4X);
  • regular expressions;
  • a standardized DOM event model, including event bubbling;

Gone are all the inconsistencies, the hacks you needed to make, and more importantly, the timeline architecture centred around the Almighty Movie Clip. That's why Flex is so different: there is no spoon, er, I mean timeline. There is no timeline. ;) Which means that everything is class-based and OOP, by default. Bringing ActionScript development in line with most other mature programming languages out there.

The developer community shouted, "give us a robust coding environment for flash," and they listened. And so we got FlexBuilder 2 as the authoring app, which is actually a 'plugin' built upon the Eclipse environment. In FlexBuilder and with Flex Enterprise, you can author an XML document in a markup language called MXML that greatly accelerates RIA development with rapid prototyping and development capabilities. The Flex Server can dynamically compile an entire application comprised of multiple SWFs from a series of MXML documents, similar to what ColdFusion 7 can do now with Flash forms (the Flex release also includes a ColdFusion 7.0.2 Update). With Flexbuilder you can author Flash applications using only ActionScript 3.0 class files, with or without Flex Components. Or you can develop using MXML. Or even a mixture of both, with ActionScript inside your MXML. The key to all this magic is the Flex Framework, or component architecture.

In summary, Flex is:

  • Flash Player 9
  • ActionScript 3.0
  • MXML
  • MXMLC (standalone compiler)
  • FlexBuilder (Eclipse-based IDE)
  • Flex Data Services (enterprise server)
  • Flex Framework (component architecture)

    (did I forget anything?)

Basically, Flash has arrived. It is all grown up now and ready to take on the big boys like .Net, Java and C++. It is a robust, rapid-prototyping, server-complied, RIA development tool. Combined with other Adobe technologies like Media Server and Remoting, we got a serious rich applications development environment on our hands, of a calibre never before seen. And let's not even get into Apollo, which is set to usher in another revolution if Adobe plays its cards right.

In 2004 we saw the split between Flash Designer and Flash Developer with ActionScript 2.0. Now we will be seeing the birth of a new Flash specialty: The Flex Developer.

The interesting part about Flash now, as is that it's not going to be the designers who will push the envelope for Flash anymore. Not even the designer/developers. That day has passed. It'll be the Java, .Net, C++ programmers who've been stymied for too long, and discover a much more powerful tool for RIA development in ActionScript 3.0. We are seeing that now even.

At this point I must mention, as Ryan Stewart so eloquently pleaded, Flex is not for websites. It is an applications development tool. Which means a component-based architecture. Which means you would not develop a site like this using Flex.

Despite that Flash is already considered by the ubercoders to be a 'legacy' implementation (at least until Flash 9 comes out in 2007), Flash still has a very large place in the scheme of things. In fact many Flex Developers are, even now using both Flash and Flex simultaneously: Flash to create the FLVs and Rich Content, and Flex to build the application framework. Personally, I love Flex and it's very cool to make stuff with it, but Flash will always be my first love. Flash 8 has barely come out, it seems, and we're on to the next thing. Hey, I've been waiting for three product versions for the features in Flash 8! So for me, there's still too many cool things to discover in Flash before I move on to Flex. For now.

I guess, at heart, I'll always be a programmer who loves to design.

Category tags: Dreamweaver, Flash, Macromedia News

See Community MX content by Joseph Balderson