Practical 2.0

How to use the latest Web 2.0 services to organize your life and collaborate with others, with a focus on supporting small businesses and entrepreneurs.

Last weekend I found myself with the scenario no solo web designer wants to be faced with: a dead laptop. It was eighteen months old and while it was from Hewlett Packard, a reputable company, it's always had problems over overheating. Like a lot of modern laptop makers, HP tried to pack as much processor power as they could into a sleek design that would turn eyes on the store shelf. They actually do offer some free repairs for a list of half a dozen maladies caused by overheating but not for my particular symptoms. When I have a free afternoon, a big pot of coffee and lots of music queued up I'll give them a call and see if I can talk them into fixing it.

Once upon a time having a suddenly dead computer in the middle of a bunch of big projects would have been disaster. But over the last few years I've been putting more and more of my data "in the cloud," that is: with software services that store it for me.

Email in the Cloud

I used to be a die-hard Thunderbird fan. This is Firefox's cousin, a great email client. I would take such great care transfering years of emails every time I switched machines and I spent hours building huge nested list of folders to organize archived messages. About a year ago Thunderbird ate about three months of recent messages, some quite crucial. At that time I started using Google's Gmail as backup. I set Gmail to pick up mail on my POP server and leave it there without deleting it. I set Thunderbird to leave it there for week. The result was that both messages would be picked up by both services.

After becoming familiar with Gmail I started using it more and more. I love that it doesn't have folders: you simple put all emails into a single "Archive" and let Google's search function find them when you need them.You can set up filters, which act as saved searches, and I have these set up for active clients.

Why I'm happy now: I can log into Gmail from any machine anywhere. No recent emails are lost on my old machine.

Project Management in the Cloud

I use the fabulous Remember the Milk (RTM) to keep track of projects and critical to-do items. Like Gmail I can access it from any computer. While messing around setting up backup computers has set me back about ten days, I still know what I need to do and when I need to do it. I can review it and give clients renewed timelines.

An additional advantage to using Remember the Milk and Gmail together is the ability to link to emails. Every email in Gmail gets its own URL and every saved "filter" search gets its own URL. If there's an email I want to act on in two weeks, I set up a Remember the Mail task. Each task has a optional field for URLs so I put the the email's Gmail URL in there and archive the email so I don't have to think about it (part of the Getting Things Done strategy). Two weeks later RTM tells me it's time to act on that email and I follow the link directly there, do whatever action I need to do and mark it complete in RTM.

Project Notes in the Cloud

I long ago started keeping notes for individual projects in the most excellent Backpack service. You can store notes, emails, pictures and just about anything in Backpack and have it available from any computer. You can easily share notes with others, a feature I frequently use to create client cheatsheets for using the sites I've built. Now that I use Gmail and it's URL feature, I put a link to the client's Gmail history right on top of each page. Very cool!

Another life saver is that I splurge for the upgraded account that gives me secure server access and I keep my password lists in Backpack. There's a slight security risk but it's probably smaller than keeping it on a laptop that could be swiped out of my bag. And right now I can log into all of my services from a new machine.

Keeping the Money Flowing from Clouds

The latest Web 2.0 love of my life is Freshbooks, a service that keeps track of your clients, your hours and puts together great invoices you can mail to them. I'm so much more professional because of them (no more hand written invoices in Word!) and when it's billing time I can quickly see how many unbilled hours I've worked on each project and bang!-bang!-band! send the invoices right out. Because the data is online, I was able to bill a client despite the dead computer, providing my exact hours, a detailed list of what I had done, etc.

Others

Calendar: I always go back and forth between loving Google Calendar and the calendar built into Backpack. Because I can never make up my mind I've used ICal feeds to cross-link them so they're both synced to one another. I can now use whichever is most convenient (or whichever I'm more in the mood to use!) to add and review entries.

Photos: Most of the photos I've taken over the past four years are still sitting on my dead laptop waiting for me to find a way to get them off of the harddrive. As tragic as it would be to loose them, 903 of my favorite photos are stored on my Flickr account. And because I emailed most of them to Flickr via Gmail most of those are also stored on Gmail. I will do everything I can to get those lost photos but the worst case scenario is that I will be stuck with "only" those 900.

Your Examples?

I'd love to hear how others are using "the cloud" as real-time backup.

Integrating the Flickr photo sharing service with your blog is a wonderful way to easily add photos to your site. With a little extra effort you can get Flickr to work for you.

Flickr in your blog

When you want to embed a Flickr-hosted photograph into one of your blog entries, first start by going to the photo's page in Flickr. Click on the "All Sizes" button on top (with the magnifying glass icon), and then pick the size you want for your blog post--small and medium work well for blog entries.

Underneath the resized picture is a box with Flickr's coding (you have to be looking at your own account and be logged in to see this). Simply cut and paste this into your blog entry and the picture will appear there. If you want your text to wrap around the picture you'll want to add a little coding to what Flickr gives you. Somewhere inside the "img" text you need to add wrapping instructions. An easy place is between the text that reads:
height="180" alt="whatever it says"
...now reads:
height="180" align="left" alt="whatever it says"
Change left to right to have your photo align that way.

Your blog in Flickr

Many users don't realize that people sometimes find your Flickr photos and not your blog. Google indexes Flickr nicely and Flickr's own search is popular. In the description of your photos you should add a link back to your own blog. If you have a blog entry concerning that actual picture, link directly back to that entry.

You'll have to hand-write the HTML link for this (sorry, Flickr doesn't have a link button). It should look something like this:

Description of the photo. For more read, <a href="http://www.site.com/blogentry">What I know about Flickr</a>.

Here's a screen shot of the editing screen for this Flickr entry:

Results

That post about my trip to a legendary South Jersey locale is one of the most visited pages on my personal blog. A good bit of it comes from the links in Flickr!

Remember to put a lot of desired keywords into your Flickr title and all link text. Keywords are those phrases that you think people might be searching for.

Via 37Signal's Signals vs. Noise blog I came across a fascinating post written by Brian Fling of Blue last year on pricing a project. I'd like to talk about it and to explain my own philosophy. First a extended quote from Brian:

I find it funny... in a sad sort of way, that we often start out our partnership with bluffing, no one saying what they are really thinking... how much they are willing to pay and how much it should cost... Though every book I've read on the topic of pricing says to never ever ballpark, I have a tendency to do so. If they can't disclose the budget I typically try to start throwing a few numbers from previous projects to help gage the scope of what we are talking about, call it a good faith effort to start the discussion... While this is very awkward part of the discussion it is almost always followed by candor. It's as if once someone starts telling the truth, it opens a door that can't be closed.

I completely agree that candor is the only way to work with clients. Maybe it's the Quaker influence: we reportedly pioneered fixed pricing back when everyone haggled, with the philosophy that charging true costs were the only honest way of doing business. My official rates and contact page includes my list of "typical costs" -- essentially these are the "ballpark estimates" that Brian talks about.

When I put together estimates I base it on my best-guess informed estimates. I start by tabulating the client's requested features and determining how I'll achieve them. I then estimate how long it will take me to implement each feature and use that to determine a first-guess for project cost. I then compare it to past projects, to make sure I'm being realistic. I know myself well enough to know I always want to underestimate costs--I usually like the project and want to make it affordable to clients!--so I do force myself a reality check that usually ends up adding a few hours to the estimate.

When I put together my official estimate I try to guess where potential bottlenecks might happen. Sometimes these are technical issues and something they're more social. For example, a client might be very particular about the design and the back-and-forth can take longer than expected. If I think anything like this might happen I mention it in the estimate. Sometimes as we work through the details of a feature I'll learn that the client wants some enhancement that we hadn't talked about previously and which I didn't factor into the estimate.

When I do see a particular part of the work taking longer than expected I flag it with the client. I try to keep them informed that this will add to total costs. In many cases, clients have been happy to go with the extra work: I simply want to make sure that we both are aware that the estimate is changing before the work happens.

I charge by the hour rather than on a per-project basis since I find it to be a much more open business model. Brian Fling's post agrees:

The problem [with per-project billing is that] one way or another somebody loses, either the client pays too much, meaning paying more than it's market value, or the vendor eats into their profit... One benefits to hourly billing is the client is responsible for increases of scope, protecting the vendor and the customer. If the project is completed early the client pays less, protecting the client. This puts the onus on both parties to communicate regularly and work more effectively.

I have very little overhead: a home office, laptop and DSL. This means my rates are very competitive (one client described it as "less than plumbers and electricians charge, more than the kid who mows the lawn"). Being very careful with estimates mean that I often communicate a lot with clients before I "start the clock." I've often worked with them a few hours before the estimate is in and we're moving forward and of course some of this un-billed work doesn't result in a job.

Putting together fabulous websites is fun work. It's very much a back-and-forth process with clients, and it's often impossible to know just what the site will look like and just how it will work until the site actually launches. Half of my clientele have never had websites before, making the work even more interesting! It's my professional responsibility to make sure I work with clients to foresee costs, dream big, but most of all to be open and honest about costs as the process unfolds.

It's not necessary to develop your own Web 2.0 software infrastructure to create an independent Web 2.0-powered community online. It's far simpler to set a standard for your community to use on exisiting networks and then to use Yahoo Pipes to pull it together.

I decided on about a dozen categories to use with my DIY blog aggregator (QuakerQuaker). I only want to pull in posts that are being generated for my site by community members so we use a community identifier, a unique prefix that isn't likely to be used by others.

This post will show you how to pull in tagged feeds from three sources: the Del.icio.us social bookmarking system, the Flickr photo sharing site and Google Blog Search.

Step 1: Pick a community designator

I've been using the community name followed by a dot. The prefix goes in front of category description to make a set of unique tags for the aggregator. When someone wants to add something for the site they tag it with this "community.category" tag. In my example, when someone wants to list a new Quaker blog they use "quaker.blog", "quaker" being the community name, "blog" being the category name for the "New Blogs" page.

Step 2: Collect the community prefix and category name in Pipes

You begin by going into Pipes and pulling over two text inputs: one for the community prefix, the other for the specific category.

Step 3: Construct these into tags

Now use the "String Concatenation" module to turn this into the "community.category" model. The community input goes into the top slot, a dot is the second slot and the category input goes into the last slot.

Now, when you have a tag in Flickr with a dot in it, Flickr automatically removes it in the resultant RSS feed. So with Flickr you want your tag to be "communitycategory" without a dot. Simple enough: just pull another "String Concatenation" module onto your Pipes work space. It should look the same except that it won't have the middle slot with the dot.

Step 4: Turn these tags into RSS URLs

Pull three "URLBuilder" modules into Pipes, one for each of the services we're going to query. For the Base, use the non-tag specific part of the URL that each service uses for its RSS feeds. Here they are:

Del.icio.ushttp://del.icio.us/rss/tag
Flickrhttp://api.flickr.com/services/feeds
Google Blog Searchhttp://blogsearch.google.com

Under path elements, put the correct tag: for Del.icio.us and Google it should be the community.category tag, for Flickr the dot-less communitycategory tag.

Step 5: Fetch and Dedupe

Fetch is the Pipes module that pulls in URLs and outputs RSS feeds. It can also combine them. Send each URLBuilder output into the same Fetch routine.

Since it's possible that you'll might have duplicate posts, use the "Unique" module to deduplicate entries by URL. Through a little trial and error I've determined that in cases of duplicates, feeds lower in the Fetch list trump those higher. In the actual Pipe powering my aggregator I pull a second Del.icio.us feed: my own. I have that as the last entry in the Fetch list so that I can personally override every other input.

Step 6: Sort by Date

With experimentation it seems like Pipes orders the output entries by descending date, which is probably what you want. But I want to show how Pipes can work with "dc" data, the "Dublin Core" model that allows you to extend standard RSS feeds (see yesterday's post for more on this).

Google Blog Search and Del.icio.us feeds use the "dc:date" field to record the time when the post was made. Flickr uses "dc:date.Taken" to pass on the photograph's metadata about when it was taken. Pipes' "Rename" module lets you copy both fields into one you create (I've simply used "date"), which you can then run through its "Sort" module. Again, it's a moot point since Pipes seems to do this automatically. But it's good to know how to manipulate and rename "dc" data if only because many PHP parsers have trouble laying it out on a webpage.

Update: it's all moot: according to a ZDNet blog, "Pipes now automatically appends a pubDate tag to any RSS feed that has any of the other allowable date tags." This is nice: no need to hack the date every time you want to make a Pipe!

Step 7: Output

The final step for any Pipe is the "Pipe Output" module.

In action

You can see this published Pipe here, and copy and play with it yourself. The result lets you build an RSS feed based on the two inputs.

A few weeks ago, Yahoo unveiled a new mash-up service called Pipes. It's sophisticated AJAX-powered graphical interface lets you pull in XML feeds, combine them, filter them and output the result as a customized RSS feed. I've recently used it to create specialized events pages for my blog aggregator. In this series of posts I'll show you how it's done. Each post will be one part of the puzzle.

The first tutorial shows how to pull in a Del.icio.us feed.

Step 1: Input tags

The Del.icio.us social bookmarking system runs much of my aggregator: users see a post they like and bookmark it in Del.icio.us with a special tag.

The first step in Pipes is to collect the input (right). Pull the "Text Input" module (above) onto your Pipes work space. This lets you collect user input. Give it both a name and a prompt. In most instances it's fine that these be the same as the prompt won't be visible in the end. It's good to put something down in Debug for later on in the Pipes process.

Step 2: Construct the RSS call

We take our two input tags and use them to construct an URL by using the "URLBuilder". The base URL is Del.icio.us's RSS feed (http://del.icio.us/rss/). The URL builder adds the user input then the tag input to give us a valid URL (http://del.icio.us/rss/user/tag/).

Step 4: Grab the feed

Yahoo Pipes' "Fetch" module takes that URL input and turns it into an RSS feed. Shown to the right is Fetch with the final "Pipe Output".

See it in action

You can see how this fits together by going to my Del.icio.us Sample page on Pipes. You can make a copy and play with it yourself. Add "&user=username&tag=tagname&_render=rss" to that URL and you've made it a feed.

Okay so I've turned a Del.icio.us RSS feed into... a Yahoo Pipes RSS feed with identical input and output. Well, we're only getting started. Our input tags can be reused for other searches and spliced together inside of a more elaborate Pipe. That's where the fun starts and I'll get there soon.

The other advantage of sending things through Pipes is that we can easily rename fields. Del.icio.us, Flickr and other services often extend RSS standards by including metadata in "dc" fields, an abbreviation for the Dublin Core standards extension. A recent entry from my Del.icio.us feed includes this:

     <dc:creator>martin_kelley</dc:creator>
<dc:date>2007-03-15T05:18:53Z</dc:date>
<dc:subject>tech tech.design</dc:subject>

Standard PHP parsers like MagpieRSS and SimplePie often have trouble pulling dc data. With Pipes you can rename the fields you like; in theory that should make them more accessible to the parsers. You can also combine fields and use Pipes' Regex module to operate on them with regular expressions.

RSS feeds are the lingua franca of the modern internet, the glue that binds together the hundreds of services that make up "Web 2.0." The term stands for "Really Simple Syndication" and can be thought of as a machine-code table of contents to a website. An RSS feed for a blog will typically list the last dozen-or-so articles, with the title, date, summary and content all laid out in special fields. Once you have a website's RSS feed you can syndicate, or re-publish, its contents by email, RSS reader or as a sidebar on another website. This post will show you a ridiculously easy way to "roll your own" RSS feed without having to worry about your website's content platform.

Just about every native Web 2.0 applications comes built-in with multiple RSS feeds. But in the real world, websites are built using an almost-infinite number of content management systems and web development software programs. Sometimes a single website will use different programs for putting its contents online and sometimes a single organization spreads its functions over multiple domains.

Step 1: Make it Del.icio.us

To begin, sign up with Del.icio.us, the popular "social bookmarking" web service (similar services can be easily adapted to work). Then add a "post to Del.icio.us" button to your browser's toolbar following the instructions here. Now whenever you put new content up on your site, go that new page, click on your "post to Del.icio.us" button and fill out a good title and description. Choose a tag to use. A tag is simply a category and you can make it whatever you want but "mysites" or your business name will be the easiest to remember. Hit save and you've started an RSS feed.

How? Well, Del.icio.us turns each tag into a RSS feed. You can see it in all its machine code glory at del.icio.us/rss/username/mysites (replacing "username" with your username and "mysites" with whatever tag you chose).

Now you could just advertise that Del.icio.us RSS feed to your audience but there are a few problems doing this. One is that Del.icio.us accounts are usually personal. If your webmaster leaves, then your published RSS feed will need to change. Not a good scenario, especially since you won't even be able to tell who's still using that old feed. Before you advertise your feed you should "future proof" it by running it through Feedburner.

Cloak that Feed

Go to Feedburner.com. Right there on the homepage they invite you to type in a URL. Enter your Del.icio.us feed's address and sign up for a Feedburner account. In the field next to feed address give it some sensible name relating to your company or site, let's say "mycompany" for our example. You'll now have a new RSS feed at feeds.feedburner.com/mycompany. Now you're in business: this is the feed you advertise to the world. If you ever need to change the source RSS feed you can do that from within Feedburner and no one need know.

The default title of your Feedburner feed will still show it's Del.icio.us roots (and the webmaster's username). To clear that out, go into Feedburner's "Optimize" tab and turn on the "Title/Description Burner," filling it out with a title and description that better matches your feed's purpose. For an example of all this in action, the Del.icio.us feed that powers my tech link blog and its Feedburner "cloak" can be found here:

Get that Feed out there

Under Feedburner's "Publicize" tag there are lots of neat features to republish your feed yourself. First off is the "Chicklet chooser" which will give you that ubiquitous RSS feed icon to let visitors know you've entered the 21st Century. Their "Buzz Boost" feature lets you create a snippet of code for your homepage that will list the latest additions. "Email subscriptions" lets your audience sign up for automatic emails whenever you add something to your site.

Final Thoughts

RSS feeds are great ways of communicating exciting news to your audiences. If you're lucky, important bloggers in your audience will subscribe to your feed and spread your news to their networks. Creating a feed through a bookmarking service allows you to add any page on any site regardless of its underlying structure.

A look at the new class of "Single Page Aggregators."

Way back in 1997 I was one of dozens of lots of web designers trying to figure out how to bring an editorial voice to the internet. The web had taken off and there pages and links everywhere but few places where they were actually organized in a useful manner. As I've written before, in December of that year I started a weekly updated list of annotated links to articles on nonviolence, a form we'd now would recognize as a blog.

About eighteen months ago I started a "links blog" of interesting Quaker links, incorporated as a sidebar on my popular "QuakerRanter" personal blog. I eventually gave the links their own URL (QuakerQuaker.org) and invited others to join the linking. I always stumble when trying to tell people what QuakerQuaker is all about. The best definition is that its a "collaboratively edited blog aggregator" but that's a horribly tech description.

The rise of blogs is creating the necessity for these sort of theme-based aggregators. This morning I stumbled on Original Signal, a new site that organzes the best Web 2.0 blogs. A site called PopURLs does the same for "the latest web buzz." A site called SolutionWatch has written about these in Tracking the web with Single Page Aggregators. We're all on to something here. I suspect that sometime this fall some clever person will coin a new term for these sites.

Over on the New York Times, an article about a new Nickolodean-created website for parents

now in the final stages of beta testing.

In a nonpublic test of the site over the summer by about 1,000 recruited participants, executives learned that these users wanted to blog; now, every user with a profile can, Ms. Reppen said. Through the beta test, which is now open to new members, Nick is learning that parents want spaces to sell their crafts, a separate Christian home-schooling discussion and bigger type on the Web site. Local discussion boards will also be added, as will user-generated video.

They also quote a Nissan marketing executive, who says that "community sites are one of the big phenomenon happening on line this year."

There is a big shift going on.

It's startling to realize that my three year toddler is almost the same age as Myspace and older than Facebook. In just a few short years they've come to dominate much of the online world, especially with under-25 users. The kind of independent blogs that dominate a sites like Livejournal and Blogspot don't have the web of cross-connections--what I called the "folksonomic density"--of the new social networking sites. It seems appropriate that Myspace was founded by spammers: who knows more about sucking people in?

The question: will the net have room for independent niche sites? Myspace is changing its architecture to disable key linking features of third-party embedded plug-ins like the from the popular video site Youtube. The big search sites also want a piece of this market--new features on Yahoo local and the geotagged maps on Yahoo's Flickr are impressive). It all reminds me some of the debates about local food co-ops versus enlightened supermarkets: is it a good thing that organic produce and soymilk can be purchased at the local Acme, even if that cuts into the independent co-op's business? Don't we want everyone to have access to everything? In the end, philosophy won't settle this argument.

Interesting article over the Moveabletype blog. Anil Dash interviews George Johnson Jr of Hyperlocal Media, who's using MT as a content system to build hyperlocal community sites that can compete against local newspapers (see their very-cool looking BuffaloRising site).

Here's some of what Johnson has to say:

Distribution, content creation, and the ability to more easily compete with established local players online... blogging is perfect for that. I mean a blog is chronologically arranged, in columns, divided by categories and changes (in many cases) everyday. That's the broad definition of a newspaper, right? A blog is so much more than that, but the basic structure lends itself very well to developing an online competitor for newspapers.

It was three years ago that I followed Brad Choate's instructions for using Moveable Type as a whole-site content management system. What started as an experiment became a way of life for me. The MT interface lends itself so well to content management that I'm now using it for my non-techie clients: Quakersong.org and Quakeryouth.org are both put together by MT and I've been surprised that there's been almost no learning curve for the client's adoption of this software.

Given this, it seems odd that the kids at Moveable Type haven't taken MT in this direction (even more surprising since they hired Brad himself a few years ago!). I see a big market in my niche sites for this sort of functionality and three years later I'm still having to tweak templates to get this to work. Anil, what's up? If Drupal had better documentation and smoother installation it would have been the brawn behind MartinKelley.com.

It would be fun to follow Until Monday's example and create a hyperlocal site (hint hint to VW if she's reading this). Of course, locality is not just geographically-based anymore. Quakerquaker.org is a local portal of a different kind. I'm a big believer that the hyperlocality of niche and geographic sites are the cutting edge in the next-wave of the social web.

There's a lot of pioneering to be done in this regards. The net has a lot of power to take down culture monopolies by confronting old boy networks and business-as-usual thinking with innovative social networks that harness the talents of the outsiders. The smart newspapers, magazines, churches and cultural organizations will come on board and leap-frog themselves to twenty-first century relevance. Too many of the Philadelphia (and/or) Quaker institutions I know respond to change by shuffling job titles and putting blinders up against recognizing the ever-narrower demographic they serve.

RSS Syndication feeds are small web files that summarize the latest posts to a particular blog or news site. They're a central repository of basic information: title, author, post date, a summary of the post and sometimes the whole post itself. You can open these files directly (here's the raw file for this blog) but you'll see there's a hierarchy of coding that makes it visually uninteresting.

Syndication feeds are the lingua franca powering all the cool new websites. It doesn't matter what blogging platform you use or what operating system you're on: if your software provides an RSS feed I can mix and match it and use it to pull in content to my site.

Examples 1: Photographs: I email all of my adorable kid pictures to the photo sharing site Flickr, which then provides a syndication feed ("here"). I use a little fancy patch of coding on my website to pull in the information about the latest photos (location, caption, etc) so that I can display them on my homepage. Whenever you go to my Theo age you'll see the latest Flickr photos of him.

Example 2: Bookmarks. I also use the "social bookmarking" system with the odd name of del.icio.us. When I find a page I want to bookmark, I click a Delicious button in my browser, which opens a pop-up window. I write a description, pick a category or two and hit save. Deliciouis then provides an RSS syndication feed which I can use to pull together a list of my latest bookmarks and display it on my website. Wave a few magic wands of complication (pay no attention to the man behind the curtain!) and you have the main trick behind Quakerquaker.org.

I've simplified both examples a bit but you probably get the point. Syndication feeds are the secret behind blog readers like Bloglines and email subscription services like the one's I provide for quakerquaker.org.

New to me is the concepts around the Well-Formed Web. As described by Kevin Donahue "The layman's premise of the Well-Formed Web is that each site will have drill-down feeds - a top level feed, item specific feeds, and so on." What this means is that you don't just have one single RSS feed on a site (your latest ten posts) but RSS feeds on everything. Every category get its own unique feeds (e.g., the last ten posts about web design) and every post gets its own unique feed tracking its comments (e.g., this feed of comments from my "Introducing MartinKelley.com" post). It certainly seems a bit like overkill but computers are doing all the work and the result gives us a multi-dimensionality that we can use to pull all sorts of neat things together.

Read a fabulous article last night and this morning by Diana Boyd, a PhD student at UC-Berkeley and a researcher at Yahoo! Research Berkeley. She's writing about the interactions of culture and technology and it speaks a lot to some of the online and offline conversations I've been having lately.

Here's the link: G/localization: When Global Information and Local Interaction Collide. And here are some snippets to entice you to follow it:

On culture:

When mass media began, people assumed that we would all converge upon one global culture. While the media has had an effect, complete homogenization has not occurred. And it will not. While some values spread and are adopted en-masse, cultures form within the mass culture to differentiate smaller groups of people. Style-driven subcultures are the most visible form of this, but it occurs in companies and in other social gatherings.

Techies will like her take on "embedded observers":

While the creators have visions of what they think would be cool, they do not construct unmovable roadmaps well into the future. They are constantly reacting to what's going on, adding new features as needed. The code on these sites changes constantly, not just once a quarter. The designers try out features and watch how they get used. If no one is interested, that's fine - they'll just make something new. They are all deeply in touch with what people are actually doing, why and how it manifests itself on the site.

On online communities:

Digital community participants sometimes find that they "accidentally" meet someone. People collide on Flickr because they took similar photos; the find wonderful blogs through search. These ad-hoc interactions typically occur because people are producing material that can be stumbled across, either through search or browsing. They may not intend for the material to be consumed beyond the intended audience, but they also don't see a reason to prevent it. In essence, they are inviting moments of synchronicity. And synchronicity is energizing.

Martin icon About Martin How I got into web design and why I love to help people communicate online. Also available: my resume, my workshops and publications list, a list of organizations I've worked with, and of course a portfolio of recent work.

ShortCut

Shortcut cover
Web 2.0 Mash-Ups & Niche Aggregators, just published by O'Reilly Media. Order here.

Other Sites

Social Networks