In the past several weeks, you have seen articles from me on a various number of groupware products. We have talked about the Evolution project from Gnome purveyors Helix Code, Inc., and Magellen/Aethra from Kalliance and theKompany, respectively. The projects were in varying stages of stability and feature completion. This time, we will talk about TWIG; The Web Information Gateway. The key word in the acronym TWIG is "Web". Unlike the other software projects we have discussed, TWIG is 100% pure web application power.
TWIG is a web based information manager. It is more than a Personal Information manager and personally, I think it could easily out dance some of the heavy weights such as Lotus Notes and Microsoft exchange in its abilities. It also does more than some of its Open Source competitors, such as IMP.
A technical analysis of TWIG is simple. Unlike many products, such as Microsoft Outlook and Exchange, TWIG does not need the involvement of a multitude of protocols and technologies to operate correctly. It doesn't matter what operating system you are running. It does not matter if you prefer the Macintosh or the RS6000 with AIX. From a client perspective, all you need is a web browser.
A quick note about the database: It is our (CommandPrompt) experience that if you are only going to be serving a couple of people and you need to do it quickly, Mysql is the way to go. If you want to serve over 50 concurrent users at a time, I strongly suggest you use the PostgreSQL RDMS for the application. It has been our experience that PostgreSQL is far more robust in a multi user application environment than Mysql.
The simplicity of the TWIG software would even allow you to have three different servers. For example, you could have one server that is public that runs Apache/PHP with TWIG. The second and third server would be the database server and mail server, respectively. This could, if done correctly, offer a greatly balanced load on the machines and offer some security enhancements. On the topic of security, TWIG will work under an SSL implementation such as Apache-SSL.
The features of TWIG are long, so I will start at the top. Yes, it can become a central application for email. I find that it is excellent for email. The only place that I have ever had problems is with large attachments- when I say large, I mean attachments that are 45 megabytes or more. If you need to send files, TWIG uses the file upload support in PHP to allow you to attach files to email. TWIG utilizes IMAP, therefore all work is done on the server in which the database and IMAP is installed.
The usage of IMAP has additional advantages as IMAP is inherently more secure than the POP protocols and you can utilize a traditional client such as Evolution or Outlook in conjunction with TWIG. As long as you're using IMAP with a traditional client, you won't have to worry about messaging conflicts such as the eternal, "I must have downloaded that to my home machine."
TWIG supports a gamut of information management features. It does more than the email as described above. It includes a full contact manager, scheduler, to-do list, etc... I have just begun to use the contact manager along with the email recently. TWIG has the ability to define multiple groups. The groups are selectable across the board. For example, I have jd.contacts and jd.calendar. Everyone in the office is allowed to see jd.contacts, but only my business partner is allowed to see jd.calendar. The jd.calendar group is the group I use for all of my scheduling.
The contact manager is like most that I have seen. It offers you the ability to record all of your contacts, and specify them within a group as you add them. Thus, it is easy to keep a private and public group of contacts. The contact manager has places for email addresses, home and work contact info and a place for notes. The notes portion was kind of a letdown. It is just a standard text-based field. It would be better if every time you added a note, it added a time stamp and inserted the specific note, with a pointer to the contact record into the database. If the note feature were implemented like this, you could easily update specific information on a customer. If your customer had a grievance two months ago, it would be easy to find the notes on the grievance and update them when it was resolved two months later.