Contributing to Drupal Radar

One more before we go - Boris Mann is joining Drupal Radar as a contributor. He’ll be writing articles and helping to grow our Radar Database feature and make it more useful for other sites via RDF or an API. Watch out for his byline soon!

via DrupalRadar.com

That's the quote buried at the end of On The Radar: 17th July 2010.

I talked to Steve Parks, founder of Drupal Radar, on Friday morning. He's based out of the UK where he runs Pilot Internet, and comes from a journalistic background. Steve started out as a BBC Radio Journalist and started way back in the Drupal 4.6 days.

Steve says:

"it got to the stage where I wanted to give something back to the community, and I thought I could this in two ways:

  1. Documentation
  2. Helping the community stay cohesive, even as it gets really large, by having a good trade publication to keep everyone up to date, with independent but informed journalism. That's the aim for Drupal Radar".

I was planning my own Drupal information related project, and when I saw what Steve had already put together, I reached out to see if we could work together.

This is very much Steve's baby (perhaps we'll call him a Benevolent Editor rather than Dictator), but he's hoping to build DR in an open collaborative way, much like the Drupal community itself. This means CC licensed comment, including the "Radar Database" which will be information about the people and companies in the Drupal ecosystem. Sort of a Crunchbase for Drupal.

Themes and modules are derivatives and should be licensed under the GPL

I've spoken out in support of Matt Mullenweg, WordPress, the GPL, and general open source community principles before. It seems like we keep having this discussion, and that it often degenerates into a battle of personalities.

Here's what I continue to believe about licensing and the GPL, which started as a comment on Why the GPL does not apply to Premium WordPress themes, which is part of the #thesiswp running battle. For context, you may also want to watch the Chris Pearson / Matt Mullenweg interview.

Bottom line: Themes and modules are derivatives and should be licensed under the GPL. You can use trademark and other non-code protections that will let you sell them and limit distribution if that is your chosen business model.

The rest of this is the comment I posted.


The way that PHP is executed means that everything runs together in the same space, with no separation (this is a simplification, but essentially correct). So, not the same as the red herring about software apps and operating systems (this comes up all the time).

The Drupal community generally agrees with WordPress in that all themes and modules are derivatives and thus must be licensed as GPL *if* you distribute.

Private code repo hosting with Beanstalk and RepositoryHosting.com

For many years, I've settled on Unfuddle as my hosted tool of choice for development-focused project management and version control repo hosting. It's a great tool if you want all in one development ticketing / bug tracking (which is what I mean when I say "dev focused" PM) plus your code repository all in one place.

However, I've been moving away from using Unfuddle for this type of project management, or been called into other projects where an existing PM tool is already in place -- most notable, either Basecamp or Open Atrium, with the Drupal-based Atrium being something I'm very keen on supporting (interested in seeing more hosted tools integrated with Open Atrium? contact me).

In cases like this, I really ONLY need a (private) hosted code repository*. I saw an article recently comparing various options for private DVCS hosting (DVCS = distributed version control systems like Git or Mercurial) which nicely complimented some of the research/experimentation that I've been doing.

The review states its goals very clearly: lowest cost-per-repository, with storage used as a secondary consideration. Everyone will have their own needs to rank providers across.

For me, I'm interested in a mix between features and pricing, especially using it on a consulting basis with lots of clients, and different kinds of clients (from those that don't use version control at all, to those that have in house developers already).

RepositoryHosting.com is clearly the lowest price-per-repository: it's $6 / month for unlimited repos with a bundled 2GB of storage, plus $1 per additional GB of storage. No "cost per project" means I can generate a project per client / idea / whatever and not have to worry about it. There is bundled ticketing in the form of Trac, and it's likely OK / has evolved since I got sick of it when we used it at Bryght -- I'm not giving points in this review for PM tools in any case. The WebDAV shares is a very cool feature, especially for integrating clients, designers, and other folks into the mix that will find it hard to adopt the version control system directly.

On the features side of things, my pick goes to Beanstalk. It starts with a free plan so you can check it out right away with 1 private repo. The first paid plan is $15 per month, and I'm fine with their 10 repository limit, but I'm always annoyed at limited user counts. Regardless, it is a super clean interface that people will find very easy to use and it integrates with a ton of different tools (Twitter, Basecamp, Harvest, etc.). But the main reason it is a choice that I'm going to be using more and more is that it offers direct FTP / SFTP deployment. I think this makes it a perfect tool for design-centric shops -- they can continue to use FTP-based hosting services and workflows, while starting to adopt best practices version control.

Bottom line: Unfuddle is a great all in one solution and one that I recommend to clients over and over again if they have no PM or development management tools in place, but for just repo hosting, you should consider RepositoryHosting.com and Beanstalk.

Distributed commenting: Disqus, Echo and IntenseDebate

I start a lot of my posts these days with a reblog using Posterous. Thus, a lot of permalinks end up over on my "asides" blog, because a lot of the "comment" activity ends up either over there, or on Twitter.

My particular dual website problem might not be solved by this, but it's clear that keeping track of the discussion around blog posts is very much a distributed issue. Don't even get me started on the "Share with Note" in Google Reader that leaves comments stranded over in Reader where post authors are unlikely to to see them :P

The three big systems that I'm aware of at the moment are Disqus, Echo, and IntenseDebate.

On the Bootup Labs and Bootup Entrepreneurial Society WordPress blogs, I went with IntenseDebate. It's my favourite system mainly because I know the Automattic team and I trust them to do what's right for the web long term. Being part of Automattic also removes the (immediate) need to monetize heavily, so they can focus on features and support.

Disqus is very similar to IntenseDebate. In fact, I think it's great that they were being developed at around the same time, because I think the teams competing against each other spurred development and features. Disqus is VC funded, and so is trying a number of different monetization strategies. They have a paid VIP program, although pricing isn't disclosed.

I found a great compare and contrast blog post between Disqus and IntenseDebate that goes feature by feature. At the time (May 2009), IntenseDebate didn't support Facebook or Twitter logins, although they added them both. I have a hard time telling the two systems apart - any passionate users of either system want to point out killer features (or missing ones)?

Echo is the only system without a free option: you can get a 30 day free trial and then switch to either a $10 or $100 month version. Of course, it is fundamentally a very different system. While they do have "JS Kit" (their former name) accounts, this is very much de-emphasized in favour of only using distributed logins from other systems. As well, it aggregates "comments" from elsewhere - whether the comment is a link on Delicious, Friendfeed, Facebook, etc. etc. This has more in common with Trackbacks, but in the Echo system, it is highly integrated and seems more natural than the other two that are "comments first". Finally, Echo doesn't currently write back to the native comment system, using only a JavaScript plugin. This has implications for SEO, and implications for me really wanting to have my own copy of the comment should the service in the sky "go away" :P

On the Drupal side of things, only Disqus and Echo have plugins available, at http://drupal.org/project/disqus and http://drupal.org/project/jskitcomments respectively. From a technology perspective, I like the real time nature of Echo and the general direction that it is heading -- it's almost like having Friendfeed embedded under each post. But, the JavaScript only plugin and the lack of free option for personal bloggers makes it a no go. Since there currently isn't an IntenseDebate plugin for Drupal, I'm going to go with Disqus for now, even though I would rather support the Automattic team.


UPDATE: I just realized after re-reading the Disqus module description, that it will *import* comments from Drupal, but it does not then write those comments back to the native comment system. So, in Drupal, we have zero options for a distributed comment system that writes back / syncs with native comments.


The coming tablet revolution /via @RussB

My prediction? Over the next year or so as various touch-tablet devices are launched, we're going to see a massive shift away from notebook and netbook computers for the general consumer. The tablet lends itself to four areas of use: Web (including Internet-centric apps like weather, news, maps, etc.), Media (music and video), Gaming (from solitaire to Farmville-like games) and Communication (email, social networking, IM, etc.). Which is what 99% of people want their computers for anyways.

It's great to see Russell write a bunch of his thoughts down about tablets. Yes, he has an iPad, but he's actually talking about the "end of WIMP" (Windows Icon Mouse Pointer - about which you should go read his whole other piece).

This one quote I've pulled out echoes my thinking, although I actually think Gaming is going to evolve to way beyond Farmville-like experiences very quickly.

The tablet (and touch interfaces) are going to serve 99% of what people want to do with their computers. It will be very interesting to see the progress throughout this year as other non-Apple tablets come on to the market.

I see web-native apps being a major area of growth for two reasons.

One reason is that the app ecosystems on other platforms are not nearly as mature as the Apple one. That is, it's frickin' hard to make money on platforms other than Apple's at the moment.

The second is that the browser component that ships with the other platforms is at the very least on par with the iPad's browser, meaning it is the common denominator across platforms.

Evolving Drupal UX by building Products

With the release of WordPress 3, there's a whole new set of discussions about Drupal vs. WordPress.

I'm going to try and explain my views on UX in Drupal, once again using the lego analogy.

First, I propose that you need a defined purpose to build great UX. WordPress focuses on blogging, and thus has an excellent blogging product.

With WP3, they've even integrated their version of multisite / Aegir out of the box. BuddyPress is an example of a product that sits on top of this base infrastructure. So now WP does blogs as well as multi-user social groups / communities.

In Drupal, we've optimized for a big box of lego. And there are a LOT of pieces in there. Pirate bits, space ship bits, viking bits. And lots of blocks that fit together pretty well if you're creative and pick through looking for ones that match in colour and so on.

I could talk about the WYSIWYG editor that ships with WP as an example. They took the base piece, customized it, and now have a rich text editor piece that fits exactly into the blogging product. It's not even a block! It can't get re-used easily with all these pirate bits! Sometimes, it's OK to plug in that perfectly shaped lego piece that isn't really a block at all.

But that's really hard to do if you don't have a defined purpose. Because something that is perfect for a large community site isn't going to be great for running an intranet. And an open everything access & permissions model is great for the former, and dangerous for the latter.

So, if we want to improve Drupal UX, we can't just take out a big UX brush and improve everything. There are certainly base building blocks and flows that we can improve, but on top of that, it will be need to be optimized for different use cases.

Just over a year ago, I proposed that Drupal could be a great social community out of the box (as in, core install profile). I'm not so sure anymore, but I think we should continue to have the discussion "What should Drupal do out of the box?" so that a) new users have a reason to use core to accomplish a task beyond "it can build anything" and b) we can experiment with optimizing UX for that purpose. This will teach us lessons that can be re-used and rolled into all Drupal-based products.

And, in general, I would like to see more people trying to build nicely polished products that have a defined purpose: this is what will move us forward in the UX department. Dries has a discussion on the business model of products / distributions that is important - because we'll need to fund development over time.

Batchbook User Group & Intro June 15th, 2010

Having completed my move and gotten a little breathing room, I've decided to schedule the Batchbook intro / user group sharing session for Tuesday, June 15th, for 6pm at the Bootup Labs offices.

Batchbook is a social CRM tool useful for managing contacts, deal flow, sales leads, and many other things related to people and companies.

I'm a big fan of the tool, and will be explaining how *I* use it, and some of its major features. It's in a similar space as 37Signals' Highrise, and is probably a better choice for smaller / web based organizations than the big daddy Salesforce.

If you're an existing user of Batchbook, please come and share your experiences - for example, a particular way that it fits in your workflow, some of your custom SuperTags, etc.

See my previous post about Tungle and Batchbook for more info. Head over to RedRovr for the event entry and to let me know you're coming using your Twitter account.

First feature: Silent Auction

I finally got around to making a "real" feature rather than just playing around with the functionality.

I had left a comment a while back on Peter Rukavina's post 'How to run a silent auction using Drupal' about how this would be perfect as a feature. So, I installed a new site, grabbed the necessary modules, and turned Peter's description into a silent_auction feature.

The code is available from my (also brand new) Silent Auction Github repo.

This was a very easy process. I'm familiar with Drupal site building, so I point and clicked my way through the content type and manage fields screens as the main component of the project. Peter did a very good job of documenting the steps he took, so it was easy to do.

I then added his custom code to the silent_auction.module file to override comment displays. I didn't quite complete the "amount raised" block - my buggy custom block code needs some help, Github collaborators welcome :P

This was also my first experience sitting down and getting into git / Github. It's pretty amazing how great the experience of git is when you're having your hand held by Github.

The nice thing to see about features like this is that it supports a builders point of view: a certain way of building something - no user signups / accounts, using comments as bids directly, etc., plus the choice of certain modules to put it together.

Node to node relations, making a full module, enabling paypal, requiring user accounts -- all are different ways one COULD choose to build a silent auction feature. If such a silentauction.module were to be built, we'd surely find a simple_silentauction.module not far behind.

Features nicely encapsulates a starting point, but with overrides being as easy as changing a few settings, it makes it simple to continue the lego block building tradition of Drupal, as opposed to the much heavier full module or full install profile. Nice!

Now, where do I go to bang people over the head to make sure all their contrib modules are exportable…

Useful links:

PEI Trip, Unconference?

I'm going to be heading to PEI for the week of July 19th.

I'll be speaking to local small businesses at the Charlottetown Chamber of Commerce. My working title and summary are as follows:

The Web, Open Source & Your Business: Leveraging digital to meet your business goals

We are in the middle of the hype cycle of social media -- everyone is talking about tools from Facebook to Twitter. While these can potentially help with marketing, the average widget manufacturer that sells to other businesses has trouble understanding what they mean to their business. Which tools are important? Which aren't?

Local communities, including their business ecosystem, need to work together to use digital tools and build knowledge worker economies through sharing, education, and experimentation.

Open source and related concepts like Creative Commons licensing for content and open data can help with this.

We'll explore some digital tools, and discuss which ones can help meet your business goals.

Update: this talk has now been scheduled with the Charlottetown Chamber of Commerce for Friday morning at 8am (also here on Plancast)

I'll also be addressing the UPEI community, where the focus will be more on my Drupal community experiences, open source, and innovation. The Islandora team have built a digital repository stack that includes Drupal on the front end for web integration. This will also build on my talk at the ACCT Canada 2009 conference.

I know (through the Internet) lots of great digital thinkers in the area like Rob Paterson, Peter Rukavina, the team at Silver Orange, and I recently met Dave Cormier at this year's Northern Voice. During my time, I hope at the very least to organize a geek dinner, if not a half day unconference to meet with these folks and others in person. I'm still finalizing my schedule, but it looks like Saturday, July 24th would be a completely open day. 

Perhaps PEI ex-pats Will Pate and Daniel Burkha would be interested in coordinating trip timing to join in?

In any case, if you're interested in meeting up while I'm in PEI, leave a comment below or track the PEI Unconference on Plancast.

Can we turn Drupal into a game (and make the first level easier)?

the core problem that faces companies trying to build growing businesses around software — dealing with the fact that different users take advantage of different features, and that applications tend to grow more complex as their user bases grow. It seems to me that the fashionable answer to this problem is to claim to be an auteur of application development, and to only build the features that are appealing to you. But that’s not the way big software companies work, and it’s really not the way they should work. If you’re in the software business, this presentation is a must-read.

via rc3.org

I agree - this presentation is a must read (emphasis mine). Go grab the PDF of the presentation from DANC at Lost Garden.

I have been saying for a while that Drupal needs to actually cater to the bottom of the pyramid - so that more people can make it up the pyramid. The infamous "learning cliff" of Drupal means we need to make the "first level" of Drupal that much easier.

This post of moving from Ning to Buddypress would be pretty much impossible in Drupal - and that's a problem.