I love this: Reddit, Stumbleupon, Del.icio.us and Hacker News Algorithms Exposed!
Reddit's algorithm is probably my favorite, using logarithms to weight earlier votes more heavily. Although I do enjoy the StumbleUpon "safety variable" (which keeps it from being totally gamed). And the del.icio.us algorithm is kind of remarkable in its simplicity. As Danny says though, the "10,000 Pound Gorilla in the Room" is of course Digg's algorithm, which is stored in a single machine buried 5 miles below the surface of the Earth.
Judging by Josh Catone's post and its comments
There is No Web 3.0, There is No Web 2.0 - There is Just the Web, people really don't like the terms "Web 2.0", "Web 3.0", and the like. But I'm not sure I fully understand why.
If it's because people have a natural aversion to labeling anything, I can somewhat agree with that. Determining the definitive characteristics and exact point of inception of a fluid event like the evolution of the Web into "Web 2.0" is difficult. Being hesitant about focusing too much on nomenclature and not enough on application is also somewhat valid. The more time spent arguing about what the web is, the less time building applications for it.
But ironically in avoiding or vehemently opposing labels such as "Web 2.0" in order to focus one's effort on producing real output, one may become less efficient and effective because he or she has unwittingly denied that there wasn't a drastic shift with the internet as we know it. And by not recognizing pertinent aspects of the current web and its shift from previous incarnations, one is less apt to deal with the next major shift. And there is definitely going to be another big change in the internet and its use, most likely pretty soon - that has to be taken as a given at this point. And by studying the web today, which I think can be correctly named "Web 2.0", and its variance from the initial incarnation of the web, there are some key lessons to be learned.
First, increased bandwidth opens doors. When we were all using dialup, static html pages were all we could handle. I can definitely recall visiting huge pages on my family's 500 series Mac via AOL dialup and completely crashing my Netscape browser. The kind of interactivity available today just wasn't possible with yesterday's internet. Today around 3/4 of the country has broadband internet access so sites are able to deliver that much more data to the user and not have it take 3 hours. This completely changed the UI philosophy of the web and today the intricacy of the average user experience is exponentially greater. Now with that in mind, if the average internet speed jumped from 1MB/s to 10MB/s, what would that mean for the actually look and feel of the internet? Something pretty drastic right? Imagine an experience like the one seen in this recent TED talk.
Secondly, massive amounts of data have completely changed the way we consume information. I haven't opened an encyclopedia since College (ordering OED Compact Edition soon however). Web 2.0, despite a few niche mashups, is mostly about the quantity of information. And now that the amount is there, I definitely think Web 3.0 will be about integrating these stores of data even more intricately. Not just simple mashups, but gigantic, intelligent search engines and maybe even *gasps* the beginnings of true artificial intelligence.
Finally, there's a (somewhat shocking) move towards openness going on. In the first iteration of the web personal outlets were somewhat minimal. We had chat rooms and personal web pages - mine was on Tripod and was a Gators fan site. Web 2.0 has brought us, of course, social networks and the importance of building "networks". I think Web 3.0 will involve the creation of complete online personas, distributable everywhere. This ties in to the sharing of information touched on in point 2, but on a more personal level. It will involve sharing personal information, social data, favorite pieces of web content - basically everything you do that involves the web - on all the sites you visit. Clearly this'll bring up questions of privacy, safety, etc. but it seems to be the way the web is moving.
Obviously there will be other changes than the ones listed here, but I think these will be drastic enough that the web will look totally different from the web of today. And when something evolves out of something else, taking on different characteristics and unique features, we generally label it as something other than the former. In this case, the label will be "Web 3.0"
In Conclusion,
I CAN'T WAIT!
What a fantastic day at the Web 2.0 Conference (and Expo) in San Francisco. It was really fun being surrounded by so many people, most of whom are doing such interesting things using (mostly) such cutting edge techniques and technologies. Today was a very fun and engaging day that covered a wide swath of the Web 2.0 landscape.
My first session was with Jia Shen of RockYou. He talked about how his company approaches Facebook application development. A lot of his points were quite useful. He highlighted the need for rapid development so your product and brand don't get stale. He likes telling the story about how SuperWall was developed in a weekend - started Saturday morning, launched Sunday at 3 am! He highlighted the need for brainstorming and coming up with fun, creative apps that will engage their existing user base (which is surprisingly 60% women) while attracting new Facebook users to sign up. One of his major points was that one's approach to app development should be from an advertising and marketing viewpoint. He promoted A/B testing as a good way to figure out the optimal flow for the install process since that's when the majority of potential users get lost. Overall it was a really fun talk about a very interesting topic.
Next I attended a session that was more philosophy than tutorial but was pretty cool just the same. Joseph Smarr of Plaxo touched on the very important topic of Data Portability. In a nutshell, he's basically concerned with the fact that a user isn't able to define him/herself in one place and have that information show up everywhere. For example, I love The Magnetic Fields. I love them everywhere, all the time. But despite this, I'm sure every site on which I have an account doesn't list them in my favorite artists section. Wouldn't it be neat to define my favorite artists in one spot and have that show up everywhere? Or another example. I'm friends with Jorge. I'm friends with Jorge everywhere. But I'm sure there's a site we're both on but don't realize we're both on and therefore aren't friends (probably eons.com). Why can't I store friends information in one centralized spot? If you stop and think about it, it's actually a really cool idea. I friend you on Facebook. It updates my account. That information gets pushed everywhere else, and if you're anywhere else we're friends there too, automagically! I think this is (or should be) the direction that Google is headed with its OpenSocial platform. But the clear question is, what's in it for the sites? If I can get all my Orkut contacts on MySpace - whose site I absolutely love - why would I ever go to Orkut? This was a question I posed and he had a very interesting response. Imagine I can take my LinkedIn contacts everywhere. Wouldn't I spend that much more time on LinkedIn solidifying my contacts since I knew if I did it there I wouldn't have to do it again anywhere else? Same goes for finding friends taggings on ma.gnolia or tweets on twitter. The logic isn't foolproof - sites that don't have any particular niche become sorta useless - but it's the first real argument I've heard for sharing data. Cool talk.
At 1:30 I sat in on a tea party with 3 panelists who talked about nothing. That was frustrating so I left after 20 minutes and caught the end of what seemed to be a pretty neat talk about JavaScript hijacking. All I really caught was the conclusion which detailed how only a few of the JS Frameworks actually implement protection for it and how we as developers can protect against it server-side. But from what I saw it looked like a really good topic to go more in depth with from both a curiosity and actual security perspective.
The final session of my day was entitles "Design your API" and was presented by two Twitter guys (who assure me they're getting paid). Actually one officially works for Twitter and one was brought in to help build the Twitter API. Twitter delivers an astounding 80% of its traffic through its API. Which means this thing is getting hammered. Which means it needs to be done right. There were several key features of effective APIs that they highlighted including:
Then there were the keynotes. O'Reilly got people all O'riled up and read a 50-line Rilke poem (which was not part of the O'riling). Max Levchin (dude who created PayPal and Slide) basically told us to, in the words of Winston Churchill, "never surrender." I think Churchill was actually talking about Internet startups too when he said that. Can't remember. Amit Mital from Microsoft showcased their newest product "Microsoft Mesh". This new product basically syncs files across any number of devices and greatly eases the ability to share files with others. I feel like there's going to be a fair amount of overhead to learn how to actually use the system for the average user - Microsoft has a pretty spotty history in terms of designing for the computer-savvy. I know, for example, that no member of my family would be able to figure out what he was showing in his video. (Paraphrasing) "You open up the mesh, attach your devices or link to them via your network, open up your target folder, and drag and drop files you want to add to your mesh. Files you want to share can be dragged to your shared mesh, etc etc." My Mom and Dad would be mouth agape after "You open up the mesh"... It's just too complicated. Not to mention it only works with Microsoft products, though they claim Mac support is coming. So we'll see how useful it actually turns out to be. It's an okay idea though. Steve Gillmor likes it: Microsoft Says Yes With Mesh
Clay Shirky's keynote "Here comes everybody" was the most interesting thing I'd heard all conference. He set the stage by taking us back to the early-to-mid 19th century. Streets of London. Gin carts (carts!) are being pushed up and down the streets, the salesmen pedaling their wares to keep an entire generation inebriated and useless. Similar alcoholic binges were occurring en masse, all over the world. Then the human race sobered up and actually started doing stuff. And we get the period in world history known as the Industrial Revolution. Now it's his premise that we are coming out of a similar period of cognitive suppression. And what, pray tell, does he believe to be our drink of choice? Wait for it. Sitcoms. TV! How many hours of TV do we watch as a nation, or worldwide even?? He threw numbers out (which I can't completely remember) but they were in the tens of billions of hours. One overall number was in the trillions. Needless to say, and anyone could've told you this, we watch a lot of TV. But what's happened over the past couple years? People have been turning away from the tube and turning towards the web. Now instead of watching reruns, people are editing Wikipedia articles. Or even if they're not doing something that cognitively engaging, if they're just editing their 1,000th LOLCat, at least they're engaging their brains in some fashion. He told a funny anecdote about his friend's kid watching a movie. At some point she got up and walked behind the television set and started rooting around in the wires. "What are you looking for?" his friend asked. "The mouse," she replied. We now expect our media to be engaging. We are coming out of the decades-long stupor produced largely by mindless TV and are starting to participate in a worldwide movement of creativity and collaboration. Typing it all out, it is pretty exciting to be a part of.
In Conclusion,
The revolution will not be televised...
The 2008 Web 2.0 Conference (and Expo) got off to a raucous start today. This morning I participated in a workshop (emphasis on the "shop") covering Facebook and opensocial application development. While extremely disappointing in its basicity (a word which I am coining to mean "When a group of people watch some girl click around her MySpace profile to show where you can put really neat widgets"), the latter half of the workshop did semi-touch on important concepts concerning how one should develop in this rapidly changing social network application development environment. I wish the entire 3 hours had been spent developing a working application from scratch, though, even if it had just been a dumb "Hello World" app that says "Hello World" to your friends. Then they could've discussed specific issues encountered with working with Facebook and OpenSocial. How you deal with the differing implementations in the OpenSocial containers. The best way to update and maintain your code to work on the various sites. That's stuff I would've liked to learn about. But if anything it provided a few scraps for thought about OpenSocial coding.
In the afternoon I sat in on a pretty interesting talk about "Innovating on Time" (which may or may not be the official title, but close enough). This topic is something I'd like to go more in depth with at a later point when I've had the opportunity to read a little more and collect my thoughts, but the premise that someone or some group should allot time in their schedules for the simple act of idea creation - or "ideating" - is pretty interesting to me. And while this was the primary focus of the first half of the workshop (there was a 15 minute break for snacks which were nowhere to be found...sob), the second half of the workshop focused on the issue of how you act on these ideas in a timely manner. The presenter, Scott Berkun, brought up several key issues and roadblocks we all face when trying to complete a project - be it innovative or not. At one point he started presenting a series of charts and was throwing around "quantities of work-time" and calculus-based derivative explanations of how projects finish in a hyperbolic fashion. It got a little goofy. But the last 10 minutes of wrap-up definitely left some good messages in terms of how one (or, again, one group) should focus on developing innovative products in an efficient and timely manner.
Early-to-late evening after the conference is mostly a vague wash of various scary homeless people harassing me.
In conclusion,
Web 2.0 FTW