Drupal

oDesk - down the virtual, global company and collaboration rabbit hole

I just created an account on oDesk and, frankly, have fallen down a rabbit hole.

Of course, Drupal was the vector once again: I had Daryl leave a comment, with his username linking to a trends page showing Drupal jobs on oDesk. This intrigued me, so I dug into the system a little more.

For starters, there is a Drupal 5 test. I haven't taken it yet, but I fully intend to kick the tires on it. The testing system is run through Expert Rating. I want to explore this more, maybe even to the degree of developing tests for modules and components ... this feels like a useful function that could kickstart a lot more items.

Finishing up the Drupal bits, it looks like the oDesk Community section is Drupal-powered. The oConomy section is particularly interesting -- you can see that $48M worth of work have flowed through oDesk, and that the odometer is part of a custom module that they've developed (view source shows you all this).

The Global Provider Map has tons of interesting information -- Canada has 3253 Providers, with an average hourly rate of $24.92, and average feedback score of 4.29. And then there's Iceland -- 24 providers, $50.19 an hour average. Where the hell is Bouvet Island? The Maldives?! 11 providers...

Do work, get paid. I'm excited to think about how this can be used by startups especially, or to prototype startup ideas. Or, for that matter, working with global communities to build their knowledge worker populations. Hey Evan, it's time to bring the world to to Whitehorse, and vice versa.

I could go on to describe some details on how this works -- a crazy desktop app that monitors your "Activity" levels at the computer, takes screenshots and webcam shots (yes, webcam shots -- wearing pants is required), and creates your time log. But, I'm really just scratching the surface myself as I familiarize myself with the system. Has anyone out there used oDesk before? As a programmer or a buyer? I'm interested in feedback from people that have actually gone through the process...

The rabbit hole? I can truly run and interact with teams, companies, and businesses all over the world. This is the ad hoc network of professionals with varying sets of skills that I've been thinking about since a bunch of university friends and I sat down in 1995 and thought about online pizza ordering for Toronto.

oDesk Certified  Professional

Update: OK, I took the Drupal test and got 92%. Not bad, and I was impressed by the depth of some of the questions. oDesk Certified Drupal Administrator

Knight News Challenge prep in Vancouver: Digital Media Experiments to Innovate Journalism

Coming up next Monday, October 6th at the Raincity Studios offices is a Knight News Challenge info and prep session.What is the Knight News Challenge?

Want to win funding for a cool online community project?
The Knight News Challenge is in the third year of a program that gives away $5MM a year to innovative online projects that support online news, community discourse and social media in specific local communities. Come to this meet up to find out how to apply, share ideas, and get a chance to talk to KNC evangelists.

This is an interactive, hands on discussion designed to give you the knowledge to apply with a great innovative idea. All ages welcomed.

The press release from the beginning of September details the program. $5M is available for "digital media experiments to innovate journalism".

Long time blog friend Susan Mernit is running these prep sessions -- Seattle and San Francisco are the next two places on the list. If you're accepted past the first stage, you can enter the News Challenge Garage for further mentoring and feedback.

A lot of code ends up being built in Drupal for this yearly challenge. Knight took notice of this, and also has the Drupal-specific Knight Drupal Initiative (KDI).

This is a really good way to get some funding to try a true R&D-style idea, which might just be the beginning of a whole new startup. If you have ideas about the future of news, come to the Raincity Studios offices to find out more next week. (and yes, please sign up on Upcoming or Facebook).

Sugar On Drupal

Have you seen the new OnSugar.com hosted blogging platform? It's Drupal powered, built by the fashion / pop culture publishing empire that is Sugar, Inc. (CrunchBase link for background info).

In many ways, it is what I have often been waiting for. Drupal is a very good multi user system. This is not an install profile, spawning sites, nor is it as simple as "one" site. It is a very interesting implementation of a hosted blogging platform.

I would like people to look at it, and test it, and think about it, because this is the kind of stuff you can build with Drupal. You can theme the node forms, you can add AJAX popups / overlays, and you can add innovative features while stripping out the knob twiddling options for the person that just uses the thing.

There are two features that I see as truly innovative. The first is the image insertion.

OnSugar Image Insertion Screenshot

You've got your images, and upload and image...and then you've got "Search Getty". You know, the largest commercial database of images online. And then ShopStyle and FashionWeek, two other Sugar properties. Wow: a shared platform where any one user has easy access to images across the system. That's fantastic! I had previousy done some mockups of a Flickr Search button for TinyMCE -- one can easily see OnSugar expanding the images to include (or adding the functionality to the other insertion buttons? top links? top videos? quote the top blog posts, and so on...). A mass system built on sharing (or at least shared access), imagine that.

The second innovative feature is the themes. Well, sort of. Themes and control for end users is HARD. There are a list of shared themes that you can either use directly, or that you can copy. The copy part is magic. You can copy a theme, rename it, edit it, and then even share it back out again to have someone else use (or use as a base for their own copy/edit/share). There's that sharing again! The theme layer seems really comprehensive. That is, you can edit CSS, the page outline, post outlines, and even comment outlines. Seems a bit hard for the average end user, but it IS cut and paste simple ... so some people will build cool things, and others will cut and paste it into their own creations. The template reference file shows you the snippets you can use. Is this Smarty, or did they build their own engine?

Anyway, I hope you kick the tires on the system, and think about what it means. My co-founder at Bootup, Danny, met with Brian briefly while down in San Francisco, and I look forward to continuing the conversation. You can find me at http://boris.onsugar.com, and you'll find some other Drupal folks like walkah kicking the tires as well.

Speaking at Net Tuesday - How Drupal can help you save the world

Just as Drupalcon Szeged is kicking off, I'll be talking at this coming week's Net Tuesday event, "How Drupal can help you save the world!". Boy, that Joe Solomon really does like catchy titles :P

I'll be kicking things off with an intro to Drupal. I'll talk a bit about open source and how it relates / meshes with the mission of non profits. Or rather, why the heck aren't you using your non profit DNA to work together with other organizations?! I'll also do lots of my "question" tactics -- asking people in the room to think about their strategy, their use of the web, their use of open source software, and their approach to engagement online.

Following me will be the folks from Fearless City and Agentic talking about some case studies.

The event is this Tuesday, August 26th, at 5:30pm at WorkSpace. The Meetup event is now closed, but you can show your attendance on Facebook or upcoming.

P.S. yeah, I said I wasn't really going to post event stuff here much anymore, putting most of it on the Bootup Labs blog. Well, this is an event that I'm doing "solo" as it were. And never fear, I'm going to post over on Bootup about the Expression Engine Roadshow.

DaveO does a podcast with me on Bryght, Raincity Studios, and Bootup Labs

Dave Olson sat down with me at the beginning of this week and did a long (50 minutes) podcast over at Raincity Radio.

We covered a lot of ground. Here are some short notes with related links on what we talked about:

Drupy aka Drupal in Python

BrendonC dropped by to leave a comment mentioning that Drupal in Python -- aka Drupy -- is a real project.

Here's the latest update (as of 6/17/2008):

Currently, Drupy can successfully run Drupal Bootstrap Phase 8. This means there is one more Drupal Bootstrap phase to be completed before alpha completion. For more details, check the Drupy diagnostic page, which is updated regularily.

Find the code on Gitorius, news and bugtracking on Sourceforge, and say 'hi' on freenode at #drupy.

Testing Ad Bard, a FOSS friendly ad network

I'm testing out a new advertising network built by Jeremy Andrews. Jeremy is a long time contributor to the Drupal project, mainly through switching his site KernelTrap over to it many years ago, and then being involved with many other Drupal businesses -- architecting major portions of CivicSpace among other things. Jeremy's current "day job" aside from KernelTrap is Tag1 Consulting, who are Drupal performance experts. He also happens to have built the Drupal Advertising module.

The new advertising network I'm testing is Ad Bard. I'll excerpt the "what" from the about page:

Ad Bard's mission is to foster a friendly and useful advertising community. As a fellow Ad Bard, you will help to ensure that the advertisements in our network are useful, relevant, and non-obnoxious.

I've currently got the ad block running in the upper right hand corner of the sidebar. Yes, it doesn't look too different from any of a number of usual banner ad rotations. The current schtick is that Ad Bard is "Free and Open Source" (FOSS) friendly. It has categories of advertisers and websites in the network related to a variety of open source topics, so at this point both the advertisements and websites should be relevant to people interested in those topics. The whole site / system is

Just to throw another concept into the mix, Jeremy recently put up a post advocating that Drupal.org should join Ad Bard. The Drupal Association has been testing ads on some of the forum pages on drupal.org for a while now, as a way to generate revenue to support the project. Google ads have been tested and are running now in the right sidebar of the hosting forum (itself now hotly contested because of some of the content from hosting providers). This really brings up the issue of whether ads are appropriate for open source projects at all. If ads do have to be there, I'm much more in favor of daily / weekly / monthly sponsorship ads: they seem to be much less painful to end users, and I think more effective for advertisers, too.

One of the thought experiments / questions that I often pose people is "How relevant does an ad have to be before it is no longer an ad?" One specific example would be someone looking to buy a Canon S5 IS from my review -- is an ad on that page on a place to buy them an ad ... or a useful, in context piece of information? All a matter of relevance, I believe.

If you're an open source advocate (or project), you might want to kick the tires on Ad Bard -- I'll let you know what I think after I've had ads up for a while.

Disclosure: Raincity Studios does work with Tag1, and I'm a big fan of Jeremy. I've also shoved over a boatload of ideas that I have around advertising networks that I've been itching to experiment with. We'll see :P

DrupalCamp Vancouver 2008 this week

Well, before I knew it, DrupalCamp Vancouver has snuck up on me. I mean it when I say it snuck up on me: I had pretty much zero to do with organizing it -- massive kudos have to go to Dave Olson, Dale McGladdery, and Ariane K (I know there are others, like the guys from Image X Media and jkparker on kick off party duty and and and...).

DrupalCamp Vancouver is this Friday and Saturday, May 9th and 10th, with a kick off party on Thursday night. As with all Drupal events, it's sold out (how are we ever going to fix this? more training!), and it looks like a great group of people are going to be gathering.

I spent this morning with Dale and Ariane reviewing the session submissions. We have a nice mix of newcomer, developer, and soft topics, as well as 2+ double sessions: one on organic groups, and one on design and theming. I say "2+" because we tried to schedule the talks so they "fit" together nicely -- like the back to back views + arguments segueing into panels 2, or the intro to module development that then continues with forms API advanced development. The sessions are up -- but the presenters are still "in progress" of being contacted.

I'll be doing a talk on install profiles with a couple of co-presenters, and leading a close out session on Drupal 6 and beyond. Frankly, I'm more than a little worried about Drupal 6, while at the same time so looking forward to Drupal 7, testing frameworks, and more RDF. It will be interesting to see how the discussion goes.

There are lots of talks to look forward to (I know lots of people have been asking about an intro to SVN). I've got my eye on the infamous heyrocker -- he's coming up to talk about the gnarly issue of staging Drupal between servers. It would be great if we could pool our solutions and get to more *code* in this area. I think drush is likely the proper building block.

Again, thanks so much to the organizing team that pulled this together: we're lucky to have such a great group of motivated people.

If you are missing DrupalCamp here in Vancouver, the next two I know of are DrupalCamp Toronto May 23rd - 24th and DrupalCamp Seattle June 26th - 27th.

Strutta has launched

Last night I ended up staying at the Strutta offices until the wee hours of the morning, cheering the team on as they worked towards their launch today.

I worked with Jordan Behan to do a fun spoof of Michael Arrington (and yes, Strutta got a TechCrunch posting) -- I did the Fox news guy voice over. The posting from Jordan is, of course, meant to kick off a competition for the best Michael Arrington impression. Personally, I think someone should get out the sock puppets... :P

We actually ended up dragging Kevin Marks back to the Strutta HQ, in town for Open Web Vancouver. It was great catching up with him in his new role as Developer Advocate at Google -- oh, and a kick ass paper airplane folder, so I expect him and his sons to compete in the Strutta best paper airplane round. Kevin, you wanted me to complain about Google's messed up identity system -- I did this last January and some pieces are better, but the big thing is that I can't use any of my Google Apps for Domains accounts to sign into Google Groups. Since I don't want to use my personal Gmail account to be on random mailing list, this seriously hampers me pretty much every single day. Please fix :P

Congrats to the Strutta team, I know you've got some Beta Bug-lets, but looks like people are having a lot of fun. We've been amusing ourselves flipping the little Flash widgets back and forth -- there are lots of nice touches like this all over the site.

P.S. Yes, it's Drupal. And, oh, look it's multi-lingual: I predict many more interesting multi-lingual sites as people focus beyond North America.

Social Graph applications: why not for every community website?

One of the outcomes from my trip to Victoria last week is some thinking about the social graph.

More specifically, you may recall that I've been using Flock. As it turns out, I recently upgraded my laptop to Leopard, and made Flock my main browser. This has given me increased exposure to their "people bar" -- a side bar that supports a variety of big community websites, like Facebook, Flickr, Twitter, and so on.

As I've been using this feature, and seeing the way that Flock "detects" features of different websites, I started thinking about how every community website could enable this functionality. Right now, the Flock team has to pre-integrate with the specific website's API to enable this functionality. But, just as they "detect" the presence of site-specific search engines, there is no reason that one couldn't expose a link header that indicates the presence of a social graph.

I know what you're thinking: "But Boris, how many people use Flock? Isn't this just browser specific functionality?" Well, no. First of all, Google has a Social Graph API that is already being crawled -- looking at FOAF and XFN.

Secondly, I got to thinking about all these site-specific applications -- like Twhirl that was bought by Seesmic. So, if we had some basic standards about this stuff, it would be simplistic to have one app that let us monitor / notify / update any of these systems. Yes, there will ALWAYS be websites that have more complex APIs with more features -- that are only accessible by implmenting *their* API to talk to them.

But for thousands of other community websites, built in Drupal, WordPress, Joomla, or what have you -- you suddenly have the same rich access to applications as the big guys. How many websites would encourage their users to install Flock or Twhirl if it supported *their* website?

Oh, and I'm completely skipping the linked data / RDF / Semantic Web factor of having community websites expose some part of their social graph, or at least make it available for querying by people that have the right credentials.

OK, so how does this look to the end user? I'll use Flock as an example, since I've got agreement in principle from them that they'll work with me on this, including help in defining some of the formats.

  1. User surfs to community website where they already have an account (for simplicity's sake, we'll pretend a session is still open)
  2. Flock detects a website that has a social graph available because of a header link that looks something like this:
    <link rel="socialgraph" href="/user/4426/socialgraph.rdf" type="application/rdf+xml" />
    (Note the user ID in there, because the user already has a current session open)
  3. Flock does it's fun in browser slide down that says something like "This website supports a people bar. Would you like to add it?"
  4. If the user clicks on "yes", then Flock initiates an OAuth request to be allowed to a) fetch the current user's social graph file and b) take actions on behalf of the user such as setting their status or sending a message/poking/whatever another user on the site
  5. The user acknowledges the OAuth request and clicks some allow buttons
  6. Voila! A fantastic site specific "people bar" right in your Flock browser
So, that was a VERY Flock specific flow, but as I mentioned with Twhirl up above, absolutely no reason that you couldn't do the same thing with those type of people notifier on your desktop apps / widgets / etc. -- just start by typing in the URL of the website, the app would go and discover the social graph link and/or initiate an OAuth request to authenticate, and all of a sudden you're directly monitoring the different community websites you're a part of directly. Bonus points to websites that expose the social graph as an XMPP Pub Sub endpoint so these apps don't need to poll constantly.

Now, I know the first thing we're going to have to do is fight a religious war over the format of the socialgraph file. I'm going to suggest some minimal FOAF format, since I'm a born again RDF fan.I don't want to go spraying email addresses all over the place, so perhaps either local unique user GUIDs or OpenID could be used as identifiers for each person. We actually don't need full "person" information -- a username, avatar, status message, and date stamp for last activity sorting should be the minimal set. Even status message could be option for smaller, less complex sites so almost anyone could support this out of the box: just show everyone on the site (yes, that's right...ignore any sort of "friend" connection) sorted by last active -- which could be a post / comment, or (again, simple support by many sites...) just date stamp of last login.

I'd like to think that the choice of OAuth as credentials for acessing this info isn't controversial at all. Feel free to layer OpenID in here somehow, but for the action-at-a-distance on which cool functionality can be built, this kind of a token system looks to be ideal.

What next? Well, surprise, surprise, I'm going to take a crack at getting this implemented in Drupal. Raincity Studios is already working on the OAuth module, which would be one of the main pre-requisites. Once the format of the social graph file is defined (calling Joshua, Arto, and maybe RalphM...), building the next piece shouldn't be too hard.

Ideally, something like the Gnomepal Drupal distribution would ship with this out of the box (for the really ambitious, Drupal 7 core!). And other systems like Marc Canter's People Aggregator could easily expose this social graph info as well.

I'm excited at the continuing growth of every website as a dynamic web application, and also of the exposure of data and APIs by this web of sites. This feels like the right path we're travelling on to get everything a little bit more interconnected.

Syndicate content