Difference between revisions of "YTMND:TODO"

From YTMND
Jump to: navigation, search
(Old version 1.15)
(Version 1.16)
Line 1: Line 1:
 
==YTMND TODO List==
 
==YTMND TODO List==
  
Version 1.15 [2007-04-03 20:21:58 CST]
+
Version 1.16 [2007-04-05 20:19:35 CST]
  
 
<pre>
 
<pre>
 +
$Id: TODO,v 1.16 2007-04-06 01:19:35 max Exp $
 +
 +
TODO (in no particular order)
 +
 
[  Legend  ]
 
[  Legend  ]
  
Line 18: Line 22:
 
@- Add site size information to site profile and possibly sites table
 
@- Add site size information to site profile and possibly sites table
  
+- The ability to certify/claim you are the original creator of an asset.
+
@- The ability to certify/claim you are the original creator of an asset.
+-- Possibly add a creative commons license option.
+
@-- Possibly add a creative commons license option.
  
 
+- The ability to attach an asset to a site, such as a full version of an image or song.
 
+- 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 people posting full songs they didn't make.
+
!-- This will be a pain due to the obvious copyright issues of people posting full songs they didn't make.
+- Possibly the ability to allow users to view all of their assets or other people's assets.
+
 
 +
@- 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.
 
+- Add asset server information into the db schema.
 +
 
+- Finish working on the the "types" setup, add avatars, add flash versions of wavs
 
+- 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.
 
+-- Maybe do a parent-child type deal, for making thumbnails and flash versions.
 
 
+-- Possibly add a preview to the assets page.
 
+-- Possibly add a preview to the assets page.
 +
  
  
Line 35: Line 43:
 
@-  Real user profiles, same sort of information vBulletin has, with some other good info to create fun
 
@-  Real user profiles, same sort of information vBulletin has, with some other good info to create fun
 
@-- statistical information from.
 
@-- statistical information from.
 +
 
@-  Avatars (would need to figure out where on the site they are shown).
 
@-  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.
 
@-- 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)
 
@-  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.
 +
  
  
Line 43: Line 56:
  
 
+-  Get rid of the POST shit on every page clicking back and forth.
 
+-  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)
 
*-  There is some sort of duplicate messages bug. (Back button related or multi post related)
!-- Maybe disable submit button onsubmit
+
@-- Probably disable submit button onsubmit
 +
 
 
*-  Blocked users still cause your messages icon to light up.
 
*-  Blocked users still cause your messages icon to light up.
 +
 
+-  Option to email user when they get a new PM.
 
+-  Option to email user when they get a new PM.
 
+-- Sub-option to not be spammy and only send 1 email until next login.
 
+-- 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.
 +
  
  
Line 53: Line 77:
  
 
+-- Implement the donations by user code I wrote into /browse/
 
+-- Implement the donations by user code I wrote into /browse/
 +
 
@- "Downations" - the ability to counter sponsor a site.
 
@- "Downations" - the ability to counter sponsor a site.
 
@-- Would allow users to get sites off the front page.
 
@-- Would allow users to get sites off the front page.
 +
 +
  
 
[  SESSIONS  ]
 
[  SESSIONS  ]
  
 
+- Standardize sessions, use a wrapper session class.
 
+- Standardize sessions, use a wrapper session class.
+-- Write it in so I can load balance easily.
+
+-- 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.
+
@-- 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.
 
*- Figure out YTMNSFW age check issues.
 
*-- Possible cookie bug on new NSFW code I wrote.
 
*-- Possible cookie bug on new NSFW code I wrote.
 +
 +
  
 
[  KEYWORDS  ]
 
[  KEYWORDS  ]
  
+- Put more keyword info in when users search.
+
@- Put more keyword info in when users search.
 +
 
 
+- Add more to keywords interface.
 
+- Add more to keywords interface.
 +
 
+- Limit # of keywords on site creation.
 
+- Limit # of keywords on site creation.
 +
 
+- Allow users to report keyword abusers.
 
+- Allow users to report keyword abusers.
 +
 
+- Keyword live updates, latest popular keywords content box.
 
+- Keyword live updates, latest popular keywords content box.
+- Add popular keywords to front page.
 
  
 +
+- Add popular keywords to front page (already written somewhere on the db server).
  
[ ADMIN SYSTEM/NEW MODERATUON SYSTEM ]
 
 
@- write this.
 
  
  
Line 83: Line 116:
 
@- Maybe do a loose login system like amazon
 
@- Maybe do a loose login system like amazon
 
@-- Always logged in, requires a password to do important things like add/delete/edit sites/options?
 
@-- 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.
 +
  
  
Line 102: Line 138:
 
+-- When you sign up, you must make at least one site, if it gets a rating under 2.5  
 
+-- 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.
 
+-- for a period of 24 hours, your account gets deleted.
 +
  
  
 
[  SITE VIEWS  ]
 
[  SITE VIEWS  ]
  
+- Insert a row on each site view with: (IP, site_id, referring url).
+
@- 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.
+
@-- 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.
+
@-- Figure out a way of doing this without storing massive amounts of data.
+- Maybe show referrers on site profiles.
+
@-- Maybe show referrers on site profiles.
 +
 
 
!-- It's possible that storing information on referral URLS for 1 week would be sufficient.
 
!-- It's possible that storing information on referral URLS for 1 week would be sufficient.
 +
  
  
Line 120: Line 159:
  
  
[  FORUMS  ]
 
  
+- Integrate the account creation and user signup so there are no longer two accounts.
+
[  FORUMS  ]
+- 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.
+
  
 
!- VBulletin is shit, from the looks of it they have no plan to ever support LDAP or anything like it.
 
!- VBulletin is shit, from the looks of it they have no plan to ever support LDAP or anything like it.
Line 142: Line 176:
  
  
[  SUPPORT ISSUES  ]
 
  
@- Decide whether or not to buy kayako, would be really useful but requires apache and zend optimizer.
+
[ SUPPORT ISSUES  ]
@-- Also requires people to deal with support.
+
  
 
@- Maybe build something into the new mod panel that gets all the support@ email.
 
@- Maybe build something into the new mod panel that gets all the support@ email.
 +
  
  
Line 168: Line 201:
 
@- RSS feeds for each content boxes.
 
@- RSS feeds for each content boxes.
 
@- RSS feeds for each alert (paid?)
 
@- RSS feeds for each alert (paid?)
 +
 +
+- In the mean time, make an RSS feed for the news at least.
 +
  
  
Line 173: Line 209:
  
 
+- Make an Admin CMS for news.
 
+- Make an Admin CMS for news.
 +
  
  
Line 180: Line 217:
 
+-- This should be in the wiki, and since no one has created it will probably never happen until  
 
+-- 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 can pay someone to do it since I am completely unwilling.
 +
  
  
Line 187: Line 225:
  
  
[ ALGORITHMS THAT NEED WRITING ]
+
[ CONTENT BOXES/ALGORITHMS THAT NEED WRITING ]
  
+- Site recommendations. [PAID?]
+
+- Sites that are older than 1 week but have less than 10 votes.
!-- I wrote a "users who like this site also like these sites" feature, just need to make an interface.
+
!-- After further testing, it's basically useless.
+
 
+
+- 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.
+
  
  
Line 249: Line 239:
 
!- As well as lists managed by multiple people (group lists, such as moderator favorites)
 
!- 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.
+
*- 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.
 
+- Ability to add more than one note per item per user.
 
+- Write interface for custom made lists.
 
+- Write interface for custom made lists.
 
+- Write interface for list permissions/group permissions.
 
+- Write interface for list permissions/group permissions.
 
+- Write interface+functions for ordering.
 
+- 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)
 
@- Maybe a global fads list and let people take over maintaining a fad list. (ugh)
Line 264: Line 255:
 
+- Build a protection mechanism to keep sites from being accidentally deleted
 
+- Build a protection mechanism to keep sites from being accidentally deleted
 
+-- (especially useful for hall of fame). (this could be done with cascading restrictions)
 
+-- (especially useful for hall of fame). (this could be done with cascading restrictions)
+- Require sound and image origin fields.
+
!-- 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.
  
@- Add a "PRIVATE" option. Won't show up in searches, keywords, front page, random etc.
+
+- 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 ]
 
[ SITE TEMPLATE ]
  
+- Complete re-do of sound code. Needs to be a lot smarter and take into account user preferences.
+
+- 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.
 
+-- For instance, allowing the use of media player on firefox, which would solve a lot of sound woes.
 
+-- Make a sound discovery javascript routine.  
 
+-- Make a sound discovery javascript routine.  
 +
!-- Would be a non issue if sound was moved over to flash.
  
  
 
[ STANDARDIZE SITE LINK DISPLAY ]  
 
[ STANDARDIZE SITE LINK DISPLAY ]  
  
@- Possibly make icons for the site list which show sites that are ws/nsfw and sites that are in the HOF.
+
@- 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.
  
[ WEIGHTED VOTING AND SITE DELETION SYSTEM ]
 
 
!- Discussion moved here: http://wiki.ytmnd.com/Weighted_Voting
 
  
  
Line 301: Line 305:
  
 
+- Ability to add someone as a friend (confirmation required).
 
+- Ability to add someone as a friend (confirmation required).
+- Friends list, with online/last login status, PM button on each.  
+
+- 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.
 
@- 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.
 
+- Ability to add "Idols" and "Sworn Enemies" without confirmation.
 +
  
  
Line 312: Line 319:
 
+-- to come up with the other half of the equation.
 
+-- to come up with the other half of the equation.
 
+-- Some sort of commenting mechanism.
 
+-- Some sort of commenting mechanism.
 +
 
@- Think of some clever way to deal with user collaborations on profile pages.
 
@- Think of some clever way to deal with user collaborations on profile pages.
 +
  
  
Line 322: Line 331:
 
@-  Member post board of some sort.
 
@-  Member post board of some sort.
 
@-- Extremely simple forum thing.
 
@-- Extremely simple forum thing.
 +
 
@- Group favorites/site lists/recommendations dealy.
 
@- Group favorites/site lists/recommendations dealy.
 
@- Group news page.
 
@- Group news page.
 
@- Public and Private group types.
 
@- Public and Private group types.
 
@- Group authored sites? (oh my!)
 
@- Group authored sites? (oh my!)
 +
@-- Or some mechanism for an asset to be passed around to the entire group.
 +
  
  
Line 331: Line 343:
  
 
+-  Allow users to set an alerts on site titles, keywords, origins
 
+-  Allow users to set an alerts on site titles, keywords, origins
+-- Specific assets ids and users.
+
+-- Specific assets ids and user ids.
 
   
 
   
 
!-- Needs a checking mechanism which does a search to check for returned results.
 
!-- Needs a checking mechanism which does a search to check for returned results.
Line 354: Line 366:
 
!-  The more I think about this, the more I want to convert the entire site over to PHPTurbine
 
!-  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.
 
!--  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 MODERATUON 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.
 +
 +
 +
 +
[ TRULY RANDOM ]
 +
 +
@- Finish the true randomizer, that uses a random sound, image and text file to show
 +
@-- random site.
 +
 +
 +
 +
[ 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
 +
 +
 +
[ AUTO-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.
 
</pre>
 
</pre>

Revision as of 22:11, December 24, 2007

YTMND TODO List

Version 1.16 [2007-04-05 20:19:35 CST]

$Id: TODO,v 1.16 2007-04-06 01:19:35 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.



[  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 certify/claim you are the original creator of an asset.
@-- Possibly add a creative commons license option.

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

@- 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.
+-- Possibly add a preview to the assets page.



[  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 MODERATUON 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. 



[ TRULY RANDOM ] 

@- Finish the true randomizer, that uses a random sound, image and text file to show
@-- random site.



[ 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


[ AUTO-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.