By Paul Ferris
Webmaster, Editor, Linux Today
It’s been a really long haul. I had some lofty goals when I
started this trek. I wanted every feature that seemed to merit
implementation to see the light of day. I wanted all of the legacy
story information on Linux Today to remain where it is — and
usable. In short, I wanted to improve the best news site I’ve ever
experienced — the site I’ve not been able to live without for the
past year and a half or so.
New Features
Linux Today, The Next Generation
(LT-TNG). I’ve tried to list the new features below. If you
don’t see much in the way of change then I’ve done my job. I didn’t
want to destroy what I felt was a good design layout, and I wanted
the new features to feel natural.
I’m interested in your feedback. Please respond to the talkbacks
here or by sending me
personal email.
Pay special attention to some of the new things:
- Triggers (The ability for Linux Today to scan for news for
you).
- Talkback features (threaded mode, finally!),
- Improved search capabilities
- More content choices
- Improved user preferences
- Improved Newswire filter settings
- Site category views (News by popular category).
- Improvements in overall link functionality
I’ve tried my best to keep the parts of Linux Today that work
well, while moving forward with new features and new software.
Overall, you as a reader should notice speed improvements and a
more consistent design. I’ve tried to stay with simple HTML and
general placement of most items on the screen. This is more of an
overall attempt to improve something that I really like.
If you are interested in more than just the new features, read
on. You may have questions, and if there are enough questions, I
will produce a FAQ (frequently asked questions) on the subject.
From where I sit writing this now, I don’t see a need for this, but
should it arise I will do it.
Otherwise, hit the link and enjoy.
–Paul Ferris, May, 2000
The Gory Details
-or-
Why?
I’m sure there are a lot of questions. First and foremost, for
some of you at least, “Why?”.
That needs to be answered first. The site, as it was handed over
to me in October of last year consisted of thousands of lines of
perl, HTML and PHP3, in various mixtures. The reasons for these
mixtures are many, but mostly due to time constraints the site
never had the consistency, simplicity and documentation that it
could have (and should have) had.
The number of support files for the old generation Linux Today
boil down to this: too many. Each story has three static
parts, each talkback has a static file, and so on. The site
actually existed in two pieces — one for Your Linux Today members
and one that was somewhat static.
To make matters even more painful, the static files were stored
under a directory structure one level deep. If you’ve ever needed
to examine files in a directory with 60000+ files, you know where
I’m coming from. I’m sure some of the journaling file systems out
there would have fixed this problem, but in the mean time it was
rather frustrating to deal with.
Another problem that wasn’t so apparent has to do with
segregation of Linux Today story content. Stories on Linux Today
were categorized via one database field “Dept” (Department). That
field, a text field, was to hold the story type. It may seem
harmless enough, but what we ran into were problems of a different
variety — stories often fell into more than one department. It was
decided that we needed a better way.
Some of you wrote us from time to time complaining about stories
that you felt did not belong on Linux Today. The problem was that
as far as we’re concerned, everything Linux belongs on Linux Today
— if you don’t like it, you should have some way to remove it from
your view. Story categories obviously were not enough. An opinion
story about Microsoft (for example), would make it to the top of
the wire as an opinion — in order to block it as a reader you
would have to remove all opinions from your sight, or bear with
it.
Talkback forums themselves were somewhat complex, and some
people had suggested from time to time that a threaded view would
be nice, in addition to the views available in our present
software.
In New York, at Linux World Expo, I had a few minutes with Alan
Cox, and he suggested something rather cool: The ability for our
newsletters to be sent out if they matched some kind of search
string. I thought about that some more, and came up with the idea
for triggers. Triggers are a way for a reader to have Linux Today
scan the news for stories as they break, allowing you to have items
of interest delivered to your mailbox in a timely fashion.
What became obvious, after examining the site code, was that the
best thing for everybody was a rewrite. There was an enormous
potential for improvement, and this time I would be able to
incorporate some of the ideas that people had been asking for all
along. I would use PHP exclusively for the front end code.
The focus areas for the new site would be as follows.
- Speed
- Flexibility
- Simplicity
- Modularity
- Speed
- Speed
Keeping the good stuff…
I realized that Linux Today is a popular site, however, for many
reasons. I should not tamper with those features, if at all
possible.
Some of the rather subtle reasons why Linux Today is a popular
site revolve around what it doesn’t have: clutter. Things aren’t
blinking in every corner, attempting to stray your attention away
from the Linux news that you crave like some kind of addict (I
speak for myself here).
The site didn’t and won’t have dozens of gizmos that have little
to do with why you are here. It’s simple — period. If anything, I
sat back and looked over each page with a fresh set of eyes and
said “What is this page for, and does everything that is here need
to be here.”
In other words, I strove for simplicity in the design of the new
site. The only real structural changes and extravagance are the
left column on the front page — a column that goes at the end of
the feed if you bring up LT under Lynx.
The somewhat gory-er details…
Virtually everything is re-written strictly in PHP version 3 (or
higher) as of this writing. I’ll be upgrading to 4.0 once I’ve
given it a good thrashing. The site backend is in perl, ksh, awk
and Visual Basic. Ok, that last one is just there to see if you’re
awake. It’s all open source software, period.
New Features
With the launch of LT-TNG, almost everything is dynamic, and
malleable from everyones’ perspective. The categories used in
stories can be altered from the administration side in a matter of
seconds. The categories that are selectable for story views can be
used to highlight and remove stories.
In other words, you can now tell Linux Today how to serve you
the news in two ways. You can say “I’m interested in this stuff the
most, and least interested in this stuff”. The newswire will behave
accordingly. The newswire itself can be sorted by talkback, reads,
or time, and reverse orders of all of these selections.
Now, if you could just find a way to tell me “Shut the heck up,
for crying out loud!”. 😉
Talkbacks
One of the first features that should jump out at you is that
talkbacks now have a “quasi-threaded” display mode. Truly threaded
talkbacks (eg: phorum) would
have been really nice, but go beyond the amount of discussion that
usually accompanies a story on Linux Today. I decided after
evaluating phorum, that although it was a great piece of software,
it would not fit well with our trimmed down attitudes here, plus it
would be a pain to hack it and have the “indexed flat” approach
(that personally is the way I like to see my stories
displayed).
The final nail in the coffin for not using phorum is that it’s
truly dynamic — it lives in SQL land, and Linux Today’s content is
not based upon any SQL database on the front end — although you’ll
never know this from looking at the site content, as it will behave
very dynamically, as if it were all coming from a database of some
kind.
So the talkback display system was re-written. You may notice
while using the non-flat modes that you can get the first 60 or so
characters of a response simply by holding your mouse over the
left-hand graphic for that talkback. One of the extra features,
under Your Linux Today logins, is the ability to send a 2000-volt
shock to people, simply by selecting that option in the
talkback-reply area.
Implemented just for people suspected of trolling, this feature
may not make it into beta-test, because some of the internet.com
legal types are worried about lawsuits and reliable news delivery.
Wimps.
Story Filtering with YLT
Your Linux Today (YLT), has been altered substantially. The
database records in the previous version consisted of a variable
width text field, specifically in the area where topics were
filtered on the main newswire. This was somewhat clumsy in the code
especially, since during newswire display, each topic had to be
scanned from a story and compared with a text-based array to see if
it was to be filtered or not.
The new category/topic data that is associated with a story
allows us to categorize stories in one major category and up to two
topical areas. The category selection code is modular, and used
throughout the site. New categories can be added in a matter of
seconds, and the site will immediately display them everywhere they
are referenced.
The story filtering allows you to select items that you are most
interested in, and remove or push down the wire, news items that
you don’t care about. Everything not in either category falls
in-between.
Believe it or not, from time to time we get complaints that
there is simply “too much news”. Using LT-TNG, you can easily sort
through the news and immediately find the things that you are most
interested in. By providing these capabilities and triggers (read
further on), we hope to deliver the news to you in a timely fashion
— Internet time at that.
Searching
I’ve had several requests for more search capabilities.
Searching talkbacks, for example, is a commonly asked for request.
Also, there was no easy way to limit searches to the different
areas that all of our stories have in common, or to easily find an
opinion and PR piece about GNOME, for example.
The new search page contains the old pages’ functionality, along
with an advanced search that should help people doing research on
Linux, or trying to find some item that’s not so easily found.
The search page was totally redesigned from the ground up to
provide ease of use and power. The choice is left up to the reader.
The advanced search area is fairly easy to use, especially when you
take into account that I used sendmail configuration files as a
complexity model (to avoid).
Triggers
Triggers are an attempt to help Linux Today bring the news to
you instead of you having to come to us. Simply select the triggers
menu and take a look for yourself. Of all of the new features and
refinements on Linux Today, I’m proud of this one the most. Please
give me feedback on the feature, and try it out if you’re at all
pressed for time. Triggers allow you to have interval scans of new
news that match your search criterion sent to you via email.
There’s a FAQ on the new site in
case you need to know more.
Lynx
Given that a good portion of Linux Today readers access the site
via lynx, and the fact that I’m a lynx fan, I decided that a
special lynx version was in order. When I added the column on the
left-hand side of Linux Today, I was given a heads up by a friend
(Thanks Byron) that lynx users would not be happy. I checked, and
saw that yes, indeed, that would be the case.
What to do? Well, in PHP it’s
a trivial matter to sense the browser and simply switch off a few
things. I decided the lynx version should move the left hand column
to the end of the main page, allowing them almost the same view for
lynx users that they had before. The only two affected pages are
the main index page and the story page, but this should be enough
for most lynx users.
If you drink enough Fosters, you will discover that the lynx
version of Linux Today now supports graphic display as well.
Although this defeats the purpose of using a text based browser,
it’s a great reason to put away a few beers. Although in
retrospect, the lynx Linux news content had quite a lot more beer
commercials than I’m accustomed to. I advise caution before you
attempt to use this feature.
Palm-Pilot versions
I’ve had various requests for a palm-specific version of Linux
Today. The limitations (32k per page) are rather tight.
While this is still in development, I can say that I’ve started
work on a palm-specific version of the site. The code is in the
current site, but lacking a palm-pilot with internet access, I
can’t easily test it. Feedback on this feature is extremely
encouraged.
Site Tuning and More
The site page display and main newswire display items were
performance tuned so that even under worst case load conditions,
things should breeze right along. Without going to deeply into it,
the site uses static files that are dynamic. Huh? No, it’s not the
beer, honest. At times, the front page display is so fast that you
may find news content for tommorow.
Forget that last line, it was a bug in the old software, and has
been removed.
LTSN
The curious among you will notice that the sn
(story number) has been supplanted by the ltsn
(Linux Today Story Number or Linuxtoday TNG Story Number). The ltsn
is more sensible than the sn, in that by looking at the ltsn, from
wherever it’s referenced, you can make out a good portion of
information about the story — it’s type, for example, who posted
it, what day it was posted, and so on.
The news_story page actually allows you to key in a query,
substituting *’s for the relevant fields and returning the stories
that match that query. You can for example, find all of the opinion
articles published in april, say:
https://www.linuxtoday.com/news_story.php3?ltsn=2000-04-*-*-*-OP
Besides the fact that you can amuse and impress your friends,
you can actually sift through the news in a different way, and that
was my goal. The Fields in the the ltsn, are
YYYY-MM-DD-NNN-PP-TT[-TT] where YYYY is the year, MM is the month,
NNN is the story index number for the person who posted the story,
and PP is the story poster number. The -TT alphanumerics are the
story type, and there can be up to three of them.
Preferences
The preferences page is dynamic — Even the user preferences
available are controlled by a database. The only static items on
the preference page are database fields entries for your name,
email address and password.
I evaluated the suggestions I’ve been given over the past few
months, and implement the best ones. I could not find a lake,
however, to jump in, so some of you are seriously out of luck.
Feedback
A lot of readers are loyal to Linux Today, and I’ve had to make
some compromises along the way to keep the site running smoothly.
One of them has been whether or not to continue with an obviously
fractured code-base, or to start from scratch and re-do everything.
I’d appreciate your feedback
and suggestions, as I have in the past. I know from past
experiences that I’m likely not to make everyone happy with any
kind of change, it’s part of human nature. But hopefully I can make
more of you happy without making the minority uncomfortable.
You’re a rough crowd sometimes, it comes with the
territory…
I think this is a step forward and I must say here that it has
certainly been an honor to serve you all.
Sincerely,
Paul Ferris
May 2000
Credits
Special thanks to:
- Dwight Johnson: Linux Today Co-founder, for many good
suggestions, such as threaded talkbacks, special story views, site
design issues and more.
- Dave Whitinger: Linux Today original site architect.
- Marty Pitts: Suggestions and the under-appreciated editorial
eye…
- John Wolley: Categorical/Topical changes and suggestions.
- Alan Cox: Triggers
- Kevin Reichard: Direction, patience and the freedom to get it
right…
- Lisa (my wife): Time and support (those 90 hour weeks are over
— right!)
- Readers too numerous to mention, for many small
suggestions.
- All the cool folks at internet.com