Drupal + Microsoft = useful web system for charities (Project name TBD)

A couple of months ago I was approached by Robert Castelo of Code Positive if I would be interested in working with Microsoft to build some useful Drupal tools for charities and NGOs. Since I work exclusively with charities as a Drupalista, there were no reasons to decline. I was also interested in getting in touch with Microsoft to know what they have to offer.

After reading the paragraph above, perhaps some people are booing at me for working with Microsoft. But I'm too practical to be an idealist. I exploit pretty much any offers / tools that are available to do what I want to do unless I find it unethical in my own standard. Ubuntu is my choice of OS/distro, but I own a MacBook and use OSX because I can't run OmniGraffle on Ubuntu. I prefer fairtrade / organic stuff but I buy normal stuff too. But I would never use an airplane to go to Manchester from London and never shop at Primark. Get the idea?

Is Microsoft evil?

I guess there is a number of reasons for Microsoft to be considered evil. I don't know a great deal about their strategies so I can't say much. But from my perspective as an open source developer and a Drupal community member, I find that their strategy 'Embrace, extend and extinguish' proposed in The Haloween Documents particularly evil. I also believe this explains why Internet Explorer 6 behaves that way.

So yes, I would say Microsoft was evil. And as we all know, with IE6 they made web developers' life a living hell. But they seem to have changed the strategy against FLOSS recently and I'm glad to have found that out. After I got involved in this project, I learnt Microsoft is now trying to incorporate different FLOSS by supporting the projects and developers, and organising / sponsoring various FLOSS-related events.

This probably means that FLOSS has become too powerful for Microsoft (or probably any private company) to kill. From business point of view, it makes so much more sense now to incorporate FLOSS to make their product more attractive, rather than simply competing against it. William, the Microsoft staff who organises the project, also mentioned that Microsoft's recent strategy for FLOSS is 'coopetition' (collaboration + competition), which I find is a much healthier approach. Also it's a big win for the FLOSS community as a whole :)

What are the aims of this project?

To be short, Microsoft had some budget for promoting their products and also testing to see if their products work well with FLOSS. Robert then suggested it can be somehow utilised for good deeds.

Microsoft is keen to promote Silverlight and much of the budget for the project has been raised to promote this specific product. So we had a meeting and discussed how we can kill many birds with one stone.

Homemade Digital, a London-based Drupal company which specialises in non-profit sector, stepped in and gave us some very useful input. Martin Gill, co-founder of Homemade Digital, worked for the charity Comic Relief as Fundraising manager and later as Head of New Media. He led the famous fundraising campaign Red Nose Day for several years and is conversant in the 'science' behind fundraising using the web. Martin pointed out there isn't any Drupal module for effective fundraising, which should include:

- telling beneficiaries' stories using multimedia that grabs potential donors' attention
- accepting one-off and recurring donations
- accepting donation in multi-currency
- multi payment gateway to give charities a choice
- pluggable tax relief options (e.g. Gift Aid for UK taxpayers)

We then realised Silverlight would be a powerful tool for telling stories of people in need.

There are some other ideas to link Drupal with the MS technologies to help fundraising, such as:
- Using MSN Messenger to allow small charities to provide web-based online assistance
- Using Bing Maps and Silverlight to display charities' work on a rich interactive map

What are the deliverables?

By mid April, we are planning on contribute back the following modules to the community:
- Fundraising module
- Drupal-Silverlight integration
- Drupal-MSN Messenger integration
- Email newsletter to stay in touch with donors (polishing up Robert's ENewsletter module)
- Bing map integration

Each module will be independent from each other that it can be used for non-charity purposes, of course :) As a package, however, they will form a powerful tool for charities.

[10/March/2010 - updated the description above to clear up a misunderstanding! ]

As you can see, some of the works are not related to their products, but they generously accepted it and agreed to support the project for a good deed. That's very cool of you, Microsoft!

Who is involved?

Adub - Django Beatty
Code Positive - Robert Castelo
Homemade Digital - Martin Gill, Ben Alexander, Benedict Steele
natts.com - David Nattriss
…and me, Mori Sugimoto

What's the name of the project?

Well, we aren't creative enough that we haven't been able to come up with a good one yet. If you have any suggestions please let me know!

I, as well as the guys above will be blogging about the project's progress weekly, as it is one of the requirements posed by Microsoft. Stay tuned :)

Comments

Good report!

Mori,

I have very limited experience with open source project so far. Since starting to use Drupal seriously in the summer of 2009, I ended up with using Apache, PHP, MySQL, Ubuntu, etc. These are just a few, and there are too many Drupal contributed modules to list here.

What I learned from this is that we humans CAN really help each other, instead of competing each other in a cut-throat, violent environment. There are many people who have devoted their time, energy, knowledge and so on just to produce their products useful for other people. There are those who answer your questions online for free. All these efforts and energy will eventually lead to a better world, with more efficiency and productivity, with less conflicts, with more harmony, I think.

And now Microsoft started cooperating with and contributing to open source community! It can be really a good news for people. With their money and talents, they can do tremendous things which could have not been achieved without them. I hope really beneficial output to come from this project and from them. Keep updating us on this, please.

Microsoft does a lot of

Microsoft does a lot of disaster relief work too:

http://news.cnet.com/8301-13860_3-10441297-56.html?tag=mncol

Also there's CiviCRM for Drupal which may do some or all of the stuff you mention. It's as close to a "module for effective fundraising" as you can get right now.

All the best for your effort,

All the best for your effort, although I am skeptical because this seems to be all about pushing Silvelight's adoption to a wider circle. I also can't believe that you gave CiviCRM a complete go-by, saying there is no module for effective fund raising in Drupal - you have more than just a module with CiviCRM.

integrate, extend and configure

i think the money would be best spent doing integration work of MS APIs with existing Drupal projects.

Building modules with a narrow vertical focus is a dead end. If it has to be charity related then do the API extension first and then build a feature for NGOs.

So make sure you extend existing modules like ubercart/ecommerce and simple news.

Re: anon above. Certainly

Re: anon above.

Certainly know a lot of NGOs and Charities where better CiviMail and CiviContribute integration modules would /really/ rock.

CiviCRM

i'm delighted you'll be contributing some new charity tools.

It seems odd though that you could be fulltime doing NGO work with Drupal and not have heard of CiviCRM? It offers several of the features you'll be implementing, and LOTS more.

I agree with "integrate, extend and configure"

Standalone modules will not do, especially a fundraising one. Time and money would be better spent enhancing something like CiviCRM that already provides fundraising management and integrates with Drupal. I do Drupal web development for a lot of charities and Canada and I am not interested in any more forks in module development. Please look a little bit more at existing modules before you go running off and creating your own.

First of all thank you very

First of all thank you very much for all the comments and advices. Very much appreciated!

I didn't explain some of the things in detail in the post so it must have made some of you wonder why we came to the decision and thus makes our effort seem duplicate / wasteful. However we have thought about it to the best of our knowledge and experience.

The first thing I should clarify is that, the target users of this 'package' includes very small charities that can hardly afford to build a website. I've come across many small organisations as such. I organise a regular event called Practical Drupal for Small NGOs, through which I (as well as the UK community member) help them build and maintain their websites.

I wouldn't say larger charities are always rich, but I have worked with few of them (Greenpeace UK, Concern Worldwide, Save the Children Alliance etc.) most of them seem to have enough resources to develop custom solutions. Their efforts should still be coordinated to avoid wasting donations, but that's what Drupal for NGOs was established for.

why we are not using CiviCRM

I think CiviCRM is a great tool that offers so many features out-of-box is amazing. However, here are the reasons why we didn't go down that route.

too many features

It is almost too powerful. It is like handing a chainsaw to people who only need a jigsaw, or handing Acquia Drupal to people who only need the very basic Wordpress.
Peter Brownell, CTO of School of Everything, once told me what they do mostly with their Drupal site is to take out options to simplify the for users.
CiviCRM may offer everything a charity may need, but it seems to offer more than enough, which can make it difficult to operate and maintain.

CiviCRM is not Drupal

In fact I have used CiviCRM in a big project and fall out of love. It works mostly without utilising Drupal hooks/APIs, its code is object-oriented and uses Smarty as the template engine. When it comes to customisation, what I thought could do relatively simply often turned out to be bloody complex.
It might be just me that sucks and don't know how to do it right. However, there was a BoF session 'CiviCRM survivers' at Drupalcon Szeged, which only about 2 people attended (that suggests most others died :p ). Also the guys from Homemade Digital tried it out and didn't think it was the right tool for our case. So unfortunately we decided not to make use of this powerful tool.

why we are not using Ubercart

With Homemade Digital, I have actually built a donation system that fulfills all the requirements stated in the post (example). However, I had to find a number of hacky workarounds to get it working (example). Also, Ubercart is a big tool that has a quite steep learning curve. I don't know if small organisations need to learn it just to accept donations.

Simple is beautiful :)

I guess the keyword here is simplicity. From geeks' / tech people's point of view, complex tools solve all the problems. But from users' point of view, often it's only theoretical and I have come across a number of cases like that. The tools are there to solve the issues, but people can't use it. It's a moment when a solution becomes a problem. We would like to provide something simple that just works (heard that somewhere before...).
Usage statistics shows that Donation module is used by about 200 sites, which is not many. But it means some people find it useful. I don't think maintenance of the module should be discontinued in favour of Ubercart. Likewise, the fundraising module we are planning to build may not be used by thousands, but would be appreciated in a niche (FYI we are building it on top of something. See the bottom of this comment)

================
@akishige / wayfarer
Thanks for the link to the article. Yes, Microsoft's founder is a philanthropist and they do development / relief works. It's just that their previous strategy against FLOSS that I find evil :p

@kvantomme
Thanks, good point. We are of course making it generic enough that, for example, Silverlight integration will be a useful module for non-charities. However, with the budget / time constraints, as well as the nature of the project (what they want as deliverables, the end of fiscal year and those things), we prefer not to go _too_ generic as we will end up in offering end users nothing tangible.

@Nico
I will blog about the work I have done soon (as it is a requirement), but as due-diligence, I have looked at all the D6 payment-related modules on d.o (there were about 120 of them, many of which were UC-related). The fundraising module will probably integrates with Simple PayPal Framework / Simple Payments. There will be no forking either (and forking is not generally accepted in Drupal community afaik).

Thanks

Thank-you for clarifying your reasoning behind the decision to not use CiviCRM. I would have to agree with the comments that it isn't a "Drupal" project and that it is not yet fully mature. I think CiviCRM can be replicated in Drupal using existing contrib modules, with minimal hacking. It may not work exactly the same as CiviCRM, but I think the benefits of having a fully integrated NGO CRM would be tremendous. I build for very small to large NGOs and I can assure you that the small ones have enough of a budget and internal knowledge to handle an extensive CRM. My company will be looking over the coming months at creating Tiered Distros for NGOs. By assembling prepacked drupal installs for NGOs we can minimize the cost needed for them to deploy. I look forward to what your project puts forward and I thank-you for taking the time to share your ideas.

"Building modules with a

"Building modules with a narrow vertical focus is a dead end. If it has to be charity related then do the API extension first and then build a feature for NGOs. "

I completely agree with this poster, even after I read your subsequent comment defending your position.

One of the guiding Drupal philosophies of late is to make the common things easy and make the difficult things doable. The effort that you are putting in to make Drupal payment module #121 would be better spent at making the most flexible option more simple be that Ubercart or CiviCRM. No need to re-invent the wheel. There's plenty of existing wheels out there that just need a little polish. You may be actually making it more difficult for the small NPOs by adding to the list of possible solutions that they need to wade through.

"When it comes to customization, what I thought could do relatively simply often turned out to be bloody complex."

I've been using CiviCRM since 0.7 and it's not just you. To estimate the time to do something in CiviCRM take the time that it would take you in Drupal and double it. CiviCRM is not yet a mature project. I would say it's about equivalent to Drupal 4.6 or 4.7 in terms of polish, ease of development, etc.

@dalin Thanks for your

@dalin Thanks for your comment. It's good to know that it's not only me or people around me that have difficulty customising CiviCRM.

I think I should have made it clearer in the main blog post that Silverlight and Bing Map will both be a module and not integrated into the fundraising module. I agree that would be a disaster.

I don't believe in one-size-fits-all solution unfortunately. I like things that are small and manageable, as well as things that are big and powerful. I think the two (or more) can co-exist.

API will help everyone

We're embarking on a web overhaul, including Drupal as our cms, at the non-profit that employs me as web manager. Microsoft offered us SharePoint, which we now are configuring and beginning to use office-wide in addition to Office, etc.

We have a non-profit version of Salesforce, which is not well-liked, a Network for Good DonateNow page for donations, and do small mailings from Outlook (dangerous re can-spam).

I've been looking at Civi-CRM as a solution, using Events (for five yearly non-public, non-paid events, where we do send out invitations and would like to send documents and/or establish groups for participants), Fundraising (to replace DonateNow perhaps), Email (perhaps with integration to a service like Mail Chimp, Emma or Campaign Monitor), Reports (for all activities). Looking for a method to roundtrip data from and to SharePoint (or Outlook if necessary). Or another unified solution to all of our requirements.

Many non-profits need something like this. Civi-CRM seems close enough to work. I do understand it's hard to customize, but don't see anything better for a similarly integrated set of features. Any chance of help with SharePoint integration to Civi-CRM? Or other solutions?

RE: The Evils of Microsoft

We all know everything they do is PR driven. They pay people to come up with ideas that will make M$ _seem_ less evil and more useful. Even down to the _richest man_ on the planet being a philanthropist. How could he not be charitable without being hated and bringing that hatred to M$?

M$ now know that they will not win this revolutionary war. All they can do is resist and long as possible before their Golden Goose dies at the hands of the Open Source "Cancer"

Oh but now they're happy to work side by side with cancer 'ey? I for one would never install Drupal alongside M$ tech. That's like putting sprinkles on a dog ****

You guys made it!

I see that the DaNGO project is an installation profile on drupal.org now. Congratulations. I've been following the project, since I'm in the midst of managing development of a Drupal website for a non-profit that uses Sharepoint/Office/Outlook internally.

Great work in a very short timespan! I'm happily surprised...

As I said on Homemade Digital's blog (not sure the comment will be posted, so repeating it here):

What would make the DaNGO project really work for NGOs in the real world would be roundtripping of data to Office/Outlook/Sharepoint. I need roundtripping of email addresses/mail groups at the very least. Better would be de-duping of emails as well. And reports on donations to Excel would be very sweet.

Microsoft folks: this needs development support, and would make a huge difference for non-profits. It's still the missing piece: integration of the data between Drupal and Microsoft apps. Hope you can fund this part, so that it's possible to easily use Drupal with Office/Outlook/Sharepoint.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • You can use Markdown syntax to format and style the text. Also see Markdown Extra for tables, footnotes, and more.

More information about formatting options