TweetFollow Us on Twitter

Feb 98 Viewpoint

Volume Number: 14 (1998)
Issue Number: 2
Column Tag: Viewpoint

Viewpoint

by Eric Gundrum

Scripting is Part of the Interface

Why do we need scripting languages? Why do we need more than one? I started working in the Mac industry years before we had AppleScript. Back then, a few of the more powerful Mac applications had their own built-in scripting languages, including the communications application I was working on. Then a scripting language was used to automate the internal functions of the application, freeing the user from having to watch over time-consuming tasks, or just assisting with mundane, repetitive work. We did not have anything like the shell script of Unix or the batch files of DOS to tie applications together.

With the release of System 7, AppleScript entered the scene. Apple had given us a very powerful core language, with all the essential decision and flow control features. Unfortunately, Apple's original release of AppleScript was seriously flawed. The underlying technology was great, but Apple didn't show us how best to use it. They were in such a hurry to get AppleScript out the door, that they hadn't had time to build it into the Finder. Developers often look to the Finder for ideas on how to best make use of Apple technologies, for better or worse. If we want an example of how the menus should look in an application, we look to the Finder. We do the same for ideas on the About box, Balloon Help and many other technologies. Apple did not provide developers with a rich example of how to implement a scripting interface to an application. Developers were slow to adopt AppleScript, and consequently, so were users.

Designing a clean scripting interface to an application is as important as designing a clean graphical interface to the application. Yet few developers are willing to invest even a tenth the time in the scripting interface that they invest in the graphical interface. Most scripting interfaces are implemented at the last minute, usually as the application is going to beta testers. By then there is not sufficient time in the development cycle to change the application to better support scripting. Furthermore, most scripting implementations are designed by programmers, usually with intimate knowledge of the inner workings of the application. They think in terms of the application's internal messages and data structures and figure they can use AppleScript to extend these to the user. Then the documentation folks have to figure out how to explain what the programmers mean by commands like "OpenConnectionToFTPServer( serverAddress, portNumber, showWindow )".

Talk to your Mac

I prefer AppleScript because writing in the AppleScript language is like talking to my computer. Being the asocial geek that I am, I like the idea of my computer understanding me when I talk to it. When I can say things like "Computer, please tell the application "Finder" to open the window named "projects." Or, while in a QuickTime VR world: "Computer, pan left 90 degrees." This sure beats having to say "OpenFinderWindow( "projects" )". AppleScript provides a framework for communicating with applications this way.

The biggest mistake Apple made with AppleScript was in not giving developers the "Human Scriptability Guidelines," the AppleScript equivalent of the "Human Interface Guidelines." After all, AppleScript is an alternative interface to applications. For that interface to be easy to use, it must be well designed and consistent with other applications. We all know how much users benefit from consistency across applications. Many of us fought hard to convince unenlightened developers who, in the early days of the Mac, neglected to include an Edit menu, used the wrong command key for "Close Window," put the Preferences item in the wrong menu, or otherwise made mistakes in the interface. Making applications scriptable requires this same attention to detail, but the problems are more subtle, and the solutions less obvious. Without Apple's guidance, we are left to figure out for ourselves how best to design a scripting interface, and everyone designs a different look and feel.

In my experience designing the scripting interface before designing the code helps a lot. This way, you can factor your application, building in well defined objects that easily map to your scripting terminology. To help you design your terminology, start by talking to your computer; verbally direct your application to perform common tasks. Ask users familiar with what your application does to write the directions to common tasks as if they were directing a colleague to perform the task. These activities will help you identify the object that users think of when they perform these tasks. Those objects should be the main elements of your terminology. This will also help you think about all the features you must have in your application, and how to organize the underlying code. Then all you have to do is write it. ;-)

In This Issue

Two of the articles in this issue can help you design better scripting interfaces your applications. John Schettino's look at prototyping applications with FaceSpan provides suggestions on designing an application with scripting in mind. Cal Simone and Bill Cheeseman have designed a framework for judging just how scriptable is an application. Their article identifies the essential features of any scriptable application. You also will find articles about scripting environments other than AppleScript. In today's multi-platform world, Perl and tcl/tk are important technologies. In the past, the Macintosh versions of these tools have not kept up with their Unix counterparts. This is no longer a problem. As you will see from the articles, these Macintosh tools are very powerful.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

calibre 2.17 - Complete e-library manage...
Calibre is a complete e-book library manager. Organize your collection, convert your books to multiple formats, and sync with all of your devices. Let Calibre be your multi-tasking digital librarian... Read more
OmniGraffle Pro 6.1.2 - Create diagrams,...
OmniGraffle Pro helps you draw beautiful diagrams, family trees, flow charts, org charts, layouts, and (mathematically speaking) any other directed or non-directed graphs. We've had people use... Read more
OmniGraffle 6.1.2 - Create diagrams, flo...
OmniGraffle helps you draw beautiful diagrams, family trees, flow charts, org charts, layouts, and (mathematically speaking) any other directed or non-directed graphs. We've had people use Graffle to... Read more
RoboForm 2.0.2 - Password manager; syncs...
RoboForm is a password manager that offers one-click login, mobile syncing, easy form filling, and reliable security. Password Manager. RoboForm remembers your passwords so you don't have to! Just... Read more
Apple MainStage 3.1 - Live performance t...
Love the sound you got on your recording? MainStage 3 makes it easy to bring all the same instruments and effects to the stage. Everything from the Sound Library and Smart Controls you're familiar... Read more
Freeway Pro 7.0.2 - Drag-and-drop Web de...
Freeway Pro lets you build websites with speed and precision... without writing a line of code! With its user-oriented drag-and-drop interface, Freeway Pro helps you piece together the website of... Read more
A Better Finder Rename 9.44 - File, phot...
A Better Finder Rename is the most complete renaming solution available on the market today. That's why, since 1996, tens of thousands of hobbyists, professionals and businesses depend on A Better... Read more
Stacks 2.6.9 - New way to create pages i...
Stacks is a new way to create pages in RapidWeaver. It's a plugin designed to combine drag-and-drop simplicity with the power of fluid layout. Features: Fluid Layout: Stacks lets you build pages... Read more
Sid Meier's Civilization: Beyond Ea...
Sid Meier's Civilization: Beyond Earth is a new science-fiction-themed entry into the award-winning Civilization series. Set in the future, global events have destabilized the world leading to a... Read more
Logic Pro X 10.1 - Music creation and au...
Apple Logic Pro X is the most advanced version of Logic ever. Sophisticated new tools for professional songwriting, editing, and mixing are built around a modern interface that's designed to get... Read more

Choice Provisions is Set to Launch Destr...
Choice Provisions is Set to Launch Destructamundo on iOS This Month Posted by Tre Lawrence on January 23rd, 2015 [ permalink ] Choice Provisions – home stable to | Read more »
King of Thieves – An Interview With Zept...
Ahead of the release of ZeptoLab’s King of Thieves, we were able to ask ZeptoLab’s co-founder, Semyon Voinov, a few questions about the inspiration behind the game and what that means for the Cut the Rope franchise. | Read more »
Handle Review
Handle Review By Jennifer Allen on January 23rd, 2015 Our Rating: :: SPEEDY ORGANIZINGUniversal App - Designed for iPhone and iPad Handle is a very convenient way of juggling your emails, To Do list, and Calendar all through one... | Read more »
The New Disney Inquizitive App Offers a...
The New Disney Inquizitive App Offers a Place for Fans to Take Disney Quizzes Posted by Tre Lawrence on January 23rd, 2015 [ permalink ] | Read more »
Hands-On With Cut the Rope Developer Zep...
Marking quite a departure from ZeptoLab’s past successes, namely the Cut The Rope series, King of Thieves is shaping up to be quite promising. Due for release in February, we were lucky enough to have some time with a preview build to see exactly... | Read more »
Fast Fishing Review
Fast Fishing Review By Jennifer Allen on January 23rd, 2015 Our Rating: :: LIVES UP TO ITS NAMEUniversal App - Designed for iPhone and iPad Fishing is far from relaxing in Fast Fishing, but it is fun.   | Read more »
The LEGO Movie Video Game is Available N...
The LEGO Movie Video Game is Available Now for iOS Posted by Ellis Spice on January 23rd, 2015 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Satellina Review
Satellina Review By Jennifer Allen on January 23rd, 2015 Our Rating: :: TWITCHY BUT TACTICALUniversal App - Designed for iPhone and iPad Satellina requires quick thinking and twitchy fingers, and it’s pretty fun.   | Read more »
Tail Drift, the Crazy 360 Degree Flyer,...
Tail Drift, the Crazy 360 Degree Flyer, Has Gone Free-to-Play in a New Update Posted by Jessica Fisher on January 22nd, 2015 [ permalink ] | Read more »
PureSkate 2 Review
PureSkate 2 Review By Tre Lawrence on January 22nd, 2015 Our Rating: :: ALMOST ALL AIRUniversal App - Designed for iPhone and iPad PureSkate 2 lets one’s fingers do the skateboarding.   | Read more »

Price Scanner via MacPrices.net

College Student Deals are back, additional $5...
Take an additional $50 off all MacBooks and iMacs at Best Buy Online with their College Students Deals Savings, valid through April 11, 2015. Anyone with a valid .EDU email address can take advantage... Read more
iPhone 6 and 6 Plus GIve Apple Half Of US Mob...
Chicago-based Consumer Intelligence Research Partners, LLC (CIRP) have released analysis of the results of its research on mobile phone manufacturers for the calendar quarter that ended December 31,... Read more
Save $100 on MacBook Airs with 256GB of stora...
B&H Photo has 256GB MacBook Airs on sale for $100 off MSRP. Shipping is free, and B&H charges NY sales tax only: - 11″ 1.4GHz/256GB MacBook Air: $999 $100 off MSRP - 13″ 1.4GHz/256GB MacBook... Read more
21-inch 2.7GHz iMac on sale for $1179, save $...
B&H Photo has the 21″ 2.7GHz iMac on sale for $1179 including free shipping plus NY sales tax only. Their price is $120 off MSRP, and it’s the lowest price available for this model from any... Read more
iPhone Usage Rates by State Correlate With Ed...
Chitika Insights notes that despite iPhones being the largest source of smartphone Internet traffic in North America, their latest study finds a relatively high degree of variation of iPhone usage... Read more
ProGearX Extendable Pole “Pov/Selfie Stick” M...
There’s something inescapably narcissistic about the concept of selfies as they’ve developed as a smartphone-driven social (particularly social media) phenomenon that rubs me the wrong way. However,... Read more
iPad Air 2 on sale for up to $100 off MSRP, 2...
 Best Buy has iPad Air 2s on sale for up to $100 off MSRP on their online store for the next two days. Choose free shipping or free local store pickup (if available). Sale prices available for online... Read more
Roundup of Apple refurbished MacBook Pros and...
The Apple Store has Apple Certified Refurbished 2014 MacBook Pros and MacBook Airs available for up to $400 off the cost of new models. An Apple one-year warranty is included with each model, and... Read more
Sale! 13-inch 2.8GHz Retina MacBook Pro for $...
 B&H Photo has the 13″ 2.8GHz Retina MacBook Pro on sale for $1599 including free shipping plus NY sales tax only. Their price is $200 off MSRP, and it’s the lowest price available for this model... Read more
Next OS X/iOS Version Upgrades Should Concent...
On stage at Apple’s World Wide Developers’ Conference in June 2009, Bertrand Serlet, the company’s Senior Vice President of Software Engineering at the time, announced that the forthcoming OS X... Read more

Jobs Board

Business Development Manager - *Apple* Pay...
**Job Summary** Apple Pay is seeking an experienced business development manager to support the identification, recruitment, negotiation and ongoing management of Read more
*Apple* Solutions Consultant (ASC)- Retail S...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Solutions Consultant - Retail Sales...
**Job Summary** As an Apple Solutions Consultant (ASC) you are the link between our customers and our products. Your role is to drive the Apple business in a retail Read more
*Apple* Lead Operator, GSOC - Apple (United...
**Job Summary** Apple is seeking an exceptional, customer service oriented and experienced persons to fulfill the role of Apple Lead Operator (ALO) as part of the Read more
Order Support Supervisor- *Apple* Online Sto...
**Job Summary** The Apple Online Store (AOS) Order Administration team is looking for an Order Support Supervisor to manage and lead a team of Specialists through the Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.