|
When you open Comic Life, you immediately notice a collection of predrawn comic-book page templates, a blank page, and (you ask yourself: how did that get there?) a scrolling panel containing all your iPhoto photographs. Drag a template onto the blank page, drag a photo onto one of the pages comic-book panels, drag a comic-book speech balloon somewhere and type something funny in it—suddenly, almost against your will, youre creating the comic book that you could only dream of when you were a kid. In short, Comic Life is the kind of application that developers dream of creating: fun to use, effortless to learn, ideally suited to its purpose—the kind of application that makes its users feel slightly larger-than-life when theyre using it. How can this be? A polished, media-rich application of surprising depth and elegance—from the hands of one programmer and four other contributors scattered around the globe? Isnt that kind of thing supposed to be impossible these days? Fortunately, such things are still possible for creative people with a strong vision—and the foresight to choose a computer platform that encourages their creativity, instead of burdening them with countless implementation details. Xcode and Cocoa: Fabulous Productivity EnhancersWhen asked what aspects of the Apple platform gave him an advantage over working on other platforms, Robert has a quick answer. He says, The technologies that made the most difference for me are Xcode, Cocoa—and Interface Builder, with its rapid development environment. Without these, I would be twiddling my thumbs, wishing I had something like them to help me build new products. I think all three of these are fabulous productivity enhancers. Grant adds that his excitement for developing with Xcode goes all the way back to the original NeXT development environment, which he read about but never got to use. Even the overhead of learning Objective C (which, he says, didnt present any long-term problems) didnt prevent him from adopting the Apple development platform as soon as it came out. In fact, now Robert praises the fact that Apple has provided Objective C interfaces to its major technologies. Powerful Graphics for EverybodyIt was only uncertainty about the release date of Mac OS X v10.4 Tiger that prevented plasq from releasing photo filters, a photo-transformation feature based on Tigers Core Image, as part of Comic Life 1.0. The inclusion of photo filters in Comic Life 1.1, which appeared about a month after the first version, only increased the already-high levels of affection and acclaim that users had for the product. Photo filters enable users to non-destructively modify listing images using one or more of the 16 supplied filters (which can also be applied in groupings called styles). This feature depends on Core Image, powerful image-processing technology that is automatically available to any developer of Tiger-based software. Among the many powerful features of Core Image is its image-processing API, which developers can use without having to worry about which graphics hardware may or may not be available on the users Macintosh. In so doing, Core Image gives all developers—not just the ones who have specialized expertise in computer graphics—the resources necessary for the development of sophisticated real-time image-processing solutions. Apple Technologies Liberate User CreativityCore Image isnt the only Apple technology that helps make Comic Life a success. Robert points out the role of the QuickTime API in many image-related tasks—for example, in adding iSight support to Comic Life 1.1. With this feature, users can take pictures with the iSight camera without even having to leave the Comic Life application. This feature (as well as the photo-filter feature) adds extremely compelling elements of play and immediacy to Comic Life, multiplying the number of creative directions that users immediately perceive and deepening their attachment to the product. Grant also praises Quartz, which makes everything look so nice, and the .Mac SDK, which made it very easy for him to add the ability to publish comics from Comic Life to the users .Mac account. The API made a lot of sense, he explains, and was very clean and tidy. plasq also sells several audio products, and Robert praises the value of Core Audio, which he says is like Core Image in that it makes entirely new kinds of products possible. Core Audio, he says, is another place where Apple has provided a solid foundation that developers can build on top of. On the Core Audio side, Apple has been very collaborative with developers—people would suggest improvements, and the Apple engineers were very open to incorporating some of them into the Core Audio standard. Solid Support for Transition to IntelRobert cites another example of how Apple is taking good care of developers: the transition to universal binaries to support both PowerPC and Intel-based Macs. When Apple CEO Steve Jobs announced the transition to Intel-based Macintoshes at the 2005 WWDC, Robert said he felt a stunned silence from developers who instinctively feared such a radical change. That night, he recompiled Comic Life as a universal binary in under 15 minutes, with the delay being entirely due to some e-commerce code for which source code was not available. The next morning, Grant went to the WWDC lab and got access to an Intel-based test Mac and found that the Intel version of Comic Life ran perfectly the first time. Apple has done just an amazing job of making sure that we developers have what we need to prepare for the day when there are Intel-based Macs out there, says Grant. That was very reassuring; most of the developers I talked to came away from WWDC a lot happier than they were when Steve made the announcement. Apple Technologies Deliver Features QuicklyThe value of Core Image is not limited to how it reduces the amount of knowledge you must have before you can be creative (in this case, with graphics). In addition, Core Image (as well as numerous other Apple technologies) reduces the amount of time you must spend before you can use the technology creatively. This point is made abundantly clear by Roberts estimates of how much time was required to implement certain features. For example, he says he added the photo-filter functionality to Comic Life in less than two days. Similarly, adding the .Mac-related features was a couple of days work, as was adding the iSight photo-capturing feature. For Robert, much of his excitement about developing for the Apple platform comes from having access to so many technologies that greatly reduce both the knowledge and the time needed to start doing creative things with them. Grant explains, When Im thinking about building a new application, I just want to take this cool technology, and this one here, and this one here, and put them together to do something kind of fun. Im not the kind of programmer who spends all his time researching and implementing a fundamental technology. For me—and, I think, for a lot of application programmers—I just want to say, Hey, Ive got this cool idea, and just make it happen. Benefiting from the Apple EcosystemIn addition to the factors already cited for Roberts enthusiasm (and Comic Lifes success), one more must be added: the ecosystem of applications, services, and devices that are also a fundamental part of the Apple platform. Weve already mentioned Comic Lifes creative use of .Mac (a service) and iSight (a device). Any analysis of this applications success would be incomplete without describing its ties to the iPhoto application. Along with the other iLife applications, iPhoto is an integral part of the Macintosh experience. Consider how many Mac users take digital photos, and then use iPhoto to organize them—this means that a users photos are almost certainly available to any Mac OS X application that could benefit from accessing them. Comic Life makes excellent use of this resource by making the users photo collection appear to be part of the application itself. This feature, though seemingly simple, is integral to users perception that Comic Life makes them more creative; take it away, and the user is one step further removed from focusing on the fun parts of using the application. According to Robert, iPhoto maintains an XML file that lists the locations of all the users photos and their corresponding thumbnail images. Because of iPhoto, Robert didnt have to find all the photos or create thumbnails of them. This meant he was able to concentrate on displaying the thumbnails and adding the ability to add an image to a comic page simply by dragging its thumbnail to the desired location. Users who have iPhoto 5 have access to another delightful feature of Comic Life: the ability to export the current comic as an iPhoto album. From there, users can then use iPhoto to turn the album into a book, a slideshow, printed photographs, and desktop images. You could argue that, in this way, Comic Life is increasing its intrinsic value to its users by allying itself to iPhoto. Robert was able to add this feature to Comic Life because of two infrastructure features that Apple has already implemented and made available to users and developers: namely, the AppleScript scripting language, and built-in scripting access to certain iPhoto 5 features. These iPhoto-related enhancements to Comic Life are two more examples of how the Apple platform, in doing infrastructure work for developers, enables them to spend less time on their applications plumbing and more time being creative as a developer. Why Apple Makes Sense for plasqRobert is very articulate about the advantages he gets from developing for the Apple platform. He says, We come back to this core idea, that nothing gets started for me without Xcode, Cocoa, and Interface Builder. Then I bring in cool technologies like Core Image, Core Audio, QuickTime, and so on. This gives me a fabulous development environment that I can use to rapidly and flexibly manipulate powerful technologies. Because Ive got Core Image, because Ive got QuickTime and Quartz, because Ive got video available, suddenly multimedia applications are springing to mind. And thats where a lot of your killer apps are these days, helping people deal with all their various digital media. And its not just about getting the job done. This combination of usability and look-and-feel is so important these days. You cant be just a back-room programmer banging out code and applications that get the job done; not in any delightful way. People want applications that are enjoyable and fun to use, that make them say This is so much fun—I want to keep using this! For more information about Comic Life and plasq, see plasq.com |