Drupal, Personal Publishing, ePortfolio

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.

This whole community platform thing might have some legs

David Crow in Toronto picks up the community platform meme and lists some other tools / platforms available in response to Chris Pirillo's announcement regarding the building of Gnomepal on Drupal.

I already commented on Chris' initiative here, but here are some comments I made on David Crow's post:

Now, which of those listed platforms have portable data? Which of them are a suitable platform for building the (invariably) custom pieces that each community may want as they grow?

The tough part with many systems -- especially closed, hosted ones -- is that they provide great initial starting points, but then often lack in customization or growth options. And god forbid that your platform provider "go away" -- then you're completely stuck, and need to start over.

This is why I have chosen to go with fully open systems, because they can grow with communities and can never be locked down or disappear.

@Varun:
Facebook is ultimately closed and not a participant in the "open web". And it's someone else's platform with someone else's rules. I would hope that we steer around such closed instances and strive to connect openly.

@Peter Childs:
"What I’d like to see is a platform that recognizes communities are networks of interests (people & organizations) and doesn’t try to become a destination"

I think this is spot on -- don't try and a become a destination IN AND OF ITSELF -- but rather add value through various aggregation and hub features. This also seems to argue for mini-networks that cross sites.

Open platforms are as important as open data or any other cross site initiatives. I don't care what you end up picking as your community platform, as long as your data and your users can seamlessly interwork with the other systems out there. The network is not the destination.

Chris Pirillo of Lockergnome announces Drupal-powered Community Participation Platform, hackfest in Seattle

Chris Pirillo is picking up the torch first raised by Marc Canter over 4 years ago: open community platforms available for everyone, powered by Drupal.

Chris is a long time friend and colleague, and it's great to see him stepping up and saying that he wants to make an out-of-the-box install profile for social communities -- blogging, SEO, multimedia, content licensing. And the thing is, the pieces ARE there. It just needs some effort to put it all together and integrated, and that first run experience integrated into an install profile.

Here's a short quote with some thoughts from Chris on what he wants -- a Community Participation Platform. I think this meshes with Acquia's meme on social publishing:

I don’t want a social network, I want a socially *RELEVANT* network (both on-site and beyond). I don’t want a community platform, I want a participation platform where members are rewarded and ranked appropriately. I don’t want a place where people can just blog, because I’m going well beyond the blog. It’s not just about hosting videos, audio files, or any piece of random media - it’s the discovery mechanisms between them that make them more relevant.

It’s discovery - no matter the community, no matter the type of content. Imagine coming to a site and not just reading about what other people are interested in, but what interests they SHARE with you! Imagine coming to a site and seeing how someone ranks in answers pertaining to your own questions! Oh, I’m confident you may have seen these features elsewhere - but what about for your own site, what about for your own community, what about for your own ideas?

And Chris isn't just shooting his mouth off: he's already been working on this for some time, with Adam Kalsey just recently releasing Activity Stream (a Friend Feed clone), is going to be at the Drupal co-working in Seattle, and is hosting a Drupal hackfest all this weekend (March 29 - 30th). I won't be able to attend the whole thing, but I hope to drop in on Sunday (want to drive down to Seattle with me? leave a comment...).

My interest? Well, easy to use install profiles – whether brands of their own or "merely" great bundles of expertise put together to serve specific needs has been a long time interest and push of mine: it's the way we can make Drupal accessible and optimized for every web vertical and user community.

In a more commercial vein, I hope that Raincity Studios can be one of the first hosting providers to offer Chris' Community Participation Platform at the click of a button.

I'm looking forward to the next exciting piece in this adventure, Chris. You've made an awesome statement of purpose, and like all open source, I'm behind you 100% of the way.

Open Source stands together

Matt Mullenweg had to make a pretty clear statement that WordPress is Open Source in response to some sniping from MT.

I already left a comment in support of Matt, and he tossed it back my way:

Thanks Boris, I think the way Drupal and WordPress have co-existed is a great model to follow despite a few distractions along the way, and your role in facilitating that as an ambassador has been crucial. It’s rare for code for one project to be directly applicable to another, but ideas and values are contagious — in the good Isley Brothers way.

I know how this can be. We flirted with dual licensing around Bryght's mass hosting system, Hostmaster. In hindsight, it probably delayed development by 2 years. Now hosted on Drupal.org, Hostmaster has a couple of more developers buying in and it feels like we're developing some momentum.

We made a Bryght "install profile" -- a bundle of code and configuration and a little custom module for doing some cool stuff with CSS overrides. From day one, it's been hosted on our public SVN repository, and includes the original CVS tags from Drupal.org itself.

It was amusing to watch that MT4 actually had as a feature that other systems had adopted their templating system -- namely a single contributed module in Drupal that can support MT themes for bloggy sites.

Basically, sniping other open projects isn't cool. In the first meetings that the Drupal community ever had as a group, in Antwerp and Amsterdam, we had Joomla community members and senior devs. It was so fun playing with the Joomla guys and matching t-shirts and groups shots with Rasmus at OSCMS 2007. Amy Stephens +1 -- check out Open Source Community.

The "enemy" here is proprietary systems (and those really are quotes around enemy, as I recall having a great discussion with a proprietary Java based system developer this morning at CCI2008). They are not good for business, they are not good for communities, and they are not good for the growth of this interlinked web of data that is becoming truly useful.

I ran a couple of not really that successful because they were TOO Drupal heavy "Open Source CMS Summits". I'd love to do more of them, because we have so much to learn from each other, but we are all so focused on growing our own communities, each bit of *friendly* rivalry pushing the others to get better. Like the Isley Brothers :P

Off to Boston for Drupalcon, see you on Jaiku, Twemes, Utterz, and at my sessions

My cab should be here in minutes, so this is going to be a quick and dirty post. I'm just getting over a cold and trying to be in top shape for Drupalcon Boston 2008 so apologies for the last minute posting.

I'm running a session in the site building track on Mapping business requirements to Drupal modules - a gap - fit process. This could as easily have fit into the business track, and really it will bridge both. I'm looking forward to making this, in part, an interactive session, a way to raise some interesting questions, and ideally to share best practices. Expect everything from project management, scoping, to Boris' gold star module development. Oh, and I'm going to yell at people for not expanding their business models.

The good folks at Palantir asked me to help sit on a panel to discuss getting your team up to speed in Drupal. I don't have a good outline of that yet, but I have lots of ideas around that concept. Anything new? Perhaps not, but working with the larger team at Raincity Studios has been a joy, especially in the mentoring department.

Lastly, I'm moderating a birds of a feather (BoF) session on RDF and the Semantic Web...but really, I'll just be a remote mouthpiece for Arto Bendiken the architect and programmer behind this latest wave for Drupal.

I'm using a couple of different tools to broadcast messages out about happenings at this event. A forum post on the Drupalcon site talked about one way to use Pownce / Twitter. I also like Twemes, something built locally in Vancouver to track stuff on Twitter using hashtags. Simply use the hashtag #drupalcon and all your twitters will end up on this page: http://twemes.com/drupalcon -- there's also an RSS feed on that page. For Jaiku, I figure we can re-use the #drupal channel, since it's not that high volume in any case. Posts here on this blog will be using the Drupalcon Boston 2008 tag (again, there's a feed on that page). Any Utterz* I will tag with that as well.

I've posted also on the Raincity blog and over on here. See you soon!

In San Francisco, going to Drupal 6 Release Party at PariSoMa

I've been in SF all week on short notice -- client meetings, training, etc. Friday evening is open, and I'm going to join Kieran at the Drupal 6 release party (upcoming) being held at PariSoMa (a cool coworking space, apparently).

Don't wanna talk Drupal? That's fine, I'm up for DiSo, identity, Jabber, startups, whatever. I'll be in the one in the cowboy shirt holding a beer :P

P.S. Drupal 6 got released. It's going to be great. I'm stoked about working on some mega OpenID infrastructure.

Syndicate content