Opinion - CocoaCard : Apple's next great application and iTool!
This is the second part of the first opinion article on iDeveloper. If you haven't read that article read that now to catch up (hitting the back button to follow up here), as this is a refinement of those ideas, much improved and extended thanks to feedback from many readers.
iDeveloper - The idea continues
A number of readers wrote in to respond to the iDeveloper idea, many were excited by it, others quite disturbed by the notion. This article clarifies some issues not well dealt with in the previous article, greatly expands on some of the concepts, as well as shares what many readers had to say about the iDeveloper application concept. (to the original iDeveloper article) In addition, the notion of CocoaCard is an extension of the iDeveloper concept.
What readers had to say:
This last reader had a very good point, that a RAD effort now is a very good long term Apple strategy. The question is, what RAD effort? HyperCard 4? A 'Super' AppleScript? Java? What?
iDeveloper and CocoaCard: A Mac OS X Generation RAD Environment
iDeveloper is both a concept for an application and a new revolutionary iTool at Apple.com. Unlike iMovie, iDeveloper would get a lot of its power (at the application level and support) via a new iTool area for iDeveloper. Examples in the last article called for the program to interface with special Mac OS X iDeveloper servers that would analyze iDeveloper Cocoa code for bugs, errors and improvements, as well as for updating the iDeveloper application with new API's, tools and other items. Support too would be online via a QuickTime-based iDeveloper School, iDeveloper Tutorials and iDeveloper Chat/Forum where new iDevelopers could find partners and collaborators. iDeveloper could embody the spirit of the "open-source' movement reinvigorating Apple.com further even beyond the intentions of the latest iTools and web features.
CocoaCard: What is it?
Many readers wrote in to point out that there are already a number of excellent 'easy-to-learn' scripting-based development environments for the Mac OS platform. Yes that is true. HyperCard, SuperCard, MetaCard, and FaceSpan are just a few of the leaders in this category for the Mac OS platform. Unfortunately, none of them are Cocoa-based. And none of them leverage all of Apple's key technologies.
Introducing CocoaCard. Unlike iDeveloper, which might be targeted at experienced scripters, Web authors, FileMaker developers and technical professionals, CocoaCard may represent the new HyperCard for Mac OS X, targeting the consumer and the education market looking for custom solutions created in a phenomenally easy-to-learn visual environment. CocoaCard users would also be a type of iDeveloper and could have their own environment and iTools at Apple.com. Third party developers could create their own CocoaCard compatible scripting environments that extend CocoaCard's native features within a stacked card-based metaphor program. SuperCard and MetaCard are two possible programs in this category.
The key thing is, CocoaCard should ideally ship free with every iMac, iBook and educational Macintosh computer. Unlike HyperCard -- which seems to be in some type of permanent holding pattern -- CocoaCard would be built from the ground up (possibly in iDeveloper, but for sure in the Cocoa environment) and take full advantage of Mac OS X's modern features.
In the above fictional app CocoaCard created an application that can run anywhere and that pulled together elements of FileMaker Pro, AppleWorks and QuickTime into one app, using technologies from each application. And because all of those key applications are cross-platform, it didn't matter if Mrs. Jennings' students were on Macs or PC's.
iDeveloper - A Refined Idea
iDeveloper started (see earlier article) as a concept for an Apple application that made programming for the Cocoa development incredibly easy. iDeveloper is NOT another 'easy-to-learn' scripting environment but rather a WYSIWYG type environment for Cocoa development. There is no exact model for this application because a key component of iDeveloper would be its integration and extension via Apple's new Web tools -- possibly a new type of iTool.
The point is: to teach Cocoa (Java) development by first taking the coding away while still providing full access to the code. This can be an excellent way to teach coding for 'impatient dreamers' who want to see results first and concentrate on learning the full power of the language later. This is exactly what WYSIWYG HTML editors have done for webpage authoring and it's a viable model. Both Dreamweaver and GoLive have become excellent vehicles for teaching HTML coding to many 'impatient dreamers', myself included. This is an acceptable position, it's not like we are learning the Force under Yoda -- knowone is going to turn to the Dark Side because they are too impatient to start with the Java code.
The application can help teach Java programming along the way, in the manner in which we learn the cause and effect of HTML in Dreamweaver's round-trip HTML feature. Dreamweaver's QuickTag Editor is also another good example of modifying the parameters of an object while in the visual environment. The other idea is to provide comprehensive support via new iTools for iDevelopers (see above) at Apple.com
Some may say that Symantec's Visual Cafe for Java for Macintosh is already iDeveloper. In some ways it is, but it doesn't have the iTools ability, the community aspects of Apple.com -- which helps in the support area, nor does it do all the same things. iDeveloper, like CocoaCard, wants to provide a flexible environment for leveraging and utilizing Apple's other key technologies and applications, like AppleScript, AppleWorks 6, FileMaker Pro, QuickTime, OpenGL and WebObjects. Also, Symantec's Visual Cafe for Java Mac is one release behind the Windows version. Apple users and developers deserve a superior Java Cocoa development tool. iDeveloper is a vision to bring that tool down to the level of the advanced Mac user, while CocoaCard is a tool to bring a subset of those development features down to the consumer and education market.
iDeveloper's Target Audience
iDeveloper is for the very savvy Mac user who has 'great ideas' for vertical market applications but can't code in C or Java or whatever (just quite yet) but are looking for a reasonable way in -- a really elegant and simple way in. Apple has that ability. For the Java newbie, the aspiring beginning Mac OS X programmer and for scripting/language-based "Mac creatives" (and isn't every Mac using Web developer one of those?) iDeveloper would be their golden ticket into unleashing their creative side into programming for Mac OS X. It would also be for the AppleScript, HyperCard and FileMaker Pro user who wishes to bring these applications together in creative ways to solve "vertical market" application deficiencies on the Mac OS platform -- and there are many of those.
Doctors, scientists, architects, engineers, teachers, researchers and other technically trained professionals would be perfect early adopters of a program like iDeveloper, enabling them to create solutions for their disciplines that don't yet exist on the Macintosh platform. This group would most likely become its most advanced users, especially since they already use and have created solutions in FileMaker Pro, AppleScript and HyperCard. Some of them may become professional software developers and go on to start vertical market companies -- Mac software companies.
iDeveloper can be the bridge to an advanced world where FileMaker, AppleScript, AppleWorks, HyperCard and other scripting environments pull together various media (QuickTime, OpenGL 3D media) and data into rich custom built applications fully ready for all the advantages of Mac OS X.
Does this sound interesting to you? Have you always wanted to learn how to program for the Mac but can't seem to find a way in? Do you want to learn Java and think that Apple, more than any other company, can make it accessible?
Write in with your thoughts at [email protected]
Cocoa and the Java Connection
Cocoa is Apple's third development environment for Mac OS X and the one used for Mac OS X's built-in E-mail client application. Cocoa is also the environment Apple wants developers to go with Mac OS X development for new applications, as it is designed to speed development up substantially, allowing developers to write more Mac OS X native applications in a shorter period of time.
Apple says Cocoa is a set of frameworks for developing applications. These frameworks are available in Java for developers who use Java as their primary development language. This makes Cocoa interesting because Java is not the primary language of most Mac OS developers.
The Cocoa environment was once called the Yellow Box development environment and was for development of applications that could be written once and deployed on both Macintosh and Windows without any further code modifications. Apple has an old tutorial for developing Java apps (references to Yellow Box).
Other Applications mentioned in this article
HyperCard 2.4.1 Apple has a HyperCard page with lots of links for more information. A link to the Apple Store says it is available for purchase and it is listed in the Additional Titles section below the featured applications. You can purchase it for $99.00
MetaCard 2.2 MetaCard is a hypermedia/RAD (rapid application development environment) for Mac OS, UNIX,X11 workstations, and Windows that is compatible with HyperCard and SuperCard. It supports color controls and images, tabbed-dialogs, pulldown menus and popup menus, scroll bars, combo boxes and all forms as well as a high performance MetaTalk scripting language. MetaCard is not cheap. A single license is $995. Multi-user licenses for five users are $3,600. It is currently not Mac OS 9 ready but will run under OS 8.5 Benefits of MetaCard include its simple English-like scripting language that allows even middle school age children to learn programming regardless of their mathematical background.
To see what MetaCard looks like click here
SuperCard 3.6.1 SuperCard is a full featured multimedia authoring system (similar to HyperCard and MetaCard) that allows you to create stand-alone applications. You can create commercial software and program prototypes. Like MetaCard it uses a plain-English scripting language. SuperCard is far cheaper than MetaCard, at just $144.95, a little more than Apple's HyperCard.
UserLand Frontier 6.1 The leading scripting and web content management system for the Macintosh. Full verb set, native performance on Power Macs. Object database, Multi-threaded. Object oriented websites, CGI scripting platform, much much more!
Visual Cafe for Java 3.0 This application is probably the closest thing to an iDeveloper-like application being that it is a Java development tool that provides WYSIWYG environment with real-time code feedback. The website for this product has not be updated in quite a long time. Symantec's Java development tools just moved forward with version 4 of Visual Cafe but this version is not for the Macintosh but rather Windows 95/98/NT. This is too bad, as this tool has become an industry heavy weight.