There must be something really good about all the iApps Apple has provided us with… Especially the UI… Even though it doesn’t follow Apple’s own guidelines.
For the third time this month (and it’s only three weeks old…), someone approached me with a project loosely defined thus:
– I have this wonderful video/audio idea that no-one does
– I need a multi-track user friendly GUI for my idea. Don’t worry, the backend is all figured out
– Hey, why don’t you re-create a GUI like iMovie or something, that we can slap on top of this (which usually doesn’t exist, as of today)
– By the way, I need it for yesterday
– Oh, and we don’t have that much money to spend “simply” on user interface, so if it could be on the cheap side…
While I can understand that most people see us as wonderful magical beings, there are some serious limitations to this power over the machine. First and foremost, there is a limit to the quantity we can achieve during a solar day… After all, there are only 24h available, and writing code takes some time (usually around 10 words per minute, including debug ;) ). One can go around this problem by multiplying the developers… But after a while, two other problems arise : synchronization between the people (drops the production rate, due to explanations) and budget (more people = more money).
There is a reason why only big companies do that kind of software : they have the resources to spend time and money on huge long-term projects. I’m sure I heard someone in the back yelling “how about open-source?”. Well, you don’t know your classics well enough. Open source software solves problem #1 by multiplying the developers on a project, while solving problem #2 by paying no one. In theory, it works great, because many brains are better than one. However, the transition to pro-grade software isn’t that easy : devs work on a voluntary basis, which means that they don’t have to respect deadlines and fix bugs, even when asked nicely. And customers aren’t ready yet to relinquish their rights on their ideas, especially if they want to make money out of it, or expect a pro-grade support. Besides, it generally takes years to get a kitchen project to something 100% reliable for production needs.
The only counter-example I know of is Blender (by the way… kudos to everyone for the 2.43 release, it’s just awesome). But, to my mind there are several reasons for that:
– Blender was a commercial development at first. It was bought by a community based foundation, in july 2002. The initial effort had been done, although it diminishes in no way the work of the people who took responsibility afterwards to update and support it.
– Blender is very intelligently managed, Ton does a great job. He applies corporate management to this open source project, and the result is impeccable. But a headless community taking over such a project could not have pulled it off.
– In the 3d/post production world, studios generally have in-house developers. As such, tweaking or modifying code to pull Blender to pro-grade usability is both a habit, and already funded by the industry. Whenever studios use Maya, XSI or anything else, they have people who write the code. Publishing it afterwards in the Blender distribution is both logical, and useful.
Some of my fellow developers say that Apple should publish their UI widgets so that we can do applications that respect Apple’s aesthetics and go faster in development. I think that Apple won’t release it ever. It is part of what we pay for… Just like Adobe won’t release the UI code for Lightroom, AVID for their suite, etc… Apple won’t give up what they invested in. They managed to do it on top of their SDK, just like we have to. They have separate teams that (too often) rely on the exact same frameworks we do, and don’t benefit from “secret tips”.
As for my own projects, I think I’ll keep on saying that it’s a huge job, that it takes a lot of time, and costs way too much… until someone (me or someone else) publishes a usable framework to do “just like Apple”. And then wait roughly 2 days before Apple comes up with a new shiny UI that everyone will want to copy…