NewsRadio Overview
Last updated: 6/5/2002; 8:34:15 AM
 
The FuzzyBlog!

Marketing 101. Consulting 101. PHP Consulting. Random geeky stuff. I Blog Therefore I Am.

NewsRadio Overview

An Overview of the "NewsRadio" Application

The more I use Radio, the more impressed I am with the thoughtfulness of its design.  However, and there's always a however, it seems that certain features need expansion to improve their overall usefulness.   Right now I'm thinking a lot about News. The name "NewsRadio" is humorous, not intended to infringe trademarks, etc.  It just felt right as a development name.

My Problems with the News Application

I really like the News aggregator in Radio.  However, I see some problems:
  • Lack of  persistence.  Its currently only a day at a time.  When I get deeply involved in a project, I often don't choose to focus on anything other than that project.  This means that I lose the advantage of quickly scanning over items in the news page and choosing what items to read -- they've scrolled off.  To me, persistence means storing not a day or a week but a month or year.  A historical trail is hugely useful for any type of knowledge worker.  Disc space is cheap.  User time spent wondering either what changed or user time spent looking for something they know they've read but can't find is expensive.
  • User Interface Inflexibility.  I understand exactly why the News interface is designed as it is -- its right for Radio.  Still, its not what I want.  I'd like an outline of everything from Scripting or Matsuko, etc.  I'd also like to be able to sort it, etc.
  • Searching.  Nuff said. 
  • Dynamic formatting based on user navigation.  Like most people I suspect, I have subscribed to more than I actually read but the tabular interface makes it hard to distinguish.  The clear way to handle this is to implement a tracking redirector that logs what you've followed and then:
    • Dynamically alters the formatting of future entries from that source to make it stand out more (internal note to self -- inverse of current Inbox Buddy turn spam gray approach)
    • Take into account frequency of clicks to move items to the top.  Example, if you always read John Robb, move him to the top.
    • Reduce noise words, apply Andrew's clustering algorithms (porter's stemming) and extract words and phrases based on links followed.  Build overall concept maps for what people are interested in.  Has to be totally in the background.
    • Implement background level "correlation searches" to extract information from the news stream using dmoz as a source of correlation data.  Example, if you subscribe to news.com and you are someone at verity.com then anything from news.com that references someone in the same dmoz category is probably a competitor or partner of yours and this needs to be flagged.  (internal note -- use existing dmoz parsing code for this)
  • Communities of interest.  If you took a collection of weblogs and eliminated those that everyone reads (sorry Dave) then taking the 3 people that read weblog x, this is a potential community of interest that could be dynamically created to facilitate collaboration, knowledge management, etc.

Relational Schema

Listed below are starting table schema for user and item tables. create table newradio_items (
item_id INT(7) NOT NULL PRIMARY KEY AUTO_INCREMENT,
-- writer or router if I can figure it out
type INT(2),
source char(75),
sourceurl CHAR(75),
url CHAR(75),
domain CHAR(50),
date CHAR(10),
time CHAR(10),
title CHAR(75),
content TEXT,
)
-- Note, need to allow for this table defining pushes as well as pulls create table newsradio_users (
user_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
username char(30) UNIQUE,
password char(25),
emailaddress char(75),
language CHAR(2),
hintquestion char(50),
hintanswer, char(50),
type int(2),
date datetime,
radiourl CHAR(75),
radiopassword CHAR(30)
)

Approach

Hack together a workable prototype implementing persistence.  Get that running and then pull in functionality bit by bit.  Never go dark, never break it if possible.  Clearly I don't have all the time for this but ...

Revised DB Schema

– items for the feed
create table newradio_items (
  item_id INT(7) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  – writer or router if I can figure it out, 0=writer,1=router,2=both
  type INT(2),
  source_id INT,
  user_id INT,
  itemurl CHAR(75),
  date CHAR(10),
  time CHAR(10),
  title CHAR(75),
  content TEXT,
)

– table definition for sources that you are subscribed to on a per user basis
create table newradio_sources (
  source_id INT(7) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  user_id INT,
  – writer or router if I can figure it out.  0=writer, 1=router, 2=both
  type INT(2),
  source char(75),
  sourceurl CHAR(75),
  title CHAR(75),
)

– Tabel definition for tracking which items a user has followed
create table newsradio_itemtrackers (
  tracker_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
  source_id INT,
  item_id INT,
  date DATETIME,
)

 

 

 

 

 

 
Copyright 2002 © The FuzzyStuff