I’ve got lots of respect for Tom King, but I’d say he’s underselling the depth of the problem. In my view, DOD dollars are the only thing propping up the current system.
I’m not sure I’ve ever met anyone, outside the DOD / ADL who doesn’t think SCORM and AICC are over engineered pieces of junk. And the LMS / LCMS products and vendors engender pure hate at every contact point whether purchaser, content develoeprs, admins or end users. Do a couple of white-papers do anything to help remedy the situation?
This rings all too true. Companies that get real value from social media put forward informal / conversational narratives from subject matter experts. Granted sometimes its hard to find geeks with the requisite communication skills, but when you do find them they should be out front. Once you get to multiple author blogging it feels like a news service and if there’s something on par with the lack of trust a politician inspires, its a reporter on the payroll.
It’s weird that companies make so little effort to understand the psychology. It’s as if they just want some mechanical lever they can pull. I’m guessing the anonymity of advertising buys, whether web, radio or tv has created this disconnect. You pay an outside firm to think about your brand, then yet another to think about how to connect your brand / products / services with an audience and then hire a mass distributor to crop dust your freshly commissioned message. When pressed to communicate internally you hide behind a PowerPoint and commission “white papers” to be handed out to customers who want to look deeper than your tag line. On second thought its crystal clear why these companies are failing. The only thing protecting them from the consumer apathy they inspire is monopoly money (corporate Amex) and strategic spending (use it or lose budgeting).
Hank, one of my favorite dev reads, hits the nail on the head on manpower issues. The problem is that folks still think they can scale and grind. Get enough developers and, though less efficient, the scale moves operations forward. This strategy doesn’t work when individuals and small teams can dance circles around you and have access to the same type of messaging channel that was once reserved for those with deep enough pockets to make media buys.
Whether its actually harder to raise awareness is an intriguing question. Sure there are more startups than ever and therefore a lot more noise, but the audience is also much bigger–a lot more people are online and engaged. Better development and communication tooling in conjunction with self-broadcasting at scale contribute to the noise, but also make it easier to find and collaborate with people of like mind and distribute your message.
I’d argue that consumers are increasingly sophisticated and impatient which means you have to be very skilled at building both your products and your message. It’s not enough to just make a great product–you need web style WOM business / marketing savvy and a bit of old school polish to boot. Get one side of the equation wrong and people will blow right by–they’ve got too many choices and too little time otherwise (maybe that’s all Hank was really saying).
It feels like some aspects of the industry are simply maturing. I believe Danah Boyd and others have pointed out that the tech industry has a long way to go before its branding / marketing reaches the level of sophistication found in the brick and mortar world. Pure utility isn’t enough, you have to start selling lifestyle which we sometimes call “experience” in the software world. As the lifestyle + utility play matures consumers will inevitably become ever more bored until eventually businesses will spend more time entertaining their audience in an effort to overcome consumer skepticism (Super Bowl commercials come to mind).
Of course while the tech world is in some ways an infant it also represents an evolution. This translates to the often surreal experience of advergaming (interactive, entertaining advertising), funded, for the most part, by slick sophisticated old world brands (old world being brick and mortar in this context) and delivered side-by-side with the redneck desktop shareware and terrible 2.0 web markets. Sort of makes you smile when you think about it. It’s still the Wild West and that makes it the place to be if you’ve got a round or two in the chamber and the taste for adventure.
Steve Yegge makes me feel stupid. There I’ve said it. I’ve come clean and can move on and admit there’s a whole lot I don’t know about development. Actually, I’m going to have to go one step further and admit I know very little about development which is depressing. This biz is a time sink; a void function; a black hole that sucks you in and returns nothing from its infinite murky depths. I know–clever. I’m probably trying a bit too hard to prove that my little ol’ social science degree gives me a leg up on someone, somewhere.
With that out of the way we can move on to another deficiency of mine–regular expressions. I don’t know diddly squat here, and usually avoid them like the plague or hope that Google or some fancy tool will just magically save my ass. There’s something about that compact, no white space syntax with all of its black magic quantifiers, metacharacters and metasequences and obtuse flags that brings out that first day of kindergarten feeling and sends me off to my feed reader. Oh, but back to the point. The other day I was asked to use a whitelist to validate filenames that the Screencast.com server can’t handle. It had been a year since I even wrote a regular expression, so of course I was crapping my pants. Obviously, I immediately Googled ActionScript RegExp whitelist, but came away with nada.
So there I was, left forlornly looking at the Flash / Flex docs with the realization that I was going to have to figure this one out on my own. And so I dug in and spent an hour or two reading the docs and playing around in the Flash script window (its still my choice for just sitting around and riffing, even though I spend most of my time staring at butt-ugly Eclipse–I’ll take the ugly though since Eclipse makes me “feel like a real developer”). Turns out RegExp are both a nightmare and not so bad. I think this is like the 5th time I’ve said that to myself though, so maybe its just safer to conclude I’m an idiot. Regardless, I was able to take a list of valid characters that the server folks handed over and determine if any filename the user wants to upload includes invalid characters (yep, now you know why Yegge makes me feel stupid).
On the off chance there’s some other developer mortified off their ass and desperately Googling for an ActionScript RegExp whitelist I’ve included a screenshot of some basic stuff that might help you out.

Oh and since some people get angry when they try to copy and paste code out of screen grabs, here’s some text (I’m too lazy to mark it up to look pretty which is why the screenshot came first).
// some simple basics
// no constructor expression literal
var p1:RegExp = /[a-z]/i; // pattern is case insensitive search for any a through z character
// the i is a flag indicating case insensitivity
// same expression using a constructor
var p2:RegExp = new RegExp( "[a-z]", "i" );
var p3:RegExp = /[^a-z]/i; // whitelist - any character other than a-z will be detected
// the ^ is a negation operator when used inside, left of char brackets
// negation is the key to a whitelist pattern match (as far as I can tell)
// the i flag indicates case insensitivity
// the g flag means the pattern should be treated globally - important ramifications when matching
// more than a single occurence.
var pattern:RegExp =/[^a-z0-9\-'!#\(\)&=\[\]_~\^\.,\s]/ig; //this is a whitelist of valid characters
var data:String = "Bad @fubar% |.jpg"; // a String I'd like to check against my whitelist
// true means a character that is not in our whitelist exists
var invalid:Boolean = pattern.test( data );
trace( "invalid: " + invalid );
// use String's match method to get an Array holding invalid characters (those not found in whitelist)
var matchChars:Array = data.match( pattern );
trace( matchChars.join( " " ) ); // print invalid characters found
trace( "\n\n ---------------------" );
// recursively find all matches and their index
// the global flag must be set on the pattern, or else we get infinite recursion
var match:Object = {};
while ( match != null )
{
match = pattern.exec( data );
if ( match != null )
{
trace ( match.index + ": " + match[0] );
}
}
Grant’s free RegExr tool is also helpful when you’re trying to gain a better understanding of regular expressions, but I found I had to dig in a little and understand some basics (again) before I could come back to it (you guessed it, Grant makes me feel like an idiot as well).
I’m also a fan of RegexBuddy, but alack my Windows days are long behind me and they haven’t stayed current with cross-platform coolness.
I’m just curious if flv / h.264 cuePoints / timed-text tracks, captions and other metadata will actually be picked up by the search engines now?
I’m guessing based on “the dance” here that we can’t expect any actual deep linking to automagically appear.
Right now we’re being spoon fed information. What I’m hoping to hear soon are the implementation details. SEO is effective because it can be exploited. People just relying on the search engines to “get it right” often aren’t all that happy–you’ve got to be on the first page. This means, like most things, the devil is in the details.
So you cats at Adobe can read this as the first wave was effective. I’m tuned in–alert and listening. Now feed me more.