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

Parallels Desktop 12.0.0 - Run Windows a...
Parallels allows you to run Windows and Mac applications side by side. Choose your view to make Windows invisible while still using its applications, or keep the familiar Windows background and... Read more
Firefox 48.0.2 - Fast, safe Web browser.
Firefox offers a fast, safe Web browsing experience. Browse quickly, securely, and effortlessly. With its industry-leading features, Firefox is the choice of Web development professionals and casual... Read more
Apple iOS 9.3.5 - The latest version of...
iOS is the world’s most advanced mobile operating system, and it’s the foundation of iPhone, iPad, and iPod touch. It comes with a collection of apps and features that let you do the everyday things... Read more
Spotify 1.0.36.124. - Stream music, crea...
Spotify is a streaming music service that gives you on-demand access to millions of songs. Whether you like driving rock, silky R&B, or grandiose classical music, Spotify's massive catalogue puts... Read more
Apple iOS 9.3.5 - The latest version of...
iOS is the world’s most advanced mobile operating system, and it’s the foundation of iPhone, iPad, and iPod touch. It comes with a collection of apps and features that let you do the everyday things... Read more
Parallels Desktop 12.0.0 - Run Windows a...
Parallels allows you to run Windows and Mac applications side by side. Choose your view to make Windows invisible while still using its applications, or keep the familiar Windows background and... Read more
Spotify 1.0.36.124. - Stream music, crea...
Spotify is a streaming music service that gives you on-demand access to millions of songs. Whether you like driving rock, silky R&B, or grandiose classical music, Spotify's massive catalogue puts... Read more
Firefox 48.0.2 - Fast, safe Web browser.
Firefox offers a fast, safe Web browsing experience. Browse quickly, securely, and effortlessly. With its industry-leading features, Firefox is the choice of Web development professionals and casual... Read more
BBEdit 11.6.1 - Powerful text and HTML e...
BBEdit is the leading professional HTML and text editor for the Mac. Specifically crafted in response to the needs of Web authors and software developers, this award-winning product provides a... Read more
OmniGraffle Pro 6.6.1 - 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

Cartoon Network Superstar Soccer: Goal!!...
Cartoon Network Superstar Soccer: Goal!!! – Multiplayer Sports Game Starring Your Favorite Characters 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: Become a soccer superstar with your... | Read more »
NFL Huddle: What's new in Topps NFL...
Can you smell that? It's the scent of pigskin in the air, which either means that cliches be damned, pigs are flying in your neck of the woods, or the new NFL season is right around the corner. [Read more] | Read more »
FarmVille: Tropic Escape tips, tricks, a...
Maybe farming is passé in mobile games now. Ah, but farming -- and doing a lot of a other things too -- in an island paradise might be a little different. At least you can work on your tan and sip some pina coladas while tending to your crops. [... | Read more »
Become the King of Avalon in FunPlus’ la...
King Arthur is dead. Considering the legend dates back to the 5th century, it would be surprising if he wasn’t. But in the context of real-time MMO game King of Avalon: Dragon Warfare, Arthur’s death plunges the kingdom into chaos. Evil sorceress... | Read more »
Nightgate (Games)
Nightgate 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: *** Launch Sale: 25% OFF for a limited time! *** In the year 2398, after a great war, a network of intelligent computers known as... | Read more »
3 best fantasy football apps to get you...
Last season didn't go the way you wanted it to in fantasy football. You were super happy following your drafts or auctions, convinced you had outsmarted everyone. You were all set to hustle on the waiver wire, work out some sweet trades, and make... | Read more »
Pokemon GO update: Take me to your leade...
The Team Leaders in Pokemon GO have had it pretty easy up until now. They show up when players reach level 5, make their cases for joining their respective teams, and that's pretty much it. Light work, as Floyd Mayweather might say. [Read more] | Read more »
Ruismaker FM (Music)
Ruismaker FM 1.0 Device: iOS Universal Category: Music Price: $4.99, Version: 1.0 (iTunes) Description: Following up on the success of Ruismaker, here's her crazy twin-sister, designed for people who want to design their own... | Read more »
Space Marshals 2 (Games)
Space Marshals 2 1.0.15 Device: iOS iPhone Category: Games Price: $5.99, Version: 1.0.15 (iTunes) Description: The sci-fi wild west adventure in outer space continues with Space Marshals 2. This tactical top-down shooter puts you in... | Read more »
Dungeon Warfare (Games)
Dungeon Warfare 1.0 Device: iOS Universal Category: Games Price: $3.99, Version: 1.0 (iTunes) Description: Dungeon Warfare is a challenging tower defense game where you become a dungeon lord to defend your dungeon against greedy... | Read more »

Price Scanner via MacPrices.net

BookBook Releases SurfacePad, BookBook &...
BookBook has released three new covers just for iPad Pro: SurfacePad, BookBook and BookBook Rutledge Edition. BookBook for iPad Pro is a gorgeous leather case reminiscent of a vintage sketchbook.... Read more
Clean Text 1.0 for iOS Reduces Text Cleanup a...
Apimac today announced availability of Clean Text for iOS, a tool for webmasters, graphic designers, developers and magazine editors to reduce text cleanup and editing time, and also for any iPhone... Read more
27-inch iMacs on sale for up to $220 off MSRP
B&H Photo has 27″ Apple iMacs on sale for up to $200 off MSRP including free shipping plus NY sales tax only: - 27″ 3.3GHz iMac 5K: $2099 $200 off MSRP - 27″ 3.2GHz/1TB Fusion iMac 5K: $1899 $100... Read more
Apple refurbished 13-inch MacBook Airs availa...
Apple has Certified Refurbished 2016 and 2015 13″ MacBook Airs now available starting at $849. An Apple one-year warranty is included with each MacBook, and shipping is free: - 2016 13″ 1.6GHz/8GB/... Read more
Apple refurbished iPad mini 2s available for...
Apple is offering Certified Refurbished iPad mini 2s for up to $80 off the cost of new minis. An Apple one-year warranty is included with each model, and shipping is free: - 16GB iPad mini 2 WiFi: $... Read more
Save up to $600 with Apple refurbished Mac Pr...
Apple has Certified Refurbished Mac Pros available for up to $600 off the cost of new models. An Apple one-year warranty is included with each Mac Pro, and shipping is free. The following... Read more
Mac Pros on sale for $200 off MSRP
B&H Photo has Mac Pros on sale for $200 off MSRP. Shipping is free, and B&H charges sales tax in NY only: - 3.7GHz 4-core Mac Pro: $2799, $200 off MSRP - 3.5GHz 6-core Mac Pro: $3799, $200... Read more
Will We See A 10.5″ iPad Pro in 2017? – The ‘...
A MacRumors report, cites a research note from KGI Securities analyst Ming-Chi Kuo, saying a new size iPad model is in the works. According to the highly respected Cho, who has a strong track record... Read more
IOGEAR USB-C Docking Station Transforms Lapto...
IOGEAR has announced the launch of its innovative USB-C Docking Station with Power Delivery which turns USB-C enabled laptops into desktop workstations. The new IOGEAR USB-C Docking Station features... Read more
12-inch Retina MacBooks on sale for up to $10...
Amazon has 2016 12″ Apple Retina MacBooks on sale for $100 off MSRP. Shipping is free: - 12″ 1.1GHz Space Gray Retina MacBook: $1199 $100 off MSRP - 12″ 1.1GHz Silver Retina MacBook: $1224.99 $75 off... Read more

Jobs Board

*Apple* Engineer - Softthink Solutions, Inc....
Job Description:- Proven experience in administering IOS and OSX Apple devices in enterprises - Experience in administering Apple devices in Windows environments Read more
*Apple* Professional Learning Specialist - A...
# Apple Professional Learning Specialist Job Number: 51234243 Portland, Maine, Maine, United States Posted: Aug. 18, 2016 Weekly Hours: 40.00 **Job Summary** The Read more
*Apple* Mobile Master - Best Buy (United Sta...
What does a Best Buy Apple Mobile Master do? At Best Buy, our mission is to leverage the unique talents and passions of our employees to inspire, delight, and enrich Read more
*Apple* Retail - Multiple Positions Akron, O...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
Simply Mac *Apple* Specialist- Repair Techn...
…The Technician is a master at working with our customers to diagnose and repair Apple devices in a manner that exceeds the expectations set forth by Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.