Apple today announced a lot of new things – a sexy computer, a spreadsheet, and a new version of iMovie. A complete rewrite, according to the reality distortion field. It’s got this cool feature where you scrub the mouse across a video and it updates according to where it is. They also have a neat way to decompose things by scene very quickly. Watching the demo video got me thinking: how would I go about doing that? Really, it’s an impressive technical feat, dealing with all that data so immediately.
And here’s the thing: I don’t think I could do it. Not because of any inability on my own part, but because I don’t have the tools. I think there are exactly two companies today with the technical ability to pull off something like that: Apple and Microsoft. They each have:
– An OS
– A video stack
– A DRM system
– A whole suite of applications (roughly 1:1 corresondence)
– An application development stack
– An IDE (or five)
– The source code for all of the above
– The people who wrote all of the above
Any reasonable idea I can come up with for doing the kind of thing done by the new iMovie involves changing the video stack. And since I can’t change the video stack, since I don’t work for Apple, I’m out of luck.
Apple and Microsoft clearly have an advantage by controlling the entire software vertical, but I contend that it makes applications such as this downright impossible. Microsoft in particular has a long history of releasing one API and writing their own applications using another.
Where is there hope for innovative apps? There’s one more vertical set of code I haven’t mentioned: open source. It’s not easy, but the tools are there to do what needs to be done. The only way to do any kind extensive innovation on a desktop app is by basing it on open source technologies. Apple and Microsoft simply cannot be fought on their own turf.