+ login
+ register
-- settings
++ settings
++ upload avatar
++ change password
++ settings menu
+ disallow login if user is logged in
+ disallow register if user is logged in
+ common_current_user()
+ header menu
+ footer menu
+ disallow direct to PHP files
++ common_local_url()
++ configuration for DB_DataObject
++ date formatting
++ new notice redirects to notice page
++ date in shown notice links to notice page
++ common_redirect()
++ configuration system ($config)
++ release 0.1
++ design from Open Source Web Designs
++ add H1 to each page
++ add H2 for each page section
+- doc action
++ default to public stream
+- default avatar
++ default HTML type
++ set Content-Type
++ show current values in profile settings
++ save profile URL in profilesettings
++ save profile URL on registration
- require valid nicknames
-- common_local_url()
-- configuration system ($config)
+- reject empty notices
+- store canonical username for comparison and fetch
+- use only canonical usernames
+- use only canonical email addresses
- RSS 1.0 feeds of a user's notices
- RSS 1.0 dump of a user's notices
- RSS 1.0 feed of all public notices
- RDF dump of entire site
- FOAF dump for user
-- delete a notice
-- make sure canonical usernames are unique
-- upload avatar
-- licenses
-- design from Open Source Web Designs
-- release 0.1
+- license on showstream
+- license on shownotice
+- TOS checkbox on register
+- pretty URLs
+- site logo
+- instructions
+- deal with PHP quotes escaping
+- release 0.2
+- set Last-Modified
+- XML sitemap generation
+- theme per site
+- theme per profile
+- email confirmation for registration
+- change cookie handling for anon users to be more cache-friendly
- gettext
- subscribe remote
- add subscriber remote
- tinyurl-ification of URLs
- jQuery for as much as possible
- themes
-- release 0.2
+- RDFa for stream pages
+- RDFa for subscriber pages
+- RDFa for subscribed pages
+- plugins and hooks
+- content negotiation for interface language
+- content negotiation for content type
+- content negotiation for encoding
+- content negotiation for charset
+- If-Modified-Since support
+- Vary
+- delete a notice
+- release 0.3
- @ messages
- # tags
- L: location
+- hreviews
- stay logged in between sessions
- use RSS as a subscription
- URL notices
- image notices
- video notices
- audio notices
-- release 0.3
+- release 0.4
- forward notices to Jabber
- forward notices to other IM
- forward notices to mobile phone
+- receive notices from Jabber
+- receive notices from other IM
+- receive notices from mobile phone
- machine tags
-- release 0.4
+- release 0.5
+- Twitter-compatible API
+- Pownce-compatible API
- include twitter subscriptions
- include Pownce subscriptions
- privacy