WWDC2004 Session 608
Transcript
Kind: captions
Language: en
I forgot I could use the podium mic in
the flesh
for attending it's a really good turnout
it's great to see you all here this is
database solutions for Mac OS 10 this
session will be a little different than
some of the other sessions you've seen
this week what we've done here is we've
brought for folks peers of your
developers just like yourselves up here
to do four different case studies using
different database backends so each one
of these folks is going to come up here
tell you a little bit about what their
needs were a little bit about how they
solve those and give you a brief demo so
it's it's more of an appetizer platter
than a full-course session if you will
and then instead of doing a Q&A for each
one of them I would just invite you
folks in to save questions and then at
the end we'll probably end right around
noon and we can just come on up and you
can meet the folks face to face and ask
their questions we'll also have
representatives of the different
database environments represented here
available as well as you can ask your
questions of one quick note before we
get started I know the original session
description talked about having a my
sequel case study we've had a scheduling
conflict we're not able to present one
of those but we do have four other very
compelling case studies here so I hope
you folks enjoy the presentation first
I'd like to bring up AJ from company
called market circle
AJ's solution is actually a commercial
product based on open base and here is
AJ to tell you about it I doing well
other than being nervous here we go
daylight is actually that's why it's not
supposed to show up like that but
daylight is a contact and sales
management solution specifically catered
to small businesses and sales
professionals so one to twenty five kind
of user so it's a it's an end user kind
of solution we fit in right into the you
know the day to day applications for
that target market such as Word Excel
mail that kind of thing it's an
application that has to be up all the
time so this is what it looks like it's
very graphical a lot of graphs a lot of
nice little calendar bubbles and and so
on and so forth I'll get into the
daylight specifics first of all it's
100% an objective-c cocoa application it
connects through the open based API
there cocoa API is actually they have a
whole bunch of api's it's built with
xcode interface builder ile modeler yo
generator CVS batch scripts does anybody
is everybody anybody familiar with AOF
or core data that type of thing so a few
of you so we've used some of those
techniques I while we haven't used their
technology with use some of those
techniques to build our application and
also the whole development process was
very iterative and I'll get back to this
for I mentioned this for a reason so
next thing was you know how do I add
some value to this presentation other
than showing you actually a product demo
which you can download and see for
yourself so I figured we'll show you a
little bit about how we built this
application first of all it's a hybrid
object relational system
it's totally key value coding compliance
kvc compliant and first of all we owe
wrong around order here first of all we
start off with foundation so as
everybody knows any cocoa application
you gotta have foundation the next thing
is the open base API and those are also
based on foundation but as far as we're
concerned that's the bottom layer
because that talks to the database on
top of that we have our persistence
layer that we've built ourselves and
that abstracts the database for us and
actually this is where our real model
you know you load in the Yale model
files and the whole the whole
schema is kind of built on top of that
we have the daylight substrate and this
is all objects you know we don't talk
rules here we don't talk tables here we
talk entities and and properties so on
and so forth and that layer is where all
the the daylight business logic it
resides it's totally in UI independent
at this particular point the next layer
is of course the app get within the app
get we use the document the document
pattern so to speak and some of you have
seen who have seen the core data
sessions you know about
document works and how a document is
basically your your portal to data so
Dale I can actually connect the multiple
databases at the exact same time on top
of that we we have window controllers
and it's very much the same thing as a
nice window controller just subclasses
that abstract a few things for us on top
of that we have object controllers also
very similar to cocoa bindings except
it's kind of our own stuff and we have a
plug-in architecture above and beyond
that one so that's our architecture as
you can see the bottom layer is just
roles and tables below the persist
halfway underneath the persistence layer
and above that it's objects and that's
what makes it totally kvc compliant we
also do object faulting and so on and so
forth in there so if you're a plug-in
you can just you know you're just
talking objects you don't have to worry
about touching this or affecting that
it's just done for you so a competitive
advantage as you can see we you know
we've abstracted a database we could go
really with any with any database so we
chose open base number one for its data
integrity in all the years that we work
with it we haven't had a single case of
data corruption we've had issues where
we've introduced a bug but that's a
different story but no issues of data
corruption per se and we have when we
have thousands of customers in all kinds
of weird situations multi-user client
server unlike core data or anything like
that is you know all over the internet
you know connect over the Internet
locally on a network so on and so forth
slow maintenance and ease of
administration very important for us
because our target user is a technical
neophyte you know it's a sales manager
it's it's a salesperson they you know
they don't want to know anything I just
want to download click and go so we have
automatic you know automatic database
cleanup on a periodic basis also when
you create a backup that automatically
cleans up easy schema updates now I said
a few slides ago that we talked about we
talked about iterative development guess
what a lot of times we would forget the
odd column or or whatnot in a release
and for our users is just you know you
launch the application connect to the
database you detect a a schema change
and we just tell you hey this change yon
update hit the Update button
and off we go we don't have to worry
about dropping tables exporting tables
you know adding the column all that kind
of stuff it's all very easy to actually
administer in marriage
small compact portable data files are
some of our customers actually deploy
the database on Linux
laris on god-forbid windows but our
target is really Mac OS 10 and it's
actually feasible we do have customers
doing those things of course an
application like ours we only need some
performance and query optimization and
we do use it use some of those but out
of the box open base is already pretty
performant and so we don't have to do
too many tweaks and in our stack there
we don't have to do we don't have to
make special kind of calls we do have
the odd one but out of the box it's
pretty it's pretty good powerful
features we have automatic
synchronization out of the box
I guess the other one is changing
notification and in the demo I'll I'll
show you that and of course our history
we've been working with the open base
guys since 1991 they you know there's a
great bunch of guys good support so on
and so forth so that was also part of
the decision-making process so I don't
know how many minutes I have left this
clock is not going how am i doing oh
okay I'll talk some more okay so we'll
go to the demo and what I'm going to
show you the synchronization as well as
change notification so we'll go to this
first machine this is is this the one
that's showing up here yeah there we go
so what I have here is I installed on
these two computers two copies of
daylight that you can just download from
our website nothing special on both
machines that install the default
database but what I'm doing here is I'm
connecting from this machine to that
machine in this particular instance that
what we're seeing here another thing
that we do is we have we use record
locking pessimistic record locking
actually and one of the problems with
with with that kind of strategy is that
if if a database or a story if a client
just dies for whatever reason they jump
off the network whatnot and the lock is
still in the database you have to
typically
go in there and delete a lock but with
open base the cool thing is is that
if you disconnect from the network
either you know something bad happened
or you just you know shut off your power
book it automatically releases the lock
because you're not you're not using it
which is a neat feature so what I have
here is I'm going to make a little
change here what's happening is we're
going to make a change it's going to go
in the database and automatically
without me touching that computer the
change will be reflected on that
computer so I'm just going to change
George to whatever and hit return and if
you could just switch over to this
computer here if you could switch to
this computer there we go you'll notice
that its first of all it's locked it's
not editable and secondly you'll see
that the first name field has changed so
this is automatic change notification
out of the box in in open base we can
switch back over here to this computer
now what I'm going to do is I'm going to
pretend on my laptop user and that's
connected to I've connected to the
server at the office and I'm going to go
out on the road as a salesman should so
what I going to do is I'm going to
create an offline database so here we
detect right away that we don't even
have an offline copy of the database on
this local computer so we're going to go
ahead and do that and Murphy's Law
hopefully won't come into play here and
mess up my demo what we're doing here is
we're creating the database on a local
machine we're updating the schema if
need be we're setting up the
synchronization rules and we're actually
doing the synchronization and there we
are we've what we've done now is we've
migrated the connection from the server
to a database on the local machine the
user doesn't even know the only way they
know is if they go to you know get
database info here it tells us that
we're offline now to go back you know
they come back into the office they they
want to either synchronize they can
either choose to synchronize with the
online database and stay offline or just
go back online
so it just synchronizes back online all
the data moves back and forth if you
changes on the master if you have
changes on the on the slaves they all
get reconciled and and you're back on
the you're back on the server in case of
a conflict master always wins so that's
my demo and I'm not doing too bad for
time there you go thank you very much up
next I keep forgetting I have to use the
podium like next I'd like to bring up
Chuck Schuldt from company called
weather central chuck is going to
demonstrate a editorial based workflow
solution and built around fourth
dimension thank you sir this one okay
morning how y'all doing
Here I am fat bald over 50 and a college
dropout and I'm talking at one of the
premier technical conferences in the
world is this a great country or what I
love this before I get started I want to
thank Brendan cub me at 4d and the folks
at Apple's for having me do this I hope
I don't disappoint them this is the
weather page for the San Francisco
Chronicle and that's what we do among
other things is produce weather pages
for newspapers all around the country
and as you can see this is a very dense
complex page I've got a very
sophisticated graphics to deal with
agate which would be all the city
listings that you see up there
the air quality chart right here changes
color based on what the air quality
readings or forecast is for the day so
we have an immense amount of data that
we have to deal with
by the way pardon me like I said I'm
over 50 I'm actually closer to 60 so my
memory isn't what it should be so I'm
going to use these crib sheets any time
you deal with the newspaper it is it's
deadlines dependent and time is our
enemy and this is that this is
going to be talking about is how we've
taken time and compressed it through the
use of Apple script and 4d what you're
seeing here is a rough approximation of
what our workflow looks like ten years
ago a group of us bought weather central
from its original owners and we did did
an analysis of each of the business
segments and on the newspaper side
it took nine people to put together
thirteen weather pages every day for
every five we calculated that for every
five clients we added we'd have to add
one additional staff member now to be
honest with you meteorologists don't
earn a lot of money I'm sure some of you
would say that's fine with you when you
get rained out of your golf game but you
can see that there's an economic problem
here we just had to find some way to
make it more efficient today including
the San Francisco Chronicle we have over
200 newspaper customers and we have
seven people producing those same 200
pages so that's a dramatic improvement
but we have to get even better now this
is what you see highlighted here is a
data acquisition side we get two hundred
and seventy five thousand files
streaming in from the National Weather
Service every 24 hours seven days a week
365 days a year
we have to sort through all of that
information and pick out the files that
we need the data needs to be sliced
diced parsed and processed in addition
to the 275 thousand files we have to get
all sorts of different information into
that database and it comes from a
variety of sources email websites faxes
telephone calls and includes pollen
information air quality Sun moonrise set
tables tide tables saloon or data
weather trivia we even have one customer
who wants bat data you know the Austin
american-statesman apparently bats or
anybody here from Austin gentlemen over
here so that's a big deal and we have to
get that information into the database
so once all of the information is in
there now we have to process it and if
you see where it says database up there
on the top
that's the 4d database and you notice
that everything either flows into it or
from it and this is where we're seeing
the greatest increase in efficiency is
because the use of 4d here's a close
oh cool I'm missing a slide that's all
right let me back up again all right I
want to just briefly tell you what we're
what we've got here on where you see
that where it says meteorologist those
are our older Jeep or Mac's that have
been recycled out of the production
process where we need the most speed and
on the production side we're running
dual processor one gigabit OS ten
machines where it's where you see the
internal server that's actually 2x
serves running they're mirrored and we
have kind of a primitive IP failover
situation so if we if the primary server
switches we can very quickly and
efficiently change over to the to the
backup and then the the website is
running a just an old OS 10 machine a
one gigabyte server and then we have a
dedicated machine for the 4 D server so
when all of this information is brought
in and stored the meteorologists can
call it up they can look at it at what
the national weather service is provided
and then based on their experience they
create their own forecast and they can
go in and modify the information
narrative pieces computers are very good
at repetitive tedious sorts of tasks but
they're not quite as good at new what we
would call news judgment and in writing
narratives so the narrative is always
entered by hand this is the production
phase and what these folks do is enter
in any additional deadlines dependent
information and then they issue reports
and you can see in them in the middle
these would be a series of InDesign tag
files needed for the Denver Post and
then you can see that all of the
information
the style sheets and any typesetting
coded information is used or is embedded
in those files that InDesign can then
read and it does the typesetting on the
page now what we found what I found I
have what I call my hover time when
we're in the middle of production I go
down and I watch watch the people work
and I put a stopwatch to one of my
better technicians and I found what was
happening was is that she would sit
there and wait 10 to 20 seconds watching
a little beach ball spin for the page to
complete production doesn't seem a lot
multiply that times 200 and a lot of
other scripts that run and all of a
sudden you're up to significant amount
of time in fact for her it amounted to
an hour a day now I don't expect my in
times for systems that's four hours a
day that's being wasted I'm not such a
terrible boss that I expect them to be
have their nose to the grindstone every
second of every minute but you can see
that there's some possibilities for
increasing the efficiency excuse me so
I'm going to show you folks what we've
done with 4d you have to Cuddy okay
I love technology in this cool it's a
little blue bluetooth mouse wireless
okay use your imagination here a little
bit in the background this would be the
server running this guy over here is a
remote machine now if you picture the
picture that schematic I showed and
you're adding two or three of these
remote machines that do nothing but sit
there in assemble pages there's nobody
sitting at them it's all done remotely
so that's this is running a forty client
over here and then this is our where the
production technician would be setting
and there's it's very well designed
console metaphor that shows what clients
need to be run we can we can sort by
shift and you can see we do it
geographically east-west and then
there's a third shift called nap naps or
I can show them all it tells what the
deadline time is gives a status in this
case data is needed and then any notes
or error messages are displayed here so
you double-click and you can go in and
look at those notes all right what I'm
going to do here and I need to describe
this to you before it happens
used to be able to walk through these
things and and as they occur but it
happens too fast that I wouldn't be able
to do it I'm going to click on this mark
data okay
it means all the data files to come in
so what's going to happen is the console
here is going to talk to the database
the server and set a boolean flag this
guy over here is continuously checking
with the database to see if any of those
boolean flags have been checked what
will happen is it will fiat data is
ready I need to report the files and
then I need to get an Apple script
that's stored as text think about this
I'm going to get the Apple script that
stored as text and then I'm going to
take it and I'm going to send
to the operating system on my machine
until the operating system to compile it
and run it okay so we mark data okay
the server throws a confirmation dialog
and lists any problems that it knows
need to be solved before you can
actually do it it's a way of making
certain everything's cool
click on yes now it's sitting out there
watching it'll take a second here there
goes the report but the files have been
reported now it's going to launch quark
Express
and now it's going to launch QuarkXPress
come on
I'll see I'm drivin here
well wouldn't you know this was going to
happen to me I told avi it was going to
happen to him what's the error page
problem encounter Brad designer
let me clear these errors and we'll try
it one more time anybody here from quark
good I knew it I knew I should have done
this an end design instead of quark okay
let me try something real quick here
all right
bear with me it works it really does and
it's not for a tease fault I can tell
you that right now okay we're going to
mark data okay clear the error message
it will re report the files reports the
files well I'm bummed let me do this
real quick see if we can't get this to
work it worked ok now so the page has
been assembled the production technician
would come in and they need to proofread
the page so they would open up the page
make any changes that that needed to
need to be made save it close it come
back and mark the pages proofed well I
apologize folks I don't know what
happened anyhow that's my story and I'm
sticking to it it is very fast it's very
efficient and it does work thank you
very much
sorry ties it's probably our fault for
asking folks to take client-server
processes and cram them all onto a
single power book and without a whole
lot of notice and come up here and try
and deliver those so it did work in
rehearsal I can vouch for that for Chuck
the the next solution we like to focus
on is a patient management solution
built by folks at info matrix using
FileMaker Pro and a complimentary
product known as sync deck and so we'll
call up Eric Youngman to present the
info matrix story damn all thanks can
you hear me okay
good how many folks in here have used
FileMaker before wow that's great that's
fantastic so today I'm going to talk
about a couple of things one is a
concept called the nimble app in fact
the other two presenters are really
demonstrating a lot of the
characteristics of a nimble app and I'll
get into that in a moment but really
it's focusing on how do you deal with
things called edge departments these are
in the enterprise the departments that
are around the edge that you just never
can seem to get to with the core
enterprise capabilities
CRM ERP etc and techniques to use that
and frequently it's done with FileMaker
info matrix which is my company is a
consulting company based here in
California and we have five general
partners and we've all worked together
for 20 years now the only reason I
mention that is as we go along here
you'll see that when you have five
people that have worked together for
twenty years it's kind of an ongoing
soap opera flood fest etc and from that
and from our enterprise perspective
we've come up with this concept called
the nimble app nothing that we invented
just ideas that we pulled together
through our experience all of us are
developers who as we
got older as we got more experienced
rose up through the ranks to become CIO
CTOs general managers and senior
development executives and of course for
any of you how many people here manage
developers so it's a fair number of
hands you know that one that occurs and
the higher up you get the less time you
actually spend on the technologies in
fact you're trotted out for dog and pony
shows like this instead of actually
getting to work with the technologies
and it's a problem and it became a real
problem for us so we eventually got
tired of it and said we're getting no
development ban which we really like to
develop and so we formed our own company
so we like to do consulting and
development and I think those two things
go hand in hand usually when we're
consulting we see problems that we can't
resist getting our hands into the middle
of and also because we've been
successful in business and we have
access to capital we've helped found
several successful companies so that
gives us another perspective now the
nimble app I've got a white paper which
at the end of these slides there's some
links or if you give me your business
card I'll make sure to get a copy to you
and it's a white paper that talks about
these concepts these edge departments
and these edge departments are things
like this and I'm sure all of you get
encounter these kind of departments
they're departments that you can't get
to the with the big backbone systems
number one number two they might be a
department that's doing something
entirely different than the the
essential central thrust of the company
so they're just foreign to the company
and they they don't get the support that
they need or it's something that the
company intentionally launched a new
venture that's also doesn't link into
the to the systems and these these tend
to be rapidly evolving situations you
can all of you relate to what I'm
talking about here I mean this is a
common problem and they generally get
short shrift and it's not by the way
because
the IT department doesn't want to
service them that's not the issue at all
this is not we're not knocking anything
here we're just saying this is a fact of
life and so because they're rapidly
evolving and because they're at the edge
because they probably can't muster a lot
of budget you need to take different
approaches and so from RIT perspective
and our enterprise perspective we came
up with this series of concepts to
address them and you can apply these
techniques to a number of technologies
however the two technologies that I'm
going to talk about are the two
technologies we use to address these and
we think that they're enormous ly
effective to do it and we'll give you
some reasons why and that is FileMaker
and sync deck and I'm going to talk
about each of them but the analogy that
I like to use was one that in talking to
Tyler about doing a presentation here
came to me because it happened to me
right and I was developing one day and
it happened on TV in front of me which
is spaceship one right the burt rutan
go into space you know the whole XPrize
three people not into orbit just into
space and then come back down
you know weightless for three minutes
kind of thing so you got that model
right and then the Space Shuttle model
which is I want to get a couple of tons
I don't know how many tons I want to get
that into orbit all right one of them
you can fly every two weeks and one of
them isn't flying right now flies you
know best case every three months I
think I don't want to you know overly
characterize it but and it's a major
thing major multi-year kind of project I
think Rutan started maybe three years
ago on on on his project you can see
that there are two entirely different
models to accomplish sort of the same
thing so what are the what are the goals
of the nimble app well the one I want to
focus on today is common code base okay
a common code base to address what well
with one code base we want to address
server users and edge departments that's
people that work in the office all day
mobile users that is people that are
from the office they're out in cars and
airplanes and they're all over the place
individual users and collaborative
communities they maybe because this edge
department may really not even have a
server it may have ten people that
collaborate together they may be 10
lawyers working on a case
you know who knows web users and a high
degree of integration with the
enterprise that bi-directional that is
data that they that they collect in this
edge Department being able to be used by
the enterprise and vice versa certain
kinds of builds that occur within the
enterprise data builds that flow
outwards and to me because this is not a
big budget item you need to have one
code base you need the efficiency of one
code base so let's talk about FileMaker
7 FileMaker had a booth here since a lot
of your FileMaker people I hope all of
you had a chance to at least look at
FileMaker 7 we're hip deep in FileMaker
7 and we really like it and I was going
to go down a laundry list and in
reviewing the slides with Tyler he said
you know why don't you tell people what
you like about it so I said ok great
here's what we liked about it 1 the
ability to do dual platform
transparently I'm a Mac fanatic living
seamlessly in a PC world I write
applications and I don't even think
about whether they're going to run on a
Mac on a Mac or a PC I almost don't give
much thought into where they're going to
run the web either closely coupled GUI
and database that is you know in in
development everybody talks about
different layers of things and we're
cool about that but in these edge
departments we're going to turn a lot of
this stuff over to that edge department
we want them to be able to write reports
you know we don't want them to have to
get in a queue an IT to do stuff so
closely coupled doing in database is a
very big thing low QA time is very
important when you write it it almost
has to work just after developer unit
testing it has to work it can't go in
through you know three rounds of QA
there
not the budget there's not the time it's
evolving too rapidly so these first
three things are huge and and FileMaker
seven delivers them and importantly and
and vastly expanded from FileMaker six a
common code base for web publishing
instant web publishing or iwp is
tremendous in FileMaker seven we we take
some very complex cookies and I'm going
to show you a couple of them in slides
I'm not brave like Chuck was and I'm not
going to try to do a demo just some
slides but very complex movies with the
same code base over the web you don't
need to think about it quantum leap from
FileMaker six but still familiar that's
it that's a huge thing so if you've
worked in FileMaker a lot the biggie at
the top of the list is in a file you can
have multiple tables so in in the
application I'm going to show you which
is used in FileMaker 6 with a 30 file
system is now a 1 file system with 30
tables makes it a lot easier to deploy
and manage it's it's just a lot more fun
to work secondly along with that a new
what looks like an N any relationship
diagram which is really a kind of a cool
table occurrence diagram that more
accurately presents views the way they
occur in the database script parameters
custom functions it's a whole long list
I'll let the FileMaker folks talk about
that another thing that we really like
about it is once we deploy it's very
stable and easy to administer compared
with other database technologies it just
works
that's what we expect in the math world
well that's what we get and we have
databases deployed in places where
there's no IT people around and the and
the date and they just work they can
turn them on they can turn them off they
can read the errors it's sucker the
other thing we like about FileMaker is
it's it's of sufficient size I think
that they have about 9 million licenses
out there so it has a big user base and
a great developer community and lots of
plugins so that we don't need to
reinvent the wheel oh you need barcoding
got it you need synchronization
technology got it which gets us to sink
tech five we had a need as FileMaker
developers to deploy a synchronized
solution for remote workers mobile users
in this case I'm going to show you today
it's it's medical case managers that are
driving around visiting hospitals and
skilled nursing facilities and so we
went looking for a plug in and our
research my research led us to sink deck
in Berkeley California and you know it's
fun when you first approach a product
right you got you kind of get some
expectations so my expectation was
Berkeley California got to be really
smart people one of my other partners
sort of muttered might be too smart you
know this is the sort of Socratic
dialogue that we have back and forth
yeah but what about BSD you know kind of
back and forth yeah but might be getting
ahead of themselves that whole thing but
it turned out that I was right really
smart people with really pragmatic
technology now what I go to look at is
who's using the technology and in the
case of sink deck I got attracted to it
immediately because it had a blend of
customers I'm going to mention that NASA
and Lockheed the the International Space
Station engineering drawings are
coordinated in Europe Japan in the
United States using servers FileMaker
servers to coordinate those and those
servers communicate with sync deck so I
thought okay that's pretty cool they
probably run the thing out and then I
found out that it's used by most of the
major touring bands in the world to
manage the tours what does a tour got to
happen every night right on schedule
people running around like crazy limos
catering flights you just you name it
you can imagine and it's all coordinated
by FileMaker using sync tech technology
by a really cool company called PC guild
so I really like that and then the
sports organizations we're using it for
their scouts in the field so they go to
games and get statistics and feed those
back so very cool customer base that
immediately attracted me secondly it was
developed on Mac I thought that's cool
third transparent and use between Mac
and PC now this is what we expect in the
FileMaker world
the synchronization can be a little bit
differently transparent the current
product fives think that five has is
essentially a plug-in communicating to
essential set of Java and XML based
services and so I think that's very cool
and leveraging very strong FileMaker
seven XML support which is a big thing
in talking to the enterprise
I love the fact that FileMaker has JDBC
ODBC XML and all these capabilities if
we need to talk to something we can look
look at the room
okay 6x5 what does it do simply it
synchronizes FileMaker databases now
what can these be first of all they can
be collaborative communities if four of
us had the same database and we are in
four different parts of the planet we
could synchronize our databases together
which is very cool if you try to think
about how you might do that without a
VPN kind of technology getting involved
with you know IT networks and things
like that it's hard to do secondly
mobile workers synchronizing with a
server and that's that's the problem
that we had to solve but I really like
that we could solve any of these other
problems as well
server to server you got a web server
over here running from FileMaker that's
really busy and you've got a another
server over here that the users are on
you know it's too big for one server
although that's getting increasingly
hard in FileMaker 7 because the
capacities for everything have gone up
but nonetheless you can synchronize the
two servers so you got server to server
and a mix and match of any of the any of
those four or three capabilities there
Jason Ericsson who's here somewhere
right there Jason Aaron who's the
president a world thing calls it
database synchronization for the rest of
us and indeed it is and we like it
because it's both practical and
inexpensive there's not a lot of
plumbing that you have to do once you
install the resources in sync deck you
just develop and it will synchronize how
it works well
this is the part that really almost
started we started laughing when we when
we got in the middle of this one is the
synchronization is asynchronous that is
you decide when you want to synchronize
press a button kind of go from there or
run a script or whatever it uses email
one email account per node transmits
compressed and encrypted shuttles that
is the data and only the change data is
sent over email compressed and encrypted
with field level tracking and conflict
detection and uses a FileMaker plugin
with some script and field resources to
accomplish that so it's pretty cool it's
simple
no complicated server no additional
stuff you just need a mail so you don't
run that server the transparent Mac or
PC and it's a patented approach the
things that guys have been working on
this for about five years the other
thing is that we like to big things that
we like first of all is vom version
update manager this is big in the
filemaker world we can make a change and
then project that change to any of the
servers or clients on those servers
using sink deck
that's very cool you make a mistake you
want to add a button you want to add a
layout you want to add a file you want
to add a table you can do all of that
and then we can monitor what's going on
because we can be a node on those
systems and see the data changes and
make sure that everything is going along
okay the medical world application that
I'm going to show you briefly is a
critical-care managing critical care
people on ventilators these are the most
ill people in our society and the and
the expenses in this environment are
really high and the people that develop
the approach that we develop the
software for really had some great ideas
on how to how to drop cost and get the
care higher they have an office staff
case managers they have a feed to
National Institute of Health they don't
have any internal IT staff pretty
talented office workers but no IT staff
and very complex data needs with high
security so we use the nimble app
approach
and I'm just going to show you a couple
of slides if you just if you just look
at that that is if I'm a case manager in
the field
that's the screen that I get if I'm in
the office that's the screen that I get
if I'm on the web that's the screen that
I get same codebase
this is an evaluation screen lots of
medical data don't need to go into it
but same whether I'm in the office I'm
mobile or I'm in the web notes by the
way the other thing I want to mention is
that they switched we started out they
were an All MAC shop we showed up we're
doing math development and guess what
happened they finally showed up one day
one of the guys that had a broken
compact and we loaned them an iBook and
it started this cascade and so in a
couple of months they'll be all Mac
they're gradually all iBooks in the
field
server is going to change etc so very
cool and very very easy to do from a
development standpoint thank you very
much these are all such exciting
solutions you could just talk about them
for days but here's our final one I'll
be Tristan from Harrison base view it's
going to show a number of editorial
solutions after he finishes blessing his
demo machine a number of editorial
solutions based on Friday
good power Brook good power book a thank
you Tyler actually a brief apology I
learned very late that if you leave a
voicemail and an Apple employees
voicemail box and you started with hey
this is avi We Need to Talk it kind of
freaks them out
anyway hi I'm avi Grisman I'm from
Harrison Base EU and I'm here on behalf
of front base well who is Harrison base
view well as you can say see it's two
different companies but not really it
serves publishing in Melbourne Florida
and basically products up in Ann Arbor
and we work together to build all kinds
of publishing solutions primarily for
the newspaper industry we're division of
media span which owns a couple of other
companies who do very similar things but
for different media industries and
tariffs and basically together have more
than 2,800 customers worldwide which
makes us I believe the number one vendor
of products in our field and they
actually like us to not I mean we're
number one but we have very high
satisfaction ratings we do all kinds of
stuff I'm not going to go very very
in-depth in all those fields but in
general if you pick up a newspaper
I mean first thing you see is the
articles so we have an editorial
solution we're got people out in the
field and they file articles and get
laid out on the page you got to keep
everybody in sync advertising that's
more like classified advertising where
you've got pages pages and pages of
classified hat those aren't laid out by
hand goodness so we got stuff that will
automatically crank those out bill
people whatever circulation people are
paying you for the newspaper so you have
to keep track of who's paid you and you
have to give them their get them their
papers so you have to organize who
carries the newspapers that carry your
routes and all that stuff production is
for almost everything else like display
ads and so on most customers aren't
going to come key with camera ready copy
and say hey but the fence well if they
do what's nice but in most cases are
going to say um I'm going to need an ad
and it's going to have to say such and
such and such and such and you get to
build it so you got to keep track of
whose ads are coming in and whose heads
are going and are the ads ready for
today's paper because you can't hold the
presses
if someone's grown up and Internet is
listed there as the last point but it's
everywhere pretty much any of the other
products have internet capabilities so
you can go on the web and have your
customers don't do their own thing
or we also do some ASP services so if
you don't want to host it yourself you
don't have to we'll go take care of it
for you so who's using front base well
we've got four products
well three right now circulation Pro is
our circulation program that goes and
keeps track of who's getting your paper
they're currently web objects app and
they're using front base because they're
JDBC driver and their web object
integration ad manager Pro is a
classified ad solution and syncs
classified ads require you to see what
you're doing that's more of a desktop
app solution so we actually used real
basic for that and once again front pay
so it's real basic plugins make that not
problem production manager Pro within
the next year we are hoping to do some
major work on it and soon enough they'll
be using front base but I'm here on
behalf of the editorial team and we just
finished up use at a pro IQ we just
announced it at the next post conference
last week
that's our icon up there that's an
editorial solution and we're building it
piece by piece
server this is more of a traditional
server kind of approach
we're doing it as a j2ee application
using an application server called JBoss
if you want to check that out well you
missed session 610 but go check it up
behind the BPD but the idea is it's a
j2e application server that's free but
also very very powerful and we love we
love it it allows us to go access things
using each of the entity beans we need
to get to our data sometimes EJ bql is
just not good enough and we have to go
straight to the database we is the great
ABC driver and we can go for me at
whatever ridiculous queries we need to
do to support the user functionality
wise egb session beans and single TM
bean because j2ee spec doesn't let you
do singleton so some technical stuff
after a client's well most of the
end-user clients are actually carbon
apps that we brought over some
cross-platform stuff with some
incredible magic we have some Java
applications for the
creation of the server but those aren't
what the user seer at this point they
connected this server using a
proprietary protocol actually flattened
Apple events but don't tell anyone and
tools pretty much friend base is very
standard so whatever tools we want we're
also very very laid back
so pretty much we build you think if you
can if you want to use a different
editor go ahead we got people using a
cliff IntelliJ J builder but as long as
you build the fans and you don't check
in anything into the server that breaks
the build we don't care oh and like
implement the features you need to but
that's a different matter
so why friend pace I mean we took a look
at very different a whole bunch of
different application from database
servers and we've decided on front base
for a couple of reasons I mean the first
batch of reasons here is simplicity it's
easy to install now I mean I'm not going
to say I'm a stupid guy and I could
probably make anything himself I tried
hard enough but why bother when you take
a look at a database solution and you
say click click it's on there and it
work and you don't have to worry about
installing it that saves a lot of time
for me because then I can go in well
write code and do all the other stuff
that I'm paid to do instead of going and
fiddling around with an install and it's
also very important because we go on
sites of these newspapers and we install
our solutions for them and well I don't
go but we have instance fellows and
trainers and they don't necessarily have
all the skills do that so just being
able to say click click it's installed
go on to the rest of this stuff that
needs installing instead of having to
worry about it is a very good asset that
we've got less configuration means more
time to do real work and low maintenance
these are newspapers and they've got AC
staff for busy running around supporting
while quark and others lay out stuff so
they don't necessarily have the time to
fiddle around with DDA's and stuff so we
want to make sure that they don't need
it and fortunately they don't but it's
not a toy this is not some cheap little
database that if you're lucky kind of
working support stuff it's sequel 92
compliant so there are three points I
wanted to
make the third one I just came up with
the other day so it's not on here
feature number one the thing is is that
it's got all the features that you want
for example sub select we use them all
the time
and you don't have to worry about well
is the feature in the database that they
just added is it in the next release no
it's there if it's in the standard and
the second thing is you don't have to
worry about syntax well for a standard
sequel is varied and everybody
implements it in just a different way so
then the question is well how did they
do it you have to praise it this way I'd
have to freeze it that way you know you
just open up your signal ninety-two
standards a book and whatever they say
that works another interesting thing
about signal 92 compliance is they're
very strict so they don't mess around
and then you did integrity if you try to
pull any fast ones over on them their
database engine does not like you but by
the time you get it working very well on
front base you have not made any
mistakes another feature that it's God
is clustering we took a look at what we
could find for that feature in other
databases and either it's not available
at all or it's at a price point that we
just couldn't afford so clustering S at
the price points and at the ability the
ability that we've got works great and
control via JDBC we can do all kinds of
stuff via the dropper I mean yeah
creating the destroy tables sure but
creating straight databases backs them
up
start and stop them not everybody's JDBC
driver can do that when in general we've
got other issues that we needed to
contend with platforms we needed to make
sure that even though it was available
on other platforms like Windows and UNIX
and other stuff like that we wanted to
make sure that it had OS 10 support and
it's not always easy to make define that
price wise for the features that we got
we got the pricing is very aggressive
and very cool and support has been
absolutely incredible so I'm going to
actually attempt a demo and so if we
could switch to mr. power book here oh
cool thank you very much this is our
administration tool very briefly I don't
want to go into too much depth on
him but he'll just show you the kind of
things that we've got so here are media
products ie newspapers so we've got
basically bugle I don't know
my favorite newspaper of choice
priorities here users and so on but this
one actually is a swing app and it works
pretty well
there's our control app but pretty much
everything works in news edit pro this
is our you end-user app for most end
users and so let's go file a new story
in the database so we're going to go dub
dub DC scoop if you open up a new
document I'm going to use our files
macro key to just drop my title in and
position it there and so I'm going to go
write a story unfortunately I'm not
really fast timer so I'm going to go do
another styled macro and just drop one
in really quick so if we go command
quote because this is Geneva and this
font is just obviously you can quickly
see what you've got this is not what the
newspapers printing and goodness know so
you can go hop the preview and know
looks pretty cool
hop back for a preview and so let's go
to turn off preview I hit that make a
new headline say okay it's like 30 inch
display or 30 inch screen dub dub DC and
so that's going to overflow so we can
highlight that and go make the font a
little bit bigger we can go in to the
headline and drop the box down to fit
the headline preview that boo wonderful
so we go to save that and close that up
now we can also deal with images too so
if we go in and do a saved search for
our images let's see what we can find
we've got lalalalala I think I saw the
other day while preparing for this ooh
and draw so we double-click her and up
it comes in Photoshop so we go and if
Photoshop didn't work I wrote the
plug-in for that so I know who to blame
so let's go in and zoom in crop in save
yeah yeah yeah and as soon as we close
our plugin kicks in updates database so
when we do an update of our image search
there she is
cropped in and then finally since you
want to get things out on paper you're
going to need to do layout so let's pull
up our template search so I minimize
search and we've got quark and indesign
support I'm going to choose InDesign
today actually more permits for a
familiarity I wrote the plug-in again so
once again I get to berate myself if it
just doesn't work right zoom out a
little bit hop back to new that it's my
stories now since I just filed that
story that search searches for anything
I created it's right there so I just
take the file and it just drag and drop
it right onto the patient so there we go
now it actually doesn't match the
margins if you do that so you zoom in
and zoom in and the text is there and
you can see the style sheets match up
and the characters files and all that
stuff and it looks pretty cool if we go
back to news edit back to the image
search you can grab an image and just
drop that on the page and if you notice
that it automatically keeps the caption
as well should probably not drop that on
top is a caption in here I didn't demo
with this exact image so there should be
a caption there honest so I could
probably go and come on I've got to go
make a cool demo drop it on there and we
have a caption on that photo there we go
so that image has a caption and so and
you go and you print and you outcomes
huge piece of paper and the process I
run 20,000 copies an hour in
you make everybody happy and so this is
pretty much our system but pretty much
everything you see here from the
articles to the pictures down to this
style sheets themselves everything is
running in a database called front base
thank you one of them one of the ground
rules for this session was all the
different database plan of
Representatives would play nice
unfortunately I didn't broaden that out
to don't pick on any page layout
applications for more information so
here's contact information for the
different presenters you've seen if
you're interested in any of the
solutions that they showed you today as
well as my contact info on there and
reference in case you've never heard of
Google or any other search engine these
are the URLs for the different database
providers