Art and Antiques, Craft and Gift Store Gallery Management Software                                                
 
 
 
     
  ART WORLD NEWS ARTICLES by James B. Archer - President, Masterpiece Solutions, Inc.
 
 

Choosing & Managing The Right Database Program

Organization is the key to a successful business. An effective database program can organize schedules and inventory, sort and analyze data and strategically arrange customer information for promotions and mailings. My goal with this installment of Art Circuits will be to offer you some guidelines on what a database program is. My hope is that this will help you to evaluate and choose the right database program that will address your current needs and be flexible enough to help you project for the future.

“Database” and “Program” The two words go together so well! But in truth, they are two very different things, each of which has its many strengths and weaknesses. This is definitely a case where the value of the whole is far greater than the sum if its parts. It is the marriage of the two, database and program, that has, literally, changed our world. And believe me, a “Database Program” can change your world also!

Let’s talk about Databases and Programs. We’ll begin with databases, since a program doesn’t do much unless the underlying database is there. A database is a grouping of related information. It can be as small as a list of email addresses, or large enough to include every piece of inventory, customer, and sales data for a gallery operation spanning multiple locations with multiple computers in each location.

For these large databases, the information is usually broken up into TABLES that hold different types of information. For example, you could have one database that holds both inventory and customers. But these two pieces of the puzzle would be in two different tables.

Each table includes a ROW for each piece of information. So, each customer in your contact table would have it’s own row in that table. Breaking it down further, each row in the table can be broken down into individual COLUMNS. So, for a contact, the first name may be in one column, and the last name in another.

The entire bundle of all of your columns, rows, tables, as well as the rules that connect them together, make up your database. There are several database products that help you to group these tables, rows, and columns into some manageable order. But not all are created equal.

At the bottom of the database food chain are products like Excel, WordPerfect, and Outlook. Yes, Excel, WordPerfect, and Outlook.

“But, Excel is a spreadsheet “, you say.

“That depends on how you use it”, I reply.

If you use excel to total a list of numbers, or compute the amortization schedule on your new Beemer, it may be working as a spreadsheet. However, if you just use Excel to enter a list of inventory, than you’re not really using Excel as a “program”, you’re using it as a place to store your data. A database. And, while Excel has a lot of power, this is not an application that really takes advantage of its power.

The same is true of WordPerfect or Outlook. “But one’s a word processor, and they other is an email program”, you say. “Those aren’t databases.”

To which I would reply, “But if you use them to store your mailing names, then you’re using them to consolidate and store data. That’s what a database does.”

Outlook is a great program. I use it all day every day. But, I don’t use it to store all my customer contact and marketing information. So what else is there? Well, next up the database food chain are products like Access, or FilemakerPro.

These products have good structures, and come with the ability for you or someone else to write a “program” that accesses and manages the data that is in the database. I’m going to talk about programs later in this article.

These two databases are great for the home or small business user that wants to do their own thing. For example, if you want to set up your own database to track your inventory, you can do this pretty easily with Access or Filemaker. You map out your own tables, including the columns that make up the tables, and then the tables are linked together in the database.

A third type of database, called FoxPro, can also be used very easily in this capacity, to set up your own structure, but it’s a little more sophisticated, and faster, than Access or FileMaker, at least in my opinion. FoxPro tables are made in a similar manner to the dBase tables you may have heard about. Microsoft actually bought out the FoxPro company several years ago. At the time, rumors were flying around that they wanted to kill off FoxPro and use the FoxPro search technology, which gives FoxPro it’s speed, for the Access database. Thankfully, there are enough geeks like myself all over the world that still use FoxPro, so they haven’t been able to kill off the FoxPro product. It’s alive and well and it remains, in my opinion, the premier database programs for small to medium needs. The next generation, FoxPro 8.0, is due out any day now.

Each of the three products above can also act as “Relational Databases.”

A Relational Database is one in which several parts of the database RELATE to each other. Suppose that you have a list of artists. Each one of the artists can have several pieces of art in your gallery. Each artist can also have several addresses, or phone numbers. In a relational database, we don’t have to repeat the information that stays the same when we enter all the records that are different.

We do it like this.

When we add the artist, he or she is assigned a number – in this case, say the number is 2007. It’s not important what the actual number is – it has NO significance in the real world. This number is called it a “primary key.” The number must be unique to that artist and, depending on the PROGRAM we use, we may not even have to know what the number actually is. The program will take care of that for us.

After assigning a number, we continue and add the artist’s first name, last name, company name, tax id, commission rate, etc.

Now, when we start entering inventory into a new table, we COULD enter the artist’s first name and last name into a field called “artistname” in the inventory table. But we could also just enter the NUMBER for that artist into the table as an “ARTISTID”. Why is one better to use a reference, rather than repeating the information in more than one place? There are a couple of reasons. One is to save space, the other is accuracy.

How many characters are in an artist’s name? Well, we’ve found that we have to allow for about 50 characters, even if most artist names are much shorter. Add the artist’s company name, and you get at least another 50 characters. If we have a table with 10000 items, then if we have an “artistname” field for each record, and a “companyname” as well, it requires space for 1,000,000 characters [10,000 x (50 + 50)] in that table to handle the artist names and companies, even if these fields are EMPTY. That doesn’t even include the artist’s address, tax id and other information.

Now, if we use a NUMBER to RELATE the artist record to the inventory line, we only use between 4 and 10 characters. Suppose the piece of inventory we are working on is for artist number 2007. We can easily look up the name, address, company, taxid, etc for artist 2007. In fact, our PROGRAM might look that information up for us automatically and display the artist information on a screen along with the inventory information.

Ok, that saves space. But what about accuracy? If you have the artist name on each line of inventory, you probably use “cut and paste” to copy information from one line to another. That is, as you enter inventory for Ansel Adams, you might copy that name down the list instead of retyping it for each piece. But what if your office assistant is entering inventory for you? And they enter the name as “ANSEL ADAMMS” instead? And what if they did this for 375 prints? And what if they also screwed up 6 other artist names?

WITHOUT a relational database, you would have to update each of those records and correct all of the mistakes. But WITH a relational database, you only have ONE artist record for Ansel Adams. The inventory just has the artist’s NUMBER there. So, you go in and you change ANSEL ADAMMS to ANSEL ADAMS and you have instantly changed the inventory for EVERY piece that RELATES to that artist.

Now, just because a system CAN be set up in a RELATIONAL way, doesn’t mean it is. It is up to the database designer to make sure that everything is cleaned up. I’ve translated data from lots of other gallery management programs and I still can’t believe how many designers that use Access or FilemakerPro fail to use the relational aspects of these products properly.

Failing to use the relationship features can actually be dangerous, because you can have the same information in more than one place. Here’s an example. Suppose you have a mailing list record. It would probably have addresses and phone numbers in it. Now, suppose you also have a sales record. During the sale, a customer might give you their address and phone number, yes? If you were designing a new database, it might be tempting to put the customer address and phone information directly into the SALES table. This is easier to program than relating the sales table to the contact table. But it would be a BIG NO NO. Why?

Well, suppose the customer calls in a year, and informs you of their new address. You would naturally go to the contact record and update their address. Would you naturally go to the sales record and update that address? Well, 6 months later, you may want to print a mailing to everyone that you SOLD an Ansel Adams piece to. Since you have names and addresses in the sales record, you decide to pull the addresses from there. What do you get? THE OLD ADDRESS! If the sales record didn’t have an address, but it REFERRED TO the contact table instead, than you would automatically get the CORRECT address.

Before I talk about programs, I also want to mention the top of the food chain, so far as databases are concerned. If you have lots of data, or several computers, the databases above can start to slow down. Access and Filemaker are really bad at moving lots of data over a network, but even FoxPro will begin to slow if there is too much data to cope with. The problem isn’t actually with the database itself, or the program that is accessing the data. The problem is with the network design and how the data gets from the SERVER to the WORKSTATION. In this environment, you want to use a product like ORACLE or SQL SERVER( That's pronounced "SEQUAL SERVER" ). The databases above usually run in a PEER TO PEER mode, whereas ORICLE and SQL run in a CLIENT/SERVER mode.

Yes, I’m going to tell you what that means.

First, Oracle is a very large, very fast, and very expensive database. It’s used for airlines, insurance companies, and search engines, that have more data to manage than you can even imagine. It’s not a consideration for anyone I know in the art industry. Besides, according to Bill Gates, SQL SERVER (a Microsoft product) is better and faster than Oracle anyway. I don’t know if that’s really true, but I do know that SQL is certainly more than adequate for our needs.

SQL Server is a product that is still used for LARGE databases, but is reasonable enough in price for a mere mortal to think about using. Some galleries that have multiple locations, or thousands of records (clients, pieces of inventory, etc.) from several years worth of data, may need to use SQL to manage the data.

MSDE, which stands for MicroSoft Data Engine, is a scaled down version of SQL SERVER but it is optimized for 5 connections or less. Think of it as "SQL Lite". It is used in businesses that have lots of data, and several computers, but do not run multiple locations in real time.
Why is Client/Server better than Peer-To-Peer ?
On a normal (peer to peer) network, each computer is doing its own work, even if all your data is on a single computer that you call your "server".
When you're on the main computer and want to bring up one name from your mailing list, it's easy. The data is on the same hard drive and that computer reads the data and gives you the name you are looking for.
Now, on a "client" or "workstation" computer, the data isn't actually on the same hard disk, or on the same machine. The data may be across the room, or even across the country! If the workstation needs to bring up one name from the mailing list, it has to get THE WHOLE MAILING LIST from the server and pick the name it wants. How does it get the data across the room, or the country? Via your network.
This design causes a lot of traffic on your network. Each time the workstation wants to pull up a name, or a piece of inventory, or anything, it has to bring all the information it needs, like your entire mailing list, off the server, then pull out just the piece it wants.
To make matters worse, it doesn't just bring the mailing list over one time. Each time you do anything, like click the NEXT button to go to the next record, the workstation has to bring the whole mailing list again and pull out the next name.
If you click NEXT, NEXT, NEXT you actually get your whole mailing list three times over the network wire.
Now, the wire that connects the two computers is very slow (relatively speaking) so the more information that has to go over the wire, the slower the system. (WIRELESS networks are even slower than WIRED networks.) If your network happens to include a dial-up modem that links you from one gallery to your business office where your server is, forget about transferring peer-to-peer data over THAT connection.
Also, each workstation you add increases the traffic on the wire even more.
What's the solution? Client/Server.
With SQL (or MSDE), you have a program running on your server that "listens" to all the workstations. Since this program is on the same computer as the hard disk, it doesn't have to use that slow wire to talk to the data.
Each time a workstation want to pull up one name from your mailing list, or one item from you inventory, it sends a request to the server. The server checks its hard disk and finds the right information and sends back just that bit of information to the workstation.
This type of system can cut the traffic on your network down dramatically. Instead of passing, say, 10,000 names over your network, you just have one request and one answer.
This option cuts the network traffic down so much that you can use it over the internet, or even phone lines, to connect multiple locations. So if you have a Gallery in Santa Fe, and a Server in Scottsdale, the Santa Fe computer (the client) sends a tiny request over the wire to Scottsdale (the server). The computer in Scottsdale, running SQL server, hears the request, finds the answer on its own hard disk, and sends back the answer.
I guess I’ve talked enough about databases. Hopefully, this gives you a pretty good idea what goes on with a DATABASE. If you are going to “do-it-yourself” you will probably want to look into Access or Filemaker. If you want to purchase a system, go for a system that uses FoxPro or SQL. This will let you expand in the future.

So, what about the PROGRAMS that work with your database?

I mentioned above that a program isn’t any use without a database. But a database can be next to useless if you don’t have a good program to access it. Using a spreadsheet to manage your data is just one step above using index cards. Why? Because it’s the program that takes care of all the little details associated with keeping a database accurate. It can also be the link between you and the data.

If you have set up your own database with something like Excel, then you probably don’t use a program at all to change the data. That is, if you want to go in and change a piece of inventory, you open the spreadsheet, scan down the list until you find the piece, and then you change it. If you want to print a report of all the pieces that sold this month, you might sort the spreadsheet into some order, create a printout, and send it to the printer.

This system, while better than a paper system, is still very cumbersome and time consuming. Wouldn’t it be nice if you could click a button and a PROGRAM could pull up all of this month’s sales, or pay your artist consignments, or update your web site, or send out emails, or compute your sales taxes, or print mailing labels, or display your digital images, or or or or … woops, got carried away there.

The fact is, no matter how good your database is, it is the PROGRAM that determines whether you will be able to use that data on a day-to-day basis. You may also hear a program referred to as a “front end” (where the database itself is called the “back end”) or a GUI ( pronounced GOOEY and stands for Graphical User Interface. )

Some programs come in modules. Modules can be good or bad, depending on how and why they are created. The concept of program modules is a good thing. It lets a developer create different parts of a program that may be used by different people. If you’re never going to do framing, why have a framing module built into the system?

However, some developers, create modules so that they can make the “base price” of the software low, but still charge people more for the different features that they may need. This can make it appear that a program is less expensive, when in actuality the cost of all the parts you need could work out to be more than some other program. That’s bad enough, but it’s not even my biggest gripe about modules.

My biggest issue with programmers that use modules is that these “program parts” are often afterthoughts that are tacked onto the main program to perform some function, when that function wasn’t originally designed into the program. If done properly, this is a valid way to respond to customer needs and requests. The problem with tacking on new modules is that often the new module doesn’t connect to the main program as seamlessly as if the particular feature the module adds were designed into the program in the first place. By that I mean that, while the module is SUPPOSED to access and write to the same data, sometimes a module has a hard time opening and closing files, or passing information to and from the main program.

Ok, what should you look for in a program?

Well, certainly, you want it to track your customers. This is what helps you with your marketing.

Tracking customers makes you money.

You can use a contact database to print mailing labels, or create a merge file to merge into an invitation document, or create and send emails.

Some things I believe are import in managing contacts include; 1) multiple address and phone fields – not just mailing and shipping, but office, summer, winter, fax, toll free, mobile, etc. 2) recording email AND web site – especially if you use your contact manager to track artists and vendors, 3) Lots of notes areas – I don’t programs that have those check boxes like “Hot Prospect”, “ArtExpo Client”, etc. The check boxes clutter up the screen and no matter how many you have, you always need more. Instead, I like searchable text fields where I can enter all the notes I want and then search for them later. I can add “Hot Prospect” to the notes if I like, as well as “ArtExpo Client” and then find all the contacts that have these words in their notes. Check boxes should be reserved for things like “client” or “artist” only. 4) The contact manager should immediately display all of a client’s Purchases and Payments without any extra work on my part. 5) I like to have a place where I can enter reminders, or action items, like that I need to follow up on a client request.

OK, you have clients under control.

Next, you certainly want the program to track your inventory. This, with the possible exception of managing staff, is probably your biggest headache. How on earth do you keep track of what’s owned, and what’s consigned? What if you have a piece that is consigned, but you paid to have it framed? That would mean that the piece on the wall is part yours, and part not yours! How do you know which pieces, or artists, are your best sellers? A good inventory program will answer all of these questions with just a few clicks of your mouse. Most inventory systems are pretty similar, and include common information like title, subject, etc.

However, if you’re going to take the time to enter in the title, subject, medium, dimensions, price and artist for a piece, along with maybe a few digital images, why would you want to enter that information again to add it to your web site? Even worse, why would you want to pay some web designer to enter that information for you? These people can charge $50 to $100 per HOUR.

So I believe that any inventory program worth looking at will be able to update your web site in the blink of an eye. And it should not only put information UP to your site, it should be able to remove a piece when it’s sold or no longer available.

Some of the specific things I think should be included in the inventory side of the program are; 1) the ability to store digital images – preferably several, as sometimes one picture isn’t enough. 2) Drop down menus wherever possible to select common information, like mediums, subjects, etc. - How many ways can your staff spell Lithograph? 3) Barcode labels, price cards, inventory lists, certificates of authenticity, and lots of other reports are important. 4) If a piece is sold, the system should be able to instantly tell me when, for how much, and to whom it was sold. 5) it should be able to synchronize your data with your web site, not just throw information up to the web site. 6) The input screens should be SIMPLE, not full of buttons and graphics that clutter up the page 7) Notes – as with the contact page above, I would much rather have a searchable notes area, that I can type anything I want into, instead of lots of annoying check boxes.

OK. Now you have Contacts and Inventory covered. So, how does a program link the contacts that purchase a piece to the inventory they are buying?

A gallery or frame shop is a BUSINESS. You have to SELL stuff. Otherwise, you’re just a museum with “lots of lovely pieces, thank you very much.” Well, along with selling, comes paperwork. Of course it’s important for the system to automatically link the pieces on the transaction to the client that is purchasing the pieces. But the system also has to compute sales taxes, track receipts for cash, visa, travelers’ checks, and the dreaded layaway – for which it should send out statements. What if the customer wants to split the purchase over several credit cards?

If you have a do-it-yourself database, like a spreadsheet, you may have to actually go into your inventory list and enter the name of the client that purchased it. That can be tedious and time consuming. But if your program has a point of sale system, then it will take care of connecting the inventory to the clients. In short, you want the program to have a POS system.

This POS aspect of the system should also be able to be linked to your web site. We all agree that you should have a web site to display your inventory. It takes the place of the old printed brochure or catalog. But let’s face it, as of today, very few galleries make any substantial sales from their web sites. Don’t get caught thinking that this will always be the case! I believe the day is coming when instead of having an “in store” business and an “online” business, you’ll just have “your business”. When this day comes, you will have customers going online, selecting pieces to purchase, and entering their payment and shipping information on the web site.

Why would you want to manually enter that information again into your POS system? If your system can read this information from your web site, you have less data entry, and you cut down on mistakes. I agree it’s still too soon for this to be something everybody needs, but keep this aspect in the back of your mind when selecting software.

Things to look for in a POS system are 1) it should be easy enough to do a cash sale in seconds, but powerful enough to handle any combination of items and payments we can throw at it. 2) it should automatically link the customer to the pieces being purchased 3) it should figure sales taxes and payment schedules 4) it should remove the items being sold from inventory, but not from the system, so that we can generate consignments and staff commissions, or look up what a client purchased three years ago. 5) it should be able to work with POS hardware like cash drawers, receipt printers, or barcode scanners, but should not require these items in order to run.

Here’s something to look for in the software in general: A balance of ease and power. You can make software really simple by taking out all the features! Or, you can add features until the software requires an engineering degree to operate. Look for something in the middle, where the common screens, like adding inventory and making a sale are a piece of cake. You want to be able to show a new staff member how to make a sale in about a minute. But also look for a system that is deep enough for you to customize your own reports, or print detailed mailing lists, or generate a purchase order for a co-venture between you and three other investors on that Picasso piece you’re going to sell.

I guess that wraps up my rambling about databases and programs. I hope this article helps you find what you need, whether that’s a do-it-yourself spreadsheet, or an enterprise wide solution to handle multiple computers in multiple gallery locations. Do you have any questions? Send me an email. Or, if you’re going to be at ArtExpo NY this year, I’ll be talking about this very topic in one of the free seminars. I hope to see you there!


************************************************************************
James Archer has been a gallery owner himself, and developed The Masterpiece Gallery Manager, a software system designed specifically for the art and related industries. Visit the web site at www.masterpiecesolutions.com
***********************************************************************