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”.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Arq 5.8.4 - Online backup to Google Driv...
Arq is super-easy online backup for Mac and Windows computers. Back up to your own cloud account (Amazon Cloud Drive, Google Drive, Dropbox, OneDrive, Google Cloud Storage, any S3-compatible server... Read more
Airmail 3.2.9 - Powerful, minimal email...
Airmail is an mail client with fast performance and intuitive interaction. Support for iCloud, MS Exchange, Gmail, Google Apps, IMAP, POP3, Yahoo!, AOL, Outlook.com, Live.com. Airmail was designed... Read more
Microsoft Remote Desktop 8.0.39 - Connec...
With Microsoft Remote Desktop, you can connect to a remote PC and your work resources from almost anywhere. Experience the power of Windows with RemoteFX in a Remote Desktop client designed to help... Read more
Posterino 3.3.7 - Create posters, collag...
Posterino offers enhanced customization and flexibility including a variety of new, stylish templates featuring grids of identical or odd-sized image boxes. You can customize the size and shape of... Read more
Airmail 3.2.8 - Powerful, minimal email...
Airmail is an mail client with fast performance and intuitive interaction. Support for iCloud, MS Exchange, Gmail, Google Apps, IMAP, POP3, Yahoo!, AOL, Outlook.com, Live.com. Airmail was designed... Read more
WhatRoute 2.0.21 - Geographically trace...
WhatRoute is designed to find the names of all the routers an IP packet passes through on its way from your Mac to a destination host. It also measures the round-trip time from your Mac to the router... Read more
Airmail 3.2.8 - Powerful, minimal email...
Airmail is an mail client with fast performance and intuitive interaction. Support for iCloud, MS Exchange, Gmail, Google Apps, IMAP, POP3, Yahoo!, AOL, Outlook.com, Live.com. Airmail was designed... Read more
WhatRoute 2.0.21 - Geographically trace...
WhatRoute is designed to find the names of all the routers an IP packet passes through on its way from your Mac to a destination host. It also measures the round-trip time from your Mac to the router... Read more
iFFmpeg 6.3.5 - Convert multimedia files...
iFFmpeg is a comprehensive media tool to convert movie, audio and media files between formats. The FFmpeg command line instructions can be very hard to master/understand, so iFFmpeg does all the hard... Read more
Opera 45.0.2552.812 - High-performance W...
Opera is a fast and secure browser trusted by millions of users. With the intuitive interface, Speed Dial and visual bookmarks for organizing favorite sites, news feature with fresh, relevant content... Read more

Latest Forum Discussions

See All

Pokémon GO might be getting legendaries...
The long-awaited legendary Pokémon may soon be coming to Pokémon GO at long last. Data miners have already discovered that the legendary birds, Articuno, Moltres, and Zapdos are already in the game, it’s just a matter of time. [Read more] | Read more »
The best deals on the App Store this wee...
If you’ve got the Monday blues we have just the thing to cheer you up. The week is shaping up to be a spectacular one for sales. We’ve got a bunch of well-loved indie games at discounted prices this week along with a few that are a little more... | Read more »
Honor 8 Pro, a great choice for gamers
Honor is making strides to bring its brand to the forefront of mobile gaming with its latest phone, the Honor 8 Pro. The Pro sets itself apart from its predecessor, the Honor 8, with a host of premium updates that boost the device’s graphical and... | Read more »
The 4 best outdoor adventure apps
Now that we're well into the pleasant, warmer months, it's time to start making the most of the great outdoors. Spring and summer are ideal times for a bit of trekking or exploration. You don't have to go it alone, though. There are plenty of... | Read more »
Things 3 (Productivity)
Things 3 3.0.1 Device: iOS iPhone Category: Productivity Price: $7.99, Version: 3.0.1 (iTunes) Description: Meet the all-new Things! A complete rethinking of the original, award-winning task manager – with a perfect balance between... | Read more »
Oddball mash-up Arkanoid vs Space Invade...
In a move no one was really expecting, Square Enix has put forth an Arkanoid/Space Invaders mash-up aptly titled Arkanoid vs Space Invaders. The game launched today on both iOS and Android and the reviews are actually quite good. [Read more] | Read more »
Arkanoid vs Space Invaders (Games)
Arkanoid vs Space Invaders 1.0 Device: iOS Universal Category: Games Price: $3.99, Version: 1.0 (iTunes) Description: LAUNCH SALE: GET THE GAME AT 20% OFF! Two of the most iconic classic games ever made meet in Arkanoid vs Space... | Read more »
The best new games we played this week
Things got off to a bit of a slow start this week, but as we steadily creep towards Friday a bunch of great games have started cropping up. If you're looking for a quality new release to play this weekend, we've got you covered. Here's a handy... | Read more »
No Stick Shooter (Games)
No Stick Shooter 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Happy Robot presents a fresh take on the classic retro-arcade shooters we all know and love. Featuring 30 levels of non-stop... | Read more »
Chroma Squad (Games)
Chroma Squad 1.0.85 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.85 (iTunes) Description: | Read more »

Price Scanner via MacPrices.net

Five To Six Million 10.5-inch iPad Pro Tablet...
Digitimes’ Siu Han and Joseph Tsai report that upstream supply chain shipments for Apple’s new 10.5-inch iPad Pro have been increasing, with monthly shipment volume expected to hit 600,000 units by... Read more
Georgia Tech Students Win Toyota and Net Impa...
Earlier this year, a team of students at Georgia Tech realized that there was a critical gap in transportation services for people who use wheelchairs, and wondered if the solution could be in the... Read more
13-inch 2.0GHz Space Gray MacBook Pro on sale...
Amazon has the 13″ 2.0GHz Space Gray non-Touch Bar MacBook Pro (MLL42LL/A) on sale for $1299.99 including free shipping. Their price is $200 off MSRP, and it’s currently the lowest price available... Read more
Roundup of 15-inch MacBook Pro sale prices, m...
B&H Photo has the new 2016 15″ Apple Touch Bar MacBook Pros in stock today and on sale for up to $200 off MSRP. Shipping is free, and B&H charges NY & NJ sales tax only: - 15″ 2.7GHz... Read more
15-inch 2.2GHz Retina MacBook Pro on sale for...
B&H Photo has the 2015 15″ 2.2GHz Retina MacBook Pro (MJLQ2LL/A) on sale for $1849 including free shipping plus NY & NJ sales tax only. Their price is $150 off MSRP. Read more
21-inch iMacs on sale for $100 off MSRP, save...
B&H Photo has 21″ iMacs on sale for $100 off MSRP, each including free shipping plus NY & NJ sales tax only: - 21″ 3.1GHz iMac 4K: $1399.99 $100 off MSRP - 21″ 2.8GHz iMac: $1199.99 $100 off... Read more
Groupon Survey Finds Families Will Spend One-...
With warmer weather finally arriving in most parts of the country and the school year winding down to a close, Groupon (http://www.groupon.com) asked 1,000 U.S. parents how much time their families... Read more
Panasonic Anounces Toughbook 33 2-in-1 Rugged...
Panasonic has announced the U.S. availability of the Panasonic Toughbook 33, claimed to be the first fully-rugged 2-in-1 detachable laptop that features a 3:2 display. Inspired by the hard-working... Read more
9-inch 32GB iPad Pros available for up to $10...
Amazon resellers are offering new 9″ 32GB iPad Pros for up to $101 off MSRP, starting at $498, including free shipping. Colors may be Space Gray, Silver, Gold, or Rose Gold, depending on the reseller... Read more
Back in stock: Apple refurbished Mac minis st...
Apple has Certified Refurbished Mac minis available starting at $419. Apple’s one-year warranty is included with each mini, and shipping is free: - 1.4GHz Mac mini: $419 $80 off MSRP - 2.6GHz Mac... Read more

Jobs Board

Director, *Apple* Program - ERP & Cloud...
…make a real difference. Come, shine with us! Astellas is announcing a Director, Apple Program - ERP & Cloud Platform Architecture Lead opportunity in Northbrook, IL. Read more
*Apple* Mobile Master - Best Buy (United Sta...
**508102BR** **Job Title:** Apple Mobile Master **Location Number:** 000511-Athens-Store **Job Description:** **What does a Best Buy Apple Mobile Master do?** At Read more
*Apple* Media Products - Commerce Engineerin...
Apple Media Products - Commerce Engineering Manager Job Number: 57037480 Santa Clara Valley, California, United States Posted: Apr. 18, 2017 Weekly Hours: 40.00 Job Read more
Geek Squad *Apple* Master Consultation Agen...
**500444BR** **Job Title:** Geek Squad Apple Master Consultation Agent **Location Number:** 000103-City Of Industry-Store **Job Description:** **What does a Geek Read more
Security Engineer, *Apple* Retail - Apple I...
Changing the world is all in a day's work at Apple . If you love innovation, here's your chance to make a career of it. You'll work hard. But the job comes with more Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.