Dion Hinchcliffe's Web 2.0 Blog
TamTamy by Reply

Blog Feed

Subscribe By E-Mail

Enter your email address:

Delivered by FeedBurner

Dion's Speaking Calendar:

Dion Hinchcliffe Speaking at NKU on Web 2.0 and Mobility

Dion Hinchcliffe Speaking at CeBIT 2009 on the Future Enterprise Workplace

Dion Hinchcliffe Speaking at QCon London 2009 on Web Architecture

JAOO Web 2.0 Days Keynote Speaker Dion Hinchcliffe

Dion Hinchcliffe Speaking at Web 2.0 Expo San Francisco 2009

Dion Hinchcliffe Keynotes at Interactive Austin 2009

Dion Hinchcliffe Instructor at Web 2.0 University Week in Las Vegas in May, 2009

Enterprise 2.0 Conference 2008 Speaker Dion Hinchcliffe
Dion Hinchcliffe on Twitter

    Recent Readers

    Web 2.0 Ajax SOA Power Panel

    Web 2.0, Ajax and SOA Power Panel with Dion Hinchcliffe and Jeremy Geelan
    Click above to watch a SYS-CON Power Panel discussion on Web 2.0, Ajax, and SOA with Dion Hinchcliffe, Jeremy Geelan, and other industry notables including SOA Web Services Journal Editor-in-Chief, Sean Rhody. Taped on Dec 7th, 2005 from the Reuter's TV studio in Times Square.

     

    Thinking in Web 2.0: Sixteen Ways

    posted Saturday, 25 February 2006
    With apologies to Bruce Eckel, I sat down this afternoon and put together a draft list of the first-order elements of Web 2.0 thinking.  It's not that I have the hubris to consider this list official in any way but it should be a serviceable starting point for debate, discourse, and reference.  I'd also like to give credit to Jeremy Zawodny for his write-up pointing me to Tom Coates' excellent presentation notes from his Future of Web Apps talk which partially inspired this effort.  I think both of them have really solid source material.  But they still don't quite capture a complete high-level picture of the ingredients, forces, and decisions that have to go into thinking about, using, and building complete Web 2.0 software experiences.

    That simple fact is that creating software of any kind is hard work.  And creating good software is very, very hard.  Never mind creating insanely great software (to loosely borrow a phrase from Steve Jobs), which is so rare that it practically never happens, which is a real shame. And that in the end, that's the goal of enumerating ideas like this, so we can build on the shoulders of giants and start off with some of the hard decisions already done and get closer towards the truly great software.

    And to be sure, the state of the art in software does regularly improve as well as our shared understanding of what makes software good.  Of course, the problem with determining the "goodness" anything is that it must be measured with respect to something, some criteria.  And in general, the tenets of Web 2.0, such as they are and as ill-defined as they are, tend to state that software that is open, social, interactive, remixable, hackable, and gets better the more its used, is likely the place to begin.

    So, in this vein, I took my own studies of Web 2.0 as well as many raw inputs as I could find and came up with a roughly structured list of how to "think" in terms of Web 2.0 ideas.  Let me know what you think and as always add your own in the comments below.  Let's create a really terrific guide for those who are just discovering this  fascinating and useful study of the next generation of online software.


    Thinking in Web 2.0



    1. Before you even begin, understand your goal simply.  Whether you are a Web 2.0 application creator or user, clearly conceive your goal.  Things like "I'm here to save a bookmark for use later" or "I am going to help people create shared, editable web pages" helps keep you grounded and oriented.  So much about the initial attraction of Web 2.0 is its simplicity, with unnecessary complexity deliberately and carefully hidden.  From a creation standpoint, think Google's home page or the spare, clean lines of del.icio.us.  And from a end-user's view, the eponymous instaview provided by an initial page load of Diggdot.us.  You can and will add more later but get first things first.  Build a feature at a time.  Complete a goal at a time.This may sound simplistic but it'll help stayed focused later, and you'll see what I mean.

    2. The link is the fundamental unit of thought.  It's called the Web for a reason. The link is the foundational element for connecting the entire Web together.  Your information, your relationships, your sense of navigability, and even chunks (of chunks) of content are all referenceable by a URL.  The implications here are manifest and include but are certainly not limited to:


      1. Everything on the Web is linkable with a URI or URL (and if isn't, it should be!)

      2. Saving any link lets you get back to what the link originally referenced, and it lets you share it with anyone, anywhere, at any time.

      3. The anytime piece in #2 is crucial and means the link is really a permalink that won't change or go away without good reason and prior warning.

      4. Links should be human readable, consistent, and their purpose self-evident.


    3. Data belongs to those that create it.  Yes, you heard me.  Everything a user creates, contributes, or shares is theirs, unless they have given away the right explicitly and by free choice.  Any information they contribute to the Web should be editable, deleteable, unshareable by the contributor whenever they feel like it.  This also means indirect data like their attention records, log entries, navigation history, site trails, or anything else that might be tracked.  And all Web sites must clearly and simply state what information a user is creating and give them a way to stop creating it and even clean up.

    4. It's about data first, experiences and functionality second.  Whether it's text, images, audio, or video, the Web ultimately revolves around data.  In other words, you can't have presentation without something to present.  All this data is locatable with a URL that is easily found (see #2).  Another way of looking at this is that the the Web is ultimately about nouns first, and verbs second, though the shift is slowly moving towards verbs these days.  Examples of nouns:  calendar entries, family photos, stock quotes.  Examples of verbs: making an appointment, sharing a picture, buying a stock.

    5. Be prepared to share everything with enthusiasm.  Share everything possible, every piece of data you have, every service you offer.  Encourage unintended uses, bend overbackward to contribute, don't keep anything private that doesn't absolutely have to be.  Go beyond sharing and make discovery, navigation easy, obvious, and straightforward.  Why: In return, you will benefit many times over from the sharing of others.  Note: This is not a license to violate copyright laws, you will not be able to share your ripped DVDs or commercial music recordings, those are things you agreed you can't share.  But you might find yourself using and sharing a lot more open source media.  And for heaven's sake, learn the Creative Commons license.

    6. The Web is the platform; make it grow.  Sure, there are other platforms (Windows, Linux, Mac), but they don't matter as much any more (this list is after all, how to think in Web 2.0).  In other words, don't leave the platform, don't break the platform, but please, by all means extended the platform.  The data and services you provide on the Web become part of the Web and you become a steward of your corner of the Web platform as a result.  And please be a good steward and look after those that care about what you've added.

    7. Understand and embrace the "capability gradient".  The Web is a big place now, in every country of the world, and it now contains 1 billion users.  The point here is that all parts of the Web are slightly and uniquely different, as are all Web users.  For the machine part of the web: simplicity is almost always preferred for speed, reliability, reuse, and integration.  So too is it with the experience you provide people on the Web.  It's been documented time and again that loyal users soon become expert users that want to do more, faster.  Support them.  Gracefully retrograde.  Also, many, many people will come in below the capability gradient that you expect.  They may not speak your language, have your cultural assumptions, or even know how they got there.  Make it clear to them too.

    8. Everything is editable.  Or it should darn well be.  And if it isn't, go somewhere else.  Sure, a few things might not make sense being editable, but for the rest, it's the Writeable Web.  That doesn't imply that original content is ever lost and often this only means that users should be able to easily comment on or otherwise annotate the content they find.  And if you're smart, they'll be able to do a whole lote more than that (i.e. fork off and create their own works based on the original, etc.)

    9. Identity on the Web is sacrosanct.  Unfortunately, that doesn't mean you get much privacy (really a 20th century notion anyway).  But verifying identity must be expected and be thankful when only an e-mail verification is required.  However, this absolutely means you must protect the privacy of your users if you promised it.  Be warned that you may have to stand up for your users against authorities somewhere in the world, if that's what it requires.  And you might even win in the long run.  And if you're not prepared to do that, you'd better tell them.  On the other side, if identification is required, don't ever fake it, or one day we'll all need to give up our last scraps of privacy to do anything we want to do on the Web.  So, this must be an unbreakable compact between Web user and anyone running some corner of the Web.  Or we will ultimately completely lose what little anonymity and privacy we can muster now.

    10. Know thy popular standards and use them.  From a consumer or creator standpoint, the data you will exchange with everyone else will be in some format or another.  And the useful of that data will be in inverse propotion to how well-known and accepted its standard is.  This generally means using RSS, OPML, XHTML, simple XML, JSON.  This means tending to avoid SOAP, XSD, and even as much as its pains my inner geek to say it, RDF, ATOM, and others.  And please, contribute your standards with your vote either way, below.

    11. Obey the law of unintended uses.  If you make highly interesting data and services open and shareable in widely used format, you will get what you deserve: Other that will use your corner of the Web platform to build on.  Maybe even  (and probably in fact) a great many others.  Prepare for this.  I don't know how many times I've seen a podcasting service get disrupted because they were popular, a site go down flat when it was Slashdotted, or del.icio.us/popular grind to a halt.  Know this: The law of large numbers on the Internet means that even small corners can get vast traffic if they are remotely interesting.  Strong encourage the attention but it can be extremely valuable,, but always prepare.

    12. Granulate your data and services.  We should have learned this long ago but large monolithic chunks of data are only convenient for unattended downloads and other batch operations.  Break up your data, makes its individual internal pieces URL addressable, and do the same with services.  Conversely, don't create large, elaborate, Christmas Tree data structures or services.  Keep it simple, very simple.  And make the pieces sensibly organized, and make those pieces easily findabe.

    13. Provide data and services that are for user's individual benefit.  At the risk of slipping into a socio-political tarpit, there is little incentive for users to contribute time, attention, and information unless they are the primary beneficiaries.  Social sharing is a terrific benefit that is greater in the large than the individual benefit, but you won't get there unless there is personal incentive.  Nuff said.

    14. User-driven organization and filtering are not just nice to have.  Not critical, but very important.  Let users tag and organize data in ways that make sense to them, because you'll never figure it out in time.  Users understand their own thinking processes and mental models best.  Making sure your place on the Web can work for them can in ways that actually work the way they work and think. Things like tagging and folksonomies can be a long term critical success factor.

    15. Offer/use rich user experiences.  The Web is still in heated competition with native software.  Why? Because it still feels better and runs better. But not for long.  (Sure, this might take 5 years or 15, but it'll happen.)  Yes, I'm talking about Rich Internet Applications, Ajax, and all that marvelous dynamic interaction.  It works and helps make the Web a true "platformless" platform, if you you know what I mean.

    16. Embrace and enable rapid change and feedback.  This often just means be ready for a very fast pace but it also means using lightweight tools, techniques, and not making the painfully inrreversible decisions (using an all-encompasing Ajax framework instead of one that is blendable, or building everything in C++ when Ruby might be a lot better.)  This also means having a very rapid method for taking defect reports, fixing the bugs, and putting new versions out.  And darn it, make it super easy for your users to get a hold of you.  From a user perspective, report every problem you find and be sure to gently complain about what bothers you most, even if it isn't a bug.


    Of course, Web 2.0 is an extremely large and involved topic and no one could possibly list all the importants Web 2.0 ideas and ways to think about it.  So I encourage you, since you're here and evidently interested, to take a few minutes and add the things I missed.  Web 2.0 is all about participation after all.

    Update: Russell Beattie did quite a number on this article today, specifically saying that it lacked "anything about actually making money or creating a lasting business."  I would argue that's entirely outside the scope of how to create an intrinsically great Web 2.0 application.  I do agree that business models that provide monetization in some form are vitally important to creating lasting Web apps that will be here for more than a few months.  It's just orthogonal to this particular discussion.  It does make me think, however, about updating my how to monetize Web 2.0 article.  Anyway Russell, thanks much for contributing to the discussion, and I think you're criticism of the "if we build it, we hope they'll come" model is largely right. 

    That's not to say that some folks aren't making a huge pile from it all.


    Add Ways to Think in Web 2.0


    links: del.icio.us    



    AddThis Social Bookmark Button

    1. Dion Hinchcliffe left...
    Sunday, 26 February 2006 6:21 pm :: http://web2journal.com

    OK, we have some feedback plus I forgot an important one.

    If anyone has others, just add them here and don't forget to use wiki syntax.

    #17 was contributed by Patrick Cormier and I'll paragrase it a bit though you can find the original here.

    17. Everyone is part of the Web. Increasingly this means that no matter who you are, you'll have to embrace items 1 through 16 above. And that will be extremely painful for many. Yes, in particular I'm highlighting government, corporations, and all sorts of traditional organizations that have only, up until now, been tangentially part of the Web. Part of this is wake up call, and part of it is reflecting changes that are actually happening.

    18. All the activity on the Web is part of a large, ongoing conversation. The links, sharing, blogging, commenting, the writeable Web are all part of a large, continuous conversation. The implications are that you have to encourage it, participate in it, or you're not part of the community. Another way of stating this is that Web 2.0 gives us the pieces to form a true world-wide community.

    Keep 'em coming.


    2. Bob Cortez left...
    Monday, 27 February 2006 2:19 am :: http://youranchorageradio.com

    Respect the desire to multi task. Make applications portable, detachable and able to run from many points and in many states.


    3. Mike Mudd left...
    Monday, 27 February 2006 4:48 am

    How about: 19. Once you make a contract with your users, don't break it. If it needs changing, create a new one. 20. Always add, never subtract.


    4. Henrik Lied left...
    Tuesday, 28 February 2006 7:09 am :: http://fourmargins.com

    Are you saying that people should rather use the older technology RSS than Atom?


    5. Dion Hinchcliffe left...
    Tuesday, 28 February 2006 11:14 am :: http://web2.wsj2.com

    Henrik:

    Good question. Both RSS and Atom are good, solid, usable syndication formats and I like both.

    But RSS is far more prevalent and probably will be for quite a while, maybe forever. Unless you specifically need something in Atom, consider using RSS for greater adoption. And do both if you can.

    See here for some discussion of this.

    Thanks for stopping by.

    Best,

    Dion


    6. barry 2.0 left...
    Tuesday, 28 February 2006 3:51 pm

    www.web20generator.com


    7. rassmuss left...
    Wednesday, 1 March 2006 12:11 am :: http://softalog.com

    When I created my Web 2.0 application, I tried to meet to these criteria, maybe not all, but most of them. When I show my site to people they say we don’t like it there is too little interesting information. And nobody wants to share own data and makes my application more interesting and useful. What’s wrong – my site or Web 2.0 concept?


    8. Sachin left...
    Wednesday, 1 March 2006 10:54 pm :: http://sachiniscool.blogspot.com/2006/03

    web 2.0 is great for the end-user but how profitable is it for the stake holders? I've been thinking about this question for long and came up with the post linked above with my name...comments welcome.


    9. Pablo Ibarrolaza left...
    Sunday, 5 March 2006 2:44 pm

    Yes Dion!

    The 18 way does matter, it's only one.

    Thank you for your post! Pablo


    10. Tyler Jensen left...
    Tuesday, 7 March 2006 10:53 am :: http://www.netbrick.net/blog/

    Simple is better, I think. Here's seven principles that when discussed would produce much if not all of the 18 things.

    1. Specific - Purpose, content and interface is quickly understood. 2. Standard - Data is offered via open standards and protocols (i.e. HTML, XHTML, SOAP, RSS, SSL). 3. Transparent - Privacy and other policies are enforced and simple (see #1). 4. Accessible - Data should be easily found for those with and without disabilities. 5. Interactive - Participation is be encouraged and facilitated (see #1). 6. Inclusive - One thing leads to more like things rather than fewer. 7. Evolutionary - Everything is both familiar and new.


    11. John Dowdell left...
    Thursday, 9 March 2006 5:00 pm :: http://weblogs.macromedia.com/jd

    Hi Dion, sorry I'm late, but re: this point: <em>"Data belongs to those that create it. Yes, you heard me. Everything a user creates, contributes, or shares is theirs, unless they have given away the right explicitly and by free choice. Any information they contribute to the Web should be editable, deleteable, unshareable by the contributor whenever they feel like it."</em>

    Does this include a musician who packages their work in MP3 format? How about a creator of video, or software? Do you see any intrinsic difference between incidental data production (site visits, search records etc) and conscious data production?

    tx, jd/adobe


    12. John left...
    Sunday, 9 April 2006 4:36 pm

    Well, very interesting what you have here, I will like to make a contribution, I found an online book, among the themes there is web 2.0 and some other things, may be it could be useful. It can be found here:

    http://www.emcorphosting.com/ebook01.shtml


    13. Wesley Hein left...
    Friday, 5 May 2006 8:17 pm :: http://wes2.wordpress.com/

    Construct a site that gets better the more it is used ("network effect").


    14. Aaron left...
    Friday, 10 November 2006 10:06 am :: http://racestreet.org

    I’ve taken a quick look at your postings, which are very interesting. Lots of material and ideas! Congrats on being so focused!


    15. güzel sözler left...
    Saturday, 19 April 2008 6:06 pm :: http://www.guzelhikayeler.net

    Thanks for the good work..