Mr. Tanner responds to my 'How are we doing?' page.
I'm surprised you have to ask, but am glad you are. I have been meaning to
write for a while now and your invitation was all the extra motivation I
needed. I must apologize in advance for the length of this letter...but you
asked for it.
I have been following Frontier since it was first released as freeware. I
downloaded Aretha, Clay Basket, and practically every free version of
Frontier up to 4.1. When the serious web site automation began to show up,
I saw great promise, but I didn't see how I could put it to use for my own
needs without a MAJOR time investment, both in learning and then
implementing a customized solution. Nonetheless, I was convinced that the
basic foundation had been laid down, it is was just a matter of time before
Frontier became a full-fledged web site automation tool, powerful and
flexible enough to meet a wide variety of needs.
I had gone through the online docs and tutorials several times in the last
year or so, but had not gotten around to trying to use Frontier to produce
a real site until recently. Then, a couple months ago, I decided I MUST
automate the production of a web site I maintain, and was determined to
find a solution, whatever it took. I already had a tab-delimited index of
the site which I had imported into FMP, and 50 to 60 raw (no HTML or
formatting) articles that needed to be marked up with proper heading and
previous/next links.
My solution is only a partial automation of the process, but it still has
saved me many hours. I'm still marking up the contents of the articles by
hand (using BBEdit), and then use a Frontier script to loop through the FMP
database, which has one record for each article in the site. For each
article, Frontier:
1) loads the marked-up article from a source folder
2) adds a header and footer, containing the articles name, the author's
name, the standard site graphics for the top and bottom of the page, as
well as the link to the previous and next article in the site
3) saves the header/article/footer to the appropriate folder (the HTML
folder which eventually be uploaded to the web site)
Not a very complex or sophisticated solution, but it gets the job done, and
saves me hours in the process.
But the most remarkable thing is HOW quickly I managed to put the script
together. Prior to this project, I hadn't done anything with Frontier
beyond the basic tutorials, the "Hello Script," and a little rearranging of
Frontier's menus (something I would later regret). Not having any idea how
difficult it might be to implement my solution, I sat down determined to
succeed no how long it took.
The first step was to figure out:
1) how to talk to FMP
2) how to create a loop based on the number of records in a FMP database
Wow. It took all of about ten minutes. I looked at the Frontier/FMP web
page, and found all the information and pointers I needed there to learn
how to communicate with FMP. The suites.samples.basicStuff table of
Frontier had plenty of examples of looping. Within a couple hours, I had
the entire thing completed and working (though it required a couple more of
tweaking of the FMP calculations that created the page headers and
footers).
I couldn't believe it! My previous experiences with Applescript were
completely different from this. With Applescript, it was a constant
struggle with syntax, or finding the command I wanted was part of yet
another OSAX. Even the simplest project would turn into a major challenge,
often finding myself unable to coerce my data into the proper format.
With Frontier, however, everything worked just as I imagined! I would find
the appropriate command for my needs, either in the DocServer of by
examining the samples scripts, and it would invariably work the first time
I tried it. No endless maze of coercions: coercing a string into a path, a
path into an alias, an alias back to a string. With Frontier, all I had to
do was give it the right information to work with; it always knew how to
handle it!
After I finally had my FMP calculations written (and debugged), I ran the
script. Two minutes later, I had a new web site, a job that previously
would have taken me two or three hours from that point. Here's what got
produced:
http://www.tybee.com/chipnet/index.html
(I haven't even had a chance to add the "Made with Frontier" logo, or write
a short article explaining how the site is produced, but I intend to do so
soon. I also have a few minor changes to make to the script, but I'm sure
they will be relatively easy. Hopefully, a new issue, the second one
generated by Frontier, will be up in a few days.)
BTW, one surprise caveat: my script generates a new web page for each
article in the database, using the appropriate source file (which is listed
in the database), and placing the new page in the destination folder. It
turns out that this method works extremely well for a selective update of
the site. If I want to update just a few page, all I have to do is make
sure the new pages are the only ones in the "found set" in FMP. It works
with the following loop:
with objectModel, Filemaker {
articleCount = count (layout [1], record);
for i = 1 to articleCount {
« Page creation routine goes here
msg (dialog.notify ("Page creation is FINISHED!"))}
One thing I can't possibly emphasize enough is how painless it was to get
this Frontier script to work! It was one of the most satisfying experiences
I have ever had with any software tool. Throughout the entire creation
process, the only surprises were how easy it was If I wasn't sure how to
use a new command, a control-double-click would reveal the answer quickly.
I could even use DocServer to paste the command directly into my script. If
you don't mind my stealing a line: cooool.
Now I've started with Frontier 4.1--yes, that was the subject of this
letter, wasn't it?--and things are looking even better. Almost all of my
wishes have been met.
First of all, I was very pleased by the reorganization of the Frontier
menus. Previously, I had found the multiple entry points for different
commands a little confusing. I had tried to consolidate the menus into a
more logical organization, trying to remove the redundancy, but found my
changes would always create a conflict with some existing script or
command, so was resigned to live with the menu organization. The new menu
organization is perfect!
Then, linking Frontier to the (local) online docs was another major step in
the right direction, another step I had taken on my own with Frontier 4.01.
Having a mirror of the Frontier web site to download also makes it MUCH
easier to keep up with changes than it was before. Thanks for this
wonderful source of up-to-date documentation.
Then there's MacBird. Wow. I can't believe. With MacBird, you have added
the one final piece I needed to feel comfortable developing a Frontier
framework for web site production for my co-workers (at
http://www.intermagica.com/intermagica/). I haven't had a chance to explore
it at all, but opened up the MacBird application long enough to see that
the learning curve will be very shallow. MacBird is one of the most
intuitive interfaces I've ever seen. There's almost nothing left to
explain. I can't wait to start work with it. (I'm a long-time HyperCard
fan.)
What else can I say about Frontier?
I'm amazed with how many tools are ready out-of-the-box these days. After I
installed Frontier 4.1 and started up Eudora, I found an entire menu of
amazing commands, like "Reply to digest," "Reply to Author," "Run in
Frontier," "Insert [snip]." All of this is ready-to-go, built-in,
absolutely amazing. Start up MS Explorer (my browser of choice), and I'm
given menu choices to edit the current page in BBEdit, paste the URL
Eudora, paste the URL to the clipboard, and an easy path for adding my own
commands. Frontier is quickly turning into an useful tool for even those
who don't have the patience (or time) to learn scripting.
What else do I want from Frontier?
More of the same. The foundation has been laid, now it's time to fine tune
it and build on top of it. With Frontier 4.1, I can't point to any
particular area which needs work. All the basics are there. The application
is as powerful as ever, better organized and, as a result, easier to
understand. MacBird has added an interface suitable for an end-user. I
can't wait to see where it will go next.
One thing I would like to see, eventually, is a MacBird version of the
docs, completely linked to all the samples. I think that would be a really
exciting way to learn Frontier and a great way to show-off its abilities in
the process. Since the docs already exist in HTML form, I'm not sure if
producing a separate MacBird would be worth the effort, but it seems like a
perfect documentation interface to me. I'm looking forward to the day that
MacBird interfaces have been built for most parts of Frontier. I would also
like to see the desktop scripts with a MacBird interface.
Finally, I've found that the easiest way to learn Frontier, by far, is to
follow the examples. The most important piece of Frontier documentation
I've ever found is in suites.samples.basicStuff. To the extent it is
possible, the online documentation should refer to this collection of
samples frequently, and users should know that MOST of the answers to their
question are contained there. I also think new users would benefit from
suites.samples.basicStuff being available from the main Frontier menus.
(Note: it's not enough to point a new user to suites.samples, since most of
the useful and informative stuff is in the basicStuff table, I would want
to make sure that EVERY new user discovers this table quickly.)
How are you doing? Remarkably well. I can't wait to see what's next.
-Heath Tanner, heatht@interport.net
Technical Director
InterMagicA, http://www.penthut.com
P.S.: Perhaps it used to be more difficult, but I don't find the learning
curve for Frontier that steep. I have done programming with Basic, Pascal,
HyperCard, Applescript, assembly language, some C, and even a bit of Perl,
and I find Frontier's scripting language is as easy as any I've ever used.
The ample supply of samples combined with DocServer's capabilities makes it
easier to find answers to my questions than any other programming language
I've tried.
© Copyright 1996-97 UserLand Software. This page was last built on 5/7/97; 1:50:23 PM.
It was originally posted on 10/14/96; 6:30:02 PM.
Internet service provided by Conxion.