So if you have any sort of youtube account, you probably noticed that they recently upgraded the front page of their website to something more like twitter than any previous incarnation of YouTube. And if you’re anything like me, than this change ranks right up there for annoying. It took the old model of having a box for “Hot Videos”, “Subscriptions”, and “Thinks Youtube Thinks I’d Like” and basically just drops it to “Here is a twitter / facebook feed of your subscriptions”.
Now, completely discounting the annoyance factor in changing up the front page, I would like to go further to point out that the twitter style feed simply doesn’t work for youtube. Youtube is all about the videos, not the users who submit those videos. A lot of people will argue “Oh but what about so and so”, but let’s think for a second shall we? For every subscription you have the heart of youtube comes from things like the Rickroll [I mean who was the first to submit that video?], or a cat batting at a printer . All of those core videos aren’t known for their authors, but rather just the video itself.
As such, I would argue that while yes there is a YouTube community with the whole channel design, that community aspect isn’t the key of the YouTube business model. There is more to YouTube than the individual members who compose it, as such shifting the focus to this community style while in line with one aspect of the site fails to encompass all the different factors that compose the website.
Now, my theory on this one is that YouTube believes that if you have a YouTube account that you are inherently going to want to be involved with the community as a whole. I must admit that this approach does make sense to me, but I suspect that there is more going on here than simply wanting a more community like feel.
If you’ve been paying any attention to the way that YouTube works, you may have noticed that over the past few years there have been an increasing number of complaints about people not finding new videos from their subscribers. I have some theories on why that might be, and I’d like to throw a few of them out now.
Before I do that; however, I would like to point you to a video that was posted some time ago that provides some insight into the infrastructure and architecture that makes YouTube what it is. In a conference on Scalability, one of the YouTube engineers was kind enough to give a lecture on what makes up the backbone and key components of youtube
You’ll notice that he makes a point to emphasis what they bother to cache [as at that scale of software and hardware deployment it's no longer about the database, the language, or even the hardware]. His point is that no matter what kind of setup you’re running when you pumping out terabytes of data, your servers are going to get overwhelmed. So what you do is ensure that you’ve got one hell of a cache service.
Using only supposition based off of how much trouble reddit has with their caching service for individual users , I assume that what has been happening to these YouTube “subscription” services has something to do with rebuilding that subscription box every single time that the user logs in. In an effort to save bandwidth I have to wonder if some corners weren’t cut so that the subscription box wouldn’t have to make a query not only for the individual user but also for each of the videos of the subscriptions that user was subscribed to.
My theory [I'm not an expert in this kind of thing] continues that a twitter style feed may have been more workable from a cache standpoint as you simply have to cache each individual user’s feed and then run a query to get each of those feeds. Than after the page is loaded have cookies or something in the Ajax family check if a video has been watched and gray it out.
In this way you show off all of the possible videos that are in their subscription feed and don’t worry about running some god awful cross table query. You just have some kind of “Feed” table, and you query rows from that [I don't even want to take a guess at the kind of mess that is youtube's inner coding].
If Youtube was looking for a way to make it easier to cache, but could still retain that kind of “Subscription box” maybe they could look into a design like this:
In this way, you can retain that kind of central box without having to worry about the issues surrounding rebuilding it each time, because you just make each tab much like you have the feeds currently. And of course you want to include usability [let the users move the tabs around, gray out movies they have seen, allow them to tweak how many days back they want to go, etc]. But this could accomplish a similar goal of making sure all videos are shown, while at the same time retaining a more “Feed” like feel.
Still though, don’t make sudden changes
One of the biggest things that YouTube [and Facebook, and other big sites] have made a mistake here doing is just rolling out a change to the customers without even bothering to explain why. Now, while you guys may like it internally, you have to remember that your customer base ranges from people who could design adobe Flash from scratch all the way to folks who can’t figure out how to work the touch pad on laptop [Though.. given Flash's performance, those individuals could be on in the same].
So when you’re rolling out massive changes like this, you need to not only keep your user informed, but retain them on the interface. Even Microsoft has picked up on this with the little “Tour of Windows” that comes with Windows XP or whatever OS it happens to be. The first thing that they teach you in Systems Analysis and Design is to keep your users in the loop at every stage of the game, by just rolling out changes you’re effectively aiming in the dark.
Now, according to this post Facebook simply lets the code live on a microcosm of their users and sees how they react. This is fine and dandy for testing purposes, but it doesn’t suddenly absolve you from at the very least acknowledging [in BIG YELLOW OR RED headers] what it is your are up to. Users want to know what kind of changes you are rolling out. It makes them more comfortable than just having the site suddenly changed on them.
Being Youtube, you can do this in any number of ways too. You could post a video whenever you’re about to roll out a major change explaining why you are doing it [you do have a reason right?]. You just jam a little yellow or blue bar [WordPress does it] explaining what you are up to, when it will be out, what it means to the users. You could even get one of the anti social software engineers you employed to get on Camera and show it off for you.
Here’s another idea, talk to those folks that you are pushing to the front page. Talk to sxePhil and say “Hey Phillip, could you maybe mention we’re doing a new frontpage to your userbase?”, than you give him access, let him take pictures, etc. I know you’re not worried about competition, so there’s no need to hide any of this from your users.
You just need to keep everyone in the loop; because, people hate change, but if you can soften the blow by explaining it to them and getting them used to it, they may not hate it as much. Give people the ability to opt in [like you did at one point] for your beta program. Let them goof around and give you feedback on everything [Have a little Icon in the corner and make sure you point it out]. If you explain to people that it’s only a tool for gathering feedback in the beta they’ll probably not be as irritated by it.
Anyway, the new YouTube Front page is here, it looks like they are taking advice from the twitter and facebook groups again. So feel free to expect a wave of people being irritated once again for the next couple of months.