ERC Journal #2 from Richard Gaskin
sims
sims at ezpzapps.com
Thu Nov 18 01:30:56 EST 2004
ERC Journal Day 3:
Malte continued yesterday's overview of Rev
basis, wrapping it up with a demo of using the
Application Builder. He covered it well,
including the capability Monte added to do
instant builds from saved settings. But even
better was when he jumped back into multimedia
library and other tools and demos he included on
the CD he prepared for us attendees. His MM lib
is very handy, with the ability to move objects
along ellipses as well as circles, and it also
covers some path-based options that go beyond the
"move" command.
He also showed a new game he's been developing,
which is not only graphically attractive but has
some damn clever code. He needed animated loops
with richer colors than GIFs provide, so he wrote
some handlers to create looped PNGs with timers.
Coupled with his path animation libs, the game
makes extensive use of timers in a smoother way
than I would have thought possible.
Malte then showed an earlier game he'd made,
rather like Tetris in which objects falls from
the sky and you use the arrow keys to guide two
children holding a box to catch them. He uses
timers for nearly everything there, and has
enough clock cycles left over to do hit-testing
on all of the falling objects to see if they're
in the box. He does the hit-testing with the
intersect function, walking through the objects
with "repeat with i = 1 to 6". He reminded us
how slow the "repeat with" construct is, and says
that he has another game he'll post in which he
replaced that with "repeat for each" with an
order of magnitude better performance: he says
the new game does hit-testing on 550 objects with
no performance degradation. Astounding.
--
Frédéric Rinaldi covered a wide range of valuable
tips during his talk, including useful plugins
and tools, the power of the filter and match
commands, and an overview of the challenges and
solutions he encountered in making his new
product, FastMailBase.
His TabRuler plugin is way cool. One of the nice
things about a seminar like this is getting a
fresh perspective on stuff you already have on
your hard drive. Rinaldi's TabRuler is
pre-installed with Rev, and since I spend most of
my time in MetaCard I hadn't spent much time with
Rev plugins. No more -- TabRuler is way cool, as
is Rinaldi's PrefsBuilder, which makes short work
of setting up a Prefs dialog.
Rinaldi then showed is stack that demo's the
power of the filter command. I'd talked with him
briefly about this last night, and have a fresh
appreciation for the powerful combination of
using regex with filter. His Filter Demo stack
is an even niftier variant of his RegEx builder
(also bundled with Rev), and like its predecessor
is quite useful.
Rinaldi's FastMailBase looks like a great
product. It addresses a problem we all face:
managing large volumes of email. If you get a
lot of emails every day, leaving them in your
mail client will bog your system down. But how
to archive? None of the major email packages
have a decent means of archiving, but thankfully
Rinaldi is an inventive soul: FastMailBase can
archive mail from most major email clients,
including Apple Mail, Microsoft Outlook, Mozilla,
and many others. He provides extensive options
for specifying criteria for exporting to the
archive, and he uses the Valentina database
engine for efficient storage with rapid access.
Once in FastMailBase, your day-to-day email is
lighter and faster, and Rinaldi provide a very
complete set of search tools to dig through your
archives as needed, including the ability to
reply to a message directly from within the
program.
Frédéric also showed is the custom standalone
building tool he uses. He poked around in Rev's
App Builder to find the hooks he needed, and was
able to construct from that a very quick app
builder that does everything he needs to do for
making a perfect standalone every time - in just
one click.
He also reviewed some tips for multi-platform
work, including using special characters in
scripts, AppleScript/Shell/Registry/VBScript
calls, separation lines in option controls,
menubar behavior, window name conventions that
differ between platforms, and closing windows vs.
quitting on Windows.
--
After a leisurely lunch, Jan Schenkel began his
session on building enterprise apps in Rev with
an overview of database options, looking beyond
the tech aspects alone to consider licensing and
other considerations. His personal favorite for
many projects is RevDB, and he gave a demo on
setting it up and using it.
Jan then showed us a demo of Quartam Reports, his
very powerful tool for generating database
reports. It's very close to release, and very
polished. Every aspect of it, from the layout
tools to the Print Preview stack, all have a very
polished, professional look. Amazingly it
provides query support for nearly any data
source you'd want to use in a Rev-based app, from
MySQL to a stack of cards.
QR is cool. Very cool. Certainly worth the
wait. The Layout Builder is gorgeous, and the
query broker goes far beyond the old Nine to Five
Reports externals for HyperCard. All together
QR looks like a great value, with business model
that should be attractive for both beginners
needing a solution for their own printing to pro
app developers who need comprehensive printing
for their commercial products. Can't wait for
the public beta -- next week?
Jan also explored other parts of serving the
enterprise, including Internet services like
SOAP, XML-RPC, and more, and showed an example
app that demonstrates many common business
functions, including database access, sending
mail, a nifty use of the merge function for
formatted preview -- and all in a UI that
translates itself between three different
languages.
It occurs to me in reviewing these posts that
there's so much that words simply can't capture
here, about the million small ways face-to-face
get togethers do something that the list simply
can't do. Hopefully Andre will be able to employ
his wit to capture some of that, as he's
volunteered to take over as blogger-on-the-road
for the post-conference tour to Gozo.
More information about the use-livecode
mailing list