NewsCloud Released as Open Source

Jeff Reifman has released the NewsCloud platform under an open-source license. Great stuff. As he points out:

While there are a number of social network journalism platforms that allow a wide variety of original content, none of the latest… generation so far are licensed to the open source community to inspect, re-purpose and improve.

The technical details:

The NewsCloud platform is written in PHP and MySQL. Visit the NewsCloud site at SourceForge to download the code. Visit our Developer Wiki to get more information. There are a number of ways for developers to get involved with us. We’ve also set up a Google Groups discussion forum for developers. If you just want to integrate your site with NewsCloud, our pre-existing REST-based PHP class of Web Services API is still available.

In a world with an increasing number of information sources tied together online, it will be increasingly important for people to work together to take more responsibility for providing high-value editorial services.  It’s not the “one-size-fits-almost-all” editorial model of broadcast and newsprint anymore.
NewsCloud presents a fascinating opportunity for folks to experiment with a powerful, rich state-of-the-art platform for aggregating and discussing news stories ala Digg or Slashdot.

Update on Plone-Salesforce Integration

Loyal readers (assuming I have any) will doubtless recall that one of our projects this summer at ONE/Northwest has been building a product to connect websites powered by the Plone content management with user databases stored in Salesforce.com.

I’m pleased to announce that Andrew, Steve and I have just finished our initial testing and review of the alpha version of “SalesforceConnector” have found it to be pretty darn good. Or at least it works, which is pretty darn good in my book.

We should have a beta release to share with you in mid-September. We’ve still got some unit tests to write, some documentation to re-write, and various bits of packaging and housekeeping to attend to. We also want to make sure we understand the Zope 3 subsystems that the product uses well enough to answer in the inevitable questions about customization.

Bottom line: it’s close, and we’re even running ahead of schedule. Stay tuned. We will announce the beta widely on plone.org and on the plone-users email list.
Some initial detials:

  • You’ll need Plone 2.5 or higher and Zope 2.9.3 or higher. (Update: Thanks to some helpful advice from Rocky Burt, Nate Aune, and Josh LaPlace, we now believe that Plone 2.1.3+, Zope 2.9.3+, and Five 1.4.1+ should also work, but we haven’t yet tested this configuration.)
  • You’ll need Salesforce.com Enterprise Edition (because that’s the lowest product tier that offers the Web Services API) or a Developer account.
  • SalesforceConnector will let you:
    • Store new Plone users directly in Salesforce.com
    • Update user data in Salesforce from Plone
    • Log in Plone users in by consulting data stored in Salesforce.com
    • Look up user data stored in Salesforce.com from Plone
    • Collect any custom user data fields in Plone and store them in Salesforce.com

Good stuff, eh? I’m pretty excited about the possibilities this is going to unleash.

We’ve been able to do this work thanks to a grant from the Salesforce.com Foundation and are fortunate to be working with our partners at Enfold Systems who have done most of the heavy technical lifting. Many thanks to both of them.

If you can think of a better name for it than “SalesforceConnector”, please let me know. Releasing software is hard; good names are even harder.

Writely Reopens

Writely, the web-based word processor that Google recent purchased, has re-opened to the public, for free.

It’s not quite a replacement for Word, but it’s a damn handy tool for writing documents collaboratively.

Some Observations on Nonprofit Software

My colleague Steve Andersen recently penned a short article entitled “Some Observations on Nonprofit Software” that lays out a few of the core assumptions we hold about how software tools for the nonprofit sector can and should play nice together.

The core of the argument goes like this:

  • Missions are serviced only by engaging constituents to action
  • Engagement activities aren’t unique to nonprofits, so the tools aren’t either
  • The best way to build software for nonprofits is to find tools that successfully addresses most of your needs and then add the nonprofit-specific functionality
  • Software targeted at a larger market than nonprofits will improve faster than software specifically for the nonprofit market
  • Software that has open Application Programming Interfaces makes the “build-on-top” model work
  • There is a market for nonprofit-specific software that serves a defined function and is accessible via robust APIs

Go read the whole thing.

(The article supports comments, so you can leave them there if you like)

A Peek Under the Hood of Open Source

Jonah Bossewitch’s summary of this month’s Big Apple Sprint is a great peek under the hood of what effective community-driven open-source development process looks like.

Big Apple Sprinters

I also think that the substance is pretty compelling to nonprofit website builders, because it’s all about “that Web 2.0 stuff” like multimedia, tags, blogging and creative commons licensing.

Here’s the meaty part of Jonah’s summary:


Multimedia
– focusing on improving the handling of multimedia
content w/in Plone. Topics included transparent management of multiple
media formats, improving the quicktime player, abstracting the common
controls from the different media player formats, merging Austria’s
ATVideo bittorrent branch, allowing for remote resources to be managed
by the media types, and the integration of CCNMTL’s video clipping tool into
PloneMultimedia. Thanks to Nate, Gary, Anna, Kurt, and Sky for making this group a productive success.

Discussions emerged around the hybridization of modern media formats.
Is an audio track with synchronized gifs a piece of audio or video media?

A new ‘media’ container was introduced to PloneMultimedia allow for the mgmt of media that spans multiple traditional formats.

Annotations/Tagging – laying out the jigsaw puzzle that tagging, rdf, taxonomies, folksonomies, and sticky notes, and microapps have become in the hopes of consolidating on a common strategy to move forward. The Yucca
project was born after we all began to realize how many of our problems would naturally fall into place with a robust engine which supports user contributed
content annotations.

Also, work was done by Anders and Chad on the sticky notes product with the aim of factoring out the notes so they could be used outside of plone too (with the persistence abstracted, so that it could be backed by a microapp – like pita, or even stored client side), as well as improving the editability of the notes – they now support “double-click to edit”. Great job!

Blogging/Syndication – This group (Rob and Kurt) was primarily working on polishing quills so that it provides a smooth user experience. Progress continues and Quills is looking like a serious contender.

Content Licensing – see Nate’s post on conetent licensing in plone. This work was conducted primiarly by the group working in Utah, out of C()SL.

In case its not obvious, there was a great deal of overlap between the interests of the groups. For example, the multimedia team was also very interested in tagging, syndication ((p/v)odcasts), and licensing. Although it initially seemed challenging to tease the participants apart, the groups self organized quite organically.

The sprint was very productive, educational, and great fun as well. Beyond the technical achievements, relationships were forged that we expect to flourish in the months to come. I think we all witnessed tremendous convergence across our organizational requirements, and are also convinced that the tools we are working on will be in great demand once the corporate world figures out how useful these technologies can be.

Finally!

There were those who said it couldn’t be done. There were more who said it shouldn’t. But we took their advice and ignored it with all the gusto we could muster.

We finally flipped the switch today on the new, Plone-powered ONE/Northwest website.

It’s a got a lovely new design, a bunch of new content (and most of the same old stuff you love). But more importantly, it’s now powered by the best open-source content management system out there, and it gives us a solid platform for doing some serious refacoring of our content over the next few months.

This is just the beginning. Look for us to roll out a steady stream of improvements over the next few months. One great way to keep up with new content is to subscribe to our RSS feed of new articles. If you’re more email-oriented, you can subscribe to ONEList, our monthly email blast of goodness.

Buy me a beer and I’ll tell you all it is to redo your own website when you’re scrambling to launch sites for clients.  😉

Single Stacks, or Network-Centric Web Services?

Reading Zack Rosen’s assertion that building applications inside Drupal-the-framework makes more sense than loose integration of complementary applications triggered some thinking that’s been rattling around in my head for a while.

I think that the next few years are going to bring tremendous challenges for applications that do not easily communicate with other applications that are “outside their platform” i.e are written using a different language/framework, run on a different server, etc.

I think the most powerful path forward over the long haul is internet-based integration between great applications that were designed from the ground up to allow for it. 
In other words, web services APIs are going to become increasingly more important, and the particular application frameworks less so.  This the “small pieces, loosely joined” model, to echo the phrase that others have appropriated from Dave Weinberger’s influential book.
There are some great communities and significant resources behind very cool projects that provide great functionality that I really want to be able to tap. I don’t want to have either persuade them all to develop in a single platform (it’s just not going to happen) or try to duplicate all of their functions in whatever platform I’m most comfortable in. (Which, truth be told, is “none of them.”)

My colleagues here at ONE/Northwest and I would much rather focus on integrating best-of-breed applications that have strong web services APIs and are designed around the assumption that external applications are first-class citizens of their ecosystems. (Damn, that’s a lot of buzzwords.)

At the end of the day, why should I have to care if an application is based on Python, Zope, PHP, Rails, Django, or some technology I’ve never heard of? Why should I have to run all my applications off a single server? That’s not scalable. We now have a whole set of standards and technologies to let applications communicate with each other over the internet.

“Web services” is one of those complex, slippery terms that means lots of different things to lots of different people. To me, in this context, it means applications that share data with other applications over the internet. The more of your application’s guts it can expose to the outside world, the more powerful your web services API.

Some applications that I think are really moving in the right direction with web services support are:

  • Democracy In Action — powerful API, alas, not yet well documented. Little known fact: the smart guys at Enfold Systems have releaesd a Python wrapper for the Democracy in Action API, which (supposedly) makes integration with Plone possible. Haven’t tried it yet myself. But I’m looking forward to it.
  • Salesforce.com. Holy cow, these folks really get it. I’ve heard that half of their traffic is through their web services API. This is how a relationship management database should be — accessible by most any external application.
  • WhatCounts. These guys do our email blasting. Lots of folks do email blasting, some probably just as well as WhatCounts. But what sets WhatCounts apart from the pack fo us is the fact that they have strong APIs. This lets us do cool stuff like pull in names from Salesforce, or inject new subscribers from Plone, or pull in content from a Plone site. (Well, technically pulling in content from the outside doesn’t use their web services API. But the point is that WhatCounts can pull in data from outside and let other apps push data in.)
  • Another, less strictly “web services” example is Plone’s new PlonePAS framework. Basically, it’s a framework for authenticating users and retrieving user data from any old data source you’d care to write a plugin for. We’re going to try to use it to integrate Salesforce.com and Plone.
  • The whole open-source GIS software ecosystem, most especially including MapServer. My next-door neighbor, Chris Davis of CommEn Space, has shown me some really mindblowing stuff with maps that dynamically draw in data from all over the internet, thanks to open data standards and web services.

Can you see an advocacy software ecosystem here yet? I can.

And let’s not forget all the “Web 2.0” applications out there that are getting so much hype these days. One important thing about the most exciting of these tools such as Flickr and Del.icio.us is that they can be written to and read from by outside applications via web services APIs.  (Amazon has done amazing stuff here, too, albeit without getting much “Web 2.0” credit for it.)
This is where it starts to get cool. The days of monolithic application stacks that try to do everything are fading fast. A new “network-centric” software ecosystem is starting to bloom.

And the best part: nobody has to “deeply partner” or adopt a single platform to make it work. They just have to focus on building great web services APIs so that other applications can meet them halfway. That’s not easy, but it’s surely easier than getting everyone to adopt the same platform.

Some software tools that I really hope build strong web services APIs as they roll out their next releases include:

  • Green Media Toolshed
  • CiviCRM (their web services API work seems to have stalled out in favor work on a PHP API that only talks to a PHP application (like Drupal) installed on the same server. Hopefully their focus will soon return to playing with the outside world, too.)
  • Custard Melt
  • Advokit
  • All of those nonprofit online donation tools that I am too tired to list right now. You know who you are.
  • And, yes, Drupal, too. 😉

I’m probably overlooking some other apps that ought to be listed here. Feel free to suggest them. It’s late.

Good pushback

Nicholas Carr offers some intelligent push-back against the overzealous quasi-religious internet cheerleaders.

>I’m all for blogs and blogging. (I’m writing this, ain’t I?) But I’m not blind to the limitations and the flaws of the blogosphere – its superficiality, its emphasis on opinion over reporting, its echolalia, its tendency to reinforce rather than challenge ideological extremism and segregation. Now, all the same criticisms can (and should) be hurled at segments of the mainstream media. And yet, at its best, the mainstream media is able to do things that are different from – and, yes, more important than – what bloggers can do. Those despised “people in a back room” can fund in-depth reporting and research. They can underwrite projects that can take months or years to reach fruition – or that may fail altogether. They can hire and pay talented people who would not be able to survive as sole proprietors on the Internet. They can employ editors and proofreaders and other unsung protectors of quality work. They can place, with equal weight, opposing ideologies on the same page. Forced to choose between reading blogs and subscribing to, say, the New York Times, the Financial Times, the Atlantic, and the Economist, I will choose the latter. I will take the professionals over the amateurs.

>But I don’t want to be forced to make that choice.

Wish I Was There…

[Plone Conference 2005](ploneconf2005.bluedynamics.net/) kicked off today in Vienna, Austria. I wish that wasn’t so far away. But I’m looking forward to a full report from [Brian](http://www.ragingweb.com) when he gets back.

In the meantime, I’ll content myself with ONE/Northwest’s latest string of Plone website launches:

* Oregon League of Conservation Voters and the [OLCV Education Fund](http://www.olcveducationfund.org) — check out those rounded corners!

* [Audubon Portland](http://www.audubonportland.org/)

* [Earth Share of Oregon](http://www.earthshare-oregon.org)

* [Network of Oregon Watersheds](http://www.oregonwatersheds.org/)

You’d almost think we were “ONE/Oregon.” 😉

We just launched Snowleopard.org

Snow LeopardMy brilliant colleagues at ONE/Northwest and our talented collaborators at [LightSky Designs](http://www.lightsky.com) and [RagingWeb](http://www.ragingweb.com) just helped Snow Leopard Trust launch their new website.

It’s a beautiful site, with a ton of great content and some eye-popping photos of these magnificent cats and the communities they live among. Some notable features from a technical point of view:

* Like all of the websites we do, Snowleopard.org is powered by [Plone](http://www.plone.org), the most powerful and easy-to-use open-source content management system around. Plone makes it easy for Snow Leopard Trust staff to maintain a large, complex site.

* This was our first major site with “full-on” e-commerce functionality. Snow Leopard Trust helps build sustainable economies in the communities that live in snow leopard country, and they sell a bunch of beautiful handicrafts through their [new online store](https://www.snowleopard.org/shop). We implemented the store with [ZenCart](http://www.ragingweb.com), a popular open-source e-commerce applicaiton, which were able to seamlessly integrate with the main Plone-powered site using [Zope’s MySQL database adapter](http://www.zope.org/Products/Zope3-Packages/mysqldbda/folder_contents&e=10342).

* We built a simple [e-card feature](http://www.snowleopard.org/photos/ecard/eCard_view) that lets site visitors send online cards built around some of Snow Leopard Trust’s incredible photos.

* We also helped Snow Leopard Trust put their photos to good use by building a simple [slideshow module](http://www.snowleopard.org/search?SearchableText=photo+album&x=0&y=0). We adapted Plone’s default ATPhotoAlbum functionality and cross-fertilzed that with slideshow features from Oxfam America’s Plone-powered site.

As with many projects, the requirements changed and expanded over the 12 months that elapsed between our first conversation and this week’s launch. Fortunately, Plone’s [Archetypes framework](http://plone.org/documentation/archetypes/) and ATContentTypes made it easy for us to accomodate Snow Leopard Trust’s evolving ambitions and increasing sophistication even as the project was already underway.

Check it out. It’s a beatiful site that really showcases what can happen when you put best-of-breed tools into the hands of people who are doing great work on the ground.

Seattle Times Profiles CommonMedia

The Seattle Times’ Kristi Helm offers a nice profile of CommonMedia and its founder, my friend, Jeff Reifman.

What it does: CommonMedia’s collection of Web sites acts as a platform to distribute free music and video for download, plus an online newspaper whose front page is determined by story selections of readers.

Of particular note is [CommonTimes](http://www.commontimes.org), which is news aggregator powered by its users. It’s full of all that Web 2.0 goodness that early adopters love, including Tags, RSS Feeds, Greasemonkey scripts, social networking and more.

Future: Reifman sees the Common Times model as a worthy challenger to Google News because it takes Web news a step further through the use of tags and reader selection. His site has had 2 million page views so far this year.

I recently [wrote about CommonTimes in ONEList](http://blogs.onenw.org/onelist/001902.html), too.

Introducting CommonTimes – a social bookmarking community for news readers

Man, getting fired can be great for your creativity and productivity. At least that’s what I’m learning from my friend Jeff Reifman these days.

Jeff’s been on creative streak lately, playing with a bunch of permutations at the fertile intersection of social networks, alternative media, progressive activism and emerging tech. His latest creation, CommonTimes is “a social bookmarking community for news readers” and I think it’s quite amazing.

If you’re already familiar with social software, CommonTimes is basically “del.icio.us for news stories.” For the less-techie among us, CommonTimes lets you quickly “tag” news stories on the web into its database. Your stories are combined with those of all the other users of the system to produce a news service that reflects the aggregated wisdom of its users. Simple, but very powerful.

CommonTimes produces a wide variety of RSS feeds, including:

* Feeds for each individual user, which makes it a quick and easy way to “reblog” stuff

* Feeds for each “topic” (tag) in the system, which make it easy to form only-the-fly “news communities” — for example I could quickly find all news that CommonTimes users have tagged as being about “[Seattle](http://www.commontimes.org/tag/seattle)”.

I think that the killer feature will be the ability to join groups of users, and to see the aggregated news from those groups. The collective judgement of all CommonTimes users is interesting, but the collective judgement of everyone who self identfies, say, as a “Northwest environmentalist” or a “nonprofit technologist” is even more interesting and useful. I’ve already spoken to Jeff about this, and he promises me that it’s on his roadmap as the CommonTimes community grows.

And Jeff, I also think it would be smart to include the domain of the news story in the RSS entry for each story — I’d like to see the source along with the headline.

Groundspring Releases Its Tools As Open Source — but unsupported

Jeff Reifman, former Groundspring employee, reports that Groundspring has released EmailNow, DonateNow, Enterprise and ActionStudio as open source. The fine print: no support, no active development, no resources for community building. AdvocacyNow is being [made available as a hosted service](http://www.actionstudio.org) under the name eAdvocacy.

It will be interesting to see whether anyone is able and willing to pick up the ball and run with developing these codebases.

As [Gunner and Katrin observed](http://www.aspirationtech.org/node/101), someday this is all gonna make a great case study.

Michael Gilbert on non-profit blogging

Beth Kanter interviews Michael Gilbert about nonprofit blogging. Worth a read.

Ed Batista [picks up](http://www.edbatista.com/2005/06/nonprofits_blog.html) on the most provocative bit:

>I still find that nearly every nonprofit organization is rather afraid of the idea of blogging. It’s threatening to them to have their staff blogging, it’s too much work to have their leaders blogging, and it seems irrelevant to have their stakeholders blogging. Obviously, I support all three of these blogging strategies and I think that together they represent a resurgence of a community based form of organizing, whether in support of social service or social change. But I think the vast majority of the sector isn’t there yet.

For most of the folks I’ve worked with, “overwork” is more what’s driving blog-resistance than fear. And they are still skeptical about the network-centric communication and organization theories that underlie our empahsis on blogging.

ActionStudio reborn

I’m pleased to report that Jeff Reifman has rescued ActionStudio from the train wreck created by Groundspring’s recent organizational turmoil.

He’s relaunched his low-cost, high-featured online activism tool as eAdvocacy from ActionStudio.

eAdvocacy is a great tool for doing online petitions and contact-your-decisionmaker elements. It offers a great blend of powerful features at a bargain-basement price — $50/month plus a penny per email.

ONE/Northwest will be enthusiastically recommending both eAdvocacy and [Democracy in Action](http://www.democracyinaction.org) to folks who are looking for solid low-end online advocacy tools.