Ben Brown:

XOXCO Hacker Tools Updated

There are new versions of XOXCO's popular developer tools available today!

PeoplePods 0.9 is out, featuring a brand new HTML5 theme, improved JSON api, expanded plugin capabilities, and an improved install and configuration process.   Download PeoplePods to create your own social application or community site.  It takes only minutes to get up and running with a fully functional social network, and adding custom functionality and features is as easy as creating a few PHP files.  Download the latest version from PeoplePods.net, or from our brand new GitHub repository.

jQuery Tags Input 1.2.3 is out as well, featuring a few handy new options, as well as a fix for the most reported bug (pertaining to duplicate tags being added when using the autocomplete option).  Many thanks to our new friends on GitHub, devbrothers and erlend for their contributions.  Download the latest version from GitHub.

We're hiring!

XOXCO, a small web development company located in Austin, TX is looking to hire a developer to join us full-time in designing and building web applications. 

We specialize in designing web products built around community functionality. Some of our projects include MediaBugs.org, dooce Community, and NeighborGoods.  Our recent focus has been on location-based and mobile technologies, as well the new capabilities available through HTML5.

We are looking for someone in Austin who is self-motivated and enthusiastic about creating new products.  You will be involved in all stages, from concept to launch, on variety of cutting edge projects.  Though your responsibilities will primarily involve writing code, you will be involved in activities like product design brainstorming sessions, usability testing, rapid prototyping, and research.

Applicants must be fluent in PHP and Javascript, HTML and CSS. Experience with Drupal is a major plus, as is a talent for Photoshop.  

We are cool people committed to making useful, interesting and fun software.  We have a lot of fun working on our own products and on products for a wide ranging group of clients.  There is always lots to learn and neat stuff to work on!

Sound like your kind of job?  Send a resume AND links to a few examples of things you've built that are available online to info@xoxco.com

NILM Bugs joins the PeoplePods family

Well this is pretty nifty! Carl Malamud (Wikipedia, Twitter) and Karl Fogel (he created Subversion!) have taken the open source version of MediaBugs and turned it into a bug tracker about the availability of legal materials.

Says Carl, in his blog post for O'Reilly Radar,

The legal bug tracker is a classic open source story. We started with the Media Bugs code base developed by Scott Rosenberg and his team, the winners of a Knight News Challenge award. Media Bugs, in turn, is built on an open source toolkit called PeoplePods.

Says Karl, in his blog post about the project,

Usually people address customized bug tracking needs in one of two ways: they make do with some existing tracker (e.g., filing non-software bugs in one of the many free software bug trackers), or they spend a lot of time and effort building a bug tracker from scratch or near-scratch. Neither solution is entirely satisfactory...This code base has the potential to drastically lower the cost of making a customized tracker.

We are excited to see PeoplePods powering another site, and grateful for Karl and Carl's contributions to the core project.

Get in touch if you'd like to help out with the NILM Bugs project. If you'd like to set up your own clone of MediaBugs or contribute to that project, check out the code here, and it will automagically install the latest version of PeoplePods for you!.

Ben Brown on OpenSoure.com

An interview I did with OpenSource.com is now online!  Read it here.

In it, I discuss how running an online community is like throwing a giant, never-ending party, how open source techniques can help change journalism, and why people should use PeoplePods:

Unlike a lot of similar tools (like BuddyPress and Drupal), PeoplePods has no predefined shape or format - it is not a blog, it is not a social network in a box, it is not a content management system. TRUE, it can be used for these things, but instead of trying to build the best generic product I could, I decided to built the best generic COMPONENTS and SYSTEMS I could, and let developers weave them together whatever way is appropriate for their project. I hate to hear about software where a developer's job is reduced to removing and hiding functionality through a series of CSS hacks and config options. With PeoplePods, you build UP from a simple base, not DOWN from an overly complex generic solution. This way, you are not limited by some other developer's dream of how things should work, and you are not forced to squeeze your idea into the confines of a blog or some other pre-existing design metaphor. Thus, MediaBugs looks and acts totally different from NeighborGoods, which looks and acts totally different from Helsinki Design Lab - but they're all using the same basic, solid, tested infrastructure.

 

Weeknote 119

We got a new logo this week, by Jason Permenter. Jason also designed a suite of document templates that will make all of our paperwork shine. We are very pleased.

MediaBugs is now available nation-wide, so you can now file bugs on news reports from any publication or news source, no matter where they are located. In addition, much more information is now available about publications, including information about their correction policies. Mediabugs' launch was covered by BoingBoing!

We've been working for a few months on a big enhancement to the dooce® Community, and it is finally live: dooce Groups! Members of the community can now join together in small groups and participate in conversations outside of the main question-and-answer site. This addition to the site happened in response to how quickly the site grew, and how active the membership is. When we noticed that members were struggling to group together and organize themselves using the existing software, we knew it was time for an upgrade!

In case you missed it, we released a new version of our social SDK, PeoplePods. The new version features a redesigned and enhanced command center, as well as new plugin capabilities.  Also, PeoplePods now ships with Twitter, Facebook and OpenID compatibility!   We're putting lots of work into PeoplePods, and releases should now happen on a more regular basis.  The latest and greatest code (and info on every change as it happens) is available on the PeoplePods Project Page at Google Code.

And finally, our awesome intern Damien has been working diligently on a Chrome version of SendTab.  If all goes well, SendTab 2.0 will be released sometime this month in both Safari and Chrome versions with some much requested new functionality.  Hooray!

jQuery Tags Input

Magically convert a simple text input into a cool tag list with this jQuery plugin.

Do you use tags to organize content on your site? This plugin will turn your boring tag list into a magical input that turns each tag into a style-able object with its own delete link. The plugin handles all the data - your form just sees a comma-delimited list of tags!


Jump to: Examples, Download, Instructions, Options, License

Examples

Autocomplete

Add a tag: foo bar baz

Add a tag to all lists


No autocomplete:


This is what the form sees:


Spaces instead of commas:


Download

Download the latest from Github

And then follow XOXCO on Twitter for updates!

And bookmark our official jQuery project page.

Instructions

First, add the Javascript and CSS files to your <head> tag:

<script src="jquery.tagsinput.js"></script>
<link rel="stylesheet" type="text/css" href="jquery.tagsinput.css" />

Create a real input in your form that will contain a comma-separated list of tags. You can put any default or existing tags in the value attribute, and they'll be handled properly.

<input name="tags" id="tags" value="foo,bar,baz" />

Then, simply call the tagsInput function on any field that should be treated as a list of tags.

$('#tags').tagsInput();

If you want to use jQuery.autocomplete, you can pass in a parameter with the autocomplete url.

$('#tags').tagsInput({autocomplete_url:'http://myserver.com/api/autocomplete'});

You can also send in options to the autocomplete plugin, as described here.

$('#tags').tagsInput({    autocomplete_url:'http://myserver.com/api/autocomplete',
   autocomplete:{selectFirst:true,width:'100px',autoFill:true}
});

You can add and remove tags by calling the addTag() and removeTag() functions.

$('#tags').addTag('foo');
$('#tags').removeTag('bar');

Options

$(selector).tagsInput({
   'autocomplete_url': url_to_autocomplete_api,
   'autocomplete': { option: value, option: value},
   'height':'100px',
   'width':'300px',
   'unique':true,
   'defaultText':'add a tag'
});

License

This code is released under the MIT software license.

Helsinki Design Lab launches "Dossiers"

We just helped the fine folks at Helsinki Design Lab launch a major new piece of their site: Dossiers.

From the HDL blog:

We needed the ease of use of a blog, where content is stored in a database and easily manipulated, with the flexibility of a sketchpad, where the presentation is freeform and maleable. And since this is a tool that we intend to use in the daily course of HDL's work, it needs to have a sense of history as well. It needed to be able to keep track of time by allowing versions which the user can then "scrub" back and forth between.

Announcing SendTab

Ben uses SendTab to send SendTab.com to his tv...

Today, we are releasing SendTab, a Safari extension that lets you send tabs from your laptop or phone to your living room computer.

We live in a connected household, where laptops and iPads outnumber residents. Our living room TV is connected to a Mac Mini, which we use for all of our media consumption - we stream a lot of video from all over the web. However, we do most of our browsing and discovery on our laptops and iPads, and right now, the process of sending something from a laptop to the big screen is really annoying.

That's why we built SendTab. Now, with a single tap, the current tab we're viewing will appear within seconds on the big screen. Any page can instantly be sent from Safari, Firefox, Chrome and any iOS device to the big screen.

Of course, not everyone has a computer connected to their TV. SendTab is handy for all sorts of other things:

  • Quickly send a tab from one browser to another...
  • Send tabs from your iPhone or iPad to your laptop...
  • Send tabs to your girlfriend!

SendTab also has an easy to use API, so developers can send tabs from within their apps. Neat, eh?

Download SendTab

Many thanks to XOXCO's #1 intern, Damien Bell, for his hard work on SendTab, and to all of our talented designer friends who helped us design the SendTab button, and to our computer-tv having friends who helped us test. Thanks, dudes!

Ben's "Building Online Community" presentation now online!

The very nice folks at Web Content 2010 have posted high quality video of my entire presentation! Strap yourself in and get ready to learn about online communities!

My slides from this talk, as well as some Twitter highlights, are here.

Building and Running an Online Community

Ben Brown speaking at Web Content 2010

I presented this week at Web Content 2010 in Chicago. My presentation was about the practical issues you face when building online communities.

I have been building and working with web communities for a long time. For this talk, which was to an audience primarily consisting of content strategists and web editors, I wanted to distill as many of the lessons I've learned into a few solid pointers they could actually apply to their work.

Based on the things that people tweeted during my session, these are the big ideas worth repeating:

  • If you have an audience for your content, you already have a community. They may not be posting on your site yet, but they're out there, talking to one another.
  • "User generated content" is something a drug addicted robot poops! Think of the stuff that your audience creates as "member created art."
  • Community isn't made up of software components - it's made up of people, and they really want to talk to one another.
  • You should start simple, and build community software to enhance what your community is already doing.

You can pretend you were at my presentation in Chicago by stepping through my slides, embedded below - worth it if only for the amazing user loyalty graph Heather and Jon shared with me from Dooce.com.

Scott Rosenberg introduces Mediabugs.org at Ignite

We'll be launching in just a few days, but if you'd like a preview of our latest project, check out the video below.

Weeknote 79

For New Years, Katie sent out little gift packages to our recent clients and co-conspirators. Katie wanted to make sure that we didn't just send people junk - nobody needs another American Apparel teeshirt with a dotcom logo on it. Inside each package was a Pantone 232C flash drive with the XOXCO logo LASER ETCHED onto it, and a custom postcard from Moo. They arrived last week, and Amit from Photojojo and Micki from NeighborGoods documented the contents on Flickr:

Pantone USB Stick from XOXCO Ben and Katie are from the future

Last week, we had lunch with Todd Nienkerk from Four Kitchens, another local design and development company that does work simliar to the stuff we do. Over fancy sausages at Frank, we grilled Todd about how he runs Four Kitchens and about his experience hiring people. He gave us a ton of great advice and introduced us to a few people here in Austin who can help us as we continue to grow.

As we left our meeting with Todd, Katie and I decided that we should try to have a meeting with someone outside of our normal laptop-o-sphere at least once a week. We need to keep the external input coming in so we can learn from the smart people around us. I want to stay humble and remind myself that there is always more to learn.

Somehow, we continue to trick Kristina Halvorson to give us advice as well. We had a chat with her yesterday about the early days at Brain Traffic, and how she sets goals for the growth of her agency. We are used to setting goals for projects and products, but the task of dreaming up and planning for the future of a company like ours is a bit of a mystery to me.

But the advice we've been getting from everyone is inspiring - and made me realize that I tend to over think some of these issues. Todd warned us about the bureaucratic requirements for hiring people in Texas, but he also told us that there's a good pool of talented people here in Austin who are hungry for good work. Kristina told us to stop worrying about numeric metrics and goals, and start figuring out what kind of life and environment XOXCO is supposed to create for us. It seems that our plans can be a lot squishier than I thought. Which is good, because I am a pretty squishy guy.

In terms of actual CODE WRITTEN, which is really how I measure the success or failure of a week, I am ON FIRE. We are getting ready to release new versions of NeighborGoods and dooce Community with a bunch of cool new features and updates. I am slaughtering Basecamp tasks on the MediaBugs and HDL projects - both of which should be wrapping up in the next month. With design and functionality at about 90% on both sites, we are just a tiny bit behind schedule. I am totally impressed with the work everyone has been doing on these projects.

We're travelling to San Francisco again at the end of this week, and we'll be there through Tuesday of next week. We're hoping to schedule a few face-to-face meetings with our VIPS - if you want to see us, email Katie!.

Weeknote 77

As Week 77 closes, we are hosting the one and only Matt Haughey in our offices. He is sitting behind me right now moderating spam users on Metafilter. I challenge you to find another person as experienced as Matt who still does the dirty work of running a community every day.

We were up to our eyeballs in design this week. We started the week evaluating the first round of MediaBugs designs that CourtneyP created, and we're ending the week with the very exciting second round of design that Rumors did for Helsinki Design Lab. Both of the sites are coming to life quickly, and it looks like we're on schedule for February and March launches.

Jesse Keyes, our frequent partner in crime, has been kicking out revision after revision to an all new, all awesome homepage for SMITH Mag's Six-word Memoirs. Larry Smith sent us his last little chunk of feedback today, so the new design will hopefully go into production some time next week.

On Tuesday and Wednesday, Katie and I put together a report on our session with Bryan Boyer last week. It was an intense few days featuring lots of whiteboarding and pages and pages of notes and drawings. We pulled it all together so Bryan has a clear record of the things we looked at, the decisions we made, and the next steps we all have to take towards finishing the HDL site and moving onto the next phase. I love creating these kind of documents - thoughts and processes made concrete! Here's a zoomed out version of the document we sent to Bryan on Wednesday:

Deliverables

One of my early 2010 goals is to spend some time redoing all of our XOXCO document templates. Some beautiful PDF files have crossed my desk recently, and it makes me jealous. This is just another item we need to add to the agenda of our upcoming (and as yet unscheduled) XOXCO retreat. I love reading about BERG's internal processes and the efforts they are making to define the culture of their studio to themselves and to the outside world, and THAT also makes me jealous. We are so busy being externally focused, we haven't spent enough time focusing internally, defining our own goals.

We can't wait much longer to tackle these internal issues. My goal is to set aside a day or two during January to sort ourselves out, and to give ourselves the full XOXCO experience that we normally reserve for our clients. I want to draw some stuff for myself!

Another thing I want to spend more time on is doing pure research. It occurred to me the other day that I very rarely get lost in a chain of Wikipedia articles anymore, or find myself having spent hours reading about a new technology or API. This week I had cause to learn all about (and implement) an oauth consumer, and it was really refreshing to learn something new. If only I had a clone.

Random Reruns: Netflix Edition

We've expanded our web tv channel surfing tool, Random Reruns to include movies from your Netflix Instant Watch Queue.

If you've got a Netflix account and use the Instant Watch feature, you should try it out! Instead of wasting time browsing through endless listings, let Random Reruns pick a movie for you!

Play here: Random Reruns: Netflix Edition

It looks like this:

Random Netflix

One day, I'll find enough time to finish up the protoype I built that takes a feed of video URLs and turns them into a "lean back" experience, complete with interstitials and "Coming Up Next" teasers. Til then, you can still get random reruns from Hulu or random reruns of classic Star Trek.

Weeknote 75

Katie and I spent New Years last week in Marfa, Texas where we got to explore the Chinati Foundation's collection of modern art. For a town of about 2000 people where most of the restaurants are only run as a hobby, Marfa contains a lot of great art and architecture. Katie posted some photos on her photo blog and even more on her flickr site.

While in Marfa, we visited Prada Marfa. We drove from Marfa, 35 miles out into the desert. For the entire drive, a creepy border patrol blimp hovered motionless overhead. I was convinced we were looking at a UFO. The desert rolled on in all directions. And then, just when we started wondering if we were going to run out of gas, we arrived. And, there we were, in the middle of the desert, looking at a fake shoe store. And as the sun set over the mountains and cars whizzed by at 95 miles per hour, it felt like it was the greatest thing ever, like having played a part in our very own personalized absurdist road movie. The entire experience was very immersive and felt highly designed.

I noticed that along the side of the building, people had left a long line of business cards and notes, each one under a little rock sitting upon it so that it wouldn't blow away. Whether they were left as some sort of offering to the piece, or just as proof that someone had made the trip, the underlying purpose these cards played there in the middle of the desert was to open up a communication channel between distant strangers.

"Can you believe it?" they say.

"I did this too!" they say.

It reminded me of the internet.

Weeknote 72

Katie and I went to New Orleans this week to attend Do it With Drupal, a great conference for lovers of the dark Drupal arts put on by our friend Jeff Robbins and his cohorts at Lullabot. I have been wearing one of their teeshirts for years, so it was quite an experience to walk through a hotel convention center and see hundreds of people wearing the same shirt.

Building online community

Jon Armstrong and I gave our talk about online communities. It went well, and I had a lot of interesting follow up discussions with other attendees. dooce Community makes such a compelling case for the kind of personality filled niche communities I love to build. I really wanted to sell the rewards these kind of sites deliver, so we talked both about the traffic boost they've seen - Jon showed snapshots of his analytics that show the community users spend nearly three times as long on the site as they do on the main blog - and about the emotional outpouring they've seen from the nearly 20,000 members they've signed up in the first month. See this thread, it melts my heart.

I said a few things that people liked and tweetered about a bit. I am always mega-honored when anyone quotes a talk I give on Twitter. This time around it was "When I build a community, I'm hoping it will actually improve people's offline lives as well as online," and When you open up community access to a site you own, you're essentially selling shares in your site."

These choice nuggets are from a section of the presentation where I was discussing the responsibilities we have as purveyors of web services and online communities. The tools we have to measure our impact on the people who use our products focus on anonymized trends and aggregated cross-sections. But the communities we manage are not these aggregates! Each member is a person, sitting somewhere in front of a laptop or holding an iPhone. Each, a person who has made the decision to trust us, that we as software providers are trying to make the world a better place through technology, by connecting them and letting them speak to one another. I believe that the software we provide creates a connection between us and each one of these people, and that we need to respect that connection. So I rant about it!

While at DIWD, we got to hang out with some charming new friends. Kristina Halvorson gave a great keynote about content strategy, and then gave me some great advice about running a small business. NOTHING BUT CLASS, that lady.

We also spent some quality time with Rob Purdie, who presented about his work with The Economist and all of the magic that can be achieved using the Scrum development method. I impolitely complimented his politeness about three times, so I hope he won't avoid me the next time we're in the same city.

Our lovely client, Micki Krimmel was in town as well, presenting about the job of community manager. She gave a great presentation, and it was exciting to see NeighborGoods up on the big screen. If any DIWD attendees are reading, join up to share your old Drupal books with your pals.

In between all of the excitement, I found just enough time to upload the first baby version of Media Bugs to our dev server. After weeks of planning, it's always fun to see the software come to life. Scott has already logged in and posted the first few bugs. Meanwhile, the team at Rumors Studio nailed their deadline and delivered some awesome wireframes for our join project with Helsinki Design Lab.

The only thing I haven't checked off my todo list is to check out the newest version of Flixel. Adam Atomic has been twittering about all the improvements he's made, and I'm anxious to dig in and see what the new capabilities inspire.

I'm off to San Francisco on Monday for a few days of in-person time with our friends in PST. Katie will be holding down the fort in Austin while we prepare to close out the year. Excelsior!

Weeknote 71

I spent far too much time this week thinking about and discussing with people what week we would start our weeknotes with. Should we start counting from the day I left Consumating.com and went back to being an independent developer? Or maybe we should go all the way back to 2003 when I first embarked on this style of business? Or even further back, to when I quit my last "real" job to start Deepleap in January of 2000? In the end, we decided to count from the date we incorporated as XOXCO, Inc. Then I used the Wolfram Alpha search plugin I made a few months ago, and voila: Week 71.

When we begin a big project with a new client, the first part of our design process is to write a detailed software specification. These are gigantic documents that describe each and every page type on the site, and each and every function that will be present on each page type. We create these documents so that everyone involved in the project has a crystal clear idea of what we're going to be building throughout following rounds of design - where we define the actual structure of the pages, and eventually the visual and user experience elements. Then, once the site is built, we use these documents as the basis for our quality assurance process. Are all these elements present? Do they function as described?

This week, two specification documents like this were approved by their respective clients. Getting these approved feels like the website's actual birthday: now we know what it will grow up to be. All that's left is the hundreds of hours of design, coding and testing to come!

Meanwhile, I was able to finish up the changes to PeoplePods I made while in my turkey-induced coma last week and release them as PeoplePods version 0.7. This new version goes a long way in simplifying the interfaces to creating, querying and displaying content. As part of this release, I've also posted a quick start guide for developers who do not want to read the full 20,000 words of documentation before getting to the nitty gritty of actually making kickass software.

Along the way, I had the opportunity to pitch PeoplePods to a few folks, and I noted down a few bullet points that I need to add to our sales pitch to other developers. Among them were:

PeoplePods is a great upgrade path for people who have reached the limit of what Wordpress can do. Instead of trying to trick your blogging software into being a social application with dozens of third party plugins, use software freshly designed for creating social applications!

Even though PeoplePods is free and open source, it is being maintained and supported by XOXCO, so we can keep tight control over the software and everything that comes with it. There are only 2 fingers in this pie, and they both belong to me.

We here at XOXCO believe that the future of online community revolves around smaller sites, member organized groups, and functionality that emphasizes the local and personalized content. PeoplePods was created to provide exactly these features, with built in support for member groups. You can see one way groups can be used on NeighborGoods.

Next week, we're off to New Orleans for Do it with Drupal, where I will be presenting alongside Jon Armstrong about creating online community. I may also try to organize a rebellion AGAINST Drupal... If you're going, come say hi!

Help Define The Future Of Errors In Journalism

Scott Rosenberg, who we are working with on MediaBugs, has just posted an interesting challenge: how do we categorize all of the different types of errors a journalist could make while reporting a story so that people can file bugs about them?

There's already a lively discussion going on in the comment thread of Scott's post on the MediaShift Idea Lab blog, so head over there to share your thoughts.

Just Launched: dooce Community

dooce community

We're excited to announce today that our latest project, dooce Community has launched! We've been working closely with Heather and Jon on this new branch of the mega popular dooce empire, and we're very proud of the results.

The new site will allow members of the dooce community to get to know each other in a way their semi-anonymous commenting system never did. The site is a question/answer site ala Yahoo Answers, but members will be welcome to discuss whatever they like - from babies to cameras to politics.

Like the main dooce blog, the community is powered by Drupal. XOXCO built a bunch of new social gadgets for this site, and if you'd like to learn more about how we did it, come see Jon and I give our talk all about the site at this year's Do It With Drupal conference.

Many thanks to Jon and Heather, Ben Durbin, the support staff at LiquidWeb, and our friends at Lullabot whose help with Drupal's idiosyncrasies was invaluable.

NeighborGoods Launches in LA

According to TechCrunch and GigaOm, NeighborGoods has officially launched in Los Angeles! They've got lots of nice things to say about our work, and we're super proud to have worked with Micki to get this far!

NeighborGoods is built on top of PeoplePods, XOXCO's new social software toolkit. Using PeoplePods means we were able to skip all of the infrastructure building, and instead spend all of our time in product design and ideation. Throughout our alpha release, and now moving into our beta release, we've been able to quickly and easily add functionality to the site simply by creating new "pods" of content and functionality.

PeoplePods will be released under an open source license within the next few weeks! Follow PeoplePods on Twitter for the latest information.

Next