Development Seed

Syndicate content
Updated: 6 hours 34 min ago

Week in DC Tech: August 25 Edition

Tue, 2008-08-26 20:41

A big chunk of our team is spending the week in Szeged, Hungary at the bi-annual DrupalCon, and all of us have been helping get them out the door with everything they'll need over there (which is why I didn't post on Monday like usual). With a lot of our team out of the office and a lot of the city at the Convention in Denver, the city is feeling empty. Luckily, there are several interesting tech events happening to keep us busy. 

Wednesday, August 27

6:00 pm

Social Application Development, Cloud Computing, and Widgets Meetup: If you're boring your friends with talk about Bebo, Hi5, Imeem, Friends Connect, and other social apps, come out to meet people who share you're passion. 

Thursday, August 28

4:30 - 7:00 pm

Geographic Information Systems (GIS) in Development: Mapping is one of the best ways to quickly get a message across, whether that's showing who holds the most wealth or oil in the world or who won the most Olympic medals. Four GIS experts will talk about ways they've plotted GIS data in the international development field. 

read more

Categories: Drupal

Demo of Two Way SMS Gateway on a USB Stick with Drupal Integration

Thu, 2008-08-21 00:21

The release of the SMS Framework 1.0, along with the road map for a 1.1 version, is making Drupal a more attractive platform for organizations that need powerful, decentralized data collection tools. This recent work shows that using Drupal can give you a serious foundation to integrate sms applications and tools with a website. I want to expand on Will’s recent post about building a two way SMS Gateway on a USB drive and show how Drupal can act as a data hub for collecting data and messaging via sms.

We are interested in this because tools that can integrate with sms like this will be especially helpful for international development agencies with on the ground operations. For example, this functionality could allow an election monitoring organization to use sms to track reports from observers at polling stations or help a public heath organization to monitor when patients take medicine via sms messages sent from personal or public cell phones. It could even assist a disaster response organization to track the status of its team on the ground team through their handsets.

Proof of concept:
Let’s look at the election monitoring example to put this in more concrete terms. Will pulled together a screencast to accompany this post that shows how it all works, riffing specifically on how an integrated solution could help field workers like election monitors.

Situation Example:
Your organization is monitoring an election in a developing country in Africa. You have local election observers with cell phones at polling stations, a centralized headquarters to coordinate the the staff on the ground, and a Drupal site set up to collect reports in a centralized space where people from around the world can track the election turnout. To really get a sense of how the data can move, there are three main areas I want to point out:

  • (1) the set up of the hub creating a relay point
  • (2) sending messages to field workers
  • (3) collecting data from field workers

read more

Categories: Drupal

Szia Szeged! Off to DrupalCon

Mon, 2008-08-18 19:37

I’m the first of the Development Seed crew to head out for Hungary, and I have to say I’m excited. I left Washington, DC on Friday for Vienna to have a week of vacation and visiting with friends and family. Then it’s time to hit the DrupalCon circuit again.


There are many sessions I’m looking forward to. Rasmus, the creator of php, shocked us al in Sunnyvale and I’m sure he has some new surprises for us in Szeged. Robert Douglas is leading a talk I’m particularly interested in on the future of search. We’ve been looking into alternatives to Drupal’s search, and it would be great to have a better solution in Drupal itself. Other session’s that I’m excited for are:

Several of my colleagues here at Development Seed are participating in some interesting sessions. Jeff will present recent developments on the Context and Spaces modules, Jose will talk about improvements to the Messaging and Notifications frameworks, and Eric will disclose how he attracts and retains Drupal talent on a panel with Robert Scales from Raincity and Tiffany Farriss from Palantir. Also, Aron and I will explain what’s cool about the new core aggregator patch.

I’m looking forward to seeing everyone in Szeged. If you haven’t gotten tickets yet, there’s still time to register and there are some affordable travel options out there. Hope to see you in Szeged!

read more

Categories: Drupal

Week in DC Tech: August 18 Edition

Mon, 2008-08-18 16:34

The mild summer weather continues as we move into the third week in August, and no matter how worrisome strange weather trends are these days, we must admit the last few weeks have been pretty nice. Local tech events also continue to buck the August trends in DC, with many scheduled and past ones still getting great turnouts. Here are some of the events we’re looking forward to this week.

Tuesday, August 19
7:00 pm

NetSquared’s Pimp My Nonprofit: Like giving advice you don’t have to implement yourself? Workplace Fairness is redesigning its website and their team is looking for strategic help with design, usability, and finding a way to display a lot of content in a non-threatening way. Come out to give your two cents.

6:00 – 9:00 pm

read more

Categories: Drupal

Week in DC Tech: August 11 Edition

Mon, 2008-08-11 16:20

It's a gorgeous start to the week here in Washington, DC with sunny and cool weather that makes it hard to believe it's August - and not May. It looks like our luck will hold out for most of the week too. If you can avoid the pull of backyard barbecues and outdoor happy hours, come out to some tech events this week. The walk there and back will be beautiful, and there's some interesting chances to dork out with other techies. And for a full list of what's happening in tech this week, head over to DC Tech Events.

Monday, August 11

7:15 - 9:00 pm

DC Drupal Meetup: We're gathering tonight at Stetson's to talk Drupal and play some competitive foosball. Come out to talk to Drupal developers, users, and those just interested in the platform - or just to show off your foosball ferocity.

Tuesday, August 12

7:00 pm

George Pelecanos Reading: It's not tech-related, but George Pelecanos is one of DC's most well known celebrities. He'll be at Politics and Prose to talk about his latest book Turnaround. 

read more

Categories: Drupal

Washington, DC Drupal Meetup + Round Robin Foosball Tournament Tonight

Mon, 2008-08-11 15:35

Tonight we're having our monthly Drupal meetup at Stetson's Bar and Restaurant. Usually Washington, DC is a ghost town in August with Congress shutting its doors and most people fleeing the heat. But this August is definitely an exception - Congress has stuck around longer than usual and its downright comfortable outside. So we're expecting a fun get together tonight.

We'll start off with the usual round of 5-minute lighting talks. This is the time to share what you're working on with the group, and it's a great way to lead into more detailed conversations later on in the evening. So far we have two speakers on the docket - Mike Haggerty and Andy Laken, who will be saying goodbye too as he moves to Montana. Also, Addison Berry will be making an appearance tonight, so hopefully we can twist her arm to present as well. If you would like to talk, just post over here and come ready.

After last month's highly competitive, post-meetup foosball games, we've decided there is an obvious need for a more foosball action. So tonight we'll be having the first ever DC Drupal Round Robin foosball tournament. Come ready to play and with some quarters in your pocket.

read more

Categories: Drupal

Migration Tricks and Challenges

Fri, 2008-08-08 12:57

This Wednesday we finished a migration from an old site running on OpenACS to a relatively complex Drupal site with organic groups, events, imagecache, attachments, books, and the whole spiel.

Having gone over budget on migrations before, this time we wanted to take a more systematic approach and make sure that we at least learned something if we wind up eating hours.

This is the approach we came up with:

1) Analyze, analyze, analyze

2) Write reusable code :)

3) Share our experience

1) Analyze, analyze, analyze

A problem in several previous migrations was that the real time hogs appeared late on the scene. Problematic data webs passed under our radar when estimating projects but took all our attention when the days got late. Another issue we had run into was that seemingly simple tasks turned out to be quite twisted and time consuming.

read more

Categories: Drupal

Improved Aggregator for Drupal 7: What's Under the Hood

Wed, 2008-08-06 23:08

The patch for an improved aggregator for Drupal 7 is now available on Drupal.org #236237. This code is result of Aron Novak's Google Summer of Code project and it is available as a Drupal project with regular patches against Drupal HEAD #236237. The patch has been out for a couple of weeks, so it's high time to talk about what improvements it aims to bring to Drupal core.

Before I dive into the details though, I'd like to point out that several people requested to break the patch into smaller pieces as it is rather big and touches on more than one functionality of the aggregator. We yet have to work on this, however I do think that there is a value in presenting the proposed improvements as a whole. So here we go.

There are four major differences in comparison to the existing aggregator:

  • Extensible architecture - allows external modules to add or replace functionality
  • Per feed content type configuration of aggregator
  • Replaces aggregator's XML parser with a SimpleXML based parser
  • Replaces aggregator's category system with taxonomy

1. Extensible architecture

This change is the widest reaching of all. At its core, there are the concepts of parsers and processors for aggregator. Parsers download and parse feeds, normalize feed data and expose it to other parts of the application. Processors grab feed data and act on it. For example they create database records for feed items.

In order to define a parser or a processor, one of two hooks need to be implemented:

  • hook_parse() for defining a parser
  • hook_process() for defining a processor

According to the parser/processor architecture, the new structure of aggregator is as follows:

  • aggregator module - implements API and standard download routines
  • syndication_parser module - standard RSS/Atom/RDF parser module that is supposed to ship with core. Can be used independently from aggregator.
  • aggregator.light.inc (part of aggregator module) - this implements a processor that stores feed items as lightweight database records just as the current aggregator does

The implementation of parsers and processors can be seen in syndication_parser module and in aggregator.light.inc. There is also a feed-items-as-nodes implementation in the project version of aggregator for Drupal 7. To my knowledge, the parser/processor architecture was first introduced in Drupal by Ted Serbinski with SimpleFeed, and it also exists in FeedAPI.

Current discussion points around the extensible API are:

read more

Categories: Drupal

Setting Up a Two-Way SMS Gateway with Gnokii and Drupal

Wed, 2008-08-06 16:53

In addition to all of the work being done on the SMS Framework, we have also started researching how to quickly create our own two-way SMS gateway for sending and receiving SMS messages. It is a proof of concept based on needs we are hearing from development agencies. Our solution is based around gnokii, an open source project that can be used to control the various functions of any mobile phone it supports. gnokii sends and receives SMS text messages over a USB or Bluetooth connection with the phone. 

In our setup we’re using a Nokia 6102i mobile phone, gnokii 0.6.8 (installed using Macports) and a MacBook Pro with Bluetooth.

A daemon, written in Python, manages the process of sending and receiving messages and a Drupal module acts as the end point on the Drupal side. The daemon periodically checks the phone for incoming messages and the server for outgoing messages. If a message is found it is processed and passed to the other side.

An outgoing message that originated from a Drupal module will be stored in a queue temporarily. The daemon checks the queue using an HTTP request. When it finds the queued message it connects the phone, sends the message, and clears the item from the queue. Incoming messages are handled in a similar fashion. When a message is first received it is queued on the mobile phone temporarily. When daemon finds the message waiting on the phone, it passes it to the server using an HTTP request and deletes the entry from the phone.

We are making the daemon open source so check out the code in the Drupal CVS repository and let me know if you want to talk about this.

read more

Categories: Drupal

Week in DC Tech: August 4th Edition

Mon, 2008-08-04 16:54

August in Washington, DC usually means empty streets, emptier bars, and lots heat advisories. Congress is in recess, Hill staff flee the city for vacations, and everyone else leaves to escape the unendurable humidity. Who knows if it's high gas prices, a delayed exodus, or just the mild weather, but August is off to a different start this year. It's absolutely beautiful outside and looks like it's staying that way for most of the week, and there are a ton of very fun tech events happening all week long. Here's a look at the ones we're most excited about. As always, Ross has a full listing over at DC Tech Events.

Monday, August 4

Dusk

Screen on the Green: Start the week off with a relaxing picnic on the Mall and a flick. This week The Apartment is showing on the giant screen in front of the Capitol Building.

Tuesday, August 5

6:30 -  8:30 pm

CopyNight DC: Copyright law is a huge issue with online content, mostly because it's still far from black and white. Come out to the American Library Association to talk copyright law. This month's discussion will be on Georgia State's E-reserve lawsuit, along with other current goings on in copyright law.

Wednesday, August 6

Noon to 1:30 pm

Facebook for Nonprofits: Curious as to the best way to use Facebook for your nonprofit? Join the teleconference to hear advice from two nonprofits active on Facebook - Amnesty International and the League of Young Voters - and a Facebook rep working with apps and Causes. 

read more

Categories: Drupal

Surviving Information Overload: FeedAPI Mail Watches Your Mailing Lists

Tue, 2008-07-29 13:03

Keeping up with all the information we get every day is no easy job. We follow hundreds of websites using feed readers and get hundreds of emails every day. If that wasn't enough, there are new sites everyday producing their own streams of information, sites like Flickr, Facebook, Twitter, and probably someone is launching a new one as I'm writing this. We definitely need help to manage all this information, so we use tools like email filters, feed aggregators and readers, and tagging tools.

Just one of the tools mentioned above means one more piece of software or website to deal with. And that means that when we find some other tool that can mix what two tools do into just one, we have at least some hope that the next day we'll have some spare time to do the real work. That's what FeedAPI Mail does for FeedAPI in Drupal -  adds one more functionality to the mix. 

Now we have the first proof-of-concept module for a FeedAPI plugin that adds mailing lists into the equation. With this plugin, you can follow mailing lists and enjoy the same features available for the other content. It treats individual mailing lists as if they were web feeds, allowing the same features for incoming emails as for the rest of the content, including automatic tagging (and geotagging), reading the emails in a single news reader, easy sharing with your team, and so on. Here's a look at it running in our team news aggregator/analyzer Managing News:

This FeedAPI Mail module works together with Mailhandler and FeedAPI, which grabs the rest of the feeds and presents them in a single web interface. In addition it has also a specific mail reader UI that can display threads and authors, which puts single emails in context.

To get started we need a mail account and to set up a mail inbox with Mailhandler so emails are read and made into nodes. Next we need to add a 'Mailing list' and set it up with the mailing list email address so incoming emails can be classified as coming from different lists. Then we just need to subscribe our email address to the mailing list (which may take some manual steps to handle confirmation emails), and we're all set.

What's to Come with FeedAPI Mail

read more

Categories: Drupal

Week in DC Tech: July 28 Edition

Mon, 2008-07-28 14:36

It's another busy week for techies in Washington, DC with several interesting tech events to choose from. Here's a quick look at the meetups we hope to attend this week. For a full listing of what's going on around town, check out DC Tech Events.

Monday, July 28

8:30 am - 5:00 pm

Maps in Our Lives: This is short notice, but there's an interesting discussion happening today at the Library of Congress about maps. Stop by to see historical maps mixed with new GIS technology and some unique examples of how powerful data can be when it's displayed on a map. 

Tuesday, July 29

12:30 pm

read more

Categories: Drupal

DrupalCon Szeged Session Proposals: Aggregation, Context and Spaces, Messaging and Notifications, and Drupal Talent

Wed, 2008-07-23 01:55

We're getting excited to come over for DrupalCon Szeged in just over a month. This will be the fifth DrupalCon that Development Seed has attended, and it always amazes me how much these conferences show off just how fast this community is growing and how far Drupal has come as a platform. We've looking forward to talking about some of our latest work to add and refine functionalities to Drupal. Here's a quick summary of the sessions we've proposed to lead. If you're interested in these topics, please vote for them!

Spaces and Context Modules: Tools for Site Building: The Context and Spaces modules are two relatively new tools in Drupal's aresenal that make it easier to build complex websites. In this session, Jeff Miccolis will talk about both modules' approach and show developers how they can be used and extended. He'll also show some examples of the modules in use on community portals, sites-within-sites, and intranets. Vote here.

Messaging and Notifications Frameworks: At DrupalCon Boston, Jose Reyero introduced the beta versions of these frameworks. A lot has been done to improve them since, and in this session Jose will talk about the upgrades, specifically in how they handle subscriptions, notifications of events, and the various delivery methods for sending messages. Another focus of this session will be to discuss the shift way from email only delivery methods to multi-platform methods. Vote here.

A New Aggregator for Drupal 7: Drupal's core aggregator is getting a revamp in Drupal 7. In this session, Aron Novak and Alex Barth will talk about why this step is needed and what you can expect from the new core aggregator. Aron began this work as a Google Summer of Code project last summer and this summer has continued to finetune it. The result is a simple yet extensible and efficient architecture that should serve Drupal well. Vote here.

Attracting and Retaining Drupal Talent: At the rate Drupal's popularity is growing, we're finding that there just aren't enough developers to meet the demand. Web shops and organizations are coming up short in finding the Drupal talent they need to build and run the online tools they want. This session will look at ways to beat out the hiring competition to find and retain Drupal talent. Eric Gundersen will talk about how Development Seed has grown our team, and Kris Krug from Raincity will share his experiences and lessons learned.

You can vote on all the sessions (including BoFs) you want to see at DrupalCon Szeged here. See you in Szeged!

read more

Categories: Drupal

Week in DC Tech: July 21 Edition

Mon, 2008-07-21 16:44

The lazy days of summer haven't hit the DC tech community yet. There's another interesting and full week of technology ahead for anyone in search of good conversations, fellow techies, and air conditioning. Here are the events we're hoping to attend this week. For a full list of what's happening in the DC technology community, head on over to DC Tech Events.

Tuesday, July 22

12:15pm - 1:45 pm

3G: Mobile Media in Motion: The Media Future Now group will be meeting over lunch to talk about the new 3G mobile network and other advances in mobile technology and what it means for mobile media and communications strategy in general. 

Wednesday, July 23

7:00 pm

read more

Categories: Drupal

Why the heck a new aggregator for Drupal 7?

Fri, 2008-07-18 12:18

This year’s Google Summer of Code season I’ve got the distinct pleasure of mentoring Aron Novak’s work for a new aggregator in Drupal 7. Aron’s well into his task and has just rolled a patch for core and an alpha 2 version – time to share why I think that this patch is important and why you should have a look at it. If you’re into aggregation and Drupal, that is.

Drupal’s original aggregator module was designed foremostly for pulling news feeds into your site and displaying in a straightforward fashion: no workflow, very basic permissioning, no API for interacting with feed items, no event aggregation, no custom parsers – to name a few limitations.

Soon contrib modules mushroomed that addressed one or the other shortcoming of the core aggregator: a list of them would start with the aggregator 2 module which was published in the fall of 2005 and would include Leech (I don’t regret its demise), Aggregation (first time use of SimpleXML for parsing in Drupal), SimpleFeed (first extensible architecture) and FeedAPI

read more

Categories: Drupal

Introducing Spaces for Drupal

Thu, 2008-07-17 17:48

We do a lot of work building portals and intranets that provide collaborative online spaces for professional communities. Some of these projects are completely private sites, and some are open to larger user groups. In each case we need to provide a toolset that could be configured differently for each site and frequently tweaked in particular groups. To do this we've built Spaces. It's a module that leverages Organic Groups to relate users and content to groups, and it extends context_ui to define 'features' that can be control individually in each group.  Spaces also makes assumptions about how you want groups to work and so is able to reduce the options available when creating groups and posts in groups, making the group creation and content posting processes more intuitive.

To get a sense of how this module works I have taken two screen shots from our own intranet package that we call 8trees. Here you are looking at our own team space on the 8trees install that we run for ourselves to communicate with our clients.  It provided us with a terrific way to test code and ideas on a captive and critical (but forgiving) audience. Clients never know there is anything but their own little space, but we move quickly and easily between them and have different tools (blog/book/casetrack/calander) turned on for different clients depending what stage the project is in. This is what spaces lets us do.

Included in the spaces suite is a core set of feature definitions that provide features for things like the blog and book modules. Additionally there are feature definitions for a calendar, a shout-box, and a case-tracker. When you create a group with Spaces enabled it changes the creation a bit, limiting the kind or group you can create to simply 'public' or 'private' and allows you to select what features should be available inside that group. If it's only appropriate for your group to have a blog, you can limit it to that. If your group needs a more substantial feature set, say a blog, book, and calendar, you can configure that for the group.  Spaces also lets you change labels in a group, so if a set of users doesn't want a 'blog', but needs a 'discussion' they can have it without need to to change any code or use the locale module. Here  is how the setup looks:

read more

Categories: Drupal

Qik and Ustream of Tonight's Drupal Meetup in Washington, DC

Mon, 2008-07-14 22:41

If you're not in Washington, DC tonight or just can't break away, you can still follow what's happening at the Drupal meetup. Ron will be streaming the presentations on Ustream, and I'll be streaming some videos to Qik, like this one. We'll be sending out notifications of when we're streaming via twitter here and here, but it will likely be from about 7:30 to 8:30 pm tonight.


read more

Categories: Drupal

Week in DC Tech: July 14th Edition

Mon, 2008-07-14 16:07

It's a very hot week for technology in Washington, DC. There are a ton of great events going on, so many in fact it was very hard to narrow it down to ones we could feasibly attend! Here's a quick look at what we're hoping to do this week. As always, a full listing of tech events is over at DC Tech Events.

Monday, July 14

7:15 to 9:00 pm

DC Drupal Meetup: Tonight we'll be heading over to the monthly Drupal meetup. If you're a Drupal developer or user - or want to be - join us for some cold beers, a game of foosball, and some heated discussions on Drupal.

8:30 pm

Screen on the Green: This summer tradition starts today with a screening of Dr. No. If you haven't seen the flick in awhile or just want a truly DC movie going experience, grab a blanket and a picnic dinner and head down to the Mall.

Tuesday, July 15

11:00 am - 12:30 pm

read more

Categories: Drupal

July Drupal Quencher in Washington, DC

Fri, 2008-07-11 16:38

Looking to fill the lazy days of summer with more Drupal? You're in luck. The next Drupal meetup in Washington, DC is in just a few days on Monday, July 14th  at Stetson's Bar and Restaurant. Lately the meetups have been drawing a crowd - 40+ people came out for each of the last three meetups. So no matter if you're a new or potential Drupal user, a new-to-Drupal programmer, and an expert hacker, there will be plenty of interesting people to talk to and learn from.

As always, we'll have several 5-minute lightening round presentations, so if you've been working on an interesting project or module, or have a question to pose to the group, be prepared to speak - and quickly. So far Jeff has offered to speak about the Spaces module and its roadmap, and Alex will talk briefly about aggregation in Drupal 7. The floor is open to anyone, so don't be shy. It would be great to have some newer Drupal programmers talk about what they're working on or a challenge they're facing and to hear from some new Drupal users about their experiences or how their organization decided to make the switch to Drupal.

More details are over in the DC Drupal group, and you can rsvp there or on Upcoming.org.

read more

Categories: Drupal

SMS Framework 1.0 released + 1.1 Roadmap on Drupal Groups

Thu, 2008-07-10 08:29

The 1.0 release of the SMS Framework is now available for download from Drupal.org. The project has come a long way since it’s initial development release last summer and is now ready for use. Numerous fixes and functionality improvements have turned the SMS Framework into a robust tool for integrating SMS and Drupal.

This release introduces a rewritten SMS user module, which allows your users to provide and confirm their mobile information. Thanks to Tylor from Raincity Studios an SMS receive module and a gateway module for Mobile Muse are included in version 1.0. Expect to see more gateway modules with receiving support in future releases.

We’re already looking ahead to work on version 1.1, which will focus on improving international support, expanding documentation, and upgrading to Drupal 6. Please review and edit the latest roadmap on the wiki and submit feature requests to the project’s issue tracker.

Roadmap for 1.1

  • Improve international support
  • Standardized phone number format
  • Drupal 6 release
  • Write more API documentation
  • Improve the SMS Blast module
  • Ability to make double opt in optional
  • More gateway modules that support receiving
  • Improve sms_receive module
  • Remove behavior mapping

I go into more details on these points here.

read more

Categories: Drupal