Difference between revisions of "YTMND:TODO"

From YTMND
Jump to: navigation, search
(Old version 1.7)
Line 1: Line 1:
 
==YTMND TODO List==
 
==YTMND TODO List==
  
Version 1.6 [2006-04-20 00:43:58 CST]
+
Version 1.7 [2006-08-01 04:46:58 CST]
  
 
<pre>
 
<pre>
NEW SERVERS
+
[  Legend  ]
-- Move DB from current db box to mysql 5 on the new db server.
+
-- Move www1 from current box to new web server.
+
-- Figure out what to use the 2 old servers for
+
  I'm thinking Search server and something else.
+
  
 +
*- Bug.
 +
@- Possible feature or something I am bugged about constantly.
 +
+- New Feature I want to add.
 +
!- Current state or general information.
  
RSS FEEDS (should be in interface dir)
 
-- RSS feeds for all the content boxes
 
-- Search RSS feeds (maybe)
 
--  Allow saving of searches as rss that are updated once every 60 or so minutes? [PAID]
 
  
 +
[  USER LEVELS  ]
 +
+- Implement and enforce user levels (somewhat in place).
  
COMMENTS
+
  Level 0:    Users who aren't signed in.
-- MySQL 5 will allow VARCHAR comments > 256 chars.
+
  Level 1:    Users with an account that has not been confirmed.
-- Nested comments to allow people to reply to comments (requires layout changes)
+
  Level 2:    Users with a confirmed account.
-- Ability to delete comments [PAID]
+
  Level 4:    Paid users.
-- Comment paging for sites with a ton of comments.
+
  Level 8:    Moderators.
 +
  Level 16:  Administrators.
 +
  Level 255:  Max.
  
  
FILESYSTEM
+
[ COMMENTS  ]
-- Store MD5 of sound and image files for each site including byte size.
+
-- Link to sound and image file on profile page.  [PAID]
+
-- Possibly re-work file layouts to prevent file duplications.
+
-- "56k" option to prevent users from opening huge sites.
+
  
 +
@- Nested comments to allow people to reply to comments (requires layout changes)
 +
@-- Maybe use do a mechanism like Livejournal's nested comments, or digg's comments
 +
@-- with a +/- system to get rid of trolling.
 +
@- Ability to delete comments  on your sites.
 +
@- Comment paging for sites with a ton of comments, maybe AJAX.
  
NEWS
 
-- DBize the news.
 
-- Make an Admin CMS for news.
 
-- Make news comments.
 
  
 +
[  FILE SYSTEM  ]
  
USER PROFILES
+
+- "56k" option to prevent users from opening huge sites.
-- Real user profiles.  
+
@- Add site size information to site profile and possibly sites table
-- Avatars [PAID] (would need to figure out where on the site they are shown).
+
*- Figure out the bug randomly causing sites to be batch edited.
-- Profile image and text, copy a lot of the VBulletin options.
+
*-- I've already tried editing a site and uploading a previously used sound file.
 +
*-- and editing a site and using a new file.
 +
*-- Things to look into: the asset management system, site creation/editing code.
 +
!-- 6 months later: I have yet to see this pop up again
  
  
SESSIONS
+
[  USER PROFILES  ]
-- Standardize sessions, use a wrapper session class.
+
-- Decide which session engine to use, most likely memcached and Zeus's user tracking feature.
+
  
 +
@-  Real user profiles, same sort of information vBulletin has, with some other good info to create fun
 +
@-- statistical information from.
 +
@-  Avatars (would need to figure out where on the site they are shown).
 +
@-- Possibly open up avatars for everyone but allow paid members to have slightly larger avatars.
 +
@-  Discuss the addition of user comments and user ratings (like a myspace (ugh) wall)
  
KEYWORDS
 
-- Work more on keyword relevance, maybe use a separate Xapian.
 
-- Add more to keywords interface.
 
-- Start linking to keywords in site profiles.
 
-- Add ads.
 
  
 +
[ PRIVATE MESSAGING ]
  
CONTENT BOXES
+
+- Get rid of the POST shit on every page clicking back and forth.
-- Allow customization of content boxes. [PAID]
+
*- There is some sort of duplicate messages bug.
-- Allow ordering of content boxes. [PAID].
+
*-  Blocked users still cause your messages icon to light up.
-- Add new content boxes:
+
+- Option to email user when they get a new PM.
---- Who's online.
+
+-- Sub-option to not be spammy and only send 1 email until next login.
---- Top Rated Today
+
@- Easy way for me to mass message people or mods.
---- Top Rated This Month
+
---- Most Views Today (External)
+
  
  
HELP SECTION/FAQ
+
[ DONATIONS ]
-- A help section with common problems and solutions.
+
-- A CMS.
+
  
 +
+- Redo donations page completely.
 +
+-- Create new tabbed area like users page with:
 +
+-- Donations this week, donations this month, donations all time,
 +
+-- donations by user, donations by site.
 +
+-- Focus on recent donations more as they can get lost easily.
  
SITE VIEWS
 
-- Insert a row on each site view with: (IP, site_id, referring url).
 
-- CRON job uniqify's views and stores a small amount of referring url data.
 
-- Maybe make Referrers [PAID] feature.
 
  
 +
[  SESSIONS  ]
  
HASH TABLES
+
+- Standardize sessions, use a wrapper session class.
-- Rename hash tables so they are easily identifiable as so.
+
@- Decide which session engine to use, or if you should just create your own.
-- Get temp_site_list updated up to the second like temp_comment_list.
+
*- Figure out YTMNSFW age check issues.
-- This will avoid the 30 seconds of downtime every 30 minutes when that table compiles.
+
-- Use the new MySQL views on queries that are time sensitive without ORDER/GROUP by clauses.
+
  
  
REPORT THIS SITE FEATURE
 
-- For illegal content.
 
-- Marked as work safe when not work safe.
 
-- Craigslist like.
 
  
 +
[  KEYWORDS  ]
  
USER LOGINS
+
+- Put more keyword info in when users search.
-- Clean up and rewrite the code so it uses straight sessions.
+
+- Add more to keywords interface.
 +
+- Limit # of keywords on site creation.
 +
+- Allow users to report keyword abusers.
 +
+- Keyword live updates, latest popular keywords content box.
 +
 
 +
 
 +
[ CONTENT CACHING ]
 +
 
 +
!- For the last year or so I've been using memcached for content caching (any query that takes longer
 +
!- one second to run) for the content boxes and subpages of YTMND. This is all fine and dandy except
 +
!- memcache gives no control over cache expiration or priority, meaning memcache has to be restarted
 +
!- When it fills up or some weird stuff can happen, ie. content boxes/pages never getting filled.
 +
!- Restarting memcached means taking the site down for 5 minutes to repopulate all of the variables.
 +
!-
 +
!- This is obviously a less than optimal setup.
 +
!- This isn't a permanent solution by any means but I think it will help greatly:
 +
 
 +
+- Move all cached search results to a separate memcached server that gets flushed at 4am nightly.
 +
+- Create a cron mechanism that populates the critical variables for emergency use.
 +
 
 +
 
 +
 
 +
[ SEARCH ]
 +
 
 +
+- Bring back recent searches (yes, I miss this just as much as you do)
 +
+-- I don't however miss the huge amount of dumb ass sites with screenshots of it.
 +
 
 +
+- Advanced Search
 +
!-- Once the front page is converted I can drop the temp_site_list crap and make a real search engine.
 +
!-- Need to investigate whether or not creating a hash table with all the site meta data
 +
!-- is worth it for full text searching.
 +
!-- In my opinion, the search used to be way better before I switched to fulltext (although it's hard
 +
!-- to say how it would hold up now)
 +
 
 +
+-- Default search: title, keywords, description. In that order.
 +
+--- Advanced options include boolean (-word +word, etc)
 +
+--- Ability to search just sound and image origins
 +
+--- Ability to search subsets like:
 +
+---- Made by user:
 +
+---- Has keyword:
 +
+---- etc.
 +
 
 +
 
 +
[  CONTENT BOXES / FRONT PAGE  ]
 +
 
 +
+- The front page is going to change drastically.
 +
 
 +
 
 +
!- The default front page will look like:
 +
  -------------
 +
|    YTMND    |
 +
  -------------
 +
|N|  NEWS  |A|
 +
|A|        |D|
 +
|V|---------| |
 +
| | SP | RC | |
 +
| |    |    | |
 +
  -------------
 +
!- SP = sponsored sites
 +
!- RC = recently created (live update using ajax)
 +
 
 +
!- The NAV area will look something like this:
 +
!-
 +
 
 +
Search
 +
Advanced Search
 +
 
 +
Top Rated YTMNDs
 +
- This week
 +
- Today
 +
- Yesterday
 +
- This Month
 +
- All Time
 +
 
 +
Top Viewed YTMNDs
 +
- ...
 +
 
 +
Random YTMND
 +
 
 +
Sponsored YTMNDs
 +
 +
Moderator Favorites
 +
 +
YTMND Hall of Fame
 +
 
 +
Commented On YTMNDs
 +
- ...
 +
 
 +
Top Favorited YTMNDs
 +
- ...
 +
 
 +
Most Linked To YTMNDs
 +
- ...
 +
 
 +
Classic YTMNDs
 +
 
 +
!- The idea is at some point provide a google.com/ig type setup where users can customize their front page.
 +
!- When the front page changes, all users will be forced to use it this way for a while. I think it's going to
 +
!- be such a drastic change that some users won't be sure what to look at. The bias of the top 15 and top rated
 +
!- will almost no longer exist, so I'd like to give users some time to get an idea of what they will be looking
 +
!- at the most.
 +
 
 +
@- I'd like to make a "digg spy" type page that shows in real time all votes made on sites, sites being created etc.
 +
 
 +
 
 +
 
 +
[  REPORT THIS SITE FEATURE  ]
 +
 
 +
+- Build an admin side.
 +
+- Elaborate on information the user can provide, maybe pre-filled drop-downs.
 +
+-- Marked as work safe when not work safe.
 +
(I have yet to ever even look at any of these.)
 +
 
 +
 
 +
 
 +
USER LOGINS ]
 +
 
 +
+- Clean up and rewrite the code so it uses the to-be-written session class.
 +
+- Maybe bring back the [ ] remember me.
 +
+- Maybe do a loose login system like amazon
 +
+-- Always logged in, requires a password to do important things like add/delete/edit sites/options?
 +
*- Change the information stored the cookie so it isnt so insecure.
 +
 
 +
[  USER SIGNUP  ]
 +
 
 +
+- Rewrite completely.
 +
+- Get more meta data (like age, contact options, sex, etc)
 +
+- Make people agree to the TOS
 +
*- Completely redo the captcha without sessions/cookies, it's causing too many problems.
 +
+- Better IP tracking, like the forums but with a warning system and a decay.
 +
 
 +
 
 +
[  SITE VIEWS  ]
 +
 
 +
+- Insert a row on each site view with: (IP, site_id, referring url).
 +
+- CRON job uniqify's views and stores a small amount of referring url data.
 +
+-- Figure out a way of doing this without storing massive amounts of data.
 +
+- Maybe show referrers on site profiles.
 +
 
 +
 
 +
[  YTMND STORE  ]
 +
 
 +
!- schema started
 +
+- Real shopping cart. multiple tables and most likely a separate db.
 +
+- Site sponsorship done through store.
 +
 
 +
 
 +
[  FORUMS  ]
 +
 
 +
+- Integrate the account creation and user signup so there are no longer two accounts.
 +
+- Integrate banning/deletion features so when a user is deleted his forum threads and posts
 +
  are deleted as well.
 +
 
 +
!- New forums waiting on this to open.
 +
 
 +
 
 +
[  EMAIL  ]
 +
 
 +
+- Inject a unique message ID and then a qmail script to parse the information into a db.
 +
+-- This way when all the idiots sign up and they require human white-list interaction it can tell them
 +
+-- to fuck themselves when they send 1000 emails to support.
 +
 
 +
+-  Create a tracking mechanism for when a user has received an email to keep YTMND from spamming them.
 +
+-- To avoid sending multiple alerts/pm notifications between logins.
 +
 
 +
 
 +
 
 +
 
 +
 
 +
[  SUPPORT ISSUES  ]
 +
@- Decide whether or not to buy kayako, would be really useful but requires apache and zend optimizer.
 +
 
 +
 
 +
[  ADMIN.YTMND.COM  ]
 +
 
 +
+- Major clean up needed, move to new cvs.
 +
+- More web stuff, less shell scripts.
 +
+- Something other people can use besides me, like moderators and administrators.
 +
 
 +
 
 +
[  CLEAN UP ERRORS AND WARNINGS  ]
 +
 
 +
+- Create a generic error handling class (this should be easy now that we are on PHP5)
 +
*- All pages that just consist of die messages or warnings should go through an error class of some sort
 +
 
 +
[  RSS FEEDS  ]
 +
 
 +
!- RSS is something that would be extraordinarily easy to add, and would be a great feature.
 +
!- The reason it hasn't been done yet is that 95% of the ad revenue that supports YTMND's
 +
!- hosting is from people going to www.ytmnd.com, ie: people use rss feeds instead and
 +
!- YTMND can't pay for hosting.
 +
 
 +
!- Until I can figure out a way around this, it would be suicide to RSS up everything.
 +
 
 +
 
 +
[ NEWS ]
 +
 
 +
+- Make an Admin CMS for news.
 +
*- Don't let users post comments on news where live='n'
 +
 
 +
 
 +
[ HELP SECTION/FAQ ]
 +
 
 +
+- A help section with common problems and solutions.
 +
+-- This should be in the wiki, and since no one has created it will probably never happen until
 +
+-- YTMND can pay someone to do it since I am completely unwilling.
 +
 
 +
 
 +
[ HASH TABLES ]
 +
 
 +
+- Rename hash tables so they are easily identifiable as so.
 +
+- Get temp_site_list updated up to the second like temp_comment_list.
 +
 
 +
 
 +
 
 +
[ USER LOGINS ]
 +
- Clean up and rewrite the code so it uses straight sessions.
 
-- Redo the cookie so it isnt storing a password.
 
-- Redo the cookie so it isnt storing a password.
 
-- Log new IPs on login, for accounting like VBulletin.
 
-- Log new IPs on login, for accounting like VBulletin.
  
  
STRIPSLASHES
+
[ ALGORITHMS THAT NEED WRITING ]
-- CLEAN UP THE DB, GET RID OF ALL THE SLASHES YOU LAZY FUCK.
+
 
 +
+- Site recommendations. [PAID?]
 +
!-- I wrote a "users who like this site also like these sites" feature.
 +
 
 +
+- Similar users.
 +
+- Do something with user dupe information
 +
 
 +
 
 +
[ MODERATION ]
 +
 
 +
+-  Auto NSFW anybody user moderation.
 +
+-- If > 65% (?) users vote NSFW, auto NSFW the site.
 +
 
 +
+- Streamline and prioritize the moderation process so its faster.
 +
+-- Write some sort of approval interface.
 +
+-- Integrate the entire mod panel with admin.ytmnd.com
 +
+-- Get rid of the frames, they are too clunky and should be integrated with each site.
 +
+-- Allow moderators to mark an asset like they do sites.
 +
+--- This will allow moderators to mark all sites using an image or sound as "nsfw" or "kill"
 +
+--- effectively making an easy batch moderation, especially good for duplicate sites.
 +
 
 +
*-  If a site is NSFW'd mark it as "flagged" on edit instead of unknown, to avoid people
 +
*-- who are trying to get around NSFW'd sites.
 +
 
 +
 
 +
 
 +
[ MODERATION POINT SYSTEM ]
 +
 
 +
@-  Moderators can give users warning points for various actions that break the TOS.
 +
@-- Warning points have a decay and users will be PM'd/emailed when they get warned.
 +
@-- When a user reaches a certain number of warning points they will have various
 +
@-- actions taken against them:
 +
@--
 +
@-- Inability to vote/private message/site comment/news comment.
 +
@-- Temporary or Permanent Banning from the site.
 +
@--
 +
@-- Points will be given out for actions such as:
 +
@-- Comment spam/inappropriate comments (ie: racial slurs, etc)
 +
@-- Innapropriate content
 +
@--
 +
@-- Obviously this will have to be worked on more by the moderation team.
 +
@--
 +
@-- This would consist of both front end enhancements and admin.ytmnd.com tools.
 +
 
 +
 
 +
!- This will give me the ability to hand some of the real moderation (which consumes
 +
!-  so much of my time) over to other people.
 +
!- There will obviously need to better checks in place for abuse of power than the current
 +
!- mod setup.
 +
 
 +
 
 +
 
 +
[  LISTS  ]
 +
 
 +
!- The lists back end is complete with basic functionality.
 +
!- It currently supports the user favorites but is much more
 +
!- powerful. It also supports custom made user lists:
 +
!- IE: Get to know NEDM or Worst of What is Love? or Inkdrinker Approved etc.
 +
!- As well as lists managed by multiple people (group lists, such as moderator favorites)
 +
 
 +
*- Remove all of the user watch list stuff from lists, functionality being moved to alerts.
 +
+- Ability to add more than one note per item per user.
 +
+- Write interface for custom made lists.
 +
+- Write interface for list permissions/group permissions.
 +
 
 +
@- Maybe a global fads list and let people take over maintaining a fad list. (ugh)
 +
 
 +
 
 +
[ SITES ]
 +
 
 +
+- Build a protection mechanism to keep sites from being accidentally deleted
 +
+-- (especially useful for hall of fame).
 +
@- Possibly require sound and image origin fields.
 +
+- Add a "PRIVATE" option. Won't show up in searches, keywords, front page, random etc.
 +
 
 +
 
 +
 
 +
[ SITE TEMPLATE ]
 +
 
 +
+- Make a CSS file for christs sake.
 +
+- Complete re-do of sound code. Needs to be a lot smarter and take into account user preferences.
 +
+-- For instance, allowing the use of media player on firefox, which would solve a lot of sound woes.
 +
+-- Make a sound discovery javascript routine.
 +
 
 +
 
 +
 
 +
[ STANDARDIZE SITE LINK DISPLAY ]
 +
 
 +
@- Go through and make sure every link that links to a sub-domain opens in a new window.
 +
@- Standardize the way a site title and votebar is displayed.
 +
@- Possibly make icons for the site list which show sites that are ws/nsfw and sites that are in the HOF.
 +
 
 +
 
 +
 
 +
 
 +
[ WEIGHTED VOTING AND SITE DELETION SYSTEM ]
 +
 
 +
!- THIS WILL REQUIRE A LOT OF DISCUSSION!
 +
!-- I don't feel this is a feature I should add without a LOT of user and moderator feedback.
 +
!-- This will GREATLY sway the score of sites (and possibly in the future users etc).
 +
!--
 +
!-- I really don't want people to resort to automating the use of the site to get higher score.
 +
!-- and I know they will so I'm not sure if it's even worth it to add this (I could randomly
 +
!-- show captchas but that would be more annoying than worth it.
 +
 
 +
 
 +
@- Create a score for each user based on a plethora of information:
 +
@-- Signup date. (Older is better.)
 +
@-- Number of votes (obviously people with > x thousand votes would get nulled.
 +
@-- Site Score divided by Number of Votes ( this would be recursive )
 +
@--- Try not to give users like Syncan super powers, and try not to make new users completely useless.
 +
@-- Your vote compare to average vote (Do we have to assume the average vote on each site is correct?)
 +
@--- Or if not at what number is a site's rating considered correct? (10 votes? 50? 100?)
 +
@-- Activity on the site (a simple calculation of how active a user is)
 +
@-- User votes (a rep system like vbulletin but much less swayable)
 +
@-- Warning or reward points given out by moderators and administrators.
 +
 
 +
 
 +
@-  Votes would be a multiplier on User score*User vote.
 +
@-- There would have to be a maximum and minimum multiplier.
 +
 
 +
@-  Treasure/Trash System
 +
!-- There is too much garbage on the site, and it shouldn't be up to mods to clean it up, it should
 +
!-- be up to users.
 +
 
 +
@-  Based on your score you get a certain number of "Treasure" or "Trash" votes per day (or week/month etc)
 +
@-  Newly created sites will have "Treasure" and "Trash" buttons available to all logged in users.
 +
@-  During this "trial period", site profiles will have a separate tab with trash/treasure votes
 +
@-  and comments from each user.
 +
 
 +
 
 +
@-- Sites with a certain number or percentage of "Trash" get added to the deletion queue:
 +
@--- The sites will be listed on the deletion queue page, and when viewed will have a notice near the
 +
@--- top warning of deletion. The site will be listed for ~ 2 weeks and if it isn't saved by "Treasure"
 +
@--- votes, it is deleted. Possibly force a change to "PRIVATE" instead.
 +
 
 +
@-- Sites with a higher percentage of "Treasure" votes will be highlighted on the front page or other
 +
@-- pages.
 +
 
 +
 
 +
[ DONATIONS/SPONSORSHIP ]
 +
 
 +
+- Show users contributions on user profiles.
 +
 
 +
 
 +
[ YTNNSFW ]
  
 +
+-  Enable NSFW warning option
 +
+-- Enable spammier "unknown" warning option.
  
ALGORITHMS THAT NEED WRITING
+
+-- Only force users leveled 0 and 2 (with the option set) to go to YTMNSFW.com.
-- Site recommendations. [PAID?]
+
+--- Otherwise let logged in users (over the age of 18?) see NSFW conten on YTMND.com
-- Similar users.
+
+--- Default to warning on.
-- User dupes.
+
  
  
MODERATION
+
[ FRIENDS ] (super ugh)
-- Figure out if you want to open moderation to everyone.
+
-- Make some sort of interface to allow people to batch moderate (showing images/thumbnails only)
+
-- Streamline and prioritize the moderation process so its faster.
+
-- Clean up mod log table on site image/sound/text change.
+
-- Write some sort of approval interface.
+
-- Integrate the entire mod panel with admin.ytmnd.com
+
-- Get rid of the frames, they are too clunky and should be integrated with each site.
+
-- Allow moderators to mark an asset like they do sites.
+
--- This will allow moderators to mark all sites using an image or sound as "nsfw" or "kill",
+
--- effectively making an easy batch moderation, especially good for duplicate sites.
+
  
 +
+- Ability to add someone as a friend (confirmation required).
 +
+- Friends list, with online/last login status, PM button on each.
  
  
YTMND STORE
+
[ GROUPS ] (double super duper ugh)
-- Real shopping cart. multiple tables and most likely a separate db.
+
-- Site sponsorship done through store.
+
  
 +
!- User groups
  
USER SIGNUP
+
@- Any user can create up to five groups and be a member of up to 25.
-- Rewrite completely.
+
@- Member post board of some sort.
-- Get more meta data (like age, contact options etc)
+
@-- Extremely simple forum thing.
-- Completely redo the captcha, it's causing too many problems.
+
@- Group favorites/site lists/recommendations dealy.
-- Dupe checking, if duplicate email is used offer reset password/resend confirm mail.
+
@- Group news page.
-- Integrate forum account creation. This seems to be really easy, only problem is it will need to be remote.
+
@- Public and Private group types.
--- more info here: http://www.vbulletin.org/forum/showthread.php?t=82836
+
@- Group authored sites? (oh my!)
  
  
EMAIL
+
[ ALERTS ]
-- Inject a unique message ID and then a qmail script to parse the information into a db.
+
  This way when all the idiots sign up and they require human whitelist interaction it can tell them
+
  to fuck themselves when they send 1000 emails to support.
+
  
 +
+-  Allow users to set an alert on site titles, keywords, origins etc.
 +
!-- Needs a checking mechanism which does a search to check for returned results.
 +
!-- Otherwise idiots will add alerts on stuff like "a" and receive 1000 alerts an hour.
  
SUPPORT ISSUES
+
+- Option to Automagicly alert you when your friends/groups have made new sites.
-- Decide whether or not to buy kayako. Call them and discuss, as it requires zend decoder and thats a pain in the ass.
+
+-- Or just a list.
  
ADMIN.YTMND.COM
+
@- Alerts page, PM option maybe?
-- Major clean up needed, move to new cvs.
+
-- More web stuff, less shell scripts.
+
  
LISTS
 
-- Create a back end system to manage lists of sites.
 
-- Users could create and publish lists of sites.
 
-- Back end would allow support for "true" favorite sites.
 
-- Possibly the ability to have group lists, with a manager.
 
  
CLEAN UP ERRORS AND WARNINGS
+
[ FLASH PRELOADER ]
-- All pages that just consist of die messages or warnings should go through an error class of some sort
+
  
SITE TEMPLATE
+
*- Make it work in Opera.
-- Complete re-do of sound code. Needs to be a lot smarter and take into account user preferences.
+
*- Trigger text overlay after preloader loads everything.
-- For instance, allowing the use of media player on firefox, which would solve a lot of sound woes.
+
+- Make option for resynch every X loops.
 +
*- Figure out remaining IE bugs.
 +
*-- Crashes.
 +
*-- Sound doesn's stop when you hit back, or leave page.
 +
*-- Doesn't work if there is an ad on the page (not sure if it's IE specific)
 +
 +
!- Hammering out the bugs will allow us to make it an option to play all MP3s through flash.
 
</pre>
 
</pre>

Revision as of 22:58, December 24, 2007

YTMND TODO List

Version 1.7 [2006-08-01 04:46:58 CST]

[  Legend  ]

*- Bug.
@- Possible feature or something I am bugged about constantly.
+- New Feature I want to add.
!- Current state or general information.


[  USER LEVELS  ] 
+- Implement and enforce user levels (somewhat in place).

  Level 0:    Users who aren't signed in.
  Level 1:    Users with an account that has not been confirmed.
  Level 2:    Users with a confirmed account.
  Level 4:    Paid users.
  Level 8:    Moderators.
  Level 16:   Administrators.
  Level 255:  Max.


[  COMMENTS  ]

@- Nested comments to allow people to reply to comments (requires layout changes)
@-- Maybe use do a mechanism like Livejournal's nested comments, or digg's comments
@-- with a +/- system to get rid of trolling.
@- Ability to delete comments  on your sites.
@- Comment paging for sites with a ton of comments, maybe AJAX.


[  FILE SYSTEM  ]

+- "56k" option to prevent users from opening huge sites.
@- Add site size information to site profile and possibly sites table
*- Figure out the bug randomly causing sites to be batch edited.
*-- I've already tried editing a site and uploading a previously used sound file.
*-- and editing a site and using a new file.
*-- Things to look into: the asset management system, site creation/editing code.
!-- 6 months later: I have yet to see this pop up again


[  USER PROFILES  ]

@-  Real user profiles, same sort of information vBulletin has, with some other good info to create fun
@-- statistical information from.
@-  Avatars (would need to figure out where on the site they are shown).
@-- Possibly open up avatars for everyone but allow paid members to have slightly larger avatars.
@-  Discuss the addition of user comments and user ratings (like a myspace (ugh) wall)


[ PRIVATE MESSAGING ] 

+-  Get rid of the POST shit on every page clicking back and forth.
*-  There is some sort of duplicate messages bug.
*-  Blocked users still cause your messages icon to light up.
+-  Option to email user when they get a new PM.
+-- Sub-option to not be spammy and only send 1 email until next login.
@-  Easy way for me to mass message people or mods. 


[ DONATIONS ]

+- Redo donations page completely. 
+-- Create new tabbed area like users page with:
+-- Donations this week, donations this month, donations all time,
+-- donations by user, donations by site.
+-- Focus on recent donations more as they can get lost easily.


[  SESSIONS  ]

+- Standardize sessions, use a wrapper session class.
@- Decide which session engine to use, or if you should just create your own.
*- Figure out YTMNSFW age check issues.



[  KEYWORDS  ]

+- Put more keyword info in when users search.
+- Add more to keywords interface.
+- Limit # of keywords on site creation.
+- Allow users to report keyword abusers.
+- Keyword live updates, latest popular keywords content box.


[ CONTENT CACHING ] 

!- For the last year or so I've been using memcached for content caching (any query that takes longer
!- one second to run) for the content boxes and subpages of YTMND. This is all fine and dandy except
!- memcache gives no control over cache expiration or priority, meaning memcache has to be restarted
!- When it fills up or some weird stuff can happen, ie. content boxes/pages never getting filled. 
!- Restarting memcached means taking the site down for 5 minutes to repopulate all of the variables.
!- 
!- This is obviously a less than optimal setup. 
!- This isn't a permanent solution by any means but I think it will help greatly:

+- Move all cached search results to a separate memcached server that gets flushed at 4am nightly.
+- Create a cron mechanism that populates the critical variables for emergency use. 



[ SEARCH ] 

+- Bring back recent searches (yes, I miss this just as much as you do)
+-- I don't however miss the huge amount of dumb ass sites with screenshots of it.

+- Advanced Search
!-- Once the front page is converted I can drop the temp_site_list crap and make a real search engine.
!-- Need to investigate whether or not creating a hash table with all the site meta data
!-- is worth it for full text searching.
!-- In my opinion, the search used to be way better before I switched to fulltext (although it's hard
!-- to say how it would hold up now)

+-- Default search: title, keywords, description. In that order.
+--- Advanced options include boolean (-word +word, etc) 
+--- Ability to search just sound and image origins
+--- Ability to search subsets like:
+---- Made by user:
+---- Has keyword:
+---- etc.


[  CONTENT BOXES / FRONT PAGE  ]

+- The front page is going to change drastically.


!- The default front page will look like:
  -------------
 |    YTMND    |
  -------------
 |N|   NEWS  |A|
 |A|         |D|
 |V|---------| |
 | | SP | RC | |
 | |    |    | |
  -------------
!- SP = sponsored sites
!- RC = recently created (live update using ajax)

!- The NAV area will look something like this:
!-

 Search
 Advanced Search

 Top Rated YTMNDs
 - This week
 - Today
 - Yesterday
 - This Month
 - All Time

 Top Viewed YTMNDs
 - ...

 Random YTMND

 Sponsored YTMNDs
 
 Moderator Favorites
 
 YTMND Hall of Fame

 Commented On YTMNDs
 - ...

 Top Favorited YTMNDs
 - ...

 Most Linked To YTMNDs
 - ...

 Classic YTMNDs

!- The idea is at some point provide a google.com/ig type setup where users can customize their front page.
!- When the front page changes, all users will be forced to use it this way for a while. I think it's going to 
!- be such a drastic change that some users won't be sure what to look at. The bias of the top 15 and top rated
!- will almost no longer exist, so I'd like to give users some time to get an idea of what they will be looking
!- at the most.

@- I'd like to make a "digg spy" type page that shows in real time all votes made on sites, sites being created etc.



[  REPORT THIS SITE FEATURE  ]

+- Build an admin side.
+- Elaborate on information the user can provide, maybe pre-filled drop-downs.
+-- Marked as work safe when not work safe.
(I have yet to ever even look at any of these.)



[  USER LOGINS  ]

+- Clean up and rewrite the code so it uses the to-be-written session class.
+- Maybe bring back the [ ] remember me.
+- Maybe do a loose login system like amazon
+-- Always logged in, requires a password to do important things like add/delete/edit sites/options?
*- Change the information stored the cookie so it isnt so insecure.

[  USER SIGNUP  ]

+- Rewrite completely.
+- Get more meta data (like age, contact options, sex, etc)
+- Make people agree to the TOS
*- Completely redo the captcha without sessions/cookies, it's causing too many problems.
+- Better IP tracking, like the forums but with a warning system and a decay.


[  SITE VIEWS  ]

+- Insert a row on each site view with: (IP, site_id, referring url).
+- CRON job uniqify's views and stores a small amount of referring url data.
+-- Figure out a way of doing this without storing massive amounts of data.
+- Maybe show referrers on site profiles.


[  YTMND STORE  ]

!- schema started
+- Real shopping cart. multiple tables and most likely a separate db.
+- Site sponsorship done through store.


[  FORUMS  ]

+- Integrate the account creation and user signup so there are no longer two accounts.
+- Integrate banning/deletion features so when a user is deleted his forum threads and posts
   are deleted as well.

!- New forums waiting on this to open.


[  EMAIL  ]

+- Inject a unique message ID and then a qmail script to parse the information into a db.
+-- This way when all the idiots sign up and they require human white-list interaction it can tell them
+-- to fuck themselves when they send 1000 emails to support.

+-  Create a tracking mechanism for when a user has received an email to keep YTMND from spamming them.
+-- To avoid sending multiple alerts/pm notifications between logins.





[  SUPPORT ISSUES  ]
@- Decide whether or not to buy kayako, would be really useful but requires apache and zend optimizer.


[  ADMIN.YTMND.COM  ]

+- Major clean up needed, move to new cvs.
+- More web stuff, less shell scripts.
+- Something other people can use besides me, like moderators and administrators.


[  CLEAN UP ERRORS AND WARNINGS  ]

+- Create a generic error handling class (this should be easy now that we are on PHP5)
*- All pages that just consist of die messages or warnings should go through an error class of some sort

[  RSS FEEDS  ]

!- RSS is something that would be extraordinarily easy to add, and would be a great feature.
!- The reason it hasn't been done yet is that 95% of the ad revenue that supports YTMND's
!- hosting is from people going to www.ytmnd.com, ie: people use rss feeds instead and
!- YTMND can't pay for hosting.

!- Until I can figure out a way around this, it would be suicide to RSS up everything.


[ NEWS ]

+- Make an Admin CMS for news.
*- Don't let users post comments on news where live='n'


[ HELP SECTION/FAQ ]

+- A help section with common problems and solutions.
+-- This should be in the wiki, and since no one has created it will probably never happen until 
+-- YTMND can pay someone to do it since I am completely unwilling.


[ HASH TABLES ]

+- Rename hash tables so they are easily identifiable as so.
+- Get temp_site_list updated up to the second like temp_comment_list.



[ USER LOGINS ]
- Clean up and rewrite the code so it uses straight sessions.
-- Redo the cookie so it isnt storing a password.
-- Log new IPs on login, for accounting like VBulletin.


[ ALGORITHMS THAT NEED WRITING ]

+- Site recommendations. [PAID?]
!-- I wrote a "users who like this site also like these sites" feature.

+- Similar users.
+- Do something with user dupe information


[ MODERATION ]

+-  Auto NSFW anybody user moderation.
+-- If > 65% (?) users vote NSFW, auto NSFW the site.

+- Streamline and prioritize the moderation process so its faster.
+-- Write some sort of approval interface. 
+-- Integrate the entire mod panel with admin.ytmnd.com
+-- Get rid of the frames, they are too clunky and should be integrated with each site.
+-- Allow moderators to mark an asset like they do sites.
+--- This will allow moderators to mark all sites using an image or sound as "nsfw" or "kill"
+--- effectively making an easy batch moderation, especially good for duplicate sites.

*-  If a site is NSFW'd mark it as "flagged" on edit instead of unknown, to avoid people
*-- who are trying to get around NSFW'd sites.



[ MODERATION POINT SYSTEM ]

@-  Moderators can give users warning points for various actions that break the TOS.
@-- Warning points have a decay and users will be PM'd/emailed when they get warned.
@-- When a user reaches a certain number of warning points they will have various
@-- actions taken against them:
@--
@-- Inability to vote/private message/site comment/news comment. 
@-- Temporary or Permanent Banning from the site.
@--
@-- Points will be given out for actions such as:
@-- Comment spam/inappropriate comments (ie: racial slurs, etc)
@-- Innapropriate content
@-- 
@-- Obviously this will have to be worked on more by the moderation team.
@--
@-- This would consist of both front end enhancements and admin.ytmnd.com tools.


!- This will give me the ability to hand some of the real moderation (which consumes
!-  so much of my time) over to other people. 
!- There will obviously need to better checks in place for abuse of power than the current
!- mod setup.



[  LISTS  ]

!- The lists back end is complete with basic functionality.
!- It currently supports the user favorites but is much more
!- powerful. It also supports custom made user lists:
!- IE: Get to know NEDM or Worst of What is Love? or Inkdrinker Approved etc.
!- As well as lists managed by multiple people (group lists, such as moderator favorites)

*- Remove all of the user watch list stuff from lists, functionality being moved to alerts.
+- Ability to add more than one note per item per user.
+- Write interface for custom made lists.
+- Write interface for list permissions/group permissions.

@- Maybe a global fads list and let people take over maintaining a fad list. (ugh)


[ SITES ]

+- Build a protection mechanism to keep sites from being accidentally deleted
+-- (especially useful for hall of fame).
@- Possibly require sound and image origin fields.
+- Add a "PRIVATE" option. Won't show up in searches, keywords, front page, random etc.



[ SITE TEMPLATE ]

+- Make a CSS file for christs sake.
+- Complete re-do of sound code. Needs to be a lot smarter and take into account user preferences.
+-- For instance, allowing the use of media player on firefox, which would solve a lot of sound woes.
+-- Make a sound discovery javascript routine. 



[ STANDARDIZE SITE LINK DISPLAY ] 

@- Go through and make sure every link that links to a sub-domain opens in a new window.
@- Standardize the way a site title and votebar is displayed.
@- Possibly make icons for the site list which show sites that are ws/nsfw and sites that are in the HOF.




[ WEIGHTED VOTING AND SITE DELETION SYSTEM ] 

!- THIS WILL REQUIRE A LOT OF DISCUSSION! 
!-- I don't feel this is a feature I should add without a LOT of user and moderator feedback.
!-- This will GREATLY sway the score of sites (and possibly in the future users etc).
!--
!-- I really don't want people to resort to automating the use of the site to get higher score.
!-- and I know they will so I'm not sure if it's even worth it to add this (I could randomly
!-- show captchas but that would be more annoying than worth it.


@- Create a score for each user based on a plethora of information:
@-- Signup date. (Older is better.)
@-- Number of votes (obviously people with > x thousand votes would get nulled.
@-- Site Score divided by Number of Votes ( this would be recursive )
@--- Try not to give users like Syncan super powers, and try not to make new users completely useless.
@-- Your vote compare to average vote (Do we have to assume the average vote on each site is correct?)
@--- Or if not at what number is a site's rating considered correct? (10 votes? 50? 100?)
@-- Activity on the site (a simple calculation of how active a user is)
@-- User votes (a rep system like vbulletin but much less swayable)
@-- Warning or reward points given out by moderators and administrators.


@-  Votes would be a multiplier on User score*User vote.
@-- There would have to be a maximum and minimum multiplier. 

@-  Treasure/Trash System
!-- There is too much garbage on the site, and it shouldn't be up to mods to clean it up, it should
!-- be up to users. 

@-  Based on your score you get a certain number of "Treasure" or "Trash" votes per day (or week/month etc)
@-  Newly created sites will have "Treasure" and "Trash" buttons available to all logged in users. 
@-  During this "trial period", site profiles will have a separate tab with trash/treasure votes
@-  and comments from each user.


@-- Sites with a certain number or percentage of "Trash" get added to the deletion queue:
@--- The sites will be listed on the deletion queue page, and when viewed will have a notice near the 
@--- top warning of deletion. The site will be listed for ~ 2 weeks and if it isn't saved by "Treasure"
@--- votes, it is deleted. Possibly force a change to "PRIVATE" instead.

@-- Sites with a higher percentage of "Treasure" votes will be highlighted on the front page or other
@-- pages. 


[ DONATIONS/SPONSORSHIP ]

+- Show users contributions on user profiles.


[ YTNNSFW ] 

+-  Enable NSFW warning option
+-- Enable spammier "unknown" warning option.

+--  Only force users leveled 0 and 2 (with the option set) to go to YTMNSFW.com.
+--- Otherwise let logged in users (over the age of 18?) see NSFW conten on YTMND.com
+--- Default to warning on.


[ FRIENDS ] (super ugh)

+- Ability to add someone as a friend (confirmation required).
+- Friends list, with online/last login status, PM button on each. 


[ GROUPS ] (double super duper ugh)

!- User groups

@- Any user can create up to five groups and be a member of up to 25.
@-  Member post board of some sort.
@-- Extremely simple forum thing.
@- Group favorites/site lists/recommendations dealy.
@- Group news page.
@- Public and Private group types.
@- Group authored sites? (oh my!)


[ ALERTS ]

+-  Allow users to set an alert on site titles, keywords, origins etc. 
!-- Needs a checking mechanism which does a search to check for returned results.
!-- Otherwise idiots will add alerts on stuff like "a" and receive 1000 alerts an hour.

+- Option to Automagicly alert you when your friends/groups have made new sites.
+-- Or just a list.

@- Alerts page, PM option maybe?


[ FLASH PRELOADER ]

*- Make it work in Opera.
*- Trigger text overlay after preloader loads everything.
+- Make option for resynch every X loops.
*- Figure out remaining IE bugs.
*-- Crashes.
*-- Sound doesn's stop when you hit back, or leave page.
*-- Doesn't work if there is an ad on the page (not sure if it's IE specific)
 
!- Hammering out the bugs will allow us to make it an option to play all MP3s through flash.