Sending Multibyte Numbers from ActionScript to Arduino

If you follow me on twitter, then you have probably noticed that I have been learning about Flash, physical computing and electronics lately. I started out working with Phidgets, and have recently begun working with the Arduino (Ill write up Flash / Arduino getting started tutorial shortly). I am currently working on a project where [...]

Details Of The JohnnyA MediaTemple Hack

Update: MediaTemple directed me to another blog post with additional details. This highlights another problem with this incident. The information has been spread all over the place. While this blog post does give some good details, it still does not provide cleanup instructions. It simply says that all malicious files have been removed. I’m sorry [...]

Adobe Intel Application lab live event

Adobe and Intel are hosting an event today in San Francisco around AIR development and distribution.
Event Details:
Date: Wednesday, July 21st
Location: Adobe Systems Office
601 Townsend, San Francisco, CA 94103
Agenda: ( PST )
4:45 PM – Registration Begins
5:00 PM – Beer & Pizza Served
5:30 PM – Flash Platform Services Overview (Adobe)
6:00 PM – Intel AppUp Center Business Model [...]

The Problem with Technology Silos and Where Flash/HTML can Lead

There is a cool workshop being given by Jamie Kosoy called No Flash? No Problem and he had a great quote in the description:

There’s a long list of common complaints about the use of Flash, but many of the criticisms just aren’t true. Detractors say that Flash isn’t search engine friendly; Screen readers can’t understand Flash content; You can’t deeplink to specific pages…

You know what? They’re wrong. These criticisms are symptoms of misunderstanding by developers on the ways different technologies work together.

I think this is one of the biggest problems that Adobe has. Technology and development choices tends to be borderline religious in nature. And technology in general loves to have good guys and bad guys. That means the communities are very siloed and there is some resistance to incorporating or looking at other technologies. It’s HTML5 versus Flash, Microsoft versus Google, .NET versus Java, etc.

It’s also become a lot harder to be a generalist. Developers get rewarded (at least in terms of attention) for becoming experts in their niche. They’re asked to speak at conferences, they get better gigs, so becoming an expert has direct financial and publicity benefits. Who has time to dive into other technologies when there are so many advantages to drilling down into your own?

Because of that, I don’t think we’re seeing technology at its best. And it’s not limited to Flash. PhoneGap has been very successful by combining the iPhone with HTML/JS. But Flash suffers more than most. There are a lot of great integration points between HTML and Flash. We’ve got the Flex/Ajax bridge for Flex that lets you expose Flash methods to JavaScript and vice versa. We’ve got deep-linking support with SWFAddress that uses JavaScript and Flash. There are a lot of integration points but they don’t seem well publicized or well used. And there are no shortage of areas where Flash can augment JS/HTML to solve problems. File uploading, Webcam/Mic support, and charting.

But I also think Adobe is at fault. I don’t think we’ve done a good enough job of making it easy to integrate Flash and HTML. Even now internally you hear things like “HTML strategy”, or “HTML versus Flash” and I haven’t heard a lot of talk about how we’re going to take what we know about RIAs and web apps and apply that to both Flash and HTML.

But I think that’s changing. So part of the post is to give heart. We recently had a big re-organization and most of the Creative Suite web tools and the Platform (Flash/AIR/Flex,etc) are together in one business unit. I think that means you’re going to see a lot of Flash-knowledge applied to our HTML tools and hopefully you’ll see a lot more about using Flash and JavaScript together so we don’t need sessions like Jamie’s a year from now.

With the web design tools and developer tools in one place, I’m looking forward to talking a lot more about rich web solutions that provide some innovative examples of technology working together and encouraging HTML/JS developers to look at Flash where appropriate and Flash developers to think about HTML/JS when it makes sense. The easier we can make that for developers the more success we’ll have and the better applications we’ll see.

What I Learned About Presenting From Cirque Du Soleil

As an evangelist, obviously a lot of what we do is presenting. I always wish I could make my presentations more interesting and more of a show so I’m always watching how other people present. A great example is Cirque Du Soleil, which came through Seattle as part of their Kooza show. At a basic level, the Cirque Du Soleil presentation isn’t too different from any other presentation. A lot flashier, a lot more badass, but still a basic presentation. As I was watching I noticed a few things that I wanted to jot down and (hopefully) incorporate in my future presentations.

Make the easy stuff seem hard

This one is pretty basic but the Cirque Du Soleil guys do a good job of it. At the beginning in most of the acts, the performers look a little tentative. There’s a bit of a dramatic flair, they look like they’re concentrating really hard (and they probably are) and setting a baseline for what’s coming later. By building up the suspense the audience is impressed right from the beginning. The stuff after that is just gravy. And when they break out the safety gear, you know stuff is going to get real.

Always mess up

I thought this was fascinating. In a couple of different performances, the performers screwed up the act. Once it was a high wire guy messing up a jump and another time it was during a giant spinning-dual hamster wheel act where one of the performers almost falls off. At first I wasn’t sure it was on purpose, but after asking around, they always mess up the same part of the show. Why? One, it adds dramatic flair. But most importantly, it adds to the perception that this is really hard stuff to do. Then when they go into the hard stuff and nail it, the crowd goes nuts. I’m not sure how to do this on the tech side, but I have a couple of ideas.

Know how awesome you are

These guys (and girls) do these acts on a pretty consistent basis. They’re so good they can create a fairly convincing fake mess up. At the end, they let you know it. They do a great job of selling what they just did and getting people to cheer for them. Ultimately I think this is about confidence, but it’s also about taking yourself outside of the bubble and remembering that not everyone can do what you do. When you travel with Cirque du Soleil all you see around you are people just like you, but you’ve got to remember that the audience can’t do what you do. And make them love you for it.

Have a theme

One of the reasons I love Cirque du Soleil is that every act has a theme. The costumes, the props, the music and the choreography all revolve around a central theme. Kooza had a definite South Asian feel and some of the acts played up that more than others. But all of it together helped tell a story and engage the audience more and each act built on the theme a little bit. This is probably a bit tougher to do in a technical presentation but I can think of some things I’d like to do that would be more thematic in my presentations.

If you get a chance to see Kooza, it’s a great show. Just watch for the mistakes.