Difference between revisions of "YTMND:TODO"

From YTMND
Jump to: navigation, search
(Old version 1.9)
(Old version 1.10)
Line 1: Line 1:
 
==YTMND TODO List==
 
==YTMND TODO List==
  
Version 1.9 [2006-08-16 06:16:49 CST]
+
Version 1.10 [2006-08-16 14:55:36 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.
 +
  
  
Line 459: Line 460:
 
+--- Otherwise let logged in users (over the age of 18?) see NSFW conten on YTMND.com
 
+--- Otherwise let logged in users (over the age of 18?) see NSFW conten on YTMND.com
 
+--- Default to warning on.
 
+--- 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.
  
  
Line 510: Line 520:
  
 
[ SET UP YTMNDEV ]
 
[ SET UP YTMNDEV ]
+- Get on it, asshole
+
+- Get on it, asshole.
 
</pre>
 
</pre>

Revision as of 23:04, December 24, 2007

YTMND TODO List

Version 1.10 [2006-08-16 14:55:36 CST]

[  Legend  ]

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



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

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


[  COMMENTS  ]

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


[  FILE SYSTEM  ]

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


[  USER PROFILES  ]

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


[ PRIVATE MESSAGING ] 

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


[ DONATIONS ]

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


[  SESSIONS  ]

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



[  KEYWORDS  ]

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


[ CONTENT CACHING ] 

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

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



[ SEARCH ] 

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

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

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


[  CONTENT BOXES / FRONT PAGE  ]

+- The front page is going to change drastically.


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

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

 Search
 Advanced Search

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

 Top Viewed YTMNDs
 - ...

 Random YTMND

 Sponsored YTMNDs
 
 Moderator Favorites
 
 YTMND Hall of Fame

 Commented On YTMNDs
 - ...

 Top Favorited YTMNDs
 - ...

 Most Linked To YTMNDs
 - ...

 Classic YTMNDs

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

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



[  REPORT THIS SITE FEATURE  ]

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



[  USER LOGINS  ]

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

[  USER SIGNUP  ]

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


[  SITE VIEWS  ]

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


[  YTMND STORE  ]

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


[  FORUMS  ]

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

!- New forums waiting on this to open.


[  EMAIL  ]

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

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





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


[  ADMIN.YTMND.COM  ]

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


[  CLEAN UP ERRORS AND WARNINGS  ]

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

[  RSS FEEDS  ]

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

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


[ NEWS ]

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


[ HELP SECTION/FAQ ]

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


[ HASH TABLES ]

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



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


[ ALGORITHMS THAT NEED WRITING ]

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

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


[ MODERATION ]

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

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

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



[ MODERATION POINT SYSTEM ]

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


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



[  LISTS  ]

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

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

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

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




[ WEIGHTED VOTING AND SITE DELETION SYSTEM ] 

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


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


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

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

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


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

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


[ DONATIONS/SPONSORSHIP ]

+- Show users contributions on user profiles.


[ YTNNSFW ] 

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

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


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