Before we get into Dan's very interesting comments you will need to read and catch up on the previous articles. Click here to read a synopsis of the iDeveloper and CocoaCard concepts for Apple or click here for our iDeveloper and CocoaCard Contents Summary
Dan's very interesting email is included below in its entirety with Architosh annotations inserted in brackets:
As a longtime Mac programmer and author of a dozen Mac programming books ("Macintosh Programming Techniques", "Mac Programming For Dummies", and so forth), I'd like to chime in with my opinion on your iDeveloper idea. In short ... pretty good!
As a software engineer and programmer I can make a couple of comments that might be of interest. Bear with me, because it starts off sounding bad -- but it's not. First: programming is *very* complex. To write a good, solid, useful application takes a lot of effort and knowledge. It's a task usually (but not always) accomplished by several people. If one person does it, it's usually a couple of years worth of effort. Second: with a good visual programming environment, a non-programmer could really lay out the foundation for a good program. This is akin to what a WYSIWYG Web page tool is for people who don't know HTML (the HyperText Markup Language used to write the files that become Web pages). Much of the work in developing a killer app, or even simply a very useful utility, is on the programming end. But much of the work also comes in the form of coming up with a really powerful idea and then "roughing it in". That is, come with an idea, then give some kind of presentation that shows the idea is "doable." I think for this last part iDeveloper would be *extremely* beneficial.
[ Dan's comments are well taken. We received similar email from experienced programmers, not HyperCard users, who mistook our iDeveloper concept as a way for mere mortals to create the next "Photoshop-killer". As we said previously, this was not the intention with iDeveloper (it's not even possible) but we do further clarify that the type of effort involved in creating programs like MS Word versus a HypeCard application are greatly different. Both iDeveloper and the CocoaCard ideas were about "scripting-based" environments.]
|"If a person can get his or her idea into a form that other people (namely, developers) can look at and run, and say 'yes, this has great potential', then that person has done much of what's necessary to bring a new program to market." |
If tens of thousands of non-programmers are all taking a shot at developing a Mac program via a tool such as iDeveloper, it won't matter if the iDeveloper tool is capable of delivering a full-blown, ready-to-market application. If it can serve as a means for a non-programmer to get much of his or her idea implemented as a runnable program, then iDeveloper might just serve a very valuable purpose.
[Here's where Dan's ideas get very, very interesting...]
If a person can get his or her idea into a form that other people (namely, developers) can look at and run, and say "yes, this has great potential", then that person has done much of what's necessary to bring a new program to market.
[Dan's comments here describe a very interesting strategy for exploding the software market for the Mac platform. Yet how this might work, between two or more parties, is an interesting question which Dan helps answer below.]
|"What if iDeveloper generated a runnable program *and* generated a legal document that gave a copyright to the person who submitted the iDeveloper input." |
Creating a feature-packed, bug-free, useful Mac program is no easy task. A visual tool for non-programmers won't do all the work. Computers and operating systems are just too complex to make that possible. So, maybe iDeveloper could be a visual programming tool that serves to get a project started and get it into the format that makes for a good demo of what *could* happen.
[The initial idea for iDeveloper was to create a WYSIWYG-based Java (Cocoa) environment for developing simple but useful apps for Mac OS X, fully exploiting the Cocoa environment and the features of Mac OS X. Dan's ideas don't touch upon the specifics of iDeveloper, per se, but here is what Dan says...]
What if iDeveloper generated a runnable program *and* generated a legal document that gave a copyright to the person who submitted the iDeveloper input. If the person who created the iDeveloper Demo then freely distributed it to the Mac community (particularly the Mac programmer community), perhaps that person could then join forces with interested programmers.
[This is the really interesting part of Dan's email, the idea that the program generated a legal document safeguarding the original author's ideas or intellectual property and copyright. What is so good about this is how well it extends our ideas for iDeveloper and the new Apple iTools.
|"Basically iDeveloper School at Apple could be akin to Florence, Italy at the threshold of the Renaissance, where an enormous amount of energy and synergy coalesced to form an incredible and prolific new world." |
Basically, what we originally said was that iDeveloper would have a unique feature that no other RAD tool hadthat is, a corresponding iTool at Apple.com. Ideas such as QuickTime-based iDeveloper School and iDeveloper Chat and/or Forum all enabled newbie programmers (iDevelopers) to "really get into it" by participating in a wonderful online world at Apple.com that nurtured newbies in a way that made learning programming sustainable (ie, with a low attrition rate).
Basically, the "i" in iDeveloper sorta stands for "infant" programmer, meaning starting life as a programmer, as well as "i' as in "Internet" because you can go to school over the Internet via an Apple iTool area. Basically iDeveloper School at Apple could be akin to Florence, Italy at the threshold of the Renaissance, where an enormous amount of energy and synergy coalesced to form an incredible and prolific new world. The World of Mac OS X and the world of programming for it.
Continuing with Dan ...]
The person who provided the iDeveloper input that resulted in the iDeveloper Demo would have played his or her role. Now it would be up to programmers to go in and do the grunt work of fine-tuning the program, adding complex features that the iDeveloper tool couldn't support, look for bugs, and so forth.
[The idea that seasoned and professional programmers would do the tricky part of actually tuning the code, adding advanced features and fixing bugs was originally put forth as the job of a special 'iDeveloper Server' at Apple.com that was essentially an iTool made available for those using iDeveloper (the program) to create apps. Maybe this is too ambitious for even an advanced server application ... but I like to think that nothing is too ambitious for the wizards at Apple.]
Since the original iDeveloper Demo person holds the copyright, none of this work would take place (or could legally take place) until the original creator of the Demo got into some written agreement with the programmer (or programmers).
[This is the part is that is really interesting. The idea that iDeveloper protects the original program author while helping the program author to find suitable partners to do the program coding. Again, our version of an iDeveloper environment at Apple.com helps this by providing a 'guided online-community/school' where there is an understanding that this is the place where beginning programmers, technical Mac users and even seasoned programmers find developer shops and real pros to help do projects with.]
Of course this all makes things a little more complicated than your initial idea of simply letting anyone knock out a Mac program. Sorry about that, but the real world does tend to get in the way of things! While legal issues enter into this, I don't think it would be all that difficult to resolve.
[We don't think so either. In fact, such a program, iTool and online world would really enhance Apple's presence in the world. It reinforces the core qualities of Apple: namely the 'creative', 'visionary', 'empowerment', and 'self-reliance' that Apple has always stood for. In addition, it opens up Apple to the spirit of the 'open-source' world. Maybe this is how Apple embraces that movement, by translating the core qualities of the open-source movement into something that allows its many creative and talented users to be more empowered -- by venturing and solving problems collectively with other Mac users.
Let me reiterate what iDeveloper is. It's an idea for a visual-based software development environment for advanced and technical Mac users with no code experience beyond things like AppleScript, HTML, HypeCard, etc., that takes advantage of key Apple technologies (QuickTime, AppleScript, OpenGL, and even apps like FileMaker, AppleWorks, and iMovie) and the Mac OS X Cocoa environment to create simplified but useful applications for Mac OS X.
Our companion idea was CocoaCard, a scripting environment like HyperCard that has the ability to easily create custom solutions by integrating FileMaker and AppleWorks using key Apple technologies like AppleScript and QuickTime. Both of these ideas have gotten tremendous feedback from readers (to learn more click here.)
And we think such products would do much to bolster Apple's software situation which, to be fair, has improved but still suffers in vertical markets and business.]
And Dan's closing remarks are ...
As a Mac programmer I know that if someone presented me with a good idea for a program, along with a working demo and a code base from which to start, I could come to a fair agreement with that person as to how to share compensation for the resulting final program.
iDeveloper could be that tool!
Many Thanks to Dan for letting us publish his fine ideas and criticism - AFR
We first published articles on iDeveloper and CocoaCard a few weeks back but with this issue have taken a step to claim the legal trademark of both "iDeveloper (TM.)" and "CocoaCard (TM.)" as trademarks of The BritasMedia Company, the parent and publisher, and copyright holder of the Architosh.com web publication.
For more information about these and all of our trademarks and service marks, including licensed trademarks from other companies, please go to our legal page.