I'll be speaking at Adobe MAX again this year

For the 9th year of the last decade I'll be speaking at Adobe MAX, being held this year in Los Angeles, between October 3rd and October 7th. This time, adobe has asked me to present two sessions, one an "Intro to Flex 4," and the other a session on "How not to code Flex Applications." You can find information on registration and everything else at max.adobe.com

If the schedule stands as planned, I'll present my "How not to code" 10/6 at 3pm, and my "Intro to Flex 4" 10/5 at 11:30am



In case you are wondering, here is what I have spoken on in years past...

  • 2009 - Los Angeles - How Not To Code Flex, Intro to Flex 4
  • 2008 - San Francisco - Intro to Flex 3
  • 2007 - Chicago - Intro to Adobe AIR / Building Desktop applications with HTML and AIR
  • 2006 - Las Vegas - Getting Started with Flex Development
  • 2005 - Anaheim - Creating Better Performing Flex Applications
  • 2004 - New Orleans - Using ColdFusion to Power Flex and Flash Applications
  • 2003 - Salt Lake City - XML in ColdFusion / Building Components in Flash
  • 2002 - Orlando - Styling a Flash Application
  • 2001 - Orlando - Did not speak
  • 2000 - Washington DC - Planning a Spectra Application

FlexUnit 4 feature overview

How not to code Flex Applications

Do you want FlexUnit 4 support in FlexBuilder 4?

The Flex Builder needs to know if you, the flex community want FlexUnit 4 to be supported in FlexBuilder 4.
Spend a few minutes reading about FlexUnit 4, and if you would like flexbuilder to support it, you can cast your vote for it here

Have you bought your Flex 36o Indy tickets yet?

They are selling fast, and it promises to be jam packed with geeky fun! I'll be giving my session on How Not to Code Flex Applications, and doing a joint presentation with Mike Labriola on cleaner living with Flex Unit 4.

What does $550 buy you at 360|Flex Indy? - http://tinyurl.com/rxtkb9

  • Almost 60 sessions of Flex, AIR and ActionScript goodness
  • 4 days of conference sessions
  • 4 days of lunch (great for networking)
  • 3 evening receptions at Rock Bottom (again, great for networking)
  • 2 (maybe more) product launches (Axiis and others)
  • 1 Bug Quash event on Sunday (come make Flex better)
  • 1 Flex 101 hands-on also on Sunday (to get you prepped for the week)
  • 1 Charity Code Jam over the course of the show (to earn some Karma points)
  • 1 USB drive jam packed with copies of the sessions and code samples, plus some extra surprises
  • A chance to attend the only 360|Flex of 2009

So stop reading this and buy your tickets already, ok?

What is so difficult about broadcasting MLB.TV?

As a member of the development team for the Major League Baseball MLB.TV project, I've had a somewhat unique perspective on the successes and failures of the project. There is a bit of backlash in the blogosphere about the technologies surrounding the players, and the inherent superiority of one technology over the other. This post examines only the technologies involved in the situation, and not any of the underlying business decisions surrounding it.

So, what is so difficult about broadcasting MLB.TV? Funny you should ask, regardless of all the Flash vs Silverlight debate that has surrounded the MLB.TV launch this year, the player itself represents only about 10% of the complexity. So, how does it all work? There are a series of inter-related processes involved.

  1. Acquisition of feeds – Home and away video feeds from the ball park are provided by the networks covering the games. If there are problems with those feeds, the video/audio never makes it to MLB. As an example of this, in one of the opening games, an unplugged cable in the feed truck was responsible for lack of an audio feed in the MLB.TV player. There are any number of things which could go wrong at the ball park or in the broadcast trucks to provide the signal. Assuming all is acquired properly, the next step is...
  2. Encoding of feeds – The video and audio content streams from the broadcasters at the ballpark across the network to the MLB Advanced Media offices in New York City. There, the data is encoded into various formats for the various players, including MLB.TV, Gameday Audio, iPhone, etc. For MLB.TV, the stream is encoded at 7 different bit-rates, so the proper quality of video can be delivered, based on the end users connection speed to the internet.
  3. Provisioning – As a game starts, all of the data about the game and the feeds available for it needs to be provisioned into internal systems at MLB. This data is used by all the various applications to determine what game's are available, what feeds are available for each game, and which qualities are available for each feed. If one of the encoders fails, or one of the feeds drops, or anything else goes wrong in steps 1 and 2, the data needs to be re-provisioned to reflect the current accurate data for a game.
  4. Services - There are a series of Java based services which consume the provisioned data, and make it available to the player and other applications. Amongst the jobs the services provide are login, authentication, geo detection (to help enforce blackout restrictions), managing stream security and more. Of course, these services are dependent on the data about each game being available and accurate.
  5. Streaming Servers – There are dozens of Flash Media Servers at the Content Delivery Network (CDN) partner of MLB, from which all the video and audio (and lots of other things too) are streamed to the end user. The CDN has the capacity to stream hundreds of thousands of games at once.
  6. MLB.TV player – While this is the only part of the process most end users see, this is merely a front end to all the systems described above. While we are constantly finding problems, fixing them, making improvements, testing to ensure we haven't caused other problems, 99% of all bugs reported in the Forums and MLBlog actually relate to one of the "upstream" elements of this system. As I mentioned earlier, an unplugged cable caused hundreds to complain that our flash version of the media player couldn't properly play sounds. Obviously, that wasn't the problem, as all the other games, and even the other feed for that game properly had the audio channels playing, it's simply a matter of the player playing the content which was provided to it.
So, let's stop all the Silverlight vs Flash bickering shall we? Both are capable of doing the job. This year, MLB chose flash, last year they chose Silverlight. Neither decision should be used to bludgeon the other over the capabilities or lack thereof that the technology represents. Both would have a similar set of problems displaying streams that aren't properly acquired or encoded. Both would similarly display correct or incorrect information about blackouts, based on what the services layer provides.
All told, I'm honored to be a part of the team which made this all possible, am proud that the vast majority of users are able to view high quality content of the games as they are played, and will work tirelessly to help fix the problems reported by the others.

Major League Baseball Media Player 4 Now live

Thanks to the hard work of some of us from digital primates, and many from MLB.com, the first launch of MLB.com's Media Player 4 has just gone live. We are sitting seconds from the first pitch of the World Baseball Classic, live from Japan.

Launch Page

This new media player is powered by Flash Player, Flex 3.2, and FMS 3.0

C'mon by and see the magic.

We've had our first review and its positive!

Flex Camp Chicago

I'm speaking today and tomorrow at Flex Camp Chicago. Today, I'm covering for Mike Nimer (who is recovering from some dental work), and presenting his "Flex for ColdFusion Developers" session. For those of you looking for the presentation or source code, you can find it on Nimers blog.

Tomorrow, I'll be presenting my Unit Testing with Fluint session. You can find the code and preso for this session here

Flex Camp Boston, this week

We are just a mere few days away from Flex Camp Boston. As always there are a number of great speakers and interesting topics, great for existing flex developers who want to take their skills to the next level, or for folks new to the flex world.

Hope to see you there

Flex Camp 360 NJ

File this under the better late than never...

 

On September 26 and 27th, the folks who bring you Flex 360, put on a 2 day "Flex Camp" in New Jersery, which went over extremely well.  I was presenting on Testing with Fluint (formerly known as DPUint).  Of course, I promised my slides and materials would be up on here before the end of the weekend.  Well, realizing its over a week later, I'm finally getting them uploaded now.

 

So, if you were one of the many asking for those materials, here they are. 

slides
source code

More Entries

BlogCFC was created by Raymond Camden. This blog is running version 5.9.001.