Internally, Lyssa challenged our developers to make at least one public blog post this week. So here's mine - thanks for the poke, Lyssa. :)

This has been a really great year so far for the Socialtext development team, and Socialtext overall. Ingy called it - 2008 is the year of the wiki. But it's also been a time of much change within our team.

Starting in January (rather abruptly, I might add), we collapsed our several mini-teams into a single dev team, and called it the 'Swarm'. Our product managers worked hard to keep a few steps ahead of developers, developers worked hard to support each other, tackle debt and meet their commitments, and our QA team worked hard to keep up with developers and improve our automation. It's been hard work to be sure, some highs and lows, but we're really starting to come together as a team. This is increasingly evident to me as others take over driving roles in our process.

In January, we started the year off with 4 1-week iterations with a hard stop at the end (a company face to face). We were jumping into the agile swarm with two feet, and hoping we could swim. We collectively stumbled through our new process, developing it as we went. For January, I put in a lot of extra work to get iterations set up and fleshed out, reasonably balanced using the best intuition we could find. After the face-to-face, we modified our process to work on a two week iteration, and formally made the iteration lead a role, attracting one of our talented seniour developers, Shawn Devlin. Since then, Shawn has done a great job leading the iterations. I feel shawn has kept us at a steady pace, where we're pushing ourselves, but not thrashing with too much. We've been regular in our attacks against our technical debt, and took a big step of completely removing Alzabo as a dependency. (Those of you intimate with the code will appreciate all the work that went into that).

Stepping back as Shawn took over the iteration lead reins was great - I could focus on our releases, and some core development work. I could get my head right down into the problems, and had complete trust in Shawn (and the people he was working with) to make good decisions. Creating releases with Ken Pier was fun and challenging as we iterated towards a standard release process that fit well with our new development process. We kept the good parts of past process (hopefully), and changed it where it made sense such that now we have a pretty standardized process AND several people that all know how to do it. Documenting the process in our Above the Flow process wiki has allowed us to start a rotating 'pumpking' or release manager role. It has been a great way to make sure the corners of our system are documented and that we're not as dependent on particular people.

As others start creating our latest releases, I'm enjoying stepping back again, and re-focusing on other new problems.

And I tag stash to make a blog post out here.


I through a FreeGeek connection, I was invited to talk on a panel for the Vancouver Knowledge Management-ers. Despite it being at 7:30am, I agreed. Here are the notes I'll be taking to speak with, for what they're worth.

Van KM Presentation Notes

About me - I'm a core developer at Socialtext, several years of experience using and deploying wikis.

About Socialtext - http://socialtext.com

  • First Enterprise Wiki Company
  • Sells hosted wikis and wiki appliances built - software as a service model
  • Distributed product team - Executives, main office is in Palo Alto
    • Office in New York, and product folks all over North America, 1 in Bangledesh, 1 in Argentina and 1 in Taiwan
    • Drink our own champagne

How organizations share knowledge in interesting ways

I'm going to talk first about personal experience with wikis and collaboration, then about some general patterns, and finally about Socialtext's 4 main use-cases.

  • Personal examples
    • Sophos
      • Notes was never used
      • Wiki was better, but culture didn't support it
    • NEC I18N
      • Collaboration with engineers in Japan in 24h - What
      • Hub for project planning - How
      • Visible to all stakeholders
    • Daily development
      • Above-the-flow: blogging, documentation, interviews
      • In-the-flow: Project planning, Product planning, Meeting Agenda/Notes, Documentation
    • Socialtext F2F
      • Wiki Eventspace
      • Collaborate on meeting ideas beforehand
      • Barcamp/unconference style organization
      • Tremendously fun, productive and energizing
  • In-the-flow vs Above-the-flow
    • Traditional KM style forces above-the-flow or nothing
      • Traditional KM asks people to step outside the flow of their work, do something extra to give back to the company
      • Joe developer, you've worked 60 hours this week, now spend an extra 2 hours to do some extra work - case study, survey, ...
      • It's too hard to get people to step above the flow
      • People end up doing it in less structured ways anyways, but it's less efficient cause it's done ad-hoc
    • Why wikis are different
      • What wikis do that is different is they allow people to do their daily work differently, in a way that's more transparent
      • NEC i18n - I didn't need to do extra work to get the benefits - I just worked in a more open way - created an enduring searchable asset
      • Didn't collaborate because it was the right thing to do - collaborated because it was easier.
    • What's changed: we're not adding another layer on everyone's job
      • We're providing a better alternative to email - when you do something on a wiki, the knowledege becomes searchable and re-usable
      • Eg: Blogging in the company - you mention some random little thing you were working on, now someone else can stumble upon that later. Even a mention is better than not doing a full write-up.
    • From Ross: the principle activity is sharing, driven by social incentives. Contribution is simple and unstructured, isn't a side activity and there is permission to participate. Intelligence is provided by participants, both through the act of sharing and simply leaving behind breadcrumbs of attention.
  • Use case: review/update the agenda for a meeting
    • I wanted to do this last night! - or review the agenda.
    • Socialtext offers Van KM group a hosted wiki.

4 core use cases

  • Collaborative Intelligence
    • 2-way communication between office and field, as well as field-to-field (hub and network)
  • Participatory Knowledgebase
    • Enable call center & help desk to capture & organize knowledge from customers and internal processes
    • Wikis make capturing, organizing and finding the information easier, and part of in-the-flow activities.
  • Flexible Client Collaboration
    • Collaborating with partners and clients in a shared workspace
    • Wikis provide a secure, shared workspace for project collaboration and coordination
  • Business Social Networking
    • Companies recognize the importance of collaborating with an ecosystem of customers, suppliers, distributors, resellors and other partners.
    • Results in a rich source of insights for the company, and a energized and committed group of stakeholders

I like this geeky meme of sharing your shell history:

history | awk {'print $2'} | sort | uniq -c | sort -k1 -rn | head
76 cd
51 ll
33 vi
26 svk
26 ssh
24 perl
21 iterad
16 wikrad
14 dtrad
13 sb


-k1 is redundant since sort uses the first column by default.

contributed by daniel@hidden on Apr 17 10:07pm


     70 ls
     68 cd
     39 less
     29 st-admin
     27 cdcur
     24 rb
     19 st-config
     16 vi
     16 sta
     16 jobs

contributed by Rick Scott on May 8 5:43am


I just watched Merlin Mann give a talk on your time and attention, and how valuable it is. It's a great video, and I recommend that others on my team watch it, in the hopes that we can start a discussion about how we should be using our tiwe.


http://farm3.static.flickr.com/2256/2378052951_280f6e4d8b.jpg

In my many hours of spare time, I've been working with Dan Bricklin (aka his fictional Rapper nick name within Socialtext: dbrick), K.S. Preeti, and Manusheel Gupta to create Sweet Socialcalc - a web based spreadsheet running on the XO Laptop for the One Laptop Per Child.

We're working on allowing the pygtk based activity to communicate with the javascript running in an embedded gecko. Anywho, while I was in Tofino, I decided to investigate a HTTP based communication to complement (or supplement) the current XPCom mechanism. I've got the code up on github (A really cool new git hosting service - it's code - but social) here:

http://github.com/lukec/httpactivity

The current challenge as I see it is that sugar applications are driven by hooks - write_file() and read_file() (in the very simplest example). write_file() must request the javascript running in the browser to execute some code and return the content to write to the XO's activity log. I believe there are two options for the implementation of this method - either a synchronous method call using XPCom to a Javascript interface, or an async call to the javascript, and then have the python code wait and poll for the response. The first option is much nicer, but has proved tricky to implement, as it seems to require compiling .idl files and creating some kind of extension, and then figuring out how to build that into our python activity.


Development Community Blogs

Search Socialtext Open Source Workspace

Search