Difference between revisions of "YTMND:TODO"

From YTMND
Jump to: navigation, search
(Old version 1.11)
(Old version 1.12)
Line 1: Line 1:
 
==YTMND TODO List==
 
==YTMND TODO List==
  
Version 1.11 [2006-09-19 22:24:43 CST]
+
Version 1.12 [2007-03-06 16:55:49 CST]
  
 
<pre>
 
<pre>
Line 10: Line 10:
 
+- New Feature I want to add.
 
+- New Feature I want to add.
 
!- Current state or general information.
 
!- Current state or general information.
 
[  USER LEVELS  ]
 
+- Implement and enforce user levels (somewhat in place).
 
 
  Level 0:    Users who aren't signed in.
 
  Level 1:    Users with an account that has not been confirmed.
 
  Level 2:    Users with a confirmed account.
 
  Level 4:    Paid users.
 
  Level 8:    Moderators.
 
  Level 16:  Administrators.
 
  Level 255:  Max.
 
 
  
 
[  COMMENTS  ]
 
[  COMMENTS  ]
Line 28: Line 16:
 
@-- Maybe use do a mechanism like Livejournal's nested comments, or digg's comments
 
@-- Maybe use do a mechanism like Livejournal's nested comments, or digg's comments
 
@-- with a +/- system to get rid of trolling.
 
@-- with a +/- system to get rid of trolling.
@- Ability to delete comments  on your sites.
 
 
@- Comment paging for sites with a ton of comments, maybe AJAX.
 
@- Comment paging for sites with a ton of comments, maybe AJAX.
  
Line 39: Line 26:
 
*-- I've already tried editing a site and uploading a previously used sound file.
 
*-- I've already tried editing a site and uploading a previously used sound file.
 
*-- and editing a site and using a new file.
 
*-- and editing a site and using a new file.
*-- Things to look into: the asset management system, site creation/editing code.
+
*-- Things to look into: the asset management system, site creation/editing code.  
!-- 6 months later: I have yet to see this pop up again
+
!-- 12 months later: I have yet to see this pop up again
  
  
Line 56: Line 43:
 
+-  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.)
 
*-  There is some sort of duplicate messages bug. (Back button related.)
 +
!-- Maybe 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.
Line 63: Line 51:
  
 
[ DONATIONS ]
 
[ DONATIONS ]
 
+
+-- Implement the donations by user code I wrote into /browse/
+- Redo donations page completely.
+
+-- Create new tabbed area like users page with:
+
+-- Donations this week, donations this month, donations all time,
+
+-- donations by user, donations by site.
+
+-- Focus on recent donations more as they can get lost easily.
+
  
  
Line 101: Line 84:
 
+- Move all cached search results to a separate memcached server that gets flushed at 4am nightly.
 
+- Move all cached search results to a separate memcached server that gets flushed at 4am nightly.
 
+- Create a cron mechanism that populates the critical variables for emergency use.  
 
+- Create a cron mechanism that populates the critical variables for emergency use.  
 
 
[ CRON ]
 
 
+- Move all cron scripts to new repository.
 
  
  
Line 119: Line 97:
 
!-- In my opinion, the search used to be way better before I switched to fulltext (although it's hard
 
!-- 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)
 
!-- to say how it would hold up now)
 +
 +
 +
!-- Sphinx is working out well, just waiting for the 0.9.7 to come out.
 +
  
 
+-- Default search: title, keywords, description. In that order.
 
+-- Default search: title, keywords, description. In that order.
Line 128: Line 110:
 
+---- etc.
 
+---- etc.
  
 
[  CONTENT BOXES / FRONT PAGE  ]
 
 
+- The front page is going to change drastically.
 
 
 
!- The default front page will look like:
 
  -------------
 
|    YTMND    |
 
  -------------
 
|N|  NEWS  |A|
 
|A|        |D|
 
|V|---------| |
 
| | SP | RC | |
 
| |    |    | |
 
  -------------
 
!- SP = sponsored sites
 
!- RC = recently created (live update using ajax)
 
 
!- The NAV area will look something like this:
 
!-
 
 
Search
 
Advanced Search
 
 
Top Rated YTMNDs
 
- This week
 
- Today
 
- Yesterday
 
- This Month
 
- All Time
 
 
Top Viewed YTMNDs
 
- ...
 
 
Random YTMND
 
 
Sponsored YTMNDs
 
 
Moderator Favorites
 
 
YTMND Hall of Fame
 
 
Commented On YTMNDs
 
- ...
 
 
Top Favorited YTMNDs
 
- ...
 
 
Most Linked To YTMNDs
 
- ...
 
  
 
  Classic YTMNDs
 
  Classic YTMNDs
 
!- The idea is at some point provide a google.com/ig type setup where users can customize their front page.
 
!- When the front page changes, all users will be forced to use it this way for a while. I think it's going to
 
!- be such a drastic change that some users won't be sure what to look at. The bias of the top 15 and top rated
 
!- will almost no longer exist, so I'd like to give users some time to get an idea of what they will be looking
 
!- at the most.
 
 
@- I'd like to make a "digg spy" type page that shows in real time all votes made on sites, sites being created etc.
 
 
  
  
Line 198: Line 120:
 
+-- Marked as work safe when not work safe.
 
+-- Marked as work safe when not work safe.
 
(I have yet to ever even look at any of these.)
 
(I have yet to ever even look at any of these.)
 
  
  
 
[  USER LOGINS  ]
 
[  USER LOGINS  ]
  
+- Clean up and rewrite the code so it uses the to-be-written session class.
+
+- Add an IP checking option, proxied ISPs were knocking people off a lot.
+- Maybe bring back the [ ] remember me.
+
 
+- 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?
 
*- Change the information stored the cookie so it isnt so insecure.
 
*- Change the information stored the cookie so it isnt so insecure.
 +
  
 
[  USER SIGNUP  ]
 
[  USER SIGNUP  ]
Line 250: Line 171:
 
+-  Create a tracking mechanism for when a user has received an email to keep YTMND from spamming them.
 
+-  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.
 
+-- To avoid sending multiple alerts/pm notifications between logins.
 
 
 
  
  
Line 260: Line 178:
  
 
[  ADMIN.YTMND.COM  ]
 
[  ADMIN.YTMND.COM  ]
 
+- Major clean up needed, move to new cvs.
 
 
+- More web stuff, less shell scripts.
 
+- More web stuff, less shell scripts.
 
+- Something other people can use besides me, like moderators and administrators.
 
+- Something other people can use besides me, like moderators and administrators.
Line 270: Line 186:
 
+- Create a generic error handling class (this should be easy now that we are on PHP5)
 
+- 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
 
*- 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 FEEDS  ]
Line 298: Line 216:
 
+- Rename hash tables so they are easily identifiable as so.
 
+- Rename hash tables so they are easily identifiable as so.
 
+- Get temp_site_list updated up to the second like temp_comment_list.
 
+- Get temp_site_list updated up to the second like temp_comment_list.
 
 
 
[ USER LOGINS ]
 
- Clean up and rewrite the code so it uses straight sessions.
 
-- Redo the cookie so it isnt storing a password.
 
-- Log new IPs on login, for accounting like VBulletin.
 
  
  
Line 392: Line 303:
 
+-- 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.  
 
  
  
 
[ STANDARDIZE SITE LINK DISPLAY ]  
 
[ STANDARDIZE SITE LINK DISPLAY ]  
  
@- Go through and make sure every link that links to a sub-domain opens in a new window.
+
!- site_link() is the new function for a a standard site link.
@- Standardize the way a site title and votebar is displayed.
+
 
@- Possibly make icons for the site list which show sites that are ws/nsfw and sites that are in the HOF.
 
@- Possibly make icons for the site list which show sites that are ws/nsfw and sites that are in the HOF.
  
Line 477: Line 386:
  
 
[ USER PREFERENCES ]  
 
[ USER PREFERENCES ]  
 +
 
+- Make a better system for user options.
 
+- Make a better system for user options.
  
Line 529: Line 439:
  
 
[ SET UP YTMNDEV ]
 
[ SET UP YTMNDEV ]
+- Get on it, asshole
+
+- Get on it, asshole.
 
+
 
</pre>
 
</pre>

Revision as of 23:06, December 24, 2007

YTMND TODO List

Version 1.12 [2007-03-06 16:55:49 CST]

[  Legend  ]

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

[  COMMENTS  ]

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


[  FILE SYSTEM  ]

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


[  USER PROFILES  ]

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


[ PRIVATE MESSAGING ] 

+-  Get rid of the POST shit on every page clicking back and forth.
*-  There is some sort of duplicate messages bug. (Back button related.)
!-- 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. 


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


[  SESSIONS  ]

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



[  KEYWORDS  ]

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


[ CONTENT CACHING ] 

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

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


[ SEARCH ] 

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

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


!-- Sphinx is working out well, just waiting for the 0.9.7 to come out.


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


 Classic YTMNDs


[  REPORT THIS SITE FEATURE  ]

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


[  USER LOGINS  ]

+- Add an IP checking option, proxied ISPs were knocking people off a lot.
+- Maybe do a loose login system like amazon
+-- Always logged in, requires a password to do important things like add/delete/edit sites/options?
*- Change the information stored the cookie so it isnt so insecure.


[  USER SIGNUP  ]

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


[  SITE VIEWS  ]

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


[  YTMND STORE  ]

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


[  FORUMS  ]

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

!- New forums waiting on this to open.


[  EMAIL  ]

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

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


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


[  ADMIN.YTMND.COM  ]
+- More web stuff, less shell scripts.
+- Something other people can use besides me, like moderators and administrators.


[  CLEAN UP ERRORS AND WARNINGS  ]

+- Create a generic error handling class (this should be easy now that we are on PHP5)
*- All pages that just consist of die messages or warnings should go through an error class of some sort
!- 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.


[ NEWS ]

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


[ HELP SECTION/FAQ ]

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


[ HASH TABLES ]

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


[ ALGORITHMS THAT NEED WRITING ]

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

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


[ MODERATION ]

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

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

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



[ MODERATION POINT SYSTEM ]

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


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



[  LISTS  ]

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

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

@- Maybe a global fads list and let people take over maintaining a fad list. (ugh)
+-  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.



[ SITE TEMPLATE ]

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


[ STANDARDIZE SITE LINK DISPLAY ] 

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




[ WEIGHTED VOTING AND SITE DELETION SYSTEM ] 

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


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


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

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

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


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

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


[ DONATIONS/SPONSORSHIP ]

+- Show users contributions on user profiles.
+- New sponsorship page
+- By Site
+- By Date (Default)
+- By User
+- By Ammount
+- Sponsorship Goals



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


[ RANDOM ] 

+- Make user prefs for random ws/nsfw'ness.
+-- default to s and x on ytmnd.com and n on ytmnsfw.com

[ USER PREFERENCES ] 

+- Make a better system for user options.


[ FRIENDS ] (super ugh)

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


[ GROUPS ] (double super duper ugh)

!- User groups

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


[ ALERTS ]

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

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

@- Alerts page, PM option maybe?


[ FLASH PRELOADER ]

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

[ DON'T FORGET ABOUT POLAND ]

+- YOU FORGOT ABOUT POLAND.


[ SET UP YTMNDEV ]
+- Get on it, asshole.