Thursday Jan 11th 2001 by Joshua D. Drake

Although TWIG is not associated with a specific Desktop, it does provide many of the desired features for a calendaring program.

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.

TWIG is designed around PHP and the database abstraction that PHP provides. The most commonly used databases used with TWIG are PostgreSQL, and Mysql.

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.

The calendar supports the assignment of groups, recurring events, start/end time and days. It supports multiple views, such as one week, one month etc... It supports the viewing of the complete calendar within a group. This allows you to view an entire month of appointments within a given group. It also supports purging, allowing you to select a data that you can delete appointments from. This particular feature will be useful if you use TWIG exclusively- as appointments get old, the database storing those appointments will get larger and larger. A little tidiness never hurt anyone.

The To-Do list is basically a mini version of the scheduler/calendar application. Unfortunately, it does not have any association with the calendar. If you create an item and you assign a due date and time, it will not tell the calendar that you have a to-do on that date and time. I can understand not actually inserting it into the calendar, as it is supposed to be more of a reminder, or sticky note type of application. However, an icon that alerts the user to an item on a particular day when they are viewing their calendar would be very useful.

The note feature is just that a note for self-application. You can assign groups and titles to the notes to help organize them. I don't find the note application useful. In fact, it seems like they should take the features of the notes, add the features that I asked for from the contact manager, and make it a sub-application. This would allow the keeping of notes in a group such as "general" but also associate them with a customer.

One feature that really stands out within the application is the NNTP (Network News Transfer Protocol) or Usenet news capability. There are two very good reasons for this ability. The first is internal discussion. You could create an internal support forum for your users. It could be used for sales leads, technical support, even to pass all those jokes around. The only provision is that you would have to have an internal NNTP server to support the groups. The second reason is very similar, but it would open your entire organization up to the very usable world of USENET news. USENET is not for every organization. You would definitely want to keep an eye on employee usage. If you have computer technicians, USENET is a very good way to find free help for those bizarre problems that you cannot solve easily. This is especially true of Linux/UNIX/Open-Source type programs. The USENET reader is full featured. It allows searching for new groups, subscribing, posting, replying and just about anything else you can do with a newsreader. The only exception is inline MIME. If your news group has attached pictures, it is treated like a message attachment. The only difference is that you actually have to click on the attachment to view it. It will not show inline within the news article.

TWIG is highly customizable. It can change its appearance to have nice tiny icons to go completely text. The text version is nice if you have limited bandwidth to work with. It would be particularly useful for traveling sales-people who are limited to that 28.8 you bought them on that 3-year-old laptop. Don't worry; there is a rumor in the air that Sprint will be offering 1.1Mb data via cell phones early next year.

The TWIG application is currently under very heavy development. Some of the features I have talked about in this article did not make their debut until a week ago at the release of 2.6.1. If the development continues at its current rate, I would expect to see many of the finer features start to show themselves. The contact notes I mentioned perhaps? (Blatant Hint). TWIG can be found on the web at

About Author

Joshua Drake is the Webmaster of the Linux Documentation Project and the owner of Command Prompt Inc., a Linux and e-commerce company. Command Prompt can be found on the Web at

Mobile Site | Full Site
Copyright 2017 © QuinStreet Inc. All Rights Reserved