BarCamp Scotland 2008

February 3rd, 2008

barcampsmall.jpg I’ve just returned from my first BarCamp Scotland. It was great fun, and I met some interesting local folk. This included:

  • the kilt-wearing Ewan Spence who demoed Qik and seesmic. Live streaming from his phone was pretty cool.
  • hypernumbers, whose Erlang-implemented system allows you to assign a URL to each cell in a spreadsheet, which you can then surface wherever you like (such as on a web page). Think “spreadsheet cells as a service.” Their website provides a little more details, but rather curiously doesn’t have a blog.
  • Dave McClure, who gave a great talk on Startup Metrics and Business Models for [Scottish] Pirates, filled with solid advice. For example, don’t build features for features sake - think conversion - does that feature increase conversion?; and build a trust relationship before you push for referrals. Lots more in the linked presentation.
  • Skyskanner, who were not only interesting because they did a splendid job sponsoring the drinks. Their website actually solves a problem I have: find me a flight leaving this city on this day across all airlines. Most travel sites can’t solve that problem - they always demand a destination, which doesn’t allow for much spontaneity now does it! And you’ve got to love their price isobar graph.

I also gave a talk on online communities and some of the ways in which to grow them. All in all, a good two days - thanks to the sponsors and organisers.

Technorati Tags:
, ,

Writing about the scarily named Blog Council, Robert Scoble says:

Visit a Best Buy store. Now imagine that store without ANY human beings inside. What do you have? A bankrupt store.

So why when I visit BestBuy.com don’t I see any people? Hear any conversations? Is there any wonder why Amazon has a P/E ratio much higher than Best Buy?

While I’m giving this a different tack here, I think this is a great way to think about a community web site. In a recent talk I gave I spoke about the difference between managing a successful website (rising page views, etc.) and a successful community. They aren’t the same thing.

Many so-called community websites are simply websites. They are empty—devoid of life. Lacking any human beings, as Robert says.

So:

If you’re managing a community website, you need to surface that community on the website. Not only should you enable conversations, but you should highlight those conversations, and the people doing the talking. Show potential community members that you’re a website with real people having real conversations.

How

Some ways in which this can be done:

  • Have the community manager call out great conversation that occurred that day/week on his/her blog/newsletter and so on
  • Select a few conversations to be highlighted on the home page
  • Provide mechanisms that allow your community members to flag great content, and highlight that
  • Go semantic. Some sites have great metadata. If a forum message on the forum called “TopicX” is related to blogs on “TopicX”, and your community flags a message as 5 stars, how about highlighting that forum message in the side bar of blogs on that same topic?
  • Invest in MVP programs (Microsoft have an interesting MVP program)

Caveats

Sometimes you find websites that do surface the conversations on websites. However, the result is a webpage with dozens of topics and reams of writing. Nobody is going to read all of that.

When doing some of this, keep a few things in mind:

  • Think about usability, about how people read websites
  • Provide some editorial. Have a community manager select great conversations, perhaps massage descriptions (to read better, shorter - not skew the message) and so on.
  • Don’t overdo it. Think about the value you are providing to your audience.

Technorati Tags:

Google and others just launched Android. I’m more interested in how they bootstrapped their community though—it’s obvious that they really thought this through and put a lot of effort into creating a viable platform on which a community can be built. This is in contrast to Apple and its iPhone Developer Center, which has no community support at all.

Android: Overview

  • Type of Community - This is a developer community, and they have an audience of developers.
  • Website - clean, clear, wonderfully free of annoying copyright, trademark and other company logos, a touch of graphics. Google is mentioned only once, discretely in the footer, and I think that’s just because it’s hosted on code.google.com. Emphasis is on what matters: Getting Started, the blog, the forums.
  • Features - website, documentation, APIs, code samples, videos, downloads, blog, multiple forums (with email subscription and feed support), some identity, SSO
  • Lures - a $10 million contest

iPhone: Overview

  • Type of Community - This is a not a community site, it’s a resource site for developers
  • Website - clean, clear, a touch of graphics. Emphasis is on what they think matters: getting resources into developer hands, not on building community.
  • Features - website, documentation, APIs, code samples, SSO, “connect to the experts” tech talk videos
  • Lures - Listing in Apple web apps directory

Android: Purpose and Business Goals

The business goals are, I imagine, to support the adoption of Android among developers, and in so doing help the Open Handset Alliance Project succeed.

The site has focus; it’s purpose is clear. They obviously understand that developers want code, want HTML accessible API documentation, sample applications, SDK downloads and a developer forum.

iPhone: Purpose and Business Goals

The business goals are, I imagine, to encourage developers to write applications for the iPhone. There is already a huge audience out there scratching at the walls to do this sort of thing.

The site is clearly a resource site. There is no hint of community here. I suspect they may be wanting to drive ADC registrations either - why else hide developer content links until you’ve logged in.

Android: Supporting the Audience

These guys have gone out of their way to support the audience: All the major operating systems are supported, with emulators, SDKs, code samples and IDEs. They’re going out of their way to make sure there is no excuse. If someone is even remotely interested in this thing, they will be able to write their first application and deploy it to an emulator in 30 minutes.

They’ve tried hard to remove any excuse for getting started and developing on their platform. They want you to succeed and have done a tremendous amount of work before the community was even launched to try and guarantee its success.

iPhone: Supporting the Audience

These guys have produced a rich set of resources that will allow developers to write web apps for the iPhone (SDK support is coming later). Since web applications are OS agnostic, they ostensibly support all platforms.

In contrast to Android, they have not tried all that hard to remove any excuse for getting started. There’s no clear downloads or suggestions of IDEs for example. They do have code samples, but little in the way of how to host them, how to integrate with other platforms etc.

Android: Content

android-docs.gif
The website has superb documentation. There’s a “what is”, getting started (including tutorials), developing applications, developer toolbox, reference information, sample code and FAQs.

It’s great to see the reference information online. Like most Java-based code bases, it’s all available in HTML format. That means other developers can point to it in discussion. I see so many communities try and do this with PDFs, or worse, with documentation embedded in a download. That just doesn’t work.

iPhone: Content

The website has great content and technical videos (delivered via iTunes). A full reference library documenting all the technologies and a set of sample code. The only other content is a set of iPhone Tech Talk Videos.

I find the video delivery a little distracting actually. Because they’re not embedded, I can’t just “hit play” - it lacks immediacy and means I have material scattered over a website and my iTunes. Then again, I can play them on my future iPhone…

Android: Analysis

Here are a couple of things that may improve the community:

  • Integrated Identity - they have some identity. For example, David McLaughlin, who I suspect is part of the community team, has his ID surfaced as David McLaughlin, Android Advocate. That “Android Advocate” is a nice touch. The unfortunate thing is that I cannot click on David’s name and read his bio, find out what else he has written - which will lend to immediately increasing his identity, reputation and history. In fact, I can view his profile via his newsgroup postings, but they’re lacking integrated identity.
  • External Resources - while a community blog post does point to external communities publishing material on Android, they don’t do a good job of surfacing this activity on the website. They could do with an article listing, perhaps community rated.
  • Content experts, evangelists - while they undoubtedly have them, I don’t know who they are, where they’re speaking, what they’re doing or what they’re saying. It would be great if these folk are blogging. Of course, it’s early days yet.

iPhone: Analysis

iphone.gif
It’s rather odd that Apple haven’t engaged the community in any way. Perhaps that will change going forward, but there’s no support for blogs, externally authored articles, or even the most fundamental in a developer community: the forum. In other words, they certainly don’t have the infrastructure surfaced on this site on which to build a community.

They also demand registration before giving developers access to the most basic of resources. A strategy by a company confident in what it’s offering and that this hurdle won’t discourage potential audience members, and a company that obviously wants developers to sign up for their developer program.

All of this may be coming later. Perhaps they’re waiting for the iPhone SDK to come out (next year). Some may ask if it’s even necessary. There’s already hoards of developers chomping at the bit, healthy discussion in external blogs, and perhaps there is a forum hidden on ADC’s forums. Having said all that, it’s hard to believe that a forum and community would not help Apple, or more importantly, these external developers. Sharing expertise, knowledge, tips, best practices—these will all help Apple in the end.

Android: Interesting Developments

android.gif
Single Forum, Later Split: The community is a week old, and they’ve just split the single group (I think it was single last week) into 5 groups - beginners, developers, internals, challenge and discuss (water cooler).

What’s great is that they started with a single forum, and split it later as demand rose. So many new communities make the mistake of starting with a bunch of forums, all forlornly empty.

Stats: The beginner mailing list now (Nov 17) has 102 messages, and the developer mailing list 3791 messages. It was at 2900 two days ago - that’s a lot of growth.

Last update: 17 November

Update: Carlos Perez has a great take on the two communities.

Technorati Tags:
, , , ,

Creativity: The dyson airblade

October 28th, 2007

Sometimes you encounter something novel, and wonder why nobody thought of it before. Case in point, the dyson airblade, encountered in John Lewis here in Edinburgh. Here it is from the side:

The instruction are simple. Place your (wet) hands in, and draw them out slowly. That’s it. It works too - unbelievably fast.

You can just imagine the engineer that created this. There he was in a loo, trying to dry his hands on those awful wind devices, just before nipping off to have his car washed. Sitting in the car as the dryer blew the water from his slowly moving car, a light went off…

IMG_5433.jpg

IMG_5431.jpg

.

Posted in Life | Tags: | 2 Comments »

Barcelona

October 8th, 2007

I’ve just spent 5 days in Barcelona and I loved every minute of it. How I regret not including a weekend in my trip. The city was clean, the transport network efficient, the weather superb, the food sublime, and the city had a wonderful buzz; it felt alive, lived in, enjoyable.

My hotel wasn’t particularly good, but I found a number of great patisserias nearby that supplied an alternative breakfast. The first time I walked past one of these I saw a number of Barcelona natives standing around a bar table, eating a pastry and sipping an espresso. I joined them the next morning and every morning after that.

I had a number of memorable meals: a ham dish (obligatory in Spain) at els quatre gats (photo coming), and a superb array of dishes at the Windsor (rather english sounding!) and tapas of course, at various restaurants. Lots of seafood (I generally only eat fish, though I did have another taste of Arròs negre) and I avoided the goats cheese (learned that after visiting Toledo a few years back).

I had a half day to myself the first day I arrived, and so visited Casa Batlló, one of Gaudi’s buildings. It was quite something, and you can see why it’s called the house of bones.

casa batllo

On the final evening, at around 2am, Victoria and Simone decided that we needed to visit the Sagrada Familia, which we duly did. Luckily it’s well lit for the batty tourists. Wow. Describing it, I could only come up with “organic gothic.” It felt a little like a mixture between the architecture and feel of the alien structures in Alien, and some of the cruisers in Babylon 5. Seriously!

Conferences are really about meeting people, and Barcelona’s cafes and tapas bars provided many opportunities. Patrick, Arunabh,Victoria, Quinton, Dain, Simone, Eddie, Pieter, Marcus x 2, Scott, Gary, Catarina, Hussein, Linda, Martin and many more made it even more worthwhile.

Posted in Life | Tags: , | No Comments »

“You’re on the road meeting a client at a coffee shop, flip open your laptop, and notice that there’s no internet connection. This doesn’t stop you connecting to your Salesforce.com web application and viewing account and contact information though, much to your client’s obvious surprise. While your end users have been able to use Salesforce Offline Edition to access CRM data in this disconnected way, now developers can use new offline technologies to make any of their on-demand applications work off-line.Google Gears lets you create Web applications that allow you to perform this conjuring trick. You can access these Web applications just as you ordinarily would, even though your internet connection is down. That’s because Google Gears is an open source browser extension that lets you create web applications that can run offline. It replaces the dreaded “404 page not found” message with a local database, a local cache and more.”So begins an article I wrote for Salesforce’s apex developer network. I wrote it a month or two ago, and it’s just been published:

It uses a boatload of interesting technologies: Ajax (via GWT), client side browser database (via Google Gears), RPC between the client and server (Google Web Toolkit), web services between the server and Salesforce.com (apache axis). I’d recommend Gears and GWT - they were a pleasure to use. Some APIs suck. These were intuitive; I hardly looked at the documentation…

There was a complete web 2.0 meltdown today. I needed to write a little blog post about Enterprise 2.0, and so I needed to point to some Web 2.0 stuff. The first meltdown came while trying to lookup a definition of Enterprise 2.0 in the hallowed library of web 2.0 itself, wikipedia. This is what I got:

I then tried to look up the very definition of web 2.0:

Not looking good. So I decided to rely on that poster child of the social aspects of web 2.0, tapping into the wisdom of the crowd. Yep, I thought I’d use twitter. This is what I got:

It really hasn’t been a good day at all.

Posted in Technology | Tags: | No Comments »

Scarcity power over your social connections is the lynchpin of many social networking sites. If only LinkedIn has the power to connect you to a business colleague, because that’s where your contacts, your social graph, resides - well that’s going to do LinkedIn a lot of good. If on the other hand you open your social graph, free it from the grip of LinkedIn (or Plaxo, or Facebook, or …), where does that leave the likes of LinkedIn? Will they be far less competitive without your social graph? Undoubtedly. Will Facebook? Perhaps not - Facebook has a platform built around the graph, which provide an abundance of additional functionality.

A while back I wanted a website where I can share and record books that I’m reading. After a few searches, I ended up on goodreads, which has a lot of nice functionality. Cool, I thought. Then I started experimenting with Facebook, and goodreads didn’t have any Facebook integration then so I started using “Visual Bookshelf” on Facebook. Great, now I could share the books I read with friends in my Facebook social network. And it works too. But in my excitement I forgot to check on something: can I export my data from Visual Bookshelf? The answer appears to be a resounding no.

This cuts to the heart of open data. This is what makes Visual Bookshelf iniquitous (I’m reading Wodehouse) - it is utterly unacceptable for a site not to provide export functionality of my data. Flickr does it, which is why I trust it with my photos. Okay, it doesn’t provide an export button, but searching for export in the help makes it clear how easy it is. Visual Bookshelf does not.What’s linking these two thoughts? I recently read this great article on wired, Slap in the Facebook: It’s Time for Social Networks to Open Up, damning the Facebooks and MySpaces for holding onto our data. Artur Bergman then pointed out the manifesto, Thoughts on the Social Graph, which makes a great point at explaining how these social networks, from Facebook to LinkedIn, are holding on to my social graph, and what you can do about it.

I think the problem area should be expanded a little, especially when social networks become platforms as Facebook has done. I want Facebook to liberate my social graph, but I also want the applications that I use on Facebook to liberate my data too. Trawling around goodreads, I found that they now have an API. So I’m in the process of dumping Visual Bookshelf and returning to goodreads, in the hope that they’ll make it dead simple for me to export my reviews in future, and that they fix their abysmal Facebook integration.But a question remains: What makes people so eager to use an application without thinking about the consequences of what it means to their data? Why do millions of people continue to store their book reviews in goodreads and visual bookshelf and Amazon?

  • Do they expect these companies to be around in a decade or two? In other words, do they expect permanence?
  • Do they expect that these companies will act in good faith and provide an export feature in future?
  • Are they not interested in the data? Perhaps they just want to express themselves now - if it’s temporary well that’s okay.

It’s quite okay to be in the temporary camp. My throwaway data may be your bread and butter; that’s okay.For those in the permanence camp and good faith camps - we need to do a lot more to ensure our data survives the company hosting it. Is it really too much to ask that our contributions to Amazon and LinkedIn and Facebook remain ours? Even if I publish my liberated book reviews on my own site, that’s not going to undermine the true value of Amazon (selling the book) or goodreads (aggregating my book shelves).I’m still willing to make use of these services, just let me have my data.

I follow the advice given by the Prags of learning a new (computer) language every year. Or rather, the broader advice of investing in yourself. So many developers are stuck in their old jobs, using the same old languages, solving the same problems using the same techniques. We work in an industry where knowledge and experience count for a lot. We also work in an industry that moves at a lightning fast pace. Learning something new broadens horizons, emphasizes connections and makes it even easier to learn that next language. Learning lets you stay with that wave, instead of falling behind it.It also lets you meet a whole bunch of people you wouldn’t otherwise have met, which was an unexpected benefit. This year I’ve dabbled in a few things myself, and every once in a while I manage to write up my little experiments in article form.

Mashups

I wanted to figure out what all the hype was about, so I started playing with mashups. In doing so, I also learned a little about software as a service, and a lot more about Salesforce.com. And I met a bunch of interesting folk over at Salesforce: Adam, Paul, Kavindra, Ron, Nick, Rick and more. I wrote up the result in a little article: Mashups: The What and Why

Adobe Flex

I met James Ward (self styled RIA cowboy) at the excellent JavaPolis conference in Antwerp a few years ago, where he tried to convince folk to start using Adobe Flex. Well, he succeeded. Flex is fun, and cured my aversion to writing client-side code. Building on that, I wrote another article: Creating Flex Salesforce Mashups.

Future

Right now I’m learning a little about Google Web Toolkit and Google Gears. They’re both fun, and have transformed the way I look at Ajax and web applications. As I find time, I’ll be writing up these too (in fact, I spent Sunday cleaning it up so it’s almost done). What next? Well, AIR looks interesting!

Part of my day job is working as a community manager consultant, and part of any community manager’s job is content creation, as Dawn Foster points out. Over on a Dev2Dev we have a burgeoning number of bloggers, and we want them to become better at it. So I wrote Practical Advice on Becoming a Better Blogger to guide bloggers in improving the way that they blog (and to solicit some feedback from the community).To summarize the advice:

  • Write what you know and Be yourself
  • Link Love: Read blogs, Point to relevant, related blogs, Write something that continues the conversation
  • Participate, leave comments
  • Promote your blog: Put your blog address in your email footer, blog interesting material instead of emailing it
  • Play Tag (technorati etc.)
  • Add yourself to relevant aggregators
  • Don’t worry too much about comments: Maintain a blogging frequency
  • Add images when appropriate
  • Preview your posts, check your links
  • Don’t fundamentally change the post

There’s more in the article.

I have to thank Anne for writing Do You Have to Define a Niche for Your Blog? Anne has put into words the problem I’ve had with this blog, and its previous incarnations. I had always subscribed to the “define your niche and then stick with” paradigm, and it was a mistake.The problem is that I’ve had success with this paradigm before - it does have its place. For a while I ran a popular technology blog on the awesome Spring Framework. And having focus on such a blog is a good thing. The problem was how to translate that to my own blog, and the essence of where I went wrong was thinking of myself as a product. I didn’t do that explicitly, but I suspect that was behind all my other faulty reasoning. Anne puts it nicely: “It’s okay to be a person online.”I’ve been thinking about this same issue as I start to explore social networks like Facebook. Do I expose “me” on Facebook, or a subset of “me”. I really dislike the “subset” aspect - it’s dishonest - so I’ve taken to going the whole hog in my little experiment. But there’s this nagging doubt because of what folk deem Facebook is “for.” Well, tough.So thank you Anne - you’ve given new impetus to my reboot.

Rebooting

July 26th, 2007

This blog is rebooting, please adjust your settings. It’s going to take a while too. New purpose you see. Oh, it has a new feed address.I’m also hacking the theme - using the excellent Sandbox. It has the correct layout and elements right now, it just looks awful. Need to brush up on CSS - any handy Sandbox themes out there?

Posted in Life, Technology | Tags: | No Comments »

Status and Longevity

September 15th, 2006

Over on the Radar, Dale writes about Desperately Seeking Status. Dale’s a bit perturbed by the rather cold statement: “It never hurts to remind yourself of the business you’re really in: providing your customers and clients with status.” Though I agree, I also think that we don’t see enough conversation around this important topic.

As we enter the Web 2.0 era, where the social aspect of computing plays an increasingly important role, we need to see more social psychology and research being applied too.Much of harnessing collective intelligence is really also about groups and group behaviour. While Dale doesn’t think in terms of status, the majority of people do-perhaps unconsciously. We live in groups, and status within these groups and the hierarchies that we build are innately human things.

I’ve just started reading a fascinating book the subject: Michael Marmot’s Status Syndrome. Primarily a thesis about health inequalities, he provides some interesting research showing how our position with a hierarchy is reflected in our longevity. The social gradient in health seems to be based in our work and life circumstances-our social arrangements, status and position within the hierarchy.An example: Academy Award-winning actors and actresses live four years longer than their co-stars and the actors nominated who did not win. That’s a long time, and he argues that this is primarily due to their elevated status.

This health gradient is reflected in many different hierarchies (some overlapping): for example, income, amount of schooling, parent’s social classs. But, he argues, it’s not about how much money people have, but about two features of societies: hierarchies and cooperation, which he translates as how much control individuals have over their lives and how widely spread are the opportunities for social participation.

The knowledge economy has its own hierarchy:perhaps Tim’s alpha-geeks are nearer the top. If I learn more Ruby and Web 2.0 and mashups I will undoubtedly be improving my status within my group of peers. I am acquiring status skills, whether I like it or not. And if there’s any truth in Marmot’s research, I’m also going to live longer because of it. That’s a good enough reason for me.

If we had URNs for mail items, we’d have a much easier time finding emails. Think about it. You can find the address of a web page, of a blog item, of just about anything that matters. But you can’t do it for a mail message. At least not in a way that’s useful. That’s absurd.It doesn’t matter what operating system you use: why can you not construct a list of email addresses (say in another email). Why can’t I point to an email message, right click, and select “Copy link” and then write “Hey Jim, you haven’t answered <paste>mailid:foobar” Surely it’s simple to do too? Doesn’t every mail message have a unique ID, Message-Id. On OS X, surely Mail can locate a message given an ID, and surely we can rewire the internals to recognize a different type of URN? We have “http:” and a few others, so how about “mailid:fooobar@zap.com” being a link, and if I click on it, Mail locates the message? And if the message is not there, give me a 404. What am I missing here? Doesn’t a sent mail have the same Message-Id as the received email? This would be so useful, there must be a reason why somebody hasn’t implemented it. Extensions could offer support for naming the attachment in a message too.What brought this on? I was playing with Kinkless GTD, following some of Merlin Mann’s excellent advice. Here I am organizing projects and actions and reference material. I can drag AddressBook items, spreadsheets, documents, you name it. Woo hoo. I can’t drag Mail items though. WT! This would be useful here, for programs like kGTD, but elsewhere too. Mail messages should be intrinsically addressable.Aside: If you’re interested extensions to Mail.app, check out Hawk Wings.

Posted in Technology | Tags: , | 2 Comments »

I was going to give some naff advice about “consider all common use-case scenarios very carefully before assigning a priority to a bug” before my left brain kicked in to tell me that “As the number of users of a product increases, so too does the number of use-cases. Every bug becomes equally important over time, as enough use-cases develop that intersect with the bug.” What led me to this was the following: I can finally consider switching to Firefox. Firefox 1.5 in particular. The reason? They’ve just fixed a bug that has prevented me switching. Essentially, if you navigated to a URL, and for whatever reason you couldn’t get the page loaded, a blank page would result (and an error dialog). The problem was that you couldn’t discover the URL of the page that you were trying to visit after the error.My browser usage pattern is to use tabs. I read a page, it may have several links I’m interested in, and so I open them on separate tabs and continue reading. When I’ve finished with my current tab, I kill it, move on to the next, and repeat. So if some pages don’t load…well, I’ve lost them. And that is unacceptable. It was also inevitable - until recently I lived on a 56k modem - timeouts, congestion, whatever. So now I can finally consider switching from Safari.What’s interesting is that this was not a show-stopper bug. But it was for me. It was probably not very interesting, technically, nor did it impact on many other aspects of Firefox. But it interrupted my usage pattern. It was a show-stopper for my common use-case scenarios.