Loyalty has its limits!

This week I finally quit using Internet Explorer and started using Chrome.  I finally got tired of all the problems I was having with IE simply deciding not to come up at all – just spins the icon and then stops with no errors in the Windows logs or anything else useful to track the problem down.  Google searches for a solution only reinforced the fact that others have the same problem and that Microsoft suggestions are useless.  Microsoft is big enough that they can deliver reliable software if they really want to.  They must think they simply don’t have to.  How many other companies act like that?

In itself, this isn’t a momentous event – just a change to a different browser.  In a larger context, though, it is so typical of software vendors who may spend a fortune acquiring a new client only to lose that same client some time later simply due to lack of attention or lack of responsiveness to even minor issues.  I have witnessed this in many vendors – not just a few.  With a little TLC and attention to detail, those vendors could keep their hard-fought-for clients and not lose them to the next pretty face.  Unfortunately, most clients I have seen simply move on to another vendor who does the same thing to them. What a shame.

I have always held the belief that by signing a contract, your client trusts you to provide a system that protects them and their business in some way.  When you don’t deliver, you can cause them real damage.  The damage is bad enough but the loss of integrity, loss of faith and trust, are inexcusable.  What I found over the years was that the clients that you take the best care of are the same clients that stick with you for years.  They ultimately provide you more profitable business than a new client that you spend many dollars courting.  This isn’t rocket science.  Why can’t vendors compete on quality and service?

Think about your major vendors.  Do they deliver what they promised to deliver before you signed the contract?  If you have a problem with the software, how soon it is resolved?  If you actually have SLA’s spelled out in the original contract, are they honored?  In the latest contracts I have worked with, the clients have added “liquidated damages” associated with SLA’s.  When I was in the software business, I would have hated that but what I am finding is that only companies who are afraid (or know) they won’t deliver (probably because they haven’t in the past) are really opposed of them if they are structured properly.

If you think that liquidated damages associated with SLA’s are too one-sided, a good solution is to make them work both ways.  That is, if the vendor fails, they pay or at least give up maintenance payments, but if the vendor exceeds the SLA’s they get rewarded financially.  It can be worked out.

While I am beating this horse, you should try to identify who your allies are among the vendor’s employees.  If you purposely maintain a good relationship with the technical staff, you might do better with them than trying to deal with people more interested in the next contract rather than yours.  In my experience, the technical people really want things to work and often fight for the rights of the clients even when they aren’t allowed to specifically say so to those same clients!  Most technical people I know and ever read about, complain constantly of being forced to release software before it is ready.  I’m not talking about just association software vendors either.

Anyway, it took me too long to finally change to Chrome.  I should have done it sooner.  Perhaps out of laziness I put up with the problems longer than I should.  Then again, I wasn’t paying huge maintenance fees every month either.  If you are, then don’t settle for anything less than what you were promised during your client-vendor courtship.

Bad RFPs lead to bad responses to RFPs!

In my last article, I discussed the sins committed by companies responding to RFP’s.  Now let me talk about the other side of the equation.  For associations, or any company, writing an RFP, you can make it easier on yourself when it comes time to read the resulting RFP’s and easier on the vendors who are investing time and money to pursue your contract.

Reputable vendors want to do a good job (as well as make a profit on the project) and will spend time with your RFP especially if they see that you have spent time and care in preparing it and you clearly describe exactly what you want.  Yes, there are vendors that will go after anything and worry about fulfilling it later but you will probably recognize them when you read the responses and check references.

  1. Before you expect the vendor to understand your business and your processes, you need to understand them yourself.  Don’t make the assumption that “everyone does it my way”.  Map out the processes to be managed by the software and the specifics associated with those processes.  The vendor should have a complete view of each process they need to automate.
  2. Be concise.  The size of the RFP doesn’t necessarily match its value.  If you hire a consultant to write the RFP, the consultant should be paid for the quality of the RFP and not the size.  You need to review it carefully before it is sent out to vendors just to verify the quality.  Eliminate what doesn’t apply to you.
  3. Don’t just go out and buy a pre-written RFP even when it is not advertised as such.  When I was in the business, I saw this all the time as I reviewed one RFP after another from the same consultant with almost the same verbiage and checklists.  Make sure that your RFP actually reflects what you yourself need and not detail irrelevant to you.  Consultants think they can save time by starting with a previous RFP but this leads to a lot of extraneous “requirements” that just confuse the effort of the vendors and obscure your real intent.
  4. If you are including a checklist of requirements, organize them into specific processes that describe how you do business.  Include enough in each item to make it specific to the process.  For instance, “Send group email” automatically gets a “yes” from the vendor but “Send group email to everyone who has renewed their subscription but has not donated to the foundation” will get a much more specific response.  Checklist items should require a specific response and not a generality.
  5. Long requirements checklists are deadly unless organized very well and thought out very carefully.  As a vendor, we know there will be competitors who will just say they have or can do anything so the urge to bend the truth is very strong.  When the requirement is to general, they have no way to answer it honestly.
  6. A short checklist item is not necessarily a good thing.  The vendor may answer “yes” to just that one point without associating it with the rest of a process.  As a vendor, I would much rather see a checklist item that covers a more complete issue or process and that puts it into context.
  7. Avoid ambiguous questions and the questions that can’t be answered.  “Please give me a fixed price for an interface to something that hasn’t been defined yet.”  You laugh, but I’ve seen it.
  8. Organize the RFP in such a way that the vendor doesn’t have to copy the same boilerplate into multiple sections that ask for the same information.  On top of that, specifically request that the same boiler plate not be included in multiple sections of the response.  If the RFP is organized well, it can be answered efficiently and concisely and you will get responses easier to analyze.
  9. Avoid the unrealistic request.  If you don’t know some of these, ask an independent vendor or consultant that knows. For instance, only a company on the rocks and desperate for work will agree to an unlimited liability clause in a contract.  No single contract is worth risking the entire company.
  10. Don’t insist on a timeframe for delivery that absolutely can’t be met.  You may find a company that will agree to try but the only companies that will agree will be those that don’t have other profitable work to do or who don’t plan to actually do everything you asked for in that time frame.  Some companies will promise anything with the belief that by the time they get to crunch time, you will either give in on some requirements or will have become so invested in the project, you can’t cancel it.
  11. Be specific about how you want the prices organized so you can better compare multiple responses.  Separate fixed from variable costs.  Separate software from hardware from labor costs. Be sure to specify that the quote must contain all costs for the project.  I have seen companies leave out such things a software maintenance that can be very expensive later if not originally understood.
  12. Expect questions from the vendors, especially those vendors who are trying to answer honestly.  Welcome those questions and be complete in your answers.  If a vendor doesn’t ask questions, chances are they are answering your checklists without adequate thought.

Finally, when you read the responses, be open to the fact that the vendor may have a better approach to some business process than you do.  Don’t be married to doing everything the same way you always have.  In fact, if what the vendor already has comes close to what you want, you will find it vastly cheaper to adopt their process than customize something for yourself.

I complain a lot about bad proposals.  Then again, when I used to write proposals, I complained a lot about poorly written RFPs.  A lot can be accomplished when both sides are careful with what they write.

What do you think?  Am I way off base?

Getting Real with Proposals

Recently, I have been involved a process where I was to review proposals for an IT project that would ultimately cost in the 10’s of millions of dollars.  This was truly a view from the other side.

For many years I was involved in the preparing of proposals and now I’m on the other side looking at what other people do to respond to the same sort of thing.  In this case, though, the proposals were for projects vastly larger than those I used to help prepare for the association world.  What really surprised me was the wide variation in quality of the proposals.  Some were done very well while others were simply junk.

Now, you have to understand that having been involved in reading and writing so many of these, I have become a bit jaded.  Over the years, I have become fairly good at reading what is written, analyzing what is said and also what is not said, then considering what would have been said if what was said was true!  Now that’s a mouthful – but true.  Everyone wants to display themselves in the most positive light but often fail just because they try too hard – or simply aren’t particularly truthful!

Here are a few observations for those who are writing these proposals:

  1. Be honest.  Whatever you say will be checked and if your proposal comes off as a little or a lot misleading, you have created a very bad taste in the client’s mouth that won’t go away even if you get the contract.
  2. Assume that there is someone like me reading your proposal who knows how vendors skirt issues and try to make the language such that they can always come back and say “You just didn’t understand what I meant to say.”
  3. If you have a long requirements checklist, be careful to fill it out with a lot of thought and truth.  If I see that the vendor has simply said they can do everything with no modification or customization and no request for clarification, I know this can’t be the case and I consider the vendor untrustworthy.  BTW:  I hate checklists, too.  There is never enough information to answer clearly.  I expect the vendor to need to ask questions.
  4. If you imply that you got a contract from some other entity that supports your qualifications to take this contract, assume that someone will check to make sure that is true.
  5. Talk less about how good you are and more about how you are going to do the project.  Some of these proposals hardly mentioned the project at hand and approached it with “We are so good, we can do anything”.  I want to see that your company is right for the job and is organized in your approach and that you understand the specific work at hand.
  6. The thickness of the proposal doesn’t equate to quality!   Shoveling in reams of boilerplate information that is not relevant to the person reading it doesn’t make the proposal better.  Repeating the same boilerplate multiple times in the same document just makes it all worse.  It just frustrates the very people you want to impress.I recently read a proposal that happened to use Oracle where they copied all of the technical documents on how the Oracle Policy Automation tool along with how all the Oracle Identity and Access Management tools worked.  Oh please!  Be concise; the client will appreciate it more.  If the reader is technical, chances are they will already know this stuff.  If they are non-technical, they won’t understand it anyway.
  7. Follow the structure of the RFP when you are doing the response.  It amazed me that many people going after this big project didn’t.  The best proposals literally copied sections of the RFP followed by their responses to that section.  Then within the response, they provided exactly the information the client asked for.  What a breath of fresh air.
  8. Have a good technical writer proofread your work before you send it.  I can’t tell you how obvious it is when there are grammatical errors in the cover letter and spelling errors within the body of the proposal.  The client will assume your attention to detail on the project will not be better than your attention to the detail in the proposal.
  9. No matter how good a proposal writer you are, be realistic about what projects make sense for your company.  If you are a small company with a small staff and limited experience, you shouldn’t waste your time on a proposal for a very large project outside of your credibility zone.  Use your time more wisely and go after something you have a ghost of a chance to get.
  10. Finally, be realistic on the price and don’t assume that you are the only bidder or that you name alone will warrant enormous differences in price.  Remember that many proposals are scored and cost can be a big element of that.  You may have a great proposal but zero scoring points on cost and lose the deal that way.

Good proposal writing is an art but being truthful will win you more trust than obfuscation of the facts.

Best-of-Breed Plus Rules Engine

In a past post, I talked about a different approach to Association Management Software, in fact, starting a company where the software provided simply an interface to other vendor solutions.  Anymore, I think this approach is reasonably valid given the sophistication of the various niche players for such things as financial systems, meeting registration systems, publication systems, political action systems.

In another post, I talked about things like a “generic product” to get around the complexity of the typical association purchase where there is a combination of a membership, book, and meeting registration sold as a single product.  Ultimately you need something that will recognize what the “generic product” is and then do something with that knowledge, i.e. send a packing slip to the order entry system, send badges and information to the meeting registrant, and notify the membership chairman that a new member needs to be contacted with a welcome package.

What could bring all of this together is a good rules engine.  There are a number of commercial rules engines out there – inRule is one that comes to mind for .NET developers but there are many others too.

For those not familiar with rules engines, the idea is to isolate the rules and workflow from the interface and from the basic application to encourage reuse of the rules and allow end users to define the rules and workflows themselves.  A rule might look for a specific condition either automatically or by specific request and then raise and “event” or send the application a message simply saying “yes” or “no”.  There can be many of these rules.  “Does the order contain more than 10 things?”  “Is the customer a member?”

Then, there is a workflow layer where, based on the event raised by the rule, the system can actually do something, i.e. if the customer is a member and also purchases more than 10 things, give that customer a 10% discount.  Another example might be to send the customer a message saying they can’t buy anything unless they pay their outstanding balance.

Anyway, it seems to me that if you combine a rules engine with the concept of generic products and customers (members) along with all of the best-of-breed vendors, you could create an extremely flexible and scalable solution for association management.

What do you think?

Simple Database Structures Lead to Complex Reporting

It is interesting to look under the covers of WordPress to the database architecture see how people are creating plug-ins to deal with so many different functions.  Take a look at the table wp_usermeta that stores information about users.  The structure is simple but perhaps too simple.  Ultimate flexibility often leads to ultimate complexity in reporting.  Looking at the structure and how some plug-ins use it will reveal another major reason why the WordPress approach would not work for large organizations.  The structure of wp_usermeta:

  • umeta_id
  • user_id
  • meta_key
  • meta_value

This is the ultimate in versatile database structure.  You have a unique key (umeta_id) for the table and then a field to link to a specific user (user_id).  Beyond that, you can define anything you want as a meta_key and then provide one or many values within meta_value.  This can be as simple as:

meta_key=’lastname’ and meta_value = ‘Brantigan’

In a typical relational database structure, you would define a “customer” table with specific fields for first name, last name, and other demographics.  For data elements that are less specific to every customer or one to many relationships like specific product orders for a given customer you might create a separate child table.  When this is the case, you have relatively easy reporting – but not with wp_usermeta.

What happens in WordPress for some plugins, the vendors use the wp_usermeta table for everything and then structure their data within the one meta_value field.  Here is a rather complex example used by Magic Members plugin:

meta_key = ‘mgm_member_options’ and meta_value = ‘a:2333:{s:2:”id”;s:1:”6″;s:13:”custom_fields”;a:14:{s:8:”username”;s:0:””;s:8:”password”;s:10:””;s:10:”password_conf”;s:1:””;s:10:”first_name”;s:3:”Tom”;s:9:”last_name”;s:9:”Brantigan”;s:5:”email”;s:25:””;s:9:”boat_name”;s:14:”Toccata in Sea”;s:10:”boat_model”;s:4:”C387″;s:11:”hull_number”;s:2:”96″;s:9:”home_port”;s:16:”Middle River, MD”;s:12:”display_name”;s:13:”idealuser”;s:8:”jib_size”;s:0:””;s:23:”sail_configuration_main”;s:3:”Std”;s:9:”keel_type”;s:3:”Fin”;}s:22:”other_membership_types”;a:0:{}s:12:”payment_info”;a:0:{}s:6:”coupon”;a:0:{}s:7:”upgrade”;a:0:{}s:6:”extend”;a:0:{}s:4:”code”;s:10:”mgm_member”;s:4:”name”;s:10:”Member Lib”;s:11:”description”;s:10:”Member Lib”;s:7:”setting”;a:0:{}s:6:”saving”;s:1:”1″;s:8:”trial_on”;s:1:”0″;s:10:”trial_cost”;s:1:”0″;s:14:”trial_duration”;s:1:”0″;s:19:”trial_duration_type”;s:1:”d”;s:16:”trial_num_cycles”;s:1:”0″;s:8:”duration”;s:1:”1″;s:13:”duration_type”;s:1:”l”;s:6:”amount”;s:1:”0″;s:8:”currency”;s:3:”USD”;s:9:”join_date”;s:10:”1327096345″;s:13:”last_pay_date”;s:10:”2012-01-27″;s:11:”expire_date”;s:0:””;s:15:”membership_type”;s:6:”member”;s:6:”status”;s:6:”Active”;s:12:”payment_type”;s:0:””;s:13:”user_password”;s:16:”6cf89Y9K8AX3W8TNT”;s:7:”pack_id”;s:1:”3″;s:17:”active_num_cycles”;s:0:””;s:12:”account_desc”;s:12:”Free Account”;s:10:”status_str”;s:27:”Last payment was successful”;s:16:”hide_old_content”;s:0:””;}’

Though you can do almost anything with such a generic table structure, trying to do a simple SQL query against it to create analytic reports is really tough!

Why not WordPress instead of a commercial AMS?

I’ve spent a number of posts discussing how WordPress could be used in place of an association management system for small associations but when you get right down to it, I don’t believe for a minute that the approach would work for a large association.  In the past, I have discussed how I think future software could be written for the large association but for now I think they are stuck with the commercial options.

Here are a few reasons:

  1. Large associations want what they want and they have the money to pay for it. Lip service is paid to keeping customization costs down but seldom have I seen the large association follow through with this and not cave in to the powerful membership or marketing director who is dead sure that their complex approach is what holds the entire organization together.  No one wants to abandon their complex pricing and discounting schemes.
  2. Software support is vital to a large organization. Depending on a mix of software from small independent vendors is a dangerous thing when you are protecting the crown jewels of the organization.  Though I have found support for many plugins to be good, I have also seen some where it is not so good.  What’s more, once you commit to a specific plugin, it is difficult to swap it out for something else if something no longer works. Then again, support from the large AMS vendors isn’t as responsive as we would like but at least you have somewhere to go to exert pressure where necessary.
  3. Commercial association management software for large associations is not something that small companies can effectively deal with.  Large associations understand this.  Creating the software is expensive and requires a large install base and large staff just to make the ROI work.
  4. Association staff may pay with their job if their decision on what software to buy is not correct.  Remember when companies bought IBM machines and software because they could never be criticized if they did so?  The same is still true today.  Large associations buy software from well-known established companies.  That doesn’t necessarily mean that the implementation will run smoothly but makes it easier to justify later.
  5. Reporting is vital to large associations.  There are a number of aspects to this.  Not only do the large associations need a large set of “standard reports”, to be successful, they need the ability to do effective ad hoc queries and reporting to adequately analyze the business particularly trends in membership and sales.  Database structures that support good ad hoc reporting are by nature complex and the tools must be able to deal and hide (where possible) that complexity.  Next week I’ll do a post on complex reporting from simple database structures.  There is no free lunch!

So…though I have been impressed with what you can do with open source software for smaller associations.   I just can’t believe that it will work for the large group.

Is the AMS dead? (Part Two)

Association Management Software (AMS) has been around as a specific genre since the 70’s.  In fact, my original company, Resources, Inc., in Chicago, created some of the first commercial software for associations first as something accessible through our service bureau and later as software to be installed on-site in the association’s offices – a new thing given the cost of computers.  They were “mini-computers” defined as something about the size of a refrigerator requiring enough air conditioning to prevent Chernobyl with about the power of a modern-day watch!   The American Academy of Orthopedic Surgeons was one of the first organizations to install this commercial “generic” association management system – though totally generic lasted only until the second client.

Over the years, the technology has changed and has gotten more and more flexible to deal with the many variations in the association world.  These variations are what currently prevents, or at least postpones, the death of the AMS (association management software).   The real question is whether or not the variations and complexity are worth the cost.

Association software is very expensive to purchase, install, and maintain.  If you understand the association software industry you can understand why this absolutely has to be so.  This is a small niche market where customized capability is the norm.  Given how small the market is and how fast the technology is evolving, the cost of creating the software in the first place can barely be made back in software sales.  This is why most association software companies are really services companies rather than software companies.  They make their money on providing the staff to implement, modify, and maintain the software – and that’s expensive.

This is not to say that association software has so specific to the association world.  In fact, if associations really calculated the cost of what they are doing, I suspect more and more of them could move in the direction of a best-of-breed approach unified by a company providing just the integration strategy, software, and support.  Were I to start a new company – and no, this isn’t my current intention – this is the approach I would take.  I would look for the best software to deal with accounting, meeting management, product sales, transcripts, etc. and simply create ways to integrate it all into a unified view centered on the member.  What current vendors call “partner programs” becomes the primary source of software functionality for associations.

What would it take for this to be successful?  The most important thing is that the associations need to be less complex in terms of pricing and discounts.  They will never get away from the idea of member versus non-member pricing and perhaps will never get away from inventive bundles of memberships with meeting registrations and other products.  Then again, perhaps rebates of the member benefit may be a cheaper way to accomplish discounts through pricing and accomplish it outside of the order system itself.  There are lots of possible options to all of the complexity issues if you only think about it and are open to change.

What associations need to do is rethink what a “product” is.  Essentially, a product can be anything with a name, description and price.  Beyond that, why not handle the contents of that product externally to the product sales system itself.  If a customer buys a membership that includes a meeting registration, the integration would be created to interface with the membership system and registration system but the sales system would be simple and independent of the rest.  Yes, there are still issues to be resolved, e.g. restrictions on the number of spaces available at the meeting, but these can be worked around if you think carefully about it.

Much of the complexity – and slowness – of association management order systems results from having to check everything at the time of placing the order.  For instance, the system may have to see if the customer is a member and if so, what kind of member.  Is the product a defined bundle and if so is everything in the bundle available?  Is the product involved in some discount structure whereby if you buy this widget and that widget you get 50% off each?  Should the system optimize price in favor of the customer or in favor of the association.  (I’ve seen both – even in the same association!) If there is a meeting registration involved, the system needs to check to see if there is space in the meeting and potentially space just for a specific type of member.  If there are problems, then the system needs to notify the customer immediately.  There is simply too much complexity just to purchase a “product” and even then, it may not work.

In reality, modern systems are “disconnected” meaning that requests are sent to the database and answers are returned to the customer’s browser and in between requests, one really doesn’t know about the other.  This provides the most efficiency for the central system but also provides a catch-22 in terms of accurately telling the customer whether or not there is space in the meeting.   In truth, between the time the system tells the customer that there is space, someone else may commit that space and the original customer will still be told on committing the order that there isn’t space and their order will fail.  Note that to do this, the system first has to calculate everything to see if there is space and then has to do it all again to commit the order and even then may not succeed in placing the order.

So, let’s go back to the complexity issue.  If the association could simplify the process, it could eliminate the need for the complexity in the software and eventually get to where the “best-of-breed” approach would be well worth while.  Instead of checking for everything real-time, an asynchronous process could make response time almost instantaneous.  Then, for those few situations where a problem exists, the customer can be notified that there was an issue.  Rather than checking for real-time inventory or meeting registration space every time, the assumption could be made that space was available until it wasn’t at which time the product itself would be flagged as unavailable so future checking wouldn’t be necessary.

This has gotten a little long-winded but perhaps you get the point.  A few things to think about:

  1. Association management software is expensive since it has to be to cover all the exceptions and pricing schemes.  Is the complexity necessary?
  2. Association management software is slow because of the complexity.  Should we really inflict that slowness on our valued members?
  3. A generic order system could handle almost anything assuming there was good integration between the order system and the “best-of-breed” components.  Designers just have to think differently.
  4. An asynchronous approach would eliminate time-consuming repetitive and still inaccurate processing and make the integration approach possible.
  5. Simplification of pricing structures would allow “best-of-breed” order systems work.  Being creative could even get past the issue of member versus non-member.

Sounds like an interesting approach to a new company…

Think about it.  What do you think?

Is Integrated Association Software Dead?

Many of my posts have looked at what is essentially free catching up with software costing many thousands of dollars.  The past is important in the understanding of where I am going with this post.

In years past, the key to selling association management software was that it was fully integrated.    This approach was golden given that various software packages wouldn’t talk to each other.  The only way to accomplish the objective was to integrate everything.  Back in the 80’s when we first released RAMS (Resources Association Management System), we covered all the standard association modules of membership, meetings, subscriptions, order entry, etc. plus GL, AR, AP, and Fixed Assets!

At one point, there was a movement toward “best-of-breed” software packages but the failure of it was that integration was a bear.

The first area that this model broke down was in terms of financial packages.  Twenty years ago, our association management system included a full accounting system.  Fifteen years ago, we realized that there were financial software packages with large user bases that were much more comprehensive than anything we could create for a small user base of associations.  Consequently, the model became integration with outside packages like Lawson and Great Plains.

One area after another is being affected by this approach.   Political action software, social networking software, mass marketing software, and even meeting registration software is nipping at the heels of commercial association software systems because each of these can concentrate on a specific area of expertise.  Association software systems sold by independent software companies simply can’t afford to do this for their smaller customer base across all types of subsystems.

AMS software companies have come to realize that the size and scope of their partner programs are extremely important to their sales pitch.  How long will it take before the partner program actually becomes the product?

So why don’t associations simply contract with Amazon to sell their products?  When you ask the associations, you get the reason that Amazon sells products while associations sell lots of different types of products with incredibly creative combination packages and creative discounts.  Buy a meeting registration and get a free membership and baseball cap.

But the real question will ultimately be, “Does it make financial sense for associations to continue doing business in this way?”  If they can come to understand the real costs of customized systems to handle their creative approaches, they may well push the AMS market into simply being an interface market where a company creates a set of interfaces to best-of-breed smaller systems.

I’ll explore that next…

Setting up your own blog based website

This post is for people who want to set up a website for a small association and need to do it inexpensively. Commercial association software is expensive but often very comprehensive. To create a website inexpensively for the Catalina380 International Association, I did this using WordPress as a foundation just as I have described in previous posts.

I’m sure there are lots of articles about how to get started with a WordPress website but I thought it might be interesting to people to have an abbreviated summary of what I found beneficial when starting from scratch up to having a live site at a hosting facility. Though you can easily get the application running at www.wordpress.com, here is what I suggest if you want to do more than just get it started. In fact, I will assume that you already have the basic application running.

Background Knowledge

First, you need to know at least a little about IIS if you are working with Windows. If you don’t already have IIS started, you will need to start it by checking the check box for IIS through Control Panel->Programs and Features->Turn Windows Features On and Off. Internet Information Services Manager that comes with Windows makes it simple to create a new website for your testing. If you do everything through the hosting facility, they will take care of most of this for you. I liked having a local site to play with as well as the hosted site.

It is very helpful to have a basic knowledge of PHP and of CSS (cascading style sheets). I found a web site that provides this background very efficiently and the information and tutorial is free:



What I found was that I needed basic knowledge in these areas to figure out how WordPress works and to make changes to the various available themes. For instance, I found that the theme TwentyEleven was closest to what I wanted but I didn’t like the wide space at the top of the page. To change this, you need to find the correct php file in the themes folder, find the controlling section and make the changes. Other changes I wanted needed to be made through the style.css within the theme folder. For instance, I wanted a bolder horizontal line than provided in the theme and this can be changed easily in the style sheet.

Useful Software

There are a couple of free applications that will make your life easier:

MySql: http://www.mysql.com/downloads/mysql/   Again, I set everything up locally before moving things to the hosting facility so I needed a local installation of the database. It’s free. There are multiple levels of MySql but the community edition (free) is all you need. Installation is simple. Installation of WordPress itself will create the needed database so you don’t even need to worry about this.

FilZilla: http://filezilla-project.org/ This is a very easy to use FTP file transfer program that is a must if you are going to transfer files from your local machine to a hosted server and later when you want to edit a file on the hosted site by first pulling it to your own machine, making the changes, and then pushing it back up. For my project, I first developed everything on my local machine and then transferred files to the hosting site to make sure things worked there and ultimately to bring the site live. Your hosting site will provide the connection information you need and once that is resolved, the rest is a simple drag-and-drop from your machine to the hosting machine.

MySQL Workbench: http://www.mysql.com/products/workbench/  When you install MySql, particularly if you come from a SQL Server or Oracle environment, you find that you can get to a command line (CMD => MySql) and from there you can work using Sql but still only through command line syntax. What MySql Workbench does is provide a Windows interface through which you can work with your database as you would through SqlServer Management Studio if you were working with SqlServer. Furthermore, this gives you a very easy way to back up the database and restore it if needed.

Though WordPress has the ability to back up and restore, doing this directly with the database with MySql Workbench gave me an easier and cleaner way to do this. The script created would do everything from create the database to drop and recreate the needed tables and finally to load them with data.

Microsoft Visual Studio: (This one isn’t free!) Though you can certainly modify .sql files with any text editor (not Word or something that buries its own information in the file), Visual Studio provides a way to load the backup file generated by MySql Workbench and do global search and replaces. Why is this useful? When you develop on your local machine and want to transfer everything to the hosting site including the database, you can change the URLs easily from “http://localhost/mysite” to “http:/www.mysite.com”. This is particularly important since WordPress ties itself together in many ways through URL’s.

So there you have it. If anyone has other recommendations, please add them as comments!


Shopping Carts in Blogging Software

Shopping Carts in Blogging Software versus Association Software

Let’s continue with my small site for the Catalina380 International Association.  Though the association’s officers didn’t want to sell anything just yet through the site, I wanted to make sure this would be easy to do later – when they see the light.  Just as with membership plugins, various shopping carts are available as WordPress plugins.  Even the MagicMembers plugin provides links to various payment gateways to take credit cards for membership.

The important thing to understand is that you don’t want to deal with credit cards on your own.  The credit card rules are simply too complex for anyone to keep track of.  Even the larger commercial packages are – or should – give up on dealing with credit cards and just outsource the headaches.  It used to be that large associations wanted their own control of credit cards so they could have a “credit card of record” to make it easier for the member to purchase things later using the same credit card.  In fact, they wanted to store the credit card numbers for automatic renewal of memberships.

All of this is well and good but companies like Verisign have worked out strategies to allow all of this to happen without your association having to store credit card numbers at all.  Taking advantage of this is the way to go.  For the small site, PayPal is probably the best solution to sales.  They are used to dealing with both large and small associations.  Vendors of commercial association software and using these same companies to handle credit card transactions.

If you sell just one type of thing, you may well purchase an inexpensive plugin to deal with simple order entry and payment processing.  Where I see the real issue for large associations is that a large association typically sells a lot of different types of “products” from inventoried products to meeting registrations to exhibition booth space to transcripts to memberships.  What’s more, these are all highly interrelated in terms of packages and pricing models.

I have yet to see this kind of ability from the simple open-source software providers and especially from blogging software being used as an association website.  It is difficult enough for a commercial association management software system to provide this.

Then again, consider what you could do five years ago versus what you can do now for little expense.  “Websites for the Masses” is a concept that is coming.

In my next post I’d like to take a look at a more radical view of association software.  Stay tuned….