1/13/08 Modified by dann - removed "posting to new writeups", removed video spec, cleaned up a bit.

This is a comprehensive list and description of the features which should go into the site during the Fall 2007 development cycle. The feature descriptions run on a few assumptions:

Without further delay, new features, in alphabetical order:


Audio, Image, Equation, and Map support

Audio, image, equation, and map support will need to be integrated as tokens to be placed into a writeup: "e2audio", "e2image, and "e2map", respectively. Audio, equations, and images will be stored locally, and map data will be stored on google's and youtube's servers, respectively. These tokens will need to be parsed by a new htmlcode: we want multimedia content in writeups only, not on homenodes or in messages, comments, registrations, etc. Images will display normally, equations will display as images, and maps will embed their own UIs. Audio is a special case that may require its own player (which, IIRC, nate has already started writing in flash - ascorbic, I'd imagine you'd be ideally suited to help with this, if you have the time, and if you chose to implement it this way. If we use flash, we'll need to somehow be able to download the audio file). If we want to link to the audio content directly, and let it play in the browser, that would have its advantages. These five features have enough in common that they should probably be written by a multimedia team led by nate, kthejoker, or ascorbic, or a combination thereof who's willing and has the time.

Creation of multimedia nodes will need to be available to all users, regardless of level. If we need to tie this to user-level or other privilege later, we can do so then. Management of these nodes will on the whole operate along the same premises:


Behavioral Standards

The terms of service, community guidelines, editorial guidelines, and administrative guidelines are being developed in the e2policy group on the production site. The only changes which will need to be made to the system to accommodate these are:


Community Spotlight

Community spotlight is like a editor cool, but for users. It will allow members of staff to highlight noders who have made significant contributions to the site, but haven't been appropriately recognized. It will need to be implemented in four sections:


External links

We need to enable external links from anywhere in the site. Noders typically list these in link and pipelink form, so I would recommend we follow suit in enabling it as a feature. NOTE: This will likely require changes to linkNode() in an underlying perl module (/usr/local/everything/lib/Everything/HTML.pm), so will need to be coded by an active coder-god on E2. The person or team who writes this feature may also want to closely consider writing the semantic URL features. This feature should should:


Frontpage (for guest user)

Quoted from the community newsletter, "The frontpage as shown to users not logged in will be vastly simplified, with only news, recent nodes, C!s, a search box, and editor cools." We'll need someone to design and code this. This, along with the "frontpage (for logged-in users)" should probably be coded by a team consisting of a graphic designer and a coder. This will only pull data from a few tables and present it attractively to visitors. Bonus points if you can make it auto-update when new C!s, cools, and nodes are posted. It will require:

Guest user will have advertisements where we currently have nodelets, with the exception of the login nodelet. The look and feel of the new guest-user frontpage should be crafted accordingly.


Frontpage (for logged-in users)

Ideally, the new logged-in-user frontpage will be driven by AJAX, for drag-and-drop ease in adding and removing modules. The script.aculo.us javascript library (based on prototype.js) is relatively standard, and does this task well. It should be heavily considered. We may need to rig the JS includes in cache, so not to eat up heaps of bandwidth pushing the same code down the pipe repeatedly.

The front page should consist of a number of nodelets, each offering a specific type of information. Users should be able to add nodelets to their frontpage by means of an epicenter-like required (not closeable) widget. Look at pageflakes.com, popurls.com (not dynamic, but still useful), and netvibes.com to see a few ways we can lay this out. These nodelet should include:


Getting started with Everything2

"Getting Started with Everything2" is the new manner by which users will sign up for accounts and get integrated with the site. There's a great deal of work involved here, and we'll need to keep the process as streamlined as possible. Major thanks to Wiccanpiper, LaggedyAnne, Two Sheds, alex, and Lord Brawl for helping with this section. It will consist of five steps:

I'd also like to see some sort of progress bar as a user progresses through the five steps, so their know there are only five, and know (nominally) how far they are in the account creation process.


Homenode updates

We may want ways to show what a user's been up on on their homenode more easily:


License Nodetype

A fair bit of our new functionality depends on the availability of various content licenses. We'll need a nodetype (and htmlpages) for "license", a page by which e2gods can add new licenses, and a selection of popular licenses:

This nodetype needs to store the license text, the license ID, an icon for display in the header or footer of a writeup that uses this license, and a link for further information.


Locks and Forbiddance

Most new level powers will need corresponding forbiddance options to the E2 staff, and locking will need to be published on a generally accessible blotter:


Message Inbox

A few general repairs are needed to Message Inbox:


Nightly Email

From the community newsletter, "Finally, we'll be bringing back the E2 Nightly Email. This will allow you to follow the nodes of those in your friends list, and optionaly a summary of all new writeups for the day." I'm pretty sure nate has most of this done, but it bears listing here. We'll need:


Other Users and Chatterbox

Three very small features will need to be coded into the Other Users / Chatterbox system:


Polls

Two small changes need to be made to the poll system


Powers Page

Here's one for the documenters:

Users should be able to visit a page that links them to all of our strangely named documents with which they can do something: this needs to be a user's version of god powers and how to use them. Good examples of what to include here are (*looking down the list of superdocs*) Lies, damn lies, Random Nodeshells, Your filled nodeshells, ekw shredder, Everything Poll Directory and creator, The Draughty Atelier, My Big Writeup List, squawkbox, Your Nodeshells, What to do if E2 goes down, Voting Oracle, EIMR, EMAR, Gab Central, usergroup message archive, Teddisms generator, oblique strategies garden, The Power Structure of Everything2, E2 FAQ, Cool Archive, ENN, Everything New Nodes, Message Inbox, Piercisms Generator, Voting/Experience System, Nate's Pseudo-Wisdoms, Page of Cool, Everything Quote Server, and most of the vitals nodelet.

If we want to leave some of these at easter eggs, I'm OK with that. Important documents require a table of contents or otherwise centralized reference point. Gods have this, at god powers and how to use them. Normal users don't, yet.


Registries

Registries are a quick and easy (though they may need a new name) home for GTKY content. I've already written some of this, and will start crossing things off when it's live here:


Semantic Web

We should update the URL structures of E2 to conform with semantic web conventions. For the majority of E2 URLs, I'd rather see URLs like "http://everything2.com/user/dann" than "http://everything2.com/?node_id=650043". The same person or team who writes this may also want to work on the External URL facilities - the modifications needed for both will likely need to be made in the same places:


Social Bookmarking

Social bookmarking is a phenomenon that allows users to tag, descripe, and share URLs with other members of those sites.


Syndication

Nate has been working on updating our RSS feeds, and has them mostly complete (IIRC). We'll still need a few things, however, to make them usable across the web:


Tagging

Full text search is going to be difficult and processor-cycle costly to integrate, and will need to be integrated at a later date (when we have the horsepower to handle it). For the time being, tagging and tag-search should serve us well. To enable this, we'll need:


User Search

User search will need to be updated to allow for our new content types, and to fix its pagination:


Usergroup updates

A few updates need to be made to our usergroup handling. Most of these features will need to go into the usergroup display page:


Writeups, comments and e2nodes

We'll need a fair bit of updates to writeups as a driving force in most of these features:


Zen Theme

Finally, we'll have to update our themes for the new update as well: