Picture from here
Just the other day I wrote about cloud computing versus SaS terminology. A web application isn’t necessarily a cloud computing or SaS platform. It can be one or the other, it can be both, it can be neither. Now that, that is out of the way let’s move onto the meat.
I think that all web application developers would do well to look at WordPress and the product they offer as key points for their own designs. Obviously I use WordPress as a blog, I also use it as a CMS, a middleware application system, a database, a word processor and other uses. WordPress is extensible far beyond the original blog software it was designed to be.
The reason that WordPress is so transformative is the ability to use a fairly easy (well not for me but I suck at PHP and programming in general) API that the users can use to extend and transform the core product. This is done through the use of plugins. In theory the expandablity of WordPress would allow it to transform into any functional web application you can imagine. I’m not saying this should be done however. WordPress plugins a lot of times just add band-aids to a product to extend it further then the core company can imagine or support.
Think of your ticket support system. Most of these are moving to a web based interface. Easy to manage, no software to install on users computers, easily updated since you only have to update the core server – it’s a no brainer to move everything you can over to a web based centrally managed focus for a company.
Why can’t you extend it though?
Most of the web application companies MAY ALLOW YOU to go as far as put your company logo in the interface. Allowing you to brand a product to some extent is not the same as extending the product. I don’t want color changes. I don’t want a simple image swap. I want feature sets being implemented without waiting 18 months to have it done. If you have a robust CRM application, in this modern time wouldn’t you want a spot to add a LinkedIn Profile section? This would be as easy as allowing customers custom fields that they can rename on the back-end. What about adding an image? This would be a bit more difficult then a simple custom field, but still possible doable. How about however a full blow plugin that looks up the LinkedIn contact info.
This is all hypothetical, but let’s say this is how the plugin would work in generic CRM system.
1. User logged into the CRM would associate their own – or a corporation profile with Linkedin
2. User plugins in new contacts e-mail address
3. User is prompted with “Would You Like to Request Connection on Linkedin?”
4. If users states yes the plugin would go into a state of “Waiting for Remote User to Confirm”
5. At this point the user could add in all the information they normally would in the CRM database
6. Later the user would receive an confirmation (or decline) of linking up in LinkedIn
7. If the receive a confirmation they could then pull in the information to the CRM application.
8. Then the CRM application would have connections and how they relate to each other in their database, home pages, Resumes, etc. – all from a couple clicks.
That is a scenario that would appeal to sales personnel. Let’s look at something more urbane, a library look up system. A library lookup system is something very simple and single tasked. It works well and returns (normally) the following information:
- If it’s in or checked out
- Sometimes a Summary
- Sometimes an Image
Now let’s look at methods we can use to extend this functionality. The first thing I would make sure is there a public internet accessible site where either the general public, or the Library chooses just card members can access. Library users are normally people that live in the same town and there are a good number of them that know each others. What does that buy you? Word of mouth. What about a a secondary revenue stream outside of donations or overdue fines? How can you leverage more people to show up at your fund raising drives? I’m assuming these are question that library officials ask themselves. How can we turn that simple search to find a book into something more?
Let’s give the users an option to use the search page as a social platform. I would give the a users a choice of using the old style simple search functions, but also give them a chance to leverage the public you are serving to work with you instead of you working for them.
Let’s go over an imaginary social library platform.
1. User opens up a search window into the library database and enters a query.
2. User gets back the title, author, and subject – then a link that states more information (this is where a plugin would take over)
3. On the plugin page users could get back an image of they are searching. They also see where it is located, if it’s in or not, and more. What about a sidebar that allows them to purchase the book/movie/CD at Amazon? Reviews from other library patrons? A list of who checked out which book (make this opt-in only on a per title usage – don’t compromise a users privacy). A listing of library events where the author is signing books, giving a reading, or there is a book discussion covering these topics?
You just made something that is infinitely more “sticky” and let’s the users interact with your site on a much larger scale then previously. They are no longer browsing alone, but in a group, with people they know from town.
All of this is possible with a platform that allows plugins. I’m not asking for web application developers to support any plugins directly. If a plugin breaks or crashes the core site (shame on the user that puts an untested plugin in a production environment) – the web application developer should tell the user they will not support the product with any plugins running at all. It doesn’t mean the framework, APIs, and access shouldn’t be there.
I’m pleading with web application developers that allow the users to have self hosted servers to please build this extensiability into their products. I can hack around another platform and get these functions, but sometimes we just want to buy a program from a vendor with support. Currently your making us choose between function or support. It should not be that way. Opening up can only gain customer loyalty in the long run.