User Tools

Site Tools


new_website_2012

We have outgrown Joomla. Plain and simple, we get a lot of web traffic (especially during the live show) and it kills our hosting since 10,000 simultaneous requests on a massive database with Joomla pretty much locks up the CPU. It's time for change. It's time to lighten the load and create something build specifically for our needs.

This is going to mean deprecating everything about the existing site and starting from scratch. I will work hard to preserve user accounts, viewer points, etc., but we may have to start from ground zero if doing so will affect the big picture (performance moving forward).

Current Progress

  • February 9, 2012 - The main structure of the database and CDN are in place. The apache cache system and browser cache control is in place. The lazy loader is in place. Still young, but functional. Server overhead on a page with 10 episodes is now only about 186KB. On the old site, it was about 30MB for 5 episodes. So we're definitely having success in minimizing server resources and therefore increasing performance exponentially. The test pages are loading almost instantly.
  • February 28, 2012 - The main output of the episode list is pretty much complete (Season 5 only ATM). The home page module with the current episodes is in place and coded; slider works fantastically well. Lightboxing for video playback is in place. 300px ad space at the right column has been integrated. A “popular keywords” feature has been written to allow users to focus on any of the top 25 keywords. Getting ready for Phase 1 beta this weekend.
  • March 3, 2012 - V3 Beta began. Progress updates will now be presented directly to the team via email.

Please make your own suggestions by creating a list under Yourname's Suggestions.

Robbie's Suggestions

  1. New focus more on show, less on interaction. Viewers may interact with the chat room and “ask a question” but for now we should streamline this so it's less confusing for new viewers to find their way to past content.
  2. Site should minimize API calls and instead allow out links to third party services (eg., a link to our Twitter profile instead of embedding their widget).
  3. Solid integration of http://search.category5.tv
  4. Episode images and static content to effectively utilize CDN technologies.
  5. Main domain only to host server-side scripts. Rest of content to be moved onto CDN.
  6. Scripts need to be written from the ground up to be lightweight and optimized for fast performance.
  7. All episode file data should come from the “magic” database (our content aggregation system).
  8. Show notes need to be provided from a database including automatic playback at timed points via new player.
  9. Chat logs need to be moved off to their own subdomain and possibly not indexed by search engines (if it is impacting our SEO negatively).
  10. Minimize http calls (eg., minified and combined CSS & JavaScript).
  11. Site entirely SEO/SEF driven with a reasonable effort into preventing old links from becoming dead.
  12. Use browser cache to leverage CDN speed enhancements and reduce cost of CDN.
  13. Lazy-loading images by default (again, cut down on CDN costs and accellerate page delivery).
  14. Use yuicompressor/imageoptimizer/Smush.it to minify/compress files before they are placed on the CDN. Must also remember to minify all inline javascript. I one-upped my own idea… created an amazing system to automatically create and compress all images! Oh my goodness, this bad-boy is going to save me a TON of work every single week!
  15. User should be able to set preferences which saves a cookie. This will for example allow them to toggle between a lightbox player or separate window player. Or perhaps Justin.tv vs Ustream.tv when viewing live.
  16. Site to use minified jquery hosted on Google CDN. Mootools will be deprecated and number of loaded javascript libraries will be minimized.
  17. Site to have full video sitemap (for Google listings, for example).
  18. Site to integrate the viewer location map and logging system.
  19. Site to include new Postcard Map feature (a world map with pins where we have received postcards from, when clicking on a pin you'll see the postcard).
  20. Site to support lightboxing of episodes and content.
  21. Separate episodes by season.
  22. Separate shownotes from actual episode data in the database. This way, we can post old shows even if we don't go to all the trouble of doing their show notes. So in otherwords, we'll be able to put up Season 1 episodes pretty much in no time and then do the show notes some other time when we're not so pressed (as it seems we never have enough spare time to do that…)
  23. All Episodes, from all seasons, imported and available. Current Progress: 0 episodes imported
  24. Show pages to include an oversized embedded player and popout.
  25. RSS Subscription links on every page.
  26. Ability to request email notifications of live broadcasts (to go out 1 hour before each live show).
  27. Add new ad space for various sized banners.

Garbee's Suggestions

  1. The Internal Mail feature can just be dropped. It is barely used so there is no real point in coding a feature like that when it might get used once a year. Approved: I agree. It's too much overhead for such a lightly used feature.
  2. +1 for Chat log moving and minimizing HTTP requests. Acknowledged
  3. Have the Chat Logs as a hover beside the video on each episode page, so if someone wants to view them it could be like a hovering iframe that opens them. That way they wouldn't need to scroll down to see the chatlogs. Denied: Chat logs are elitist. Including them with the player adds unnecessary overhead for a majority of viewers.
  4. Could existing Viewer Testimonials be ported? I would like to at least port in everything from the latest season, if not since the relaunch last year. Approved: I will first attempt an automatic conversion, but may need your help (and the help of some of the beta team) to do proofing and minor edits.
  5. Forum should be hosted on its own sub-domain, preferably with a prebuild system in order to save coding time. I think this user DB should be 100% independent since forums are heavy spam targets, especially pre-built systems. – Forum is not needed on launch, this can just happen as it is needed. Approved: I will start selecting the software based on which can easily be ported from Kunena (to try to preserve old posts). The forum should also become elitist, which means it will not be at the forefront, but available to those who really want it. Done. http://forum.category5.tv - please feel free to begin migration.
  6. Try to make it so users only need one account between the main site and wiki. –This will require heavy testing before being implimented, so isn't a high priority nor should be done at launch. On hold: for now. We'll look at this–possibly–down the road. Again, the wiki is a bit elitist. Since the wiki is elitist like the forum, lets just leave the user DB completely separated. This would also make future updating easier. Agree? Yea, actually that's a great point. I think we'll save a ton of work to keep it separate. Thanks for the suggestion.
  7. Make each shownote section (Links, News, Topics Covered, etc.) collapsable and collaped by default in order to minimize initial page size. Denied: the javascript code in order to make the items collapsible will weight more than the text itself, which usually consists of about 20 lines of plain text.
  8. I don't think it is worth having the “sharing” links built into the pages. They barely get used and it people really want to share they will copy a link. Personally, having links like that is a waste of space on the episodes pages. Approved: we will be looking at new ways of integrating social media, but the existing sharing buttons are inadequate.
  9. Do we need to have avatars and all this other information in the profiles? It is *nice* for those of us that hang out a lot, but otherwise not necessarily needed and just added extra cruft into the system. On hold: I don't consider avatars to be cruft, nor the code to implement them. But since we will be entirely rewriting the user subsystems, avatars will indeed be part of this. The avatars will be hosted either locally or through a 3rd party avatar host and not on the CDN. This will not even become a consideration until we begin development on the new user subsystem, which could be quite a while after initial launch since the entire paradigm of our user subsystem must be re-thought in order to add value to registered users.
  10. Commenting on Episodes should be implimented at some point as well. It can be a handy thing to have but isn't pressing for initial launch. Approved: this will be part of the launch if possible, but may tap into third party comment systems to improve performance and reduce the overhead of our own database.
  11. Secure login without HTTPS! This would be a very nice feature to have. The Wiki currently supports it through a plugin using a Javascript engine for encryption and something like it should be done for the main site. On hold: Approved, but we need this to be part of the user subsystem.
  12. Perhaps look into using Noty as a notification system. It is jquery based and very slick, but I'm not sure about the load time that could be added to the pages.
  13. In addition to Andrew's OpenID suggestion, perhaps BrowserID would be worth looking at as well.
  14. You could also look into using |Fancy Ajax Captcha in order to help prevent spam. It is a neat way of blocking it using some jquery, it simply may add too much load to the pages that require it is what seems like the biggest issue with using it.

Andrew's Suggestions

  1. Maybe include a list and links to any OpenSource solutions used to make the new site, this would be a cool way to raise awareness for OpenSource while giving much needed traffic back to those projects. Approved as a wiki article. But it'll be boring. gedit, jquery and gimp. Haha! Maybe a bit longer than that, but I'm coding this bad boy from scratch so other than using a few jquery plugins, it'll be pretty much gedit.
  2. CrossPromote other site feature more then currently done. In other words if an Episode mentions something that a good Wiki article exists for possibly link to that (as a post launch feature maybe). This would be a good way to get other features used more. Approved, although we already do this in the “Links” section of show notes (unless I miss some). But we'll further make this stand out.
  3. Have an Offer a day section, here you could randomly display one of the affiliate links like www.cat5.tv/pogoplug or something like that to help encourage users to use those links and support the show. Denied, sort-of. We're already planning a “Official Product of Category” section, and will have a fairly dedicated area of the new site for this specific thing. But it's pretty close to what you're thinking.
  4. You could also include a Chatroom quote of the day and have the most memorable chatroom quote regarding an element of the show displayed, like the mentioning of Erik looking like a Canary! This would encourage users to use the chat room while bringing some laughs to the over all experience. Approved: it's funny you'd say this. I had the same thought and in my head had called it “Memorable quotes”, which could include something the hosts said, or something that was said in the chat room. This feature will be part of the episode's show notes, and will only be available in future episodes (eg., we won't likely go back to old episodes to try to get memorable quotes).
  5. Include OpenID login integration - This would make it easier for people to login, I am not sure if this is practicle for your imaging of the site so far but might be nice addition
  6. Have an form to suggest additions to Perfectbuntu if your still working on that. - the Perfectbuntu page already has that.
  7. Maybe at some point (can be after launch) have the show notes link to specific episode forum topics for dicussion of that topic. If you use a free solution for the forums like phpBB this can be implemented through a plugin and even be automaticly created. - We had that on V1 and it just lead to a ton of empty forums since many episodes will see no activity in a forum.
  8. Include a search feature for chat logs, allow people to search within a specific IRC log. Again not sure if this is a huge undertaking or not but might be useful. - Approved.
  9. Implement an API call to the YOURLS instance on cat5.tv to generate unique short URLS for each episode once the show notes are posted (basicaly linking to the show notes page).
  10. Better promotion co-host projects! They work for free so people like Christa could probably benefit from the free publicity. Alot of your users would be more willing to use someone they know a bit about for webdesign and what better way to know someone then have them host a show you watch often. Only way better would be knowing them in person.
  11. Have Rachel do some charcature Avatars you can use as the default avatars when you get the user system/forums up.

Giles' Suggestions

  1. Implementation of polls within the forums - done
  2. Use a cache system for regular users (if they click on say JustinTV regularly make it the default player)(Probs hard to implement but bee cool)(realised basically covered in Robbie's #15) yes, covered by my post and development already well underway
  3. make the page and elements scalable as sometimes i want to see the whole page in a small windo or lo res like a netbook whereas other times i want the elements taking up my whole screen 1980×1080 or 2640×1440 and higher in the future I took your suggestion and made the video max out at 960px width. So now, if you resize your window, the video window will automatically scale to the frame

Greg (G_dog1985)' Suggestions

  1. we could add a standalone player with list of ep so people can watch the show in diff window at the same time use the website. - Might consider this for a side project, but I don't think I can fit it in for V3

tordeu's Suggestions

  1. I support the migrations of viewer testimonials and would like to offer my help. - Thanks. you're on the beta list? Yes, I am.
  2. I support the migration of the forum database and would like to offer my help, since this could be quite a lot of work. again thanks! But please confirm that you are on V3 beta as the directions will be sent via the list Yes, I am.
  3. As for captcha stuff: I don't know how sufficient it is, the captcha DokuWiki supports (via plugin) is quite nice. If JavaScript is available, it fills in the correct answer automatically and hides the text input field. This way, users do not even see a captcha, but all spam bots that do not interpret JavaScript fail.
  4. Put things like Flattr, Paypal Donations etc. a little bit more prominently. Most sites have those buttons on the home page, so most people will probably assume that a site which does not have those buttons on the home page and directly next to the content does not use them at all. I don't think users would search the site trying to find if those buttons exist somewhere. I know the current page has those Flattr and Google+ buttons on the episode pages, but people who watch them live, via miro or YouTube will probably never go to these subpages. - will do; thanks for the suggestion. Still working out the layouts but this is a good suggestion
new_website_2012.txt · Last modified: 2012/03/08 16:33 by tordeu