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

Check out the new Pirate Attack update i...
Love pirates and board games? Well, you'll love the new Pirate Attack themed update that just launched in Game of Dice. It adds a bunch of new content themed around pirates, like an all new event map based on a pirate ship which revamps the toll... | Read more »
Splash Cars guide - How to paint the tow...
Splash Cars is an arcade driving game that feels like a hybrid between Dawn of the Plow and Splatoon. In it, you'll need to drive a car around to repaint areas of a town that have lost all of their color. Check out these tips to help you perform... | Read more »
The best video player on mobile
We all know the stock video player on iOS is not particularly convenient, primarily because it asks us to hook a device up to iTunes to sync video in a world that has things like Netflix. [Read more] | Read more »
Four apps to help improve your Super Bow...
Super Bowl Sunday is upon us, and whether you’re a Panthers or a Broncos fan you’re no doubt gearing up for it. [Read more] | Read more »
LooperSonic (Music)
LooperSonic 1.0 Device: iOS Universal Category: Music Price: $4.99, Version: 1.0 (iTunes) Description: LooperSonic is a multi-track audio looper and recorder that will take your loops to the next level. Use it like a loop pedal to... | Read more »
Space Grunts guide - How to survive
Space Grunts is a fast-paced roguelike from popular iOS developer, Orange Pixel. While it taps into many of the typical roguelike sensibilities, you might still find yourself caught out by a few things. We delved further to find you some helpful... | Read more »
Dreii guide - How to play well with othe...
Dreii is a rather stylish and wonderful puzzle game that’s reminiscent of cooperative games like Journey. If that sounds immensely appealing, then you should immediately get cracking and give it a whirl. We can offer you some tips and tricks on... | Read more »
Kill the Plumber World guide - How to ou...
You already know how to hop around like Mario, but do you know how to defeat him? Those are your marching orders in Kill the Plumber, and it's not always as easy as it looks. Here are some tips to get you started. This is not a seasoned platform... | Read more »
Planar Conquest (Games)
Planar Conquest 1.0 Device: iOS Universal Category: Games Price: $12.99, Version: 1.0 (iTunes) Description: IMPORTANT: Planar Conquest is compatible only with iPad 3 & newer devices, iPhone 5 & newer. It’s NOT compatible with... | Read more »
We talk to Cheetah Mobile about its plan...
Piano Tiles 2 is a fast-paced rhythm action high score chaser out now on iOS and Android. You have to tap a series of black tiles that appear on the screen in time to the music, being careful not to accidentally hit anywhere else. Do that and it's... | Read more »

Price Scanner via MacPrices.net

BookBook For iPad Pro Coming Soon
The iPad Pro is a device unlike any other, and with Apple Pencil, it’s the ideal portable sketchpad: all that’s missing is the modern easel and portfolio to go. TwelveSouth’s BookBook for iPad Pro... Read more
12-inch 1.2GHz Silver Retina MacBook on sale...
B&H Photo has the 12″ 1.2GHz Silver Retina MacBook on sale for $1399 including free shipping plus NY sales tax only. Their price is $200 off MSRP, and it’s the lowest price for this model from... Read more
iPads on sale at Target: $100 off iPad Air 2,...
Target has WiFi iPad Air 2s and iPad mini 4s on sale for up to $100 off MSRP on their online store for a limited time. Choose free shipping or free local store pickup (if available). Sale prices for... Read more
Target offers Apple Watch for $100 off MSRP
Target has Apple Watches on sale for $100 for a limited time. Choose free shipping or free local store pickup (if available). Sale prices for online orders only, in-store prices may vary: - Apple... Read more
Apple refurbished 2014 13-inch Retina MacBook...
Apple has Certified Refurbished 2014 13″ Retina MacBook Pros available for up to $400 off original MSRP, starting at $979. An Apple one-year warranty is included with each model, and shipping is free... Read more
Macs available for up to $300 off MSRP, $20 o...
Purchase a new Mac or iPad using Apple’s Education Store and take up to $300 off MSRP. All teachers, students, and staff of any educational institution qualify for the discount. Shipping is free, and... Read more
Watch Super Bowl 50 Live On Your iPad For Fre...
Watch Super Bowl 50 LIVE on the CBS Sports app for iPad and Apple TV. Get the app and then tune in Sunday, February 7, 2016 at 6:30 PM ET to catch every moment of the big game. The CBS Sports app is... Read more
Two-thirds Of All Smart Watches Shipped In 20...
Apple dominated the smart watch market in 2015, accounting for over 12 million units and two-thirds of all shipments according to Canalys market research analysts’ estimates. Samsung returned to... Read more
12-inch 1.2GHz Retina MacBooks on sale for up...
B&H Photo has 12″ 1.2GHz Retina MacBooks on sale for $180 off MSRP. Shipping is free, and B&H charges NY tax only: - 12″ 1.2GHz Gray Retina MacBook: $1499 $100 off MSRP - 12″ 1.2GHz Silver... Read more
12-inch 1.1GHz Gray Retina MacBook on sale fo...
B&H Photo has the 12″ 1.1GHz Gray Retina MacBook on sale for $1199 including free shipping plus NY sales tax only. Their price is $100 off MSRP, and it’s the lowest price available for this model... Read more

Jobs Board

*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
*Apple* Subject Matter Expert - Experis (Uni...
This position is for an Apple Subject Matter Expert to assist in developing the architecture, support and services for integration of Apple devices into the domain. Read more
*Apple* Macintosh OSX - Net2Source Inc. (Uni...
…: * Work Authorization : * Contact Number(Best time to reach you) : Skills : Apple Macintosh OSX Location : New York, New York. Duartion : 6+ Months The associate would Read more
Computer Operations Technician ll - *Apple*...
# Web Announcement** Apple Technical Liaison**The George Mason University, Information Technology Services (ITS), Technology Support Services, Desktop Support Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.