Flash, Silverlight, Objective C, HTML5. There is a crisis and a factions are forming – who’s going to win the ubiquity prize? If you are a Flash developer, are you a silverlight developer? what skills are common, what will go ‘extinct’ if you switch, or if HTML5 comes along and finishes off both delivery mechanisms?
It’s pretty damn confusing when you have to bet your skillset on the matter.
Speaking to a technical lead from Magmic at the Game Day conference this weekend, they see the sharp end of this problem every day – and take it in stride – mobile platforms reintroducing the browser/plugin/standards war and add into the mix issues with screen size, screen resolution, and processing power, as well as territoriality (i.e. no Flash on certain platforms). Their solution is on the industrial side – they learn to analyze, port, cross compile, refactor as needed, and automate as much of that process as possible.
I think more and more development tools will allow this as well. Flash IDE has had the FlashLite emulators for some time, and various versions of Flash could be considered different compilation targets. It was not a big stretch to see them implementing the iPhone target, and most likely they will have to continue this trend to stay relevant as a platform and an IDE.
The Flash Player was and is the promise of a good middleware layer that hid the hardware/OS/Browser incompatibilities from the developer, but now it is looking like the IDE will have to do this at compile time as well.
This is primarily due to Apple – not just their refusal to allow Flash in mobile Safari, but because of the success of the App Store model. In the mobile space, Flash and similar rich media players could really shine, but it is true that locating them within browser chrome in an already cramped screen does not do the platform or the developer justice. Adobe is already aware of this, and Air was the answer to a desktop ‘App’.
HTML5? It may just become another Compile target for Flash Platform IDE and Expression Studio and Eclipse. Microsoft had the right idea with Visual Studio and .net – write in your favorite language. The other end of this equation is: compile to your favorite target.
Put these two together and make it transparent to the developer and everyone benefits.
Interesting Article at Anthony Franco’s Blog on the pace of change in this space, and singles out Unity3D for taking the most pragmatic approach and showing what is possible – most likely since they have nothing to lose on hardware, app stores, or prior install base – and everything to gain.
We’re in a fragmentation cycle and as developers we have to rely on software architecture and UX skills more than ever, with the platform-dependent issues making these step even more critical to a successful outcome. What hurts everyone is closing a platform with legal means – it does no credit to your platform to refuse talented people from taking advantage of it without committing to your proprietary development tool chain and language; the time for that is never again, thanks!