Now many of you are expecting this post to be about the lack of Flash on the iPad or about the future of HTML 5. While those issues are important, there are actually much larger issues facing the web development community. These issues are not necessarily negative, but they will change the way we all work.
My first real job in this industry was doing DHTML at AOL/Netscape. Now this was during the peak of browser-compatibility headaches. There was IE 5, Netscape 4.7 along with the new Netscape 6 (yes they skipped version 5 to catch up with IE) and Mozilla browsers. Adding to the madness was the AOL client application, which contained a modified version of IE 4. I credit this job for getting me interested in Flash. I was fed up of dealing with browsers and just wanted to create a single experience that would work everywhere. Well those days are quickly coming to an end, regardless of whether you use Flash or do HTML development. Below are some of reasons why things are shifting.
Mobile Flash is different than desktop Flash
You often hear people talking about the idea of developing once and deploying to every device. That sounds nice but it isn’t realistic. The real story is that you can create 80% of your application once, and then spend the remaining 20% of your time creating UIs that work well on the various devices. For instance, mobile devices obviously do not have as much horsepower as your quad-core tower. So once you get Flash Player 10.1 on your phone, don’t go to the FWA and expect those sites to run like they do on your desktop. Because of that you will need to do a lot of optimizations that you wouldn’t ordinarily worry about with desktop Flash. The UI of your application will also have to be optimized for smaller screens and will have to be touch-friendly, meaning not relying on things like roll over. Luckily Flash now has full support for multi-touch and gestures so you will be able to create some really innovative experiences. Adobe will also be disseminating some great resources about how you can best optimize content for mobile devices.
The app revolution
I always talk about how revolutionary I think the iPhone has been, but not necessarily because of the technology. After all, multi-touch has been around for a long time. But the concept of having apps for everything you do versus doing them in the browser is something that has caused a real shift in the way we interact with the web. Personally I love this approach for the iPhone, but I’m much less excited about that approach for the iPad. I buy apps for my iPhone like it’s a bodily function. I have never been convinced that having Flash on the iPhone would really cut into the app store business, although I think Apple strongly believes this. Browsing websites on a phone is never really a great experience unless sites have created mobile-optimized versions. But even then, they are usually a lackluster version of the full site with a subset of the content available. Android is also a very app-centric environment. So what does this mean for web developers? It means that in addition to your full website, you may be asked to create an iPhone application, an Android application, and a version for mobile browsers. This will be made slightly easier as tools like Flash CS5 will have the ability to export a single application for multiple devices.
Cutting edge browser plug-ins are here to stay
Over the past week I’m sure you’ve heard a lot of ridiculous statements about Flash being dead or that it will be replaced with HTML 5. That is pure nonsense to put it mildly. If those people actually read some of my earlier posts they would understand that I believe HTML 5 will eventually be able to fulfill certain roles on the web that Flash has traditionally been used for. But during the time it takes for that happen, Flash will continue innovating and pushing the envelope of what is possible on the web. Flash has always been the environment of choice for developers who want to create the experiences that will become the standards of the future. Open web standards are a great thing but they move at a very slow pace. The advantage of plug-ins is that they can rapidly add new features and innovate without the need for waiting for the browser manufacturers to get their act together. This is not just true for Flash, but also for other plug-ins like Unity3D and Silverlight. So there will always be a huge demand from companies for cutting-edge content as they attempt to differentiate themselves from their competitors. Just look at all the companies creating augmented reality applications now. This will create the need for some developers to create a cutting-edge experience site using Flash, a standards-based website using HTML 5 for devices like the iPad (assuming Apple doesn’t come to their senses), and standalone applications for devices like the iPhone and Android.
The explosion of web-connected devices
For me, the iPhone has literally transformed the way that I interact with the online world. I pay my bills, moderate my blog comments, track my workouts, and interact with social media from my phone now, rather than my laptop. Now of course I still need my laptop as well for countless things that aren’t appropriate for a mobile device. But in addition to that there will be a whole slew of other devices that will be coming like tablets, internet-connected TVs, set-top boxes, and gaming consoles. All of these devices will consume web content and may require using a host of different programming languages and graphics technologies.
If I had to give advice to young people who are thinking about getting into this field, I would warn them upfront that they will need to spend countless hours keeping up with all of the new technologies that will sprout up, seemingly overnight. To put it mildly, this is not a field for lazy people. The positive side of all of these changes is that none of us should have a problem finding jobs in the future, regardless of what technology you specialize in. Unless of course you do stupid things like posting screenshots of porn on your blog :). As the internet permeates itself onto every surface imaginable, there will be an increasing need for developers who understand this certifiably insane industry in which we all work. So no matter what role you play in building the internet, things are about to get more and more challenging.