Uncategorized

Let’s go on a cruise! RIAdventure is going to be sweet

RIAdventure speaker badgeTom Ortega and John Wilker, who organize the kick ass 360|Flex conference, are teaming of with Joshua Cyr, who organized the first RIAdventure cruise. They’re planning a new event that will be a 7-day cruise that features a 2-day conference. The cruise, called RIAdventure 360, is going to leave from New Orleans and hit Mexico, Guatemala, and Belize.

The conference will take place December 6-13, 2009.

Only new, forward-looking content

The speakers are required to prepare new content specifically for RIAdventure 360. That means no canned presentations that you saw 5 times already at past MAX conferences. The content has to be fresh, it has to be cutting edge, and it has to be made specifically for this event. This requirement is awesome. I think that all presenters at all conferences should prepare fresh content every time. Sure, it’s more work, but if you can’t prepare fresh shit for a conference then you should present less often. But of course that’s just a personal opinion with no disrespect meant to anyone on the speaker circuit 🙂

The speakers for this fine event will be: Ted Patrick, Ryan Stewart, Faisal Abid, Samuel Rivello, and… me!
RIAdventure

Focus on the future of RIA

This is a conference about the future, not the present. I’ve been formulating some ideas about what I’d like to present, but I haven’t quite solidified my plan yet (hell, if the conference is about the future I can’t plan it too far ahead, everything will change!). I’m currently playing with some ideas about the future of data visualization in application development. We’re reaching the point where data storage and bandwidth have reached levels capable of transmitting massive data sets, but we haven’t yet understood the implications this has for application developers. What if you had access to the location data of all the cell phones in the country? Or your entire genome? Or the record of every dollar ever spent by the government? The data is coming soon (much of it is here already), but if we, as RIA developers, don’t have the skills necessary to make sense of it all we’ll miss the opportunities to truly innovate and impact the world.

One big party!

And of course this is a cruise after all! We’re going to be partying it up like it’s nobody’s business. The conference also includes dinner discussions about our industry, which I think roughly translates to getting Ryan and Ted drunk enough to spill some Adobe secrets.

Get a free 360|Flex ticket!

And if all that wasn’t enough Tom and John are also throwing in a 2-for-1 deal. If you sign up for RIAdventure you also get a free ticket to the next 360|Flex in February. So if you want to have a hell of a good time while geeking out, go sign up for the RIAdventure cruise.

Standard
Uncategorized

Slides and Code from my CFUnited Presentation: Using Open Source Flex and AS3 Projects

Here are the slides and the code samples I presented at CFUnited.

You can also download the PDF of the slides if you want.

Adobe Open Source Media Framework + FlexLingo

This demo uses Adobe’s OSMF project to synchronize subtitles with video. This was the demo that I used to create the Hitler Goes to CFUnited video I posted before. You can seek around the video and OSMF makes sure to show the right subtitles. Then you can click on the different flag icons in the demo to use the FlexLingo library to translate the subtitle text to other languages (using Google translation API).

View the source
This demo is made with Flex 4, so to use the source code you’ll need to be able to build a Flex 4 project.

Axiis + Tweetr

The second demo I showed used the Axiis framework to create a chart of trending Twitter topics that have associated pictures on TwitPic. Unfortunately there’s no crossdomain file in place for TwitPic images, so I can’t run a live version of this app (but running locally works fine).

View the source
This demo is also made with Flex 4, so to use the source code you’ll need to be able to build a Flex 4 project.

Safe Sexting

The third demo I showed was the “Safe Sexting” app that uses the Marilena library for facial detection and uses Pixel Bender to automatically blur out your face. This demo was also shown in 360|Flex Indianapolis. You can read a bit more about this demo in a previous post about the 360|Flex presentation.

Run the demo | View the source

Standard
Uncategorized

Hitler Goes to CFUnited

Here’s the video that I showed at CFunited yesterday of Hitler (as a Flex developer) finding out he’s speaking at a ColdFusion conference.

A little context for those who didn’t attend my session: I was doing a demo of how to use the Adobe Open Source Media Framework that involved creating a Flex app that added subtitles to a video. The demo also showed tying in another open source library to automatically translate the subtitles into other languages (so the demo wasn’t just completely silly). Also, the demo I showed after this one was using Axiis for data visualization (hence the reference to the data viz demo in the video).

And for those of you who didn’t attend CFUnited, I assume this won’t be nearly as funny, but maybe you’ll still get a kick out of it.

Standard
Uncategorized

Sneak Peek at content from my CFUnited Presentation this Friday

CFUnited speaker badgeThis Friday, August 14, I’ll be speaking at the CFUnited conference in Virginia. My session is titled Riding Coattails to the Top: Using Open Source Flex and ActionScript Projects (yeah, I know my session titles are getting too verbose) and will be all about using the thousands of open-source Flex projects that are out there in the community. I’ll be covering projects like Axiis, Adobe’s Open Source Media Framework, computer vision libraries, and a host of other cool projects that you should know about.

I’m preparing a handful of demo applications that I’ll be showing off as examples of integrating some of the coolest open-source work out there. The goal of each example is to show how to integrate at least two open source projects together to create a sweet application. The screenshots below are from a few of the apps that I’ve been working on, just to give a little taste. If you’re going to be attending CFUnited be sure to stop by my session on Friday at 1:30.

osmf_example

twitpic_example

If you’re going to be at CFUnited be sure to flag me down and say hi or find me at the bar on Friday night!

Standard
Flex/Flash/Actionscript, Maps, SpatialKey

Drinking at 10am and geeking out on SpatialKey and Flex

James Ward and Jon Rose just published the latest episode of Drunk on Software that features members of the SpatialKey team, including myself, Tom Link (CTO of Universal Mind), and Brandon Purcell (Director of Technology for UM).

As a brief disclaimer in case I slur any words near the end: I was in Denver for a short trip and we squeezed in a time to meet with Jon and James right before I had to head to the airport to fly home. The only problem was that we had to meet at about 10am in the morning. And since the show is called Drunk on Software we obviously had to be drinking. So by the time I got on my flight I was probably 6 beers down 🙂

A big thanks to Jon and James for making the time to have us over (that’s the living room of Jon’s house). And thanks for the beer guys!

Standard
Flex/Flash/Actionscript

Slides, code, and links from my “Cool Shit” presentation at 360|Flex Indy

Another 360|Flex has come and gone and I’ve returned home with my liver and dignity partially intact. This post contains the slides from my presentation as well as all the code for the examples that I showed during the presentation. The slides are embedded below or you can download a PDF of them here.

The problem with these slides, however, is that if you read them out of context a lot of it probably won’t make that much sense (and some of it may very well be misunderstood completely). So I’m planning on doing a follow up post shortly after this that will try to put my slides in context by providing some notes about what I was talking about when I was showing each slide. So don’t look at the slides like the one that says “Fuck Flex” and jump to any conclusions. I’m not ditching Flex development, I wasn’t angry, and I wasn’t just trying to shock people with swear words on slides. If you saw my presentation then I hope it all made sense and I hope some of it resonated with you. If you didn’t make it to my session then I’ll be posting a few followup posts about the main topics that I covered. I’ll be doing some posts that go into detail about steganography, head tracking (including detailing some of the optimizations I came up with), and augmented reality (hopefully with some good video).

Slides

UPDATE: Turns out SlideShare’s embeddable player is throwing errors, so you can view the presentation slides directly on SlideShare here.

Or download the PDF of the slides.

Code

Here’s all the code of all the examples that I showed.

  • STEGAsaurus
    This is an AIR app that hides secret data (either text or files) in PNG images. It uses the PNGEncoder class in the Flex framework and the PNGDecoder class written by Heriet. When you run the app it allows you to drag and drop an image file to either encode secret stuff or to decode secret stuff that has already been encoded in the image (it can only decode PNGs created with the app itself).
    Download the AIR installer | Download the source
  • Modified Marilena head tracking library
    The Marilena library is part of the libspark project and it is a port of a facial detection algorithm from OpenCV that uses a technique called Haar Cascades. I used an optimized version by Mario Klingemann as the base that I started with, and then I made further optimizations from there. The main optimizations that I made have to do with not having to rescan the entire image every pass (since we’re concerned with live webcam tracking) and also checking for different rotations of the face to allow the user to turn his or her face at an angle.
    Download the source
  • Head Tracking Targets
    This was a simple demo that uses Flash Player 10 3D stuff (no PaperVision or 3D library used). I was trying to recreate the fantastic demo that Johnny Lee did that uses the Wiimote to detect head movement. This demo should detect your face and move the targets as you move your head around.
    Run the demo | View the source
  • Crappy Top Gun game (controlled with your head)
    This is another demo that uses head tracking. This one is a little Flash game that recreates part of the original Top Gun NES game. You control the plane by moving your head in the direction you want to fly and the objective is to avoid getting hit by rockets. It’s a really crappy game and isn’t very fun to play, but it was intended to just be a proof of concept.
    Run the demo | Download the source
  • Safe Sexting
    This is another head tracking demo that can automatically blur out your face. It’s sort of a Photo Booth type of application that lets you take pictures of yourself. The general concept is that it’s for all those young teenagers out there who are getting in trouble for sexting. Being the good citizen that I am, I wanted to come to their aid. This app will let you take dirty pictures while concealing your identity!
    Run the demo | View the source
  • Augmented reality demo with fake chests (male and female)
    And for the finale of the presentation I pulled off my shirt to expose an augmented reality marker on my chest. I then “augmented” myself with a 3D muscular male chest that made me look like a bodybuilder, and then to top it off I threw some fake 3D breasts on my chest (all while simultaneously blurring my face with the Safe Sexting app). If you want to try the augmented reality stuff out you’ll need to print out this marker and hold it up the the camera (or tape it to your chest for the full effect).
    Run the demo | View the source

So that’s all the slides and code. I’ll be putting together a series of blog posts that go over each of the individual topics I covered in much more detail. And like I mentioned, I’ll be doing a post that puts the slides in context for those of you who didn’t get to see the presentation live. I think there might also be some video floating around of most of the presentation, so if I can get my hands on that then I’ll be sure to post it.

Links

In addition to the slides, here are the direct links to all the videos or demos that I referenced in my slides:

Were you there?

I’d love to get some feedback on how you thought the session went. Was it engaging? Was the technical content good? Too technical/not technical enough? Let me know in the comments or feel free to shoot me an email: doug@dougmccune.com.

Standard
Uncategorized

I got punk’d at 360|Flex (in my own session!)

So there I was at 360|Flex giving my presentation. I guess when you call your session “Cool Shit” you’re just asking for people to fuck with you 🙂 So I’m going through some example applications and I’m near the end of the session and I get to the grand finale. The demo I was about to show was an augmented reality demo, combined with some head tracking stuff too. And I figured since it’s called “augmented” reality I’d do a demo that really captures that word, so while standing there in front of a packed room of developers I take off my shirt to reveal an augmented reality marker on my chest. When I step in front of the webcam the video detects the marker and shows a big muscular chest instead of my wimpy geek body. As I was doing body builder poses and taking silly pictures, suddenly *whack* – I get hit in the face with a flying object. Not quite sure what the fuck just happened, so I keep going on with the presentation like normal (for some reason the fact that someone threw something that hit me in my face didn’t seem all that abnormal). Then suddenly there’s a massive barrage of projectiles raining down on me. It takes me a while to figure out what’s going on, and then finally I understand: the audience is pelting me with little bouncy balls. What the fuck?

This video of part of my session has been floating around a bit, and if you don’t know this back story you probably have no idea what the hell is going on. But check out the video, and when you see me posing with my muscles and then suddenly recoiling in pain, and then you hear everyone laugh, that’s when I start getting hit with a shitload of bouncy balls.

So it turns out that some devious developers (I believe led by Nate Beck) were out drinking at some place where you play games and get tickets that you can redeem for prizes (aren’t you boys a bit old to be at Chuck E Cheese?). So they get a bunch of tickets and what do they decide to cash in for? Bouncy balls. All bouncy balls. Then the next day they come in to my session, and I have no idea how they pulled this off without me noticing, but they hand out these little bouncy balls to everyone in the first few rows of the room. Apparently the instructions were: when Doug takes off his shirt, let the balls fly. Awesome. I guess word had gotten out enough that I was doing something that involved getting partially naked (either from my tweet or just from me spilling some details when I was out drinking). And you gotta admire the guy who threw the first one (and hit me right in the face no less), that takes balls (pun obviously intended).

So that’s the story behind that video for anyone who saw that and had no idea what the hell was going on. Nate, I admire your creativity, you got me good. But you better watch your back, I’m going to be sure to be in the front row of any presentation you might be doing 🙂

P.S. I’m working on posting all my slides and code from my session, hopefully I’ll get all that up tomorrow.

Standard
Flex/Flash/Actionscript

My 360|Flex Itinerary

360FlexI’m leaving for the 360|Flex conference in Indianapolis tomorrow, so as I was getting ready I was looking over the schedule to get a feel for the sessions that I might attend. This list below is my tentative itinerary. It sort of represents the stuff that I personally find most interesting, but it certainly shouldn’t be thought of as a ranking or judgment or anything like that. 360|Flex is sweet because there’s usually a few sessions occurring at the same time that are all interesting, so I tend to jump around a lot. And of course I also tend to just hang out with people instead of going to any sessions at all, so we’ll see how many I actually attend. I’ll be presenting my session, “Cool Shit”, on Wednesday at 10:00 am, so be sure to at least come to that one!

Monday
10:00 – Michael Labriola – assertYourself
Michael Labriola is always one of the best speakers at 360|Flex (you hear that Labriola? you got a serious reputation to live up to now). In the past he’s given top-notch presentations that go into crazy amounts of uber-technical detail, and somehow people always walk out of the sessions entertained. Unit testing is a huge weakness of mine, something that I know I need to do and do better. So if Labriola brings his game like usual then this session should be entertaining as well as useful.

1:00 – Leonard Souza – Get Phidgety with Phidgets
I’m really excited for this session. Phidgets are little physical devices that you can connect to your computer and control. Simple things like RFID readers, or little sensors of various kinds, or small motors. You can talk to them from your Flex apps and make them do your bidding. The integration with physical devices is something that has fascinated me for a long time, and I’m really looking forward to seeing some cool stuff.

2:30 – Sean Hess – Creating a Realtime Multiplayer Game with AFCS
I was toying with the idea of using some of Adobe’s realtime services (either AFCS or RTMFP) for some gaming ideas. I haven’t had the time to try out any of my ideas, but maybe this session will reinvigorate me. And I figure I might as well stay on top of whatever Adobe is offering with Cocomo just so I’m aware of what the options are.

4:00 – Joe Berkovitz – Dynamic Audio Synthesis on the Flash/Flex Platform
The audio capabilities of Flash Player 10 are something I really haven’t dug into, but I’d like to get a good grasp of what the possibilities are. I’m torn between trying to go see Labriola’s (second) session in this same time slot, but if I see him present in the morning then I can’t be caught in his other session otherwise I’ll seem like a stalker 🙂

Tuesday
8:30 – Joe Johnston – FLEXperience – Putting the Flex in UX
Honestly, I doubt I’ll make it out this early. I’ve been to enough 360|Flex conferences to know that the chances of getting up early for the second day are almost none (to all the presenters in the morning: I feel for you). But if I can get out of bed, I’ll be checking out Joe Johnston’s preso on User Experience. Joe’s a fellow Universal Mind guy, does some sweet work, and I’ve never seen him present.

10:00 – Ben Stucki or Tom Gonzalez
So here I’m really torn. Ben is a good friend of mine (and former coworker on SpatialKey) and he’s been working on an audio startup for a while now. He’ll be presenting the progress he’s made on his startup, AudioSpike, and I’m sure he’ll be covering some cool Flash Player 10 audio stuff. But at the same time Tom Gonzales (who I’ve also had the pleasure of working with on SpatialKey) will be presenting Axiis, which is a new data visualization library he’s been working on with Michael VanDaniker. I’m big into data vis stuff, so seeing what he’s cooked up would definitely be interesting and probably more useful in everyday life, so I really don’t know which session I’ll end up in (maybe hopping between both).

1:00 – Francisco Inchauste – RIA Mojo – Making Your Flex Application Stand Out with Great UX
Francisco is yet another fellow UM employee and also a member of the SpatialKey team. Universal Mind has really been focusing on building a fantastic UX team over the past year and I’ve had the pleasure of working with Francisco before, so I know he does fantastic work. This session (along with Joe Johnston’s) will sort of give me an additional look behind the curtain at their UX process.

2:30 – Jeremy Saenz – Shedding Skins – Programmatic Skinning of Flex
So I don’t really care all that much about programmatic skinning (not that it’s not a worthwhile topic), but Jeremy is the dude who did the Flex Gangsta video, so I’m looking forward to seeing him present. Half the reason for going to sessions at these conferences for me is to check out how other people present, see how they interact with the audience, etc. I’m hoping Jeremy busts some geeky badass-ness.

4:00 – Laura Arguello – Breaking Down Your Applications with Mate Framework
I’ve heard great things about Laura presenting on Mate. Developers seemed to gush all over Mate the instant it was released, and yet somehow I still haven’t built an app using it. So it’s about time I get a good handle on what they did with the framework and start playing around.

Wednesday
10:00 – Doug McCune – Cool Shit
This session is going to be the bomb! I can’t wait! 🙂 In all seriousness, my session should be a hell of a lot of fun. I’ve got a few fun tricks up my sleeve and as long as I don’t get banned from the hotel by the end of the session we should all have a good time. I’ll be writing a little preview blog post to give some details about what I’ll be covering, but until then you’ll just have to trust that you’ll be entertained. It will be super dorky, hopefully inspirational, and maybe a bit scandalous.

After this I’ll probably pass out for a few hours before my flight out later Wednesday evening. But if I actually make it to any sessions afterward, this is what they’ll be:

1:00 – Paul Robertson or Jun Heider
Again, torn between two sessions. I’ve heard Jun gives a really good presentation (which I’ve never had a chance to see), but I could probably also use the information about AIR encrypted databases and security that Paul will be covering. I’ll probably walk back and forth poking my head into a few sessions during this slot.

2:30 – Ryan Campbell or Adam Flater
I’ll probably duck into both these sessions because I’m curious what kind of examples Ryan is going to show that use OpenFlux, but I’d also like to get the lowdown on Merapi (and heckle Adam from the back of the room). So we’ll see what I end up doing. Will be jumping around again for these sessions.

4:00 – Ryan Phelan – Bending and Flexing
Last slot of the conference, that’s a tough one. God bless you all for holding it up at the end, someone has to do it. I’d love to check out the presentation on Pixel Bender (is this really the only presentation about Pixel Bender??). My flight out of Indianapolis leaves at 6pm, so I assume I’ll have to miss this session, which is a shame because I could really use some Pixel Bender knowledge. I wonder if any of the other sessions will be mentioning Pixel Bender…

So that’s my initial list. Like I said, this is just the stuff that I’m interested in, not an endorsement or ranking or anything like that. If I didn’t put your session down you can feel free to come punch me in the face at the conference.

If you’re going to be at 360|Flex definitely come to my session or stop me walking around and say hi. I will definitely be at any of the parties or bars, so come share a beer 🙂

Standard
Flex/Flash/Actionscript

Interview up on InfoQ

screenshot102 An interview I did with Jon Rose of InfoQ was just posted. I talk about my experience with Flex component development, the Flex commuity as a whole, and the current state of the enterprise software market in general. I’ll probably get some shit for some of my comments about enterprise software where I say that it’s all “almost uniformly horrible” 🙂 I don’t really mean to call all enterprise software crap, it was more a broad strokes comment, the kind I’m apt to make after a few beers. So if you’re making awesome enterprise software, don’t be mad at me, keep doing awesome stuff.

Here’s just a small excerpt from the interview, read the entire thing at InfoQ.

Enterprise software is almost uniformly horrible, but there’s no reason for that. We’re seeing a “UX revolution” in RIA design, and for all the buzzword nonsense surrounding “user experience, ” there’s something real happening in terms of the overall quality of the experience delivered by RIAs. We’ve seen some really great and innovative work in consumer RIAs, with a trend toward simple and intuitive interfaces. And yet in enterprise software this trend has barely even begun, it’s all still complex. I want to see enterprise applications treated like consumer apps, with the same attention to the user experience and with a consistent drive to simplify and make everything more intuitive. Complex systems don’t have to be presented with confusing software. But it takes more work to figure out the simple, elegant solution. It’s far cheaper and faster to make bad complex software than good simple software.

Standard
SpatialKey

SpatialKey launches private beta

All of us at Universal Mind who have been hard at work on SpatialKey are incredibly proud to announce that we have begun a private beta program.

To really launch this product in style, we’ve put together this video to give an overview of the SpatialKey system. Even after watching it a dozen times I get blown away every time I watch it. Make sure to check it out in all its HD full-screen glory!

We’ve also got a whole series of videos that go into much more detail of all the different features. If you spend a few minutes watching some of those we’re betting you’ll start brainstorming ideas about how you can use SpatialKey with your own data.

This private beta period means that you fill out the form requesting access and we will be adding accounts on a first come first served basis over the next few weeks. We will add accounts as fast as we can over the following weeks and then after this private beta period we will open the system up to a full public beta, at which point anyone will be able to sign up for a trial account. SpatialKey will be a software as a service product that you’ll pay for with a monthly subscription based on your usage and data needs (pricing details will be coming very shortly, for now all accounts are a free trial with a cap of 10,000 rows per dataset).

I’ll be posting much more about SpatialKey and what you can do with the software, but until then go check it out and let us know what you think!

SpatialKey has been a long time coming and it wouldn’t be possible without the fantastic work of everyone involved. A personal thank you (in no particular order) goes out to every talented member of the SpatialKey family: Darron, Ben, Andy, Zach, Reggie, John, Tom G, Anthony, Francisco, Robert, Mike, Brandon, and Tom L.

Standard