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