TweetFollow Us on Twitter

Software 94
Volume Number:10
Issue Number:5
Column Tag:The Editor's Page

Software Frameworks ‘94

By Scott T Boyd, Editor

Software Frameworks ‘94

A quick trip to Atlanta to check out the Software Frameworks Conference the first week in March yielded a handful of surprises. The group, which got its start many years ago with Larry Tesler handing out fuschia polo shirts to a modest group of MacApp afficionados, has grown, as have the number of frameworks and tools. The conference drew a strong contingent of industry leaders, including Ike Nassi, VP of Apple’s Development Products Group; Larry Tesler, Apple’s Chief Scientist and VP; Greg Galanos, Metrowerks man-about-town; Mike Potel, Taligent VP of Technology; Symantec’s Director of Language Products, David Neal; Novell’s VP of Appware System Group Joe Firmage. Lots of great tools and technologies had top talent there showing their wares, and we had a great time getting up close and personal guided tours from the people who build the tools. We spent time getting to know Smalltalk Agents (a truly great session, guys! I’ve never seen so much rapt attention), Jasik’s latest PowerPC debugging tools, Metrowerks’ CodeWarrior, Prograph CPX, the Newton Tool Kit/NewtonScript, and AppMaker. Technology teasers abounded. We got teased by Taligent about their framework, by Apple about Dylan and OpenDoc, by Microsoft/Symantec and others about the Microsoft Foundation Classes framework, and by Larry Tesler and his vision of the future. The rich selection of topics and products made up for the quick cross-country trip and utter loss of sleep and resulting loss of orientation.

We arrived just in time for the OLE/OpenDoc face-off. Apple brought Kurt Piersol, OpenDoc chief architect and suspender-wearing, beard-toting man-with-the-answers. Microsoft had hoped to bring their OLE heavyweight, Mark Ryland, but had to make a last minute replacement for unavoidable reasons.

We had hoped for a real world-class bout, but weren’t going to get one. We were treated to a fine presentation on OpenDoc, but the OLEpresentation really needed better technical representation than MSwas able to muster. We learned that OpenDoc offers multiple active parts, irregular and overlapping parts, support for high-end graphics, edit-in-place, distributed editors, linking, scripting, and even multiple-drafts (a revision management system). The object model uses a carefully restricted subset of C++ which offers multiple inheritance. It uses a CORBA-compliant SOM (IBM-developed) object model. Although OpenDoc is currently using Apple’s Shared Library Manager (ASLM), Kurt spoke highly of the work IBM has done with SOM, and is looking forward to the developer seed of PoenDoc, which will use SOM.

He was careful to point out that OpenDoc isn’t a framework, but, rather, an object oriented programming interface. It offers you the opportunity to build parts which will link dynamically into a document-oriented environment. This changes a lot about the model, both in the user’s mind and in how you can do business. Rather than build a whole application, you can concentrate on the data, both in how to display it and how to interact with it. If users like your parts, they’ll use yours. Although the motto “Parts is parts” sounds simple, it looks like a potential brave new world if OpenDoc really catches on.

As for OLE, all that I can say is that it’s shipping.

CodeWarrior experiences

I’ve been doing some work with a project which has 50 .c files, 55 .h files, totalling out to about 39,000 lines of code. I was wanting to play around with CodeWarrior, was at the conference, happened to be talking to Greg Dow (who just happens to work for Metrowerks), and there we were with nothing better to do at one in the morning. Five hours later, this application was building and running with CodeWarrior. Five hours - not bad.

Now, sure, it’s true that the code was buildable under both ThinkC 5.x and MPW 3.2, so the code was already in pretty good shape from a portability standpoint. That certainly helped make the task easier. Although Convert•Projects by Rich Siegel could have saved us some work, I wanted to get a feel for how someone like Greg works in the environment. So what did we do during those five early-morning hours?

First, we launched CodeWarrior by dropping one of my source files on the application. Unlike the Think product, CodeWarrior is happy to open a text file without requiring that you have a project open. What a relief! It’s such a small point, but it makes me wonder why Symantec hasn’t done this by now. Anyway, we created a project file and added all of the source files in the directory. If you haven’t seen what it’s like to be in the CodeWarrior environment, it looks a lot like Think Project Manager.

Next we went to the Preferences dialog, and selected a few things, like how strict we wanted the compiler to be about types, prototypes, language extensions, and such. We chose mostly plain vanilla options. We also told it that we were building an application, and set things like the creator, size flags, and the default heap size.

A few things caught my attention. First, CodeWarrior can generate .SYM files. This opens it up for your favorite debugging tools, like Jasik’s The Debugger, as well as Metrowerks’ own debugger. This stands in stark contrast to Symantec’s decision to not generate .SYM files, although the Power Mac cross compiler shipping this month does generate .SYM files.

Second, they have a popup menu with a healthy selection of standard code models. This makes it easy to specify something like Apple’s MPW C conventions without needing to remember all of the details which make it unique. We started out with very relaxed constraints, then tightened them up later in the effort.

“Third, although the similarities between Think and Metrowerks help a newbie navigate, I had to wonder whether a series of dialogs (looking like a modal throwback to the old Control Panel) is the best way to deal with preferences.”

Once we had all of that set up, we tried compiling the first file. Right away we discovered that we needed to think a little bit. Since the sources were set up to compile under either MPW or Think (an historical artifact which reminded us that people like Symantec’s quick turnaround tools and MPW’s code generation), each source file used an #ifdef to decide whether to use precompiled headers for THINKC, or to #include an all-inclusive .h file. At first we tried not defining the THINKC symbol, but the includes were so extensive that build time, even as fast as CodeWarrior is, was too long. So we went and built a precompiled header file (a simple, one step menu command), and added a #define for THINKC.

This is where we spent too much time. It was early in the morning, we were tired, and we got confused. At first, we built the precompiled headers without THINKC defined. Then we figured that out, and built them correctly. Then we forgot that we still had to have the symbol defined when we built the rest of the files. I don’t know how much time we wasted on that one, but the bottom line was, because of the way the files had originally been set up for building in either environment, we had to define the symbol both when building the headers and when compiling the sources.

Universal Procedure Pointers (UPPs) - It’s only fitting that I had to deal with UPPs and the universal headers, given that I spent so much time at Apple working on them. What goes around does seem to come around. Fortunately, we somehow managed to keep the impact to a minimum, and I only had to make a handful of changes, and it was no big deal to guess the UPP name for a specific procPtr (although I did have to open a couple of header files for names I guessed wrong).

All in all, we had a lot of fun, and it only took a little while to get up and going, and most of that was simply updating my code for the universal headers, a job I had to do anyway. I’m now enjoying fast build times and a smooth debugging environment, and am looking forward the forthcoming CodeWarrior improvements.

Software Developers conference

The third week in March found us in San Jose for the Software Developers Conference. Strangely enough, it started on the day of the Power Macintosh rollout. That wouldn’t really be noteworthy, but one particular sponsor of the conference saw fit to hang banners in the entryway, proudly sporting the following text: “The Power of Pentium, Available Today”. You don’t say?

That should have been enough of a tip-off, but we checked out the rest of the conference anyway. Evidently, software developer generally means “person who programs a box running a Microsoft operating system”. Sure, there were exceptions. Apple, Metrowerks, Symantec, and others did their part, but it was still clearly a conference mostly for little-endians. It was also clear that they have a rich selection of tools, many of which offer much more advanced visual features.

Symantec likes the number 7.0

Speaking of visual tools, Symantec announced their new C++, which includes a graphical interface builder. I saw a version of this a few months back, and complained about too much modality, and I was pleasantly surprised to see that they put some effort into making it dynamic and modeless. They’ve made a lot of improvements, and it’s worth checking out. We’ll try to bring you a review soon.

I suppose I’ve seen cornier things, but the Symantec gala party/product announcement at the conference made me wonder. At least it had Windows developers asking, “Is that for Macintosh?” and looking a bit downcast when I said “Yes”.

For more info:

OpenDoc and Component Integration Laboratories (CIL), send a note to info@cil.org.

Microsoft, MFC (Microsoft Foundation Classes), and the Developer Services Team (not a technical support group), call 1-800-227-4679x11771

Smalltalk Agents and their smalltalk discussion group, drop a note to buell@qks.com and ask to be added to the reflector.

CodeWarrior by Metrowerks, see the Mail Order Store at the back of the magazine, or call us at 310/575-4343. Metrowerks people have an active presence on the Internet, CompuServe, and other online services.

Food for thought

Seen in the San Jose Mercury News: “Pentium PCI System, Ultra High Performance System $2699. Intel 60MHz Pentium, PCI IDE HD, Intel PCI Mercury Chip Set, 512K cache, 16MB, MAXTOR 540MB 8.5ms IDE” Right next to it, on the same page, “Apple Power Macintosh 6100/60 8MB/160HD $1595, 7100/66 8MB/250HD $2699”.

 
AAPL
$445.15
Apple Inc.
+3.01
MSFT
$34.27
Microsoft Corpora
+0.12
GOOG
$873.32
Google Inc.
-9.47

MacTech Search:
Community Search:

Software Updates via MacUpdate

Evernote 5.1.1 - Create searchable notes...
Evernote allows you to easily capture information in any environment using whatever device or platform you find most convenient, and makes this information accessible and searchable at anytime, from... Read more
SketchUp 13.0.3688 - Create 3D design co...
SketchUp is an easy-to-learn 3D modeling program that enables you to explore the world in 3D. With just a few simple tools, you can create 3D models of houses, sheds, decks, home additions,... Read more
Flavours 1.0.8 - Create and apply themes...
Flavours allows users to create, apply, and share beautifully designed themes. Classy - Give your Mac a gorgeous new look by applying delicious themes! Easy - Unleash your creativity and make your... Read more
GarageSale 6.6b10 - Create outstanding e...
GarageSale is a slick, full-featured client application for the eBay online auction system. Create and manage your auctions with ease With GarageSale, you can create, edit, track, and manage... Read more
Twitter 2.2.1 - Official Twitter client...
Twitter (was Tweetie) is a Twitter client with a variety of features. Important Note: As of January 2011, AteBit's Tweetie application has been acquired and renamed by Twitter. Version 1.2.8 of the... Read more
SteerMouse 4.1.6 - Powerful third-party...
SteerMouse is an advanced driver for USB and Bluetooth mice. It also supports Apple Mighty Mouse very well. SteerMouse can assign various functions to buttons that Apple's software does not allow,... Read more
Google Chrome 27.0.1453.93 - Modern and...
Google Chrome is a Web browser by Google, created to be a modern platform for Web pages and applications. It utilizes very fast loading of Web pages and has a V8 engine, which is a custom built... Read more
Labels & Addresses 1.6.5 - Powerful...
Labels & Addresses is a home and office tool for printing all sorts of labels, envelopes, inventory labels, and price tags. Merge-printing capability makes the program a great tool for holiday... Read more
Delicious Library 3.0.2 - Import, browse...
Delicious Library allows you to import, browse, and share all your books, movies, music, and video games with Delicious Library. Run your very own library from your home or office using our... Read more
KeyCue 6.5 - Displays all menu shortcut...
KeyCue helps you to use your OS X applications more effectively. Just hold down the Command key for a while - KeyCue comes to help and shows a table of all currently available keyboard shortcuts.... Read more

This Week at 148Apps: May 20-24, 2013
We Are Your App Review Source   | Read more »
Rhapsody Plays A New Visual Tune In The...
Rhapsody Plays A New Visual Tune In The Latest Update Posted by Andrew Stevens on May 24th, 2013 [ permalink ] iPad Only App - Designed for the iPad | Read more »
Bondsy Lets Friends Trade Their Stuff Pr...
Bondsy Lets Friends Trade Their Stuff Privately Posted by Andrew Stevens on May 24th, 2013 [ permalink ] iPhone App - Designed for the iPhone, compatible with the iPad | Read more »
Wander Wheel Hands You An Itinerary, Tel...
Wander Wheel Hands You An Itinerary, Tells You To Be Spontaneous Posted by Andrew Stevens on May 24th, 2013 [ permalink ] | Read more »
Flick Transfers Files To Other Devices W...
Flick Transfers Files To Other Devices With A Simple Flick Of Your Finger Posted by Andrew Stevens on May 24th, 2013 [ permalink ] | Read more »
Guitar! by Smule Strums Onto The App Sto...
Guitar! by Smule Strums Onto The App Store Posted by Andrew Stevens on May 24th, 2013 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Redline Rush – Avoid The Toll Booth On T...
Redline Rush – Avoid The Toll Booth On This Now Free Endless Racer Posted by Andrew Stevens on May 24th, 2013 [ permalink ] | Read more »
Kite Surfer Review
Kite Surfer Review By Rob Rich on May 24th, 2013 Our Rating: :: MAKE SOME WAVESUniversal App - Designed for iPhone and iPad Kite Surfer looks good and controls great, although it’s also a little light on content.   | Read more »
Spottlife Review
Spottlife Review By Lee Hamlet on May 24th, 2013 Our Rating: :: CATEGORIZE YOUR SOCIAL LIFEiPhone App - Designed for the iPhone, compatible with the iPad Spottlife is a new way to view and interact with the world’s most popular... | Read more »
Plasma Pig Review
Plasma Pig Review By Jordan Minor on May 24th, 2013 Our Rating: :: THAT'LL DO, PIGUniversal App - Designed for iPhone and iPad This porky pig needs a light touch.   | Read more »

Price Scanner via MacPrices.net

Memorial Day Weekend MacBook Pro sales, up to $200...
 Save up to $200 on a 15-inch MacBook Pro this Holiday weekend at these resellers: (1) B&H Photo has 15″ MacBook Pros on sale for up to $200 off MSRP including free shipping. B&H will also... Read more
Apple drops prices on refurbished iPads and iPad m...
 Apple today dropped prices on Apple Certified Refurbished iPad 4s and iPad minis with some models now available for up to $140 off the cost of new models. Apple’s one-year warranty is included with... Read more
Should You Upgrade To OS X 10.8 Mountain Lion This...
If you haven’t upgraded to OS X 10.8 Mountain Lion by now, there’s probably a case to be made for just holding out with whatever earlier version you’re using until we see what Apple brings forth with... Read more
Apple Tops Gartner Supply Chain Top 25 Rankings Fo...
Gartner, Inc. has released the findings from its ninth annual Supply Chain Top 25. The goal of the Supply Chain Top 25 research initiative is to raise awareness of the supply chain discipline and how... Read more
7-inch Tablets: What User Experience Benchmarks Sh...
A new Tablet User Experience Research survey by Pfeiffer Consulting indicates that user experience with tablets and smartphones is one of the most important aspects of the overall perceived value of... Read more
PayPal Global Study Spells Doom for the Wallet – C...
PayPal has revealed the findings of a global study that paints a dim future for the wallet. A vast majority (83%) of respondents across five countries indicated they wished they didnt have to carry a... Read more
How to Set Up Your Mac to Allow AirPrinting From i...
mac.tutsplus.com’s Jordan Merrick says: AirPrint is a great feature of iOS that provides a simple way of printing documents from your iPhone or iPad directly to an AirPrint-compatible printer with no... Read more
Price drop on refurbished 15″ 2.3GHz MacBook Pro,...
 The Apple Store has lowered their price on Apple Certified Refurbished 15″ 2.3GHz MacBook Pros to $1449 or $350 off the cost of new models, including free shipping. Apple’s one-year warranty is... Read more
Memorial Day Weekend iMac sale: $150 off MSRP
 Best Buy has iMacs on sale for $150 off MSRP on their online store for Memorial Day Weekend. Choose free home shipping or free instant local store pickup (if available): - 27″ 3.2GHz iMac: $1849.99... Read more
Economic Conservatives Defend Apple’s Tax Strategy
Given Apple’s longtime reputation as the particular darling of the liberal lefty end of the spectrum, it’s been facinating to see mostly prominant conservatives rallying to the defense of Apple’s... Read more

Jobs Board

System Engineer - *Apple* /Mobility - P...
System Engineer - Apple /Mobility Tracking Code 305801-533 Job Description Job Summary: As a Apple /Mobility Systems Engineer you will be involved in all aspects of Read more
*Apple* Account Executive - CompuCom (U...
Apple Account Executive Job Location US-IL-Des Plaines Posted Date 3/27/2013 Req # 2013-4905 Apply/Socialize: * Apply Now! * Email this opportunity to a friend or Read more
*Apple* Account Executive - CompuCom (U...
Apple Account Executive Job Location US-MAUS-DC Posted Date 3/27/2013 Req # 2013-4907 Apply/Socialize: * Apply Now! * Email this opportunity to a friend or Read more
*Apple* - Solution Architect - CompuCom...
Apple - Solution Architect Job Location US-TX-Dallas Posted Date 4/18/2013 Req # 2013-4932 Apply/Socialize: * Apply Now! * Email this opportunity to a friend or Read more
*Apple* - Solution Architect - CompuCom...
Job Location: US-TX-Dallas Posted Date: 4/18/2013 Overview: The Apple Solution Architect (SA) will be responsible for supporting pre-sales and post-sales solutions in Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.