TweetFollow Us on Twitter

May 92 - Software Review - Userland Frontier

Software Review - Userland Frontier

John W. Baxter

In late January, Dave Winer and the rest of the folks at Userland shipped version 1.0 of Frontier. Frontier is a tool with which you can operate the growing number of modern Macintosh applications which can be controlled by sending them suitable Apple Events. Frontier also provides a clean-looking method by which very easily changed menus can be added to an AppleEvent-savvy application (this feature is called "Menu Sharing"). Here is a brief look at Frontier.

Drive those Applications

Frontier has an easy-to-use scripting language which controls both Frontier and other AppleEvent-aware applications. The language is presented in outline form, and Frontier has a good outline editor. The structure of a script is created by the levels of the outline. For example, here is an if statement:
if people.JWB.age > 50
    msg ("John, you are getting old.")
else
    msg ("Come on, John, tell the truth")

The statements controlled by the true branch of the if statement (here, just a msg verb) are indented one outline level inferior to the if. The next statement at the same level as the if marks the end of the controlled statements. Here, that statement is an else. Again, the else controls those statements inferior to it in the outline. As with outlining programs in general, you can hide the details and see only the if and else lines if you like.

The supplied language verbs include many which are implemented in the Frontier kernel and many others which are simply scripts themselves. A full list is well beyond the scope of this column, but one handy structure for script writing is

   on explore(path)
    fileloop (aFile in path)
        if (file.isFolder(aFile))
            explore(aFile)
        else
            « do something to each aFile
            « the « introduces comments

where path identifies an HFS directory, and aFile takes on the path to each file and directory contained in that directory. You can easily recurse down through the directory levels, as shown. The on construct introduces a script (routine).

The outlining capability is useful in its own right, but is limited to single-line headers. The outline editor is fully scriptable. There is also a simple word processing editor, and word processing documents can be maintained within Frontier. That editor is suitable for writing documentation about your Frontier scripts-it is not suitable for the next great novel. The word processing editor is also fully scriptable.

Things are stored in Frontier in a database, managed as a hierarchy of tables starting at a table called root. One of the items in the root table is a table called people, which has items named with the initials of each user of a given Frontier. The first example above assumes that my table, whose full address is root.people.JWB, contains an entry named age whose value is a number. A table entry consists of a name and a value. The value may be as simple as a number or string or as complex as a word processing document, an outline or script, or any Macintosh structure stored in binary form. The set of table manipulation verbs is fully scriptable.

Whose Menus are They, Anyhow

Using AppleEvents, an application can arrange for Frontier to supply one or more menus (which can include hierarchical submenus). A simple but solid-looking protocol provides for the application to inform Frontier of selections of the items in the menus Frontier has defined. The user provides a Frontier script for each such item. That script will usually send one or more AppleEvents to the application requesting services or directing actions. Provision is made for the user to edit the menus within Frontier and for the menus to be adjusted before the next time they are pulled down by the user if they have been edited. If Frontier shuts down, the application is notified and deletes the shared menus; if Frontier launches while a menu-sharing application is running, the menus get added.

Additionally, most of Frontier's own menus are fully editable by the user. Again, each item has a script associated with it. The outline editor (slightly modified) is used to edit menus and assign the scripts.

Userland supplies source code in C for the routines that need to be added to an application to support menu sharing. I've looked at MacApp 3.0, and at this writing I have a working subclass of TApplication which supports Frontier menu sharing. Unfortunately, that subclass is not yet ready for publication.

Agent 86

One of the tables in Frontier contains "agents". These agents are scripts which receive time periodically from Frontier. Frontier ships with an agent which updates a clock in Frontier's main window. An agent can trigger arbitrarily complex scripts. Frontier is pretty good about giving processing time to agents-for example, the agents are given time while Frontier is in the background awaiting a reply to an AppleEvent it sent out as requested by a script.

Almost Faceless Mini-Applications ("Appletts")

Frontier makes sense as a controller for small, nearly faceless applications which provide simple services. This is one of the directions software is moving at the moment, the do-one-thing-and-do-it-well idea. Userland practices what they preach in this area: Frontier's on-line documentation is provided by a separate DocServer application. A control-double-click on any Frontier verb ensures that DocServer is running, sends it AppleEvents directing that the appropriate documentation be displayed, and brings DocServer to the front. There is no technical reason why DocServer wouldn't be available to your application, too. I don't know the legal details at this time.

Paper Documentation

Yes, there is some. A user manual and a scripting language ("UserTalk") reference guide were written by Dan Shafer. They explain Frontier pretty clearly, though some of the more obscure verbs are only referenced, with the DocServer material (also prepared by Dan) being the only documentation.

Apple Object Model

Frontier scripts have the power to create and send AppleEvents which make use of the Object Model. This capability should be highly useful in testing MacApp-based applications which support the Object Model and the Object Support Library. A developer may also wish to supply a suitable "suite" of Frontier scripts to the users of an application.

What's In It for Me?

If you are writing an AppleEvent-driven application, Frontier represents a potentially valuable testing and debugging tool. If your application might benefit from the shared menu idea, that is easy to add. With or without Frontier, you were going to support AppleEvents for commanding your application, weren't you? There is no extra work there (and Userland will help you prepare the file which sets up the necessary verbs in Frontier to drive your application the way you want it driven).

Besides all that, Frontier is an amusing "toy", too. I have a script which runs my FarSide calendar the first time each day that Frontier starts up (I have Frontier starting from my Startup Items folder).

Availability

Frontier is available direct from Userland. Recently, Frontier has also found its way into the mail order and retail distribution system. Userland can be found in the Third Party area on AppleLink and in their own forum on CompuServe. Their address is UserLand Software, Inc., 490 California Ave, Palo Alto, CA 94306. Telephone (415) 325-5700; fax (415) 325-9829.
 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

Combo Quest (Games)
Combo Quest 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: Combo Quest is an epic, time tap role-playing adventure. In this unique masterpiece, you are a knight on a heroic quest to retrieve... | Read more »
Hero Emblems (Games)
Hero Emblems 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: ** 25% OFF for a limited time to celebrate the release ** ** Note for iPhone 6 user: If it doesn't run fullscreen on your device... | Read more »
Puzzle Blitz (Games)
Puzzle Blitz 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Puzzle Blitz is a frantic puzzle solving race against the clock! Solve as many puzzles as you can, before time runs out! You have... | Read more »
Sky Patrol (Games)
Sky Patrol 1.0.1 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0.1 (iTunes) Description: 'Strategic Twist On The Classic Shooter Genre' - Indie Game Mag... | Read more »
The Princess Bride - The Official Game...
The Princess Bride - The Official Game 1.1 Device: iOS Universal Category: Games Price: $3.99, Version: 1.1 (iTunes) Description: An epic game based on the beloved classic movie? Inconceivable! Play the world of The Princess Bride... | Read more »
Frozen Synapse (Games)
Frozen Synapse 1.0 Device: iOS iPhone Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Frozen Synapse is a multi-award-winning tactical game. (Full cross-play with desktop and tablet versions) 9/10 Edge 9/10 Eurogamer... | Read more »
Space Marshals (Games)
Space Marshals 1.0.1 Device: iOS Universal Category: Games Price: $4.99, Version: 1.0.1 (iTunes) Description: ### IMPORTANT ### Please note that iPhone 4 is not supported. Space Marshals is a Sci-fi Wild West adventure taking place... | Read more »
Battle Slimes (Games)
Battle Slimes 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: BATTLE SLIMES is a fun local multiplayer game. Control speedy & bouncy slime blobs as you compete with friends and family.... | Read more »
Spectrum - 3D Avenue (Games)
Spectrum - 3D Avenue 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: "Spectrum is a pretty cool take on twitchy/reaction-based gameplay with enough complexity and style to stand out from the... | Read more »
Drop Wizard (Games)
Drop Wizard 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Bring back the joy of arcade games! Drop Wizard is an action arcade game where you play as Teo, a wizard on a quest to save his... | Read more »

Price Scanner via MacPrices.net

Our MacBook Price Trackers will show you the...
Our Apple award-winning MacBook Price Trackers are continually updated with the latest information on prices, bundles, and availability for 16″ and 14″ MacBook Pros along with 13″ and 15″ MacBook... Read more
Amazon is offering a 10% discount on Apple’s...
Don’t pay full price! Amazon has 16-inch M4 Pro MacBook Pros (Silver and Black colors) on sale today for 10% off Apple’s MSRP. Shipping is free. These are the lowest prices currently available for 16... Read more
13-inch M4 MacBook Airs on sale for $150 off...
Amazon has new 13″ M4 MacBook Airs on sale for $150 off MSRP right now, starting at $849. Sale prices apply to most colors and configurations. Be sure to select Amazon as the seller, rather than a... Read more
15-inch M4 MacBook Airs on sale for $150 off...
Amazon has new 15″ M4 MacBook Airs on sale for $150 off Apple’s MSRP, starting at $1049. Be sure to select Amazon as the seller, rather than a third-party: – 15″ M4 MacBook Air (16GB/256GB): $1049, $... Read more
Amazon is offering a $50 discount on Apple’s...
Amazon has Apple’s 11th-generation A16 iPads in stock on sale for $50 (or a little more) off MSRP this week. Shipping is free: – 11″ 11th-generation 128GB WiFi iPads: $299 $50 off MSRP – 11″ 11th-... Read more
Clearance 13-inch M1 MacBook Airs available f...
Walmart has clearance, but new, Apple 13″ M1 MacBook Airs (8GB RAM, 256GB SSD) available online for $649, $360 off original MSRP, in Space Gray, Silver, and Gold colors. These are new MacBooks for... Read more
iPad minis on sale for $100 off Apple’s MSRP...
Amazon is offering $100 discounts (up to 20% off) on Apple’s newest 2024 WiFi iPad minis, each with free shipping. These are the lowest prices available for new minis among the Apple retailers we... Read more
AirPods Max headphones on sale for $479, $70...
Amazon has AirPods Max with USB-C on sale for $479.99 in all colors. Shipping is free. Their price is $70 off Apple’s MSRP, and it’s the lowest price available today for AirPods Max. Keep an eye on... Read more
14-inch M4 Pro/M4 Max MacBook Pros on sale th...
Don’t pay full price! Get a new 14″ MacBook Pro with an M4 Pro or M4 Max CPU for up to $320 off Apple’s MSRP this weekend at these retailers…they are the lowest prices available for these MacBook... Read more
Get a 15-inch M4 MacBook Air for $150 off App...
A couple of Apple retailers are offering $150 discounts on new 15″ M4 MacBook Airs this weekend. Prices at these retailers start at $1049: (1): Amazon has new 15″ M4 MacBook Airs on sale for $150 off... Read more

Jobs Board

All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.