At the Forge - Weblogs and Slash
From what we have seen so far, Slash seems to provide a simple way for many users to create and maintain their own journals. However, there is no real interaction among these users or their journals; everyone is insulated from one another.
But Slash was written to promote on-line communities, and it comes with a number of features that promote collaboration and integration. To begin with, Slash keeps track of statistics across all of the journals in the system. By clicking on the Top 10 link in journal.pl (the main journal page), you can find out which journals were updated most recently, which people have written the most and which friends have written most.
The term “friends” I refer to here is not a synonym for community member. Rather, every user in a Slash system can categorize other users as friends and foes, creating an interesting web of interpersonal relationships similar to but distinct from such sites as Orkut and LinkedIn.
The easiest way to mark someone as a friend or foe is to go to his or her home page, typically ~username. Thus on my system, anyone can go to my home page with the URL chaim-weizmann/~reuven. Next to the person's user name is an icon indicating whether he or she currently is a friend (smiley face), foe (red sad face) or neutral (the default, with what appear to be sunglasses and an odd smirk). Clicking on this icon allows you to change your relationship with this other person.
One big difference between Slash and various other personal networking and community Web sites is the fact that such relationships are public. Any user on a Slash site can find out who my friends and foes are. Although this probably stops people from marking others as foes, because of the public embarrassment and fallout that might result, it does mean that Slash can create fascinating personal networks and relationship combinations. You not only see a list of someone's friends, but the person's friends' friends, as well.
Each of these relationships is one-sided; A can be B's friend, but B can be A's foe. When you go to someone's home page, you can look not only at the person's friends and foes, but also at his or her fans (others who have marked this person as a friend) and freaks (others who have marked this person as a foe).
The biggest practical advantage to setting up a list of friends is the fact that Slash keeps track of their journals and journal updates for you. Clicking on the Friend's Journals link at the top of your home page brings up a list of your friends with journals. This is the Slash equivalent of bookmarks or of an RSS news aggregator. Putting people on your list of friends means you easily can keep up with the journals that your friends have written.
I have looked at Slash several times over the years, and each time I came away fairly unimpressed. The code seemed hard to understand, the user interface was ugly and the functionality seemed limited. Slash-based sites remain relatively ugly, although this now is changeable, thanks to its use of the Template Toolkit. The functionality still is quite limited when you compare it with other community infrastructures and toolkits, such as Xoops and OpenACS.
But, Slash was not designed for broad needs; rather, it tries to implement a limited set of functionality and to do it well. In that regard, they really have succeeded. use.perl.org is a great example of such a site, which both distributes news articles and allows users to keep their own journals. If you want to provide limited news and announcements, while making it possible for large numbers of users to keep and comment on journals, Slash might be a good way to go.
Further, I must admit that the code has improved dramatically over the years; it now is possible to understand what is happening and even to modify or add functionality if you are an experienced Web/database hacker. Granted, Slash has many convenient functions that require something of a learning curve before you can jump in and make changes, but this is true of all Web/database toolkits, so it's unfair to say that Slash is different in this regard.
My main criticism of Slash, aside from issues having to do with distribution versions (which remain in CVS) and documentation, is the lack of a standard system for adding new functionality in the way that Xoops, OpenACS and Zope have done through their various modules and packages.
Slash, like much open-source software, is powerful, scalable, difficult for newcomers to install and poorly documented. Unlike many other packages, it also focuses on depth rather than breadth, providing more features than many other toolkits, at the expense of extensibility and generalizability. And, if your site is even beginning to approach the number of users or visitors that Slashdot attracts, you would be wise to consider using it.
Resources for this article: /article/7607.
- Readers' Choice Awards 2014 Poll
- Give new life to old phones and tablets with these tips!
- Memory Ordering in Modern Microprocessors, Part I
- Source Code Scanners for Better Code
- Creating VPNs with IPsec and SSL/TLS
- Writing a Simple USB Driver
- RSS Feeds
- Tech Tip: Really Simple HTTP Server with Python
- Raspberry Pi: the Perfect Home Server