February 4, 2010

Video codecs and HTML5

Want a really good reason why no one should be jumping on the HTML5 video bandwagon? Go read this CNET story about MPEG LA's move to extend the free web usage of the H.264 until 2015.

http://news.cnet.com/8301-30685_3-20000040-264.html

This is all playing out exactly as many online commentators, including myself, have predicted, except now the timing is official and about exactly right to screw over as many people as possible. The general expectation is that the world will be ready to fully consume HTML5 content in 4-5 years, right when MPEG LA will be in a position to change their minds about their "generosity" and start imposing license fees to use H.264 on the web.

As the CNET story mentions, Mozilla is already in a position where they'd have to pay $5million to add H.264 to Firefox and presumably Adobe paid up already in order to allow Flash Player to playback H.264 content (incidentally, this is one of the reason's Flash Player can't be entirely open sourced, it contains licensed codecs which Adobe has paid for and can't give away).

Unfortunately Ogg Theora still isn't up to the task of delivering top quality HD video so it's out. This leaves our only real hopes on what I first said when Google announced they intended to acquire ON2. I maintain that Google will put out whatever ON2's latest greatest codec is with a perpetually free to use license, build it into Chrome's video tag support and then encourage everyone else to do the same.

The video tag in HTML5 is useless unless every browser supports the same video codec. This is why Flash works right now. We can all publish FLV videos and know that every single Flash Player out there can playback that video to user's without any problems. 

Oh and one more thing I just thought of…maybe for some organizations video codec uniformity isn't a concern. If you upload videos to a hosting service like Youtube, then you can count on that service rendering all the different variations of your video and even determining how to deliver the right one to the user's browser. The real problem is for people hosting their own video or trying to build rich web experiences that incorporate video. Having to render and host multiple source video files and then browser detect to deliver the right one, the complexity of production is growing massively for web developers and content creators.

This is all a step backwards. In the last few years for the most part we've enjoyed fairly smooth cross-browser development (which the exception of IE6's continued but fading existence). We are now on the cusp of going back to the early days when browser makers felt it was cool to introduce their own tags as they pleased.

February 3, 2010

iPad is not a laptop or desktop replacement

This week's NOW has a story about the iPad that is both misleading and glosses over the dozens of issues that the iPad announcement has stirred up. I've already addressed most of these issues on this blog and over at fitc.ca so I'm going to focus mostly on the idea that the iPad could be a replacement for laptops or desktops.

The problem with seeing the iPad as a laptop, desktop or even netbook replacement is that it isn't and Apple has no intention of it being that. Even in the top models there is very little storage in today's terms. One of these would barely hold the music I bought last year let alone my entire collection. And what about movies or the dozens of apps you need to make this thing useful since the lack of Flash is forcing many rich internet application developers to rebuild their web apps as native apps.

The reality is, the iPad is almost useless without a full blown laptop or desktop computer to sync it to so you can use iTunes to move your media back and forth between the iPad and main computer. Not to mention that's the only way to back it up which is an incredibly important thing to do (these things do die, my iPhone 3GS just had it's camera bite the dust this week).

I'd also say it's hard to call the iPad a replacement for any computer given how incredibly closed it is. You can't do whatever you want with it. You can only do what Apple allows.

http://www.popsci.com/gadgets/article/2010-01/ipad%E2%80%99s-closed-system-sometimes-i-hate-being-right

A good example being the Apple mandated removal of USB file transfer from Stanza. As Apple decides to move into a market, in this case e-books, they have it within their power to cripple anyone that might interfere.

http://www.tuaw.com/2010/02/02/apple-forces-stanza-to-nix-usb-book-sharing/

It's also a bit soon still to say the netbook is done. With devices like Alienware's M11x – a full blown laptop with a high-end gpu you can turn on and off with a switch – coming out there is lots of room for this form factor to grow.

The iPad is definitely an interesting device and for certain tasks I think it will be great. But it is a VERY long way from being the ultimate portable computing device.

 

January 31, 2010

Growing tired of Apple

Warning: this is really just a long rant. Their may be useful points, but mostly I needed to vent as I'm sick and tired of Apple, Steve Jobs, open source fanboys and the ignorance they all show in their understanding of how the web as we know it today came to be and their short-sighted visions of how it will move forward in the future.

I was never an Apple fanboy. I've spent my whole life working on PC platforms. I acknowledge the flaws of Windows and I recognize the pieces of Mac OSX that make it a more appealing environment for many people. There is a simplicity about it that makes it easier to work in. The only Apple devices I own are an 80GB iPod, a 1st gen iPod Touch and an iPhone 3GS. The iPhone OS is pretty amazing. What it's done for mobile is incredible and I'm still waiting for some other hardware manufacturer and mobile OS developer to even come close to what Apple has achieved with the iPhone. 

 

The above is all context for the next point. I'm sick and tired of Apple, Steve Jobs and the legions of real fanboys who think Jobs is the leader of a new world online. The part I often find ironic is that many of Jobs' followers are open source fanatics too, going on about the ideals of the "open web" and fighting the evils of proprietary systems. Somehow they remain completely oblivious to the fact that Apple is the maintainer of all of the most closed off software and content delivery systems in existence. Every single thing about every one of their devices and software is highly controlled and regulated by Apple so as to maximize the amount of money flowing into their wallets. 

Clearly making money is the goal of most organizations, but it's more common today for companies to give something away in exchange for our loyalty and money. Google and Adobe are clearly leaders in this space. While Apple claims to be an advocate of an open web, Google is the company I see as being the most responsible in this space. They also have the most to gain from it. Adobe fills another space that Apple and Google do not. Flash Player is the ultimate platform for pushing the web forward. While we spend the next few years struggling with implementations of HTML 5 across browsers to get the same functionality we've had from Flash for years, Adobe will continue to push Flash forward into new spaces. 

What the announcement of the iPad has done for me this week is make it incredibly clear that Apple is looking to protect no one's interests but their own. I really want an iPad, it's the content consumption device I've been dreaming of. But given the arrogance the Apple and Jobs continue to spew forth I can't bring myself to give them one more cent. I'm still bitter that the iPhone OS SDK is Mac only. I know there are ways around this and other tools I can use for app development. Nevertheless, this alone has made me consider buying a Macbook. This past week has made up my mind though. There will be no Apple products appearing on my credit card any time soon. 

My next laptop is probably going to be the Alienware M11x, a full powered gaming machine crammed into the form factor of a netbook and sub $1000 pricing. It comes with the ability to switch the high-end GPU on/off so you can optionally have some serious video power or solid battery performance. I'll also be looking more closely at all the other tablets coming to market, particularly anything looking to compete in the eBook space. iPhone app development will be done with Flash CS5, Phonegap, or as straight-up web apps.

I am not looking forward to the next 4-5 years of web development. I think the writers of BSG who wrote, "all this has happened before and it will happen again" may have formerly worked as web developers. We are entering a new age of highly fragmented browser capabilities, new HTML/CSS capabilities with no solid set of authoring tools to help use them and countless painful hours trying to make things work for as many users as possible. 

Internet Explorer 6 was released in 2001. 9 years later, at least 30% of web users still use it. Take the rest of the current browser install base into account and almost no one but the most technologically savvy amongst us can see the HTML5 video players that Youtube and Vimeo have been going on about. As I wrote on my FITC post about this, I think HTML5 support of video, audio and numerous other things is great, but I think saying that we need to support these things now because Apple says so or else we can't put our stuff on their mobile devices is complete bullshit. Apple is now telling me that I have to more than double my development efforts because in order to best deliver a cross-browser experience, I need to continue to use Flash for many things but also mimic that Flash functionality for mobile Safari. 

I'm often one of the biggest advocates of pushing things forward so we can give our users more and I've maintained that not supporting IE6 has been ok for some time now, but there are limits to this. Wide spread use of even the current state of the art browsers is several years away. I'm guessing upgrades will be faster than they were with IE6 now that the web is much a part of everyone's lives, but I'd still give it 4 or 5 years at best before we can say that 90% of the web can view HTML5 content. Funny thing is that this still isn't even close to the 98% ubiquity that Flash already has nor close to the incredibly rapid update speeds that Flash has seen since making it auto-update.

The other thing I saw today that really irked me was a comment that stated basically that Apple's choice to not support Flash and to maintain focus on native apps was good for developers because native apps is where the money's at. Pardon me? Really? That's funny because I know hundreds of Flash developers and companies that are making much better livings doing Flash development. Many of them have dabbled in iPhone apps only to find they are lost in mix and no one downloads them unless they are free. The .99 cent thing on the App Store is one of the worst things to happen to software developers in years. This basically says, all your work is worth very little unless tens of thousands of people decide to buy your app. I can't put out a niche app that is useful to a smaller audience because they'll want it for .99 meaning, I don't get compensated for my time. I'm much better off finding a sponsor or company to work for so I can paid up front than to gamble on potential app sales. 

Every day I'm seeing hundreds of blog posts, tweets and tech stories that are really making me feel like the next few years are going to be dark days for web development.

Google, Adobe and everyone else – even the open source fanboys who I often hate on – interested in giving users, developers and content creators the broadest choice of options for doing what they do have my continued support. As for Apple and Jobs, you've fallen back in the tiny corner of disapproval where I'd previously held you for most of my life due to your incredibly over-priced hardware and lack of support from software developers.

 

 

January 20, 2010

The next 5 months

Busy times over the next five months. I've got the usual stuff like FITC Amsterdam from Feb 19-25th. This will be the third year in a row I'm headed over there. It's always a good time, full of inspiration, learning and hanging out with amazing people. Plus a yearly pilgrimage to a European city does wonders for the mind.

FITC Toronto 2010 is going to be huge. The theme is "playground" and there are many awesome things planned around the idea, not to mention I love the creative for the event. I think the 2010 presentation line-up is one of our best yet. Don't miss this. If you're thinking about coming to either FITC event, hit me up for a discount code.

Adding to the usual madness of the FITC schedule, I'm curating the content for the very first NXNEi as the fine folks behind the NXNE music festival aim to bring some of the magic of SXSW Interactive here to Toronto. This event will be taking place in June over two days before the music event. I am super excited about this one as it gives me a chance to dabble into some different topical areas that we might not explore at FITC. Ticket info and some presentation info should be available in the coming weeks.

As prep for NXNEi, we're headed down to SXSW from March 11-17th. If you are going to be there, look me up. I'm looking forward to this as well as it will be my first trip to SXSW.

Now if all of the above, plus all the amazing new stuff we are grinding away at NOW, I thought I'd take up teaching as well. Last Friday was my first day teaching an Introduction to Programming with Flash and Actionscript 3 at Centennial College as part of 1 year post-grad course. Over the past few years I've discovered that I love teaching. I've always almost completely gotten past my fear of public speaking, making teaching much easier! Right now I am totally loving the challenge of distilling the concepts of AS3 and programming in general down to their fundamental pieces and then figuring how to explain these things to people with no programming experience.

 

August 11, 2009

AS3 vs the world

Over the past few days there's been an ongoing discussion around AS3 and future of Flash. I'm not going to get much into what's been said here and instead point you to Flashden where they've compiled the major starting points in the conversation.

What I'm seeing in this discussion is surely something that Adobe is struggling hard with and to which I think Flash Catalyst is probably part of the answer. The success of Flash has been due to the huge user community it has developed. Initially it wasn't apparent that there were vastly different users in this group. AS1, AS2 and the Flash Players and IDE's that went along with them kept everyone on a fairly level playing field. As it become apparent that Flash could be something much more powerful, the hardcore developers in the group pushed for more and Adobe obliged, seeing the opportunities that RIA's presented for getting into the enterprise. We ended up with AS3 and Flex, a long way from the simplicity (arguable I know) of AS1 and putting things together on the timeline.

On the extreme to one side we have developers like Joa and Nicholas who spend as much time figuring out the inner workings of the Flash Player itself and how to make it better to suit their needs and on the other side you have the thousands of people using Flash to do nothing more than banner ads. Most people fall somewhere in the middle. They aren't submitting their own bug fixes for the Flash Player but they are doing some very sophisticated work with AS. We also have the tinkerers who build experiments and push the technology. 

Sadly it's in the tinkering group where the problem is most apparent. The numbers of people experimenting with Flash have declined greatly. Events like Iron Flash that we use to run at FITC aren't really possible any more. Creating something in AS3 is vastly more complicated than things were back in the timeline days. Only those keen on learning the ins and outs of a more sophisticated scripting language moved on to push the limits while others were left behind, unable to find the time or interest to become better programmers in order to pursue their creative interests with Flash.

The challenge Adobe faces now, is how to make AS and Flash more accessible again without taking away the power of raw AS3 and while still offering a decent transition path for people to grow as they become more comfortable with coding. We talked about this quite a bit last year at FITC's unconference session at MAX with Richard Galvan. There are a number of ways to solve this problem and it's challenging to decide which is best. They can provide more sophisticated tooling that will write the code behind the scenes as user's create with a GUI (see Flash Catalyst) or they can introduce a higher level scripting interface for AS3 that removes some of the complexity and strictness of the language. 

What I don't like seeing in this discussion is one side or the other saying it has to be their way or nothing. I really like it's possible for everyone to get what they want. Adobe need some time to get it all in there though. The community is large and responding to the needs of all those people is a daunting task I'm sure. Personally, I was happy to see that they've delayed the release of Flex 4 and Flash Builder 4 so that they could take more time to implement community feedback. This is clearly a better approach than putting out products that aren't quite right and don't meet the needs of the users.

I also suspect that internally the biggest challenge Adobe is facing right now is bringing their various technologies together. As mobile devices become more powerful it's now apparent that they are capable of running the full Flash Player on them and we won't need things like Flash Lite anymore. And AIR has a home on mobile as well, it seems like the logical way to allow Flash dev's to build apps that can leverage native device capabilities like GPS and multi-touch while leaving the Player to run web content in the browser. Bringing all these independent development streams together is surely a challenge. 

There's no doubt there are problems, but I've also got no doubt that Adobe will fix many of the issues that have been raised and will still manage to innovate and drive the industry forward in the process.