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:
Anthony:
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.