Difference between revisions of "YTMND:TODO"

From YTMND
Jump to: navigation, search
(Old version 1.12)
(HAIR BRAINED SCHEMES)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
==YTMND TODO List==
+
=YTMND TODO List=
  
Version 1.12 [2007-03-06 16:55:49 CST]
+
Version 1.17 [2007-12-24 22:09:16 CST]
  
<pre>
+
$Id: TODO,v 1.17 2007-12-25 04:09:16 max Exp $
[  Legend  ]
+
  
*- Bug.
+
TODO (in no particular order)
@- Possible feature or something I am bugged about constantly.
+
+- New Feature I want to add.
+
!- Current state or general information.
+
  
[  COMMENTS  ]
+
==Legend==
  
@- Nested comments to allow people to reply to comments (requires layout changes)
+
*- Bug.<br>
@-- Maybe use do a mechanism like Livejournal's nested comments, or digg's comments
+
@- Possible feature or something I am bugged about constantly.<br>
@-- with a +/- system to get rid of trolling.
+
+- New Feature I want to add.<br>
@- Comment paging for sites with a ton of comments, maybe AJAX.
+
!- Current state or general information.<br>
  
  
[  FILE SYSTEM  ]
+
==USER DELETION==
  
+- "56k" option to prevent users from opening huge sites.
+
*- The SQL trigger that removes votes is causing site scores to be recalculated improperly<br>
@- Add site size information to site profile and possibly sites table
+
!-- I think the best solution is to remove the trigger from the user table and move it to the user votes table.<br>
*- Figure out the bug randomly causing sites to be batch edited.
+
!-- So that each time a vote is deleted it does a new tally of the site score.<br>
*-- I've already tried editing a site and uploading a previously used sound file.
+
!-- (this would require changes to the current spots that allow deletion of votes)<br>
*-- and editing a site and using a new file.
+
*-- Things to look into: the asset management system, site creation/editing code.  
+
!-- 12 months later: I have yet to see this pop up again
+
  
 +
*-  Users who are deleted that have made comments which have nested children end up creating orphaned nested comments<br>
 +
*-- Decide if you should just delete all the orphaned comments with a trigger (or possibly cascading?)<br>
 +
*-- Or just change it so they have no parent and become a normal comment.<br>
 +
!-- This has been changed to delete the entire nest.<br>
  
[  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)
 
  
 +
==FILE SYSTEM/ASSET MANAGEMENT==
  
[ PRIVATE MESSAGING ]
+
+- "56k" option to prevent users from opening huge sites.<br>
 +
@- Add site size information to site profile and possibly sites table<br>
  
+- Get rid of the POST shit on every page clicking back and forth.
+
+- The ability to attach an asset to a site, such as a full version of an image or song.<br>
*-  There is some sort of duplicate messages bug. (Back button related.)
+
!-- This will be a pain due to the obvious copyright issues of people posting full songs they didn't make.<br>
!-- Maybe disable submit button onsubmit
+
*-  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.  
+
  
 +
@-  Decide on further asset accountability functions<br>
 +
@-- The same functions that would allow use records of who uploaded child pornography to the site<br>
 +
@-- would allow the MPAA or RIAA to use them if it ever came to that. Is it worth it?<br>
  
[ DONATIONS ]
+
@- The ability to certify/claim you are the original creator of an asset.<br>
+-- Implement the donations by user code I wrote into /browse/
+
@-- Possibly add a creative commons license option.<br>
 +
!-- We currently track who uploaded each asset when.<br>
  
 +
@- Possibly the ability to allow users to view all of their assets or other people's assets.<br>
 +
@-- IE: I want to see all of ROY4L's sound clips.<br>
  
[  SESSIONS  ]
+
+- Add asset server information into the db schema.<br>
  
+- Standardize sessions, use a wrapper session class.
+
+- Finish working on the the "types" setup, add avatars, add flash versions of wavs<br>
@- Decide which session engine to use, or if you should just create your own.
+
+-- Maybe do a parent-child type deal, for making thumbnails and flash versions.<br>
*- Figure out YTMNSFW age check issues.
+
  
 +
+- Asset conversion and cleanup<br>
 +
*-- There are tons of malformed or incorrect file types in the DB<br>
 +
*-- A few sites have managed to use a sound for their image and an image for their sound, etc.<br>
 +
@-- Create a script to clean up assets that no longer exist or are used (partially complete)<br>
 +
!-- Work on gapless playback.<br>
  
 +
+-  Possibly add a preview to the assets page.<br>
 +
@-- Redesign asset page to show all the new information about each asset.<br>
  
[  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.
 
  
 +
==USER PROFILES==
  
[ CONTENT CACHING ]
+
@-  Real user profiles, same sort of information vBulletin has, with some other good info to create fun<br>
 +
@-- statistical information from.<br>
  
!- For the last year or so I've been using memcached for content caching (any query that takes longer
+
@- Avatars (would need to figure out where on the site they are shown).<br>
!- one second to run) for the content boxes and subpages of YTMND. This is all fine and dandy except
+
@-- Possibly open up avatars for everyone but allow paid members to have slightly larger avatars.<br>
!- 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.
+
@- Discuss the addition of user comments and user ratings (like a myspace (ugh) wall)<br>
+- Create a cron mechanism that populates the critical variables for emergency use.
+
  
 +
+- Tie in with lists to allow grouping and organization of user sites.<br>
  
[ 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
+
==PRIVATE MESSAGING==
!-- 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)
+
  
 +
+-  Get rid of the POST shit on every page clicking back and forth.<br>
  
!-- Sphinx is working out well, just waiting for the 0.9.7 to come out.
+
*- There is some sort of duplicate messages bug. (Back button related or multi post related)<br>
 +
@-- Probably disable submit button onsubmit<br>
  
 +
*-  Blocked users still cause your messages icon to light up.<br>
  
+-- Default search: title, keywords, description. In that order.
+
+- Option to email user when they get a new PM.<br>
+--- Advanced options include boolean (-word +word, etc)
+
+-- Sub-option to not be spammy and only send 1 email until next login.<br>
+--- Ability to search just sound and image origins
+
+--- Ability to search subsets like:
+
+---- Made by user:
+
+---- Has keyword:
+
+---- etc.
+
  
 +
@- Filters to let you only view new, replied etc. Maybe a simple text subject search filter.<br>
  
Classic YTMNDs
+
+- Auto expiration and trashing of messages.<br>
  
 +
@- Better integration with the site, possibly move it all to a class. <br>
 +
@-- To allow easy sending of PMs from inside code.<br>
  
[  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.)
 
  
 +
==DONATIONS==
  
[  USER LOGINS  ]
+
+-- Implement the donations by user code I wrote into /browse/<br>
  
+- Add an IP checking option, proxied ISPs were knocking people off a lot.
+
@- "Downations" - the ability to counter sponsor a site.<br>
+- Maybe do a loose login system like amazon
+
@-- Would allow users to get sites off the front page.<br>
+-- 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.
+
==SESSIONS==
+- 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.
+
  
 +
+- Standardize sessions, use a wrapper session class.<br>
 +
+-- Needs to be written to allow for load balancing for the future.<br>
 +
@-- Decide which session engine to use, or if you should just create your own.<br>
 +
@-- Memcache may be an option but I almost want to use something disk based or at<br>
 +
@-- least a bit more secure.<br>
  
[  SITE VIEWS  ]
+
*- Figure out YTMNSFW age check issues.<br>
 +
*-- Possible cookie bug on new NSFW code I wrote.<br>
  
+- 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  ]
+
==KEYWORDS==
  
!- schema started
+
@- Put more keyword info in when users search.<br>
+- Real shopping cart. multiple tables and most likely a separate db.
+
+- Site sponsorship done through store.
+
  
 +
+- Add more to keywords interface.<br>
  
[  FORUMS  ]
+
+- Limit # of keywords on site creation.<br>
  
+- Integrate the account creation and user signup so there are no longer two accounts.
+
+- Allow users to report keyword abusers.<br>
+- 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.
+
+- Keyword live updates, latest popular keywords content box.<br>
  
 +
+- Add popular keywords to front page (already written somewhere on the db server).<br>
  
[  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.
+
==USER LOGINS==
+-- To avoid sending multiple alerts/pm notifications between logins.
+
  
 +
@- Maybe do a loose login system like amazon<br>
 +
@-- Always logged in, requires a password to do important things like add/delete/edit sites/options?<br>
  
[  SUPPORT ISSUES  ]
+
+- Write a new login class, old one is legacy code that needs to be cleaned up or rewritten.<br>
@- Decide whether or not to buy kayako, would be really useful but requires apache and zend optimizer.
+
  
  
[  ADMIN.YTMND.COM  ]
 
+- More web stuff, less shell scripts.
 
+- Something other people can use besides me, like moderators and administrators.
 
  
 +
==USER SIGNUP==
  
[  CLEAN UP ERRORS AND WARNINGS  ]
+
+- Rewrite completely.<br>
 +
+- Get more meta data (like age, contact options, sex, etc)<br>
 +
+- Make people agree to the TOS<br>
  
+- Create a generic error handling class (this should be easy now that we are on PHP5)
+
*- Completely redo the captcha without sessions/cookies, it's causing too many problems.<br>
*- All pages that just consist of die messages or warnings should go through an error class of some sort
+
*-- Also add a timeout to the captcha.<br>
!- new mustBeLoggedIn() feature <3
+
  
 +
+- Better IP tracking, like the forums but with a warning system and a decay.<br>
  
[ RSS FEEDS  ]
+
@- Something to track signups-per-ip over a certain period and limit too many new accounts coming<br>
 +
@-- from a single proxy or ip.<br>
  
!- RSS is something that would be extraordinarily easy to add, and would be a great feature.
+
+- "Hardcore mode" option.<br>
!- The reason it hasn't been done yet is that 95% of the ad revenue that supports YTMND's
+
+-- When you sign up, you must make at least one site, if it gets a rating under 2.5 <br>
!- hosting is from people going to www.ytmnd.com, ie: people use rss feeds instead and
+
+-- for a period of 24 hours, your account gets deleted.<br>
!- YTMND can't pay for hosting.
+
  
!- Until I can figure out a way around this, it would be suicide to RSS up everything.
 
  
  
[ NEWS ]
+
==SITE VIEWS==
  
+- Make an Admin CMS for news.
+
@- Insert a row on each site view with: (IP, site_id, referring url).<br>
*- Don't let users post comments on news where live='n'
+
@-- CRON job uniqify's views and stores a small amount of referring url data.<br>
 +
@-- Figure out a way of doing this without storing massive amounts of data.<br>
 +
@-- Maybe show referrers on site profiles.<br>
  
 +
!-- It's possible that storing information on referral URLS for 1 week would be sufficient.<br>
  
[ 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.
 
  
 +
==YTMND STORE==
  
[ HASH TABLES ]
+
!- Schema started<br>
 +
+- Real shopping cart. multiple tables and most likely a separate db.<br>
 +
+- Site sponsorship done through store.<br>
  
+- Rename hash tables so they are easily identifiable as so.
 
+- Get temp_site_list updated up to the second like temp_comment_list.
 
  
  
[ ALGORITHMS THAT NEED WRITING ]
+
==FORUMS==
  
+- Site recommendations. [PAID?]
+
!- VBulletin is shit, from the looks of it they have no plan to ever support LDAP or anything like it.<br>
!-- I wrote a "users who like this site also like these sites" feature.
+
!- So, I give up investing any real amount of time into it.<br>
  
+- Similar users.
 
+- Do something with user dupe information
 
  
 +
==EMAIL==
  
[ MODERATION ]
+
+- Inject a unique message ID and then a qmail script to parse the information into a db.<br>
 +
+-- This way when all the idiots sign up and they require human white-list interaction it can tell them<br>
 +
+-- to fuck themselves when they send 1000 emails to support.<br>
  
+-  Auto NSFW anybody user moderation.
+
+-  Create a tracking mechanism for when a user has received an email to keep YTMND from spamming them.<br>
+-- If > 65% (?) users vote NSFW, auto NSFW the site.
+
+-- To avoid sending multiple alerts/pm notifications between logins.<br>
  
+- 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.
 
  
 +
==SUPPORT ISSUES==
  
 +
@- Maybe build something into the new mod panel that gets all the support@ email.<br>
  
[ 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.
 
  
 +
==CLEAN UP ERRORS AND WARNINGS==
  
!- This will give me the ability to hand some of the real moderation (which consumes
+
+- Create a generic error handling class (this should be easy now that we are on PHP5)<br>
!-  so much of my time) over to other people.
+
*- All pages that just consist of die messages or warnings should go through an error class of some sort<br>
!- There will obviously need to better checks in place for abuse of power than the current
+
!- new mustBeLoggedIn() feature <3<br>
!- mod setup.
+
  
  
 +
==RSS FEEDS==
  
[  LISTS  ]
+
!- RSS is something that would be extraordinarily easy to add, and would be a great feature.<br>
 +
!- The reason it hasn't been done yet is that 95% of the ad revenue that supports YTMND's<br>
 +
!- hosting is from people going to www.ytmnd.com, ie: people use rss feeds instead and<br>
 +
!- YTMND can't pay for hosting.<br>
  
!- The lists back end is complete with basic functionality.
+
!- Until I can figure out a way around this, it would be suicide to RSS up everything.<br>
!- 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.
+
@- RSS feeds for each content boxes.<br>
+- Ability to add more than one note per item per user.
+
@- RSS feeds for each alert (paid?)<br>
+- 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)
+
+- In the mean time, make an RSS feed for the news at least.<br>
+- List ordering
+
+-- The back end is sort of there, but the functions aren't in the class.
+
  
[ 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.
 
  
 +
==NEWS==
  
 +
+- Make an Admin CMS for news.<br>
  
[ 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.
 
  
 +
==HELP SECTION/FAQ==
  
[ STANDARDIZE SITE LINK DISPLAY ]
+
+- A help section with common problems and solutions.<br>
 +
+-- This should be in the wiki, and since no one has created it will probably never happen until <br>
 +
+-- YTMND can pay someone to do it since I am completely unwilling.<br>
  
!- site_link() is the new function for a a standard site link.
 
@- Possibly make icons for the site list which show sites that are ws/nsfw and sites that are in the HOF.
 
  
  
 +
==HASH TABLES==
  
 +
+- Rename hash tables so they are easily identifiable as so.<br>
  
[ WEIGHTED VOTING AND SITE DELETION SYSTEM ]
 
  
!- THIS WILL REQUIRE A LOT OF DISCUSSION!
+
==CONTENT BOXES/ALGORITHMS THAT NEED WRITING==
!-- 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.
+
  
 +
+- Sites that are older than 1 week but have less than 10 votes.<br>
  
@- 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.
+
==LISTS==
@-- There would have to be a maximum and minimum multiplier.
+
  
@- Treasure/Trash System
+
!- The lists backend is complete with basic functionality.<br>
!-- There is too much garbage on the site, and it shouldn't be up to mods to clean it up, it should
+
!- It currently supports the user favorites but is much more<br>
!-- be up to users.  
+
!- powerful. It also supports custom made user lists:<br>
 +
!- IE: Get to know NEDM or Worst of What is Love? or Inkdrinker Approved etc.<br>
 +
!- As well as lists managed by multiple people (group lists, such as moderator favorites)<br>
  
@- Based on your score you get a certain number of "Treasure" or "Trash" votes per day (or week/month etc)
+
*- Remove all of the user watch list stuff from lists, functionality should be moved to alerts.<br>
@- Newly created sites will have "Treasure" and "Trash" buttons available to all logged in users.  
+
+- Ability to add more than one note per item per user.<br>
@- During this "trial period", site profiles will have a separate tab with trash/treasure votes
+
+- Write interface for custom made lists.<br>
@- and comments from each user.
+
+- Write interface for list permissions/group permissions.<br>
 +
+- Write interface+functions for ordering.<br>
 +
+- Add subgroup-grouping, like folders/files.<br>
  
 +
@- Maybe a global fads list and let people take over maintaining a fad list. (ugh)<br>
 +
+-- The back end is sort of there, but the functions aren't in the class.<br>
  
@-- 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.
 
  
 +
==SITES==
  
[ DONATIONS/SPONSORSHIP ]
+
+- Build a protection mechanism to keep sites from being accidentally deleted<br>
 +
+-- (especially useful for hall of fame). (this could be done with cascading restrictions)<br>
 +
!-- Implemented with cascading restrictions recently. It might be worth further discussion<br>
 +
!-- to allow users to protect sites, or even to auto-protect front page or high traffic sites<br>
 +
!-- from editing.<br>
  
+- Show users contributions on user profiles.
+
+- Expand amount of text allowed for origins and description, not sure if this needs to be done in<br>
+- New sponsorship page
+
+-- the db or code or both.<br>
+- By Site
+
+- By Date (Default)
+
+- By User
+
+- By Ammount
+
+- Sponsorship Goals
+
  
 +
@- Add a "PRIVATE" option. Won't show up in searches, keywords, front page, random etc.<br>
  
 +
@- New text styles.
 +
@-- Back in the days before YTMND, when I made YTMND spoofs, I used different text cascade<br>
 +
@-- algorithms. For instance, text that starts at the bottom and cascades up, or originating<br>
 +
@-- from the center.<br>
 +
@--- One issue with this is the complexity of writing the image text algorithms was bad enough<br>
 +
@--- Adding more complexity won't be very fun in terms of recreating text tweening, boundry box<br>
 +
@--- math and emulating text alignment with GD or the like.<br>
  
[ YTNNSFW ]
 
  
+-  Enable NSFW warning option
+
==SITE TEMPLATE==
+-- Enable spammier "unknown" warning option.
+
  
+--  Only force users leveled 0 and 2 (with the option set) to go to YTMNSFW.com.
+
+- Complete rewrite of sound code. Needs to be a lot smarter and take into account user preferences.<br>
+--- Otherwise let logged in users (over the age of 18?) see NSFW conten on YTMND.com
+
+-- For instance, allowing the use of media player on firefox, which would solve a lot of sound woes.<br>
+--- Default to warning on.
+
+-- Make a sound discovery javascript routine. <br>
 +
!-- Would be a non issue if sound was moved over to flash.<br>
  
  
[ RANDOM ]
+
==STANDARDIZE SITE LINK DISPLAY==
  
+- Make user prefs for random ws/nsfw'ness.
+
@- Possibly make icons for the site link function that show sites that are ws/nsfw and sites that are in the HOF.<br>
+-- default to s and x on ytmnd.com and n on ytmnsfw.com
+
@-- Or currently on up and coming, etc. <br>
  
[ USER PREFERENCES ]
+
!- Going further with the historical data, it would be possible to do a Newgtounds type system (i think it's NG)<br>
 +
!-- Or some mixture of Alexa/Google Zeitgeist feature that would allow you to see the full history of a site<br>
 +
!-- With graphs showing views, when a site was on the top viewed, what place it was, score, etc. <br>
  
+- Make a better system for user options.
 
  
  
[ FRIENDS ] (super ugh)
+
==YTNNSFW==
  
+- Ability to add someone as a friend (confirmation required).
+
+- Enable NSFW warning option<br>
+- Friends list, with online/last login status, PM button on each.  
+
+-- Enable spammier "unknown" warning option.<br>
  
 +
+--  Only force users leveled 0 and 2 (with the option set) to go to YTMNSFW.com.<br>
 +
@--- Otherwise let logged in users (over the age of 18?) see NSFW conten on YTMND.com<br>
 +
+--- Default to warning on.<br>
  
[ GROUPS ] (double super duper ugh)
+
 
 +
==FRIENDS SYSTEM (super ugh)==
 +
 
 +
+- Ability to add someone as a friend (confirmation required).<br>
 +
+- Friends list, with online/last login status, PM button on each.<br>
 +
@-- Maybe an explanded option that shows you each friend's most recent site.<br>
 +
 
 +
@- Stalk mode: show what they're up to if there are entries in the spy_log.<br>
 +
 
 +
+- Ability to add "Idols" and "Sworn Enemies" without confirmation.<br>
 +
 
 +
 
 +
 
 +
==USER COLLABORATION==
 +
 
 +
+-  An area of the site where you can upload a sound or image and make requests for someone<br>
 +
+-- to come up with the other half of the equation.<br>
 +
+-- Some sort of commenting mechanism.<br>
 +
 
 +
@- Think of some clever way to deal with user collaborations on profile pages.<br>
 +
 
 +
 
 +
 
 +
==GROUPS (double super duper ugh)==
  
 
!- User groups
 
!- User groups
  
@- Any user can create up to five groups and be a member of up to 25.
+
@- Any user can create up to five groups and be a member of up to 25.<br>
@-  Member post board of some sort.
+
@-  Member post board of some sort.<br>
@-- Extremely simple forum thing.
+
@-- Extremely simple forum thing.<br>
@- Group favorites/site lists/recommendations dealy.
+
@- Group news page.
+
@- Public and Private group types.
+
@- Group authored sites? (oh my!)
+
  
 +
@- Group favorites/site lists/recommendations dealy.<br>
 +
@- Group news page.<br>
 +
@- Public and Private group types.<br>
 +
@- Group authored sites? (oh my!)<br>
 +
@-- Or some mechanism for an asset to be passed around to the entire group.<br>
  
[ 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.
+
==ALERTS==
+-- Or just a list.
+
  
@- Alerts page, PM option maybe?
+
+- Allow users to set an alerts on site titles, keywords, origins<br>
 +
+-- Specific assets ids and user ids.<br>
 +
 +
!-- Needs a checking mechanism which does a search to check for returned results.<br>
 +
!-- Otherwise idiots will add alerts on stuff like "a" and receive 1000 alerts an hour.<br>
  
 +
+-  Option to Automagicly alert you when your friends/groups have made new sites.<br>
 +
+-- Or just a list.<br>
  
[ FLASH PRELOADER ]
+
@- Alerts page, PM option maybe?<br>
  
*- Make it work in Opera.
+
 
*- Trigger text overlay after preloader loads everything.
+
 
+- Make option for resynch every X loops.
+
==FLASH PRELOADER==
*- Figure out remaining IE bugs.
+
 
*-- Crashes.
+
+- Make option for resynch every X loops.<br>
*-- 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)
+
+- Build in advertising options.<br>
 +
+-- Allow people to buy advertising built into the preloader.<br>
 
   
 
   
!- Hammering out the bugs will allow us to make it an option to play all MP3s through flash.
+
!- Hammering out the bugs will allow us to make it an option to play all MP3s through flash.<br>
 +
 
 +
!-  The more I think about this, the more I want to convert the entire site over to PHPTurbine<br>
 +
!--  and do it all through flash. Too bad it's 32 bit only.<br>
 +
 
 +
 
 +
==VOTING / VOTEBARS==
 +
 
 +
+- Get the votebar image script into CVS.<br>
 +
 
 +
+- Update the site voting mechanism/javascript to use the new voting authentication system.<br>
 +
 
 +
+-  Finish the bot-catching mechanism.<br>
 +
+-- Uses pre-set voting algorithms based on IP/time/vote/referrer and automatically shows the<br>
 +
+-- user a captcha. If the user fails the captcha in X seconds, user gets added to a potential<br>
 +
+-- bot list for moderator review.<br>
 +
 
 +
+-  Change the votebar code so that rather than having to query for every user vote, it batches it at<br>
 +
+-- the end of the page load transparently. Maybe with AJAX (ugh). <br>
 +
!-- Right now, when a logged in user views the front page, they slave db is queried for every votebar<br>
 +
!-- image displayed to check for previous votes. Would be better to keep a session variable array of<br>
 +
!-- all of the currently viewed votebars and then insert a javascript array at the foot of the page to<br>
 +
!-- query for the user votes.<br>
 +
 
 +
 
 +
 
 +
 
 +
=ADMIN SYSTEM/NEW MODERATION SYSTEM=
 +
 
 +
==ACCESS CONTROL==
 +
 
 +
+- Require IP checking option for moderators and above.<br>
 +
 
 +
+- Add user level "jr admin"<br>
 +
+-- Figure out what access these users should get.<br>
 +
 
 +
 
 +
==MODERATION QUEUES==
 +
 
 +
+- Deletion requests should act like kills used to.<br>
 +
 
 +
!-  Tables currently in existence:<br>
 +
!--  site_moderation_queue<br>
 +
!--- Holds site_id, moderation_level (allows assignment to an access group (ie. super mods))<br>
 +
!--  site_moderation_queue_assignments<br>
 +
!--- Allows a single site to be assigned to a single user by another user<br>
 +
 
 +
+-  Tables that need to be created:<br>
 +
+--  site_moderation_queue_status<br>
 +
+--- Needs to contain: site last changed date (would be a copy), number of votes from each user level<br>
 +
+--- for both "since last changed" and "previous to last changed". As well as a flag to tell if the <br>
 +
+--- site a) needs to be moderated, and if so how many of each type of vote it needs. <br>
 +
+--- This seems like a pretty ugly design.<br>
 +
 
 +
+-  "Moderation mode"<br>
 +
+-- The old mod system automatically redirected to the next site in the moderation queue, basically to<br>
 +
+-- infinity, allowing you to skip a single site.<br>
 +
+-- I want to add a small box to the already gigantic remote mod panel that has the following options:<br>
 +
+-- [ ] Moderation Mode <br>
 +
!-- This would keep the moderation panel open and automatically redirect to the next site after a moderation<br>
 +
!-- action was performed.<br>
 +
+-- ( ) Moderate out of my personal queue<br>
 +
+-- ( ) Moderate out of my group's queue<br>
 +
+-- ( ) Moderate out the global queue<br>
 +
!-- This would need some sort of skip setup that actually works in comparison to the way it used to work (or not work)<br>
 +
 
 +
 
 +
+- Moderation Queuing Prioritization System
 +
 
 +
+-- A system run on cron and every time a moderation action is taken.<br>
 +
+-- Takes into account: site reports, site views, sites currently on the front page, creation date, required mod votes, etc.<br>
 +
+-- Updated extremely often: ie, the top queue items will be different every minute. <br>
 +
+-- Needs to be built into the content gatherer for the front page and in the mod remote panel.<br>
 +
 
 +
 
 +
 
 +
==MODERATION MONITORING==
 +
 
 +
+-  Ability to assign a "mentor" to moderators or super moderators. <br>
 +
+-- Would allow the mentor to monitor and view all of the people they are in charge of.<br>
 +
+-- As sort of a step above peer watchdogs. User profile would show all of the user's moderation actions.<br>
 +
 
 +
@- Maybe some nifty graphs of moderator activity.<br>
 +
@-- Tons of information to pull from.<br>
 +
 
 +
+- Some sort of algorithm that figures out when mods are going against the majority vote a lot.<br>
 +
 
 +
 
 +
==LOGGING==
 +
 
 +
+- Site moderation log.<br>
 +
!- Created, needs filters and searching.<br>
 +
 
 +
+- User moderation log.<br>
 +
+-- Needs filters and searching.<br>
 +
 
 +
+- Moderator access logs.<br>
 +
+-- Needs filters and searching.<br>
 +
 
 +
 
 +
==USER/SITE DELETION QUEUE==
 +
 
 +
+-  Site deletion queue system needs to be written, tables designed etc.<br>
 +
+-- Needs to be implemented into the site with a (48 hour?) time for regular user-deleted sites.<br>
 +
+-- Needs abstract class for use around the site<br>
 +
 
 +
!-  User deletion queue:<br>
 +
+-  Needs abstract access class for use in code.<br>
 +
+-  Needs administrator options:<br>
 +
+-- Force immediate deletion of a site or user.<br>
 +
+-- Remove from queue (with logging and denying reasons)<br>
 +
+--  Ability to ban (ulevel 2) and put an account on hold (for stuff like child pornography, repeat abusive users)<br>
 +
+--- Needs options on front end in login, common, site profiles, user profiles etc.<br>
 +
 
 +
 
 +
==PUNISHMENTS/WARNINGS==
 +
 
 +
+- Entire system needs to be written short of DB tables.<br>
 +
 
 +
+- Implementation built into the front end of the site.<br>
 +
 
 +
@- Comment deletion options. <br>
 +
 
 +
 
 +
==REPORTED USERS==
 +
 
 +
@-  Not even sure if I should add this feature because I know how spammy it will be, people cry every time they get<br>
 +
@-- a fucking one vote.<br>
 +
 
 +
 
 +
 
 +
==IP BAN SYSTEM==
 +
 
 +
+- Needs to be written. <br>
 +
 
 +
 
 +
 
 +
==SEARCH==
 +
 
 +
+- Needs to be written<br>
 +
 
 +
 
 +
==ASSET MODERATION SYSTEM==
 +
 
 +
+- Allow super mods to mark an asset NSFW or WS which will retroactively and proactively "auto moderate"<br>
 +
+-- Possibly require either an admin approval or a system that requires retroactive NSFW markings on the<br>
 +
+-- image from the site_moderation_log to figure out if it's a reasonable request.<br>
 +
 
 +
@- Maybe even attach a field to the asset table that gives it an NSFW rating.<br>
 +
 
 +
@- Possibly a flag to mark an asset illegal, for animal torture, kiddy porn or serious copyright issues.<br>
 +
@-- Would fire off notifications to mods somehow if a user is uploading illegal content.<br>
 +
 
 +
 
 +
==TICKET TRACKING==
 +
 
 +
@-  Some sort of ticket tracking system that would allow grouping of users, deletion requests, sites,<br>
 +
@-- log entries, assets, basically every aspect of the site into a history of actions, comments from <br>
 +
@-- mods etc. <br>
 +
 
 +
!-- Basically a huge amount of work that may never see the light of day.<br>
 +
 
 +
 
 +
 
 +
=HAIR BRAINED SCHEMES=
 +
 
 +
==REVIEWS SECTION==
 +
 
 +
!-  Ever since YTMND got big, I've literally been getting daily invites to movie screenings,<br>
 +
!-- Release parties in NYC and Hollywood and a number of people asking me to do product reviews.<br>
 +
!-- Since it's obvious I'm never going to get rich off YTMND, I might as well milk it and start<br>
 +
!-- taking people up on these offers.<br>
 +
 
 +
!-- At the same time I know I don't have the willpower to keep up and maintain any sort of consistent<br>
 +
!-- review rate. So maybe come up with some sort of simple review system for movies/music/hardware/software<br>
 +
!-- and let users take advantage for some of this stuff. <br>
 +
 
 +
 
 +
==SPY / REAL-TIME USER TRACKING==
 +
 
 +
@- Possibly add a really really spammy searches option (at least 5-8 searches a second)<br>
 +
@-- Maybe make a separate "search spy"<br>
 +
 
 +
@- Possibly add a URL to user-tracking to allow people to see what users are looking at<br>
 +
@-- or doing. (Would require some sort of hard coded logic to tell if people are making<br>
 +
@-- a site, etc)<br>
 +
 
 +
 
 +
 
 +
==WEIGHTED VOTING AND SITE DELETION SYSTEM==
 +
 
 +
!- Discussion moved here: http://wiki.ytmnd.com/Weighted_Voting<br>
 +
 
 +
 
 +
==MODERATION POINT SYSTEM==
 +
 
 +
@-  Moderators can give users warning points for various actions that break the TOS.<br>
 +
@-- Warning points have a decay and users will be PM'd/emailed when they get warned.<br>
 +
@-- When a user reaches a certain number of warning points they will have various<br>
 +
@-- actions taken against them:<br>
 +
@--<br>
 +
@-- Inability to vote/private message/site comment/news comment. <br>
 +
@-- Temporary or Permanent Banning from the site.<br>
 +
@--<br>
 +
@-- Points will be given out for actions such as:<br>
 +
@-- Comment spam/inappropriate comments (ie: racial slurs, etc)<br>
 +
@-- Innapropriate content<br>
 +
@-- <br>
 +
@-- Obviously this will have to be worked on more by the moderation team.<br>
 +
@--<br>
 +
@-- This would consist of both front end enhancements and admin.ytmnd.com tools.<br>
 +
 
  
[ DON'T FORGET ABOUT POLAND ]
+
!- This will give me the ability to hand some of the real moderation (which consumes<br>
 +
!-  so much of my time) over to other people. <br>
 +
!- There will obviously need to better checks in place for abuse of power than the current<br>
 +
!- mod setup.<br>
  
+- YOU FORGOT ABOUT POLAND.
 
  
 +
==RICH PEOPLE FUNDING==
  
[ SET UP YTMNDEV ]
+
!- If we can get rich people and movie stars to like YTMND as much as most of the users,<BR>
+- Get on it, asshole.
+
!-- then they will be able to donate lots of money and will tell the world how great YTMND is (in theory).<BR>
</pre>
+

Latest revision as of 12:53, December 27, 2007

YTMND TODO List

Version 1.17 [2007-12-24 22:09:16 CST]

$Id: TODO,v 1.17 2007-12-25 04:09:16 max Exp $

TODO (in no particular order)

Legend

  • - Bug.

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


USER DELETION

  • - The SQL trigger that removes votes is causing site scores to be recalculated improperly

!-- I think the best solution is to remove the trigger from the user table and move it to the user votes table.
!-- So that each time a vote is deleted it does a new tally of the site score.
!-- (this would require changes to the current spots that allow deletion of votes)

  • - Users who are deleted that have made comments which have nested children end up creating orphaned nested comments
  • -- Decide if you should just delete all the orphaned comments with a trigger (or possibly cascading?)
  • -- Or just change it so they have no parent and become a normal comment.

!-- This has been changed to delete the entire nest.


FILE SYSTEM/ASSET MANAGEMENT

+- "56k" option to prevent users from opening huge sites.
@- Add site size information to site profile and possibly sites table

+- The ability to attach an asset to a site, such as a full version of an image or song.
!-- This will be a pain due to the obvious copyright issues of people posting full songs they didn't make.

@- Decide on further asset accountability functions
@-- The same functions that would allow use records of who uploaded child pornography to the site
@-- would allow the MPAA or RIAA to use them if it ever came to that. Is it worth it?

@- The ability to certify/claim you are the original creator of an asset.
@-- Possibly add a creative commons license option.
!-- We currently track who uploaded each asset when.

@- Possibly the ability to allow users to view all of their assets or other people's assets.
@-- IE: I want to see all of ROY4L's sound clips.

+- Add asset server information into the db schema.

+- Finish working on the the "types" setup, add avatars, add flash versions of wavs
+-- Maybe do a parent-child type deal, for making thumbnails and flash versions.

+- Asset conversion and cleanup

  • -- There are tons of malformed or incorrect file types in the DB
  • -- A few sites have managed to use a sound for their image and an image for their sound, etc.

@-- Create a script to clean up assets that no longer exist or are used (partially complete)
!-- Work on gapless playback.

+- Possibly add a preview to the assets page.
@-- Redesign asset page to show all the new information about each asset.


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)

+- Tie in with lists to allow grouping and organization of user sites.


PRIVATE MESSAGING

+- Get rid of the POST shit on every page clicking back and forth.

  • - There is some sort of duplicate messages bug. (Back button related or multi post related)

@-- Probably disable submit button onsubmit

  • - 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.

@- Filters to let you only view new, replied etc. Maybe a simple text subject search filter.

+- Auto expiration and trashing of messages.

@- Better integration with the site, possibly move it all to a class.
@-- To allow easy sending of PMs from inside code.


DONATIONS

+-- Implement the donations by user code I wrote into /browse/

@- "Downations" - the ability to counter sponsor a site.
@-- Would allow users to get sites off the front page.


SESSIONS

+- Standardize sessions, use a wrapper session class.
+-- Needs to be written to allow for load balancing for the future.
@-- Decide which session engine to use, or if you should just create your own.
@-- Memcache may be an option but I almost want to use something disk based or at
@-- least a bit more secure.

  • - Figure out YTMNSFW age check issues.
  • -- Possible cookie bug on new NSFW code I wrote.


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.

+- Add popular keywords to front page (already written somewhere on the db server).


USER LOGINS

@- Maybe do a loose login system like amazon
@-- Always logged in, requires a password to do important things like add/delete/edit sites/options?

+- Write a new login class, old one is legacy code that needs to be cleaned up or rewritten.


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.
  • -- Also add a timeout to the captcha.

+- Better IP tracking, like the forums but with a warning system and a decay.

@- Something to track signups-per-ip over a certain period and limit too many new accounts coming
@-- from a single proxy or ip.

+- "Hardcore mode" option.
+-- When you sign up, you must make at least one site, if it gets a rating under 2.5
+-- for a period of 24 hours, your account gets deleted.


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.

!-- It's possible that storing information on referral URLS for 1 week would be sufficient.


YTMND STORE

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


FORUMS

!- VBulletin is shit, from the looks of it they have no plan to ever support LDAP or anything like it.
!- So, I give up investing any real amount of time into it.


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

@- Maybe build something into the new mod panel that gets all the support@ email.


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

!- new mustBeLoggedIn() feature <3


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.

@- RSS feeds for each content boxes.
@- RSS feeds for each alert (paid?)

+- In the mean time, make an RSS feed for the news at least.


NEWS

+- Make an Admin CMS for news.


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.


CONTENT BOXES/ALGORITHMS THAT NEED WRITING

+- Sites that are older than 1 week but have less than 10 votes.


LISTS

!- The lists backend 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 should be 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.
+- Write interface+functions for ordering.
+- Add subgroup-grouping, like folders/files.

@- Maybe a global fads list and let people take over maintaining a fad list. (ugh)
+-- The back end is sort of there, but the functions aren't in the class.


SITES

+- Build a protection mechanism to keep sites from being accidentally deleted
+-- (especially useful for hall of fame). (this could be done with cascading restrictions)
!-- Implemented with cascading restrictions recently. It might be worth further discussion
!-- to allow users to protect sites, or even to auto-protect front page or high traffic sites
!-- from editing.

+- Expand amount of text allowed for origins and description, not sure if this needs to be done in
+-- the db or code or both.

@- Add a "PRIVATE" option. Won't show up in searches, keywords, front page, random etc.

@- New text styles. @-- Back in the days before YTMND, when I made YTMND spoofs, I used different text cascade
@-- algorithms. For instance, text that starts at the bottom and cascades up, or originating
@-- from the center.
@--- One issue with this is the complexity of writing the image text algorithms was bad enough
@--- Adding more complexity won't be very fun in terms of recreating text tweening, boundry box
@--- math and emulating text alignment with GD or the like.


SITE TEMPLATE

+- Complete rewrite 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.
!-- Would be a non issue if sound was moved over to flash.


STANDARDIZE SITE LINK DISPLAY

@- Possibly make icons for the site link function that show sites that are ws/nsfw and sites that are in the HOF.
@-- Or currently on up and coming, etc.

!- Going further with the historical data, it would be possible to do a Newgtounds type system (i think it's NG)
!-- Or some mixture of Alexa/Google Zeitgeist feature that would allow you to see the full history of a site
!-- With graphs showing views, when a site was on the top viewed, what place it was, score, etc.


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 SYSTEM (super ugh)

+- Ability to add someone as a friend (confirmation required).
+- Friends list, with online/last login status, PM button on each.
@-- Maybe an explanded option that shows you each friend's most recent site.

@- Stalk mode: show what they're up to if there are entries in the spy_log.

+- Ability to add "Idols" and "Sworn Enemies" without confirmation.


USER COLLABORATION

+- An area of the site where you can upload a sound or image and make requests for someone
+-- to come up with the other half of the equation.
+-- Some sort of commenting mechanism.

@- Think of some clever way to deal with user collaborations on profile pages.


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!)
@-- Or some mechanism for an asset to be passed around to the entire group.


ALERTS

+- Allow users to set an alerts on site titles, keywords, origins
+-- Specific assets ids and user ids.

!-- 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 option for resynch every X loops.

+- Build in advertising options.
+-- Allow people to buy advertising built into the preloader.

!- Hammering out the bugs will allow us to make it an option to play all MP3s through flash.

!- The more I think about this, the more I want to convert the entire site over to PHPTurbine
!-- and do it all through flash. Too bad it's 32 bit only.


VOTING / VOTEBARS

+- Get the votebar image script into CVS.

+- Update the site voting mechanism/javascript to use the new voting authentication system.

+- Finish the bot-catching mechanism.
+-- Uses pre-set voting algorithms based on IP/time/vote/referrer and automatically shows the
+-- user a captcha. If the user fails the captcha in X seconds, user gets added to a potential
+-- bot list for moderator review.

+- Change the votebar code so that rather than having to query for every user vote, it batches it at
+-- the end of the page load transparently. Maybe with AJAX (ugh).
!-- Right now, when a logged in user views the front page, they slave db is queried for every votebar
!-- image displayed to check for previous votes. Would be better to keep a session variable array of
!-- all of the currently viewed votebars and then insert a javascript array at the foot of the page to
!-- query for the user votes.



ADMIN SYSTEM/NEW MODERATION SYSTEM

ACCESS CONTROL

+- Require IP checking option for moderators and above.

+- Add user level "jr admin"
+-- Figure out what access these users should get.


MODERATION QUEUES

+- Deletion requests should act like kills used to.

!- Tables currently in existence:
!-- site_moderation_queue
!--- Holds site_id, moderation_level (allows assignment to an access group (ie. super mods))
!-- site_moderation_queue_assignments
!--- Allows a single site to be assigned to a single user by another user

+- Tables that need to be created:
+-- site_moderation_queue_status
+--- Needs to contain: site last changed date (would be a copy), number of votes from each user level
+--- for both "since last changed" and "previous to last changed". As well as a flag to tell if the
+--- site a) needs to be moderated, and if so how many of each type of vote it needs.
+--- This seems like a pretty ugly design.

+- "Moderation mode"
+-- The old mod system automatically redirected to the next site in the moderation queue, basically to
+-- infinity, allowing you to skip a single site.
+-- I want to add a small box to the already gigantic remote mod panel that has the following options:
+-- [ ] Moderation Mode
!-- This would keep the moderation panel open and automatically redirect to the next site after a moderation
!-- action was performed.
+-- ( ) Moderate out of my personal queue
+-- ( ) Moderate out of my group's queue
+-- ( ) Moderate out the global queue
!-- This would need some sort of skip setup that actually works in comparison to the way it used to work (or not work)


+- Moderation Queuing Prioritization System

+-- A system run on cron and every time a moderation action is taken.
+-- Takes into account: site reports, site views, sites currently on the front page, creation date, required mod votes, etc.
+-- Updated extremely often: ie, the top queue items will be different every minute.
+-- Needs to be built into the content gatherer for the front page and in the mod remote panel.


MODERATION MONITORING

+- Ability to assign a "mentor" to moderators or super moderators.
+-- Would allow the mentor to monitor and view all of the people they are in charge of.
+-- As sort of a step above peer watchdogs. User profile would show all of the user's moderation actions.

@- Maybe some nifty graphs of moderator activity.
@-- Tons of information to pull from.

+- Some sort of algorithm that figures out when mods are going against the majority vote a lot.


LOGGING

+- Site moderation log.
!- Created, needs filters and searching.

+- User moderation log.
+-- Needs filters and searching.

+- Moderator access logs.
+-- Needs filters and searching.


USER/SITE DELETION QUEUE

+- Site deletion queue system needs to be written, tables designed etc.
+-- Needs to be implemented into the site with a (48 hour?) time for regular user-deleted sites.
+-- Needs abstract class for use around the site

!- User deletion queue:
+- Needs abstract access class for use in code.
+- Needs administrator options:
+-- Force immediate deletion of a site or user.
+-- Remove from queue (with logging and denying reasons)
+-- Ability to ban (ulevel 2) and put an account on hold (for stuff like child pornography, repeat abusive users)
+--- Needs options on front end in login, common, site profiles, user profiles etc.


PUNISHMENTS/WARNINGS

+- Entire system needs to be written short of DB tables.

+- Implementation built into the front end of the site.

@- Comment deletion options.


REPORTED USERS

@- Not even sure if I should add this feature because I know how spammy it will be, people cry every time they get
@-- a fucking one vote.


IP BAN SYSTEM

+- Needs to be written.


SEARCH

+- Needs to be written


ASSET MODERATION SYSTEM

+- Allow super mods to mark an asset NSFW or WS which will retroactively and proactively "auto moderate"
+-- Possibly require either an admin approval or a system that requires retroactive NSFW markings on the
+-- image from the site_moderation_log to figure out if it's a reasonable request.

@- Maybe even attach a field to the asset table that gives it an NSFW rating.

@- Possibly a flag to mark an asset illegal, for animal torture, kiddy porn or serious copyright issues.
@-- Would fire off notifications to mods somehow if a user is uploading illegal content.


TICKET TRACKING

@- Some sort of ticket tracking system that would allow grouping of users, deletion requests, sites,
@-- log entries, assets, basically every aspect of the site into a history of actions, comments from
@-- mods etc.

!-- Basically a huge amount of work that may never see the light of day.


HAIR BRAINED SCHEMES

REVIEWS SECTION

!- Ever since YTMND got big, I've literally been getting daily invites to movie screenings,
!-- Release parties in NYC and Hollywood and a number of people asking me to do product reviews.
!-- Since it's obvious I'm never going to get rich off YTMND, I might as well milk it and start
!-- taking people up on these offers.

!-- At the same time I know I don't have the willpower to keep up and maintain any sort of consistent
!-- review rate. So maybe come up with some sort of simple review system for movies/music/hardware/software
!-- and let users take advantage for some of this stuff.


SPY / REAL-TIME USER TRACKING

@- Possibly add a really really spammy searches option (at least 5-8 searches a second)
@-- Maybe make a separate "search spy"

@- Possibly add a URL to user-tracking to allow people to see what users are looking at
@-- or doing. (Would require some sort of hard coded logic to tell if people are making
@-- a site, etc)


WEIGHTED VOTING AND SITE DELETION SYSTEM

!- Discussion moved here: http://wiki.ytmnd.com/Weighted_Voting


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.


RICH PEOPLE FUNDING

!- If we can get rich people and movie stars to like YTMND as much as most of the users,
!-- then they will be able to donate lots of money and will tell the world how great YTMND is (in theory).