Summer of Code 2007: SMS Framework
American University, Washington, DC
The SMS Framework project will improve and expand the SMS technology integrated into Drupal powered applications and websites and make it easier to incorporate SMS elements into Drupal websites. To carry this project out, I will research existing SMS so-lutions for Drupal, identify shortcomings, and build a driver based API that can be ex-tended to work with common SMS service providers and integrated into Drupal core and contributed modules.
An improved SMS framework for Drupal will enable individuals and organizations to seamlessly and easily combine elements of mobile and online campaigns on their Drupal websites. This will be very helpful to nonprofit, advocacy, and political organizations.
The first phase of this project will involve researching existing implementations of SMS functionality in Drupal powered websites. I will identify current offerings and make note of any shortcomings in stability, functionality, usability, and support for third party ven-dors. I will identify opportunities for integrating SMS functionality into Drupal core and contributed modules. This research will help me design and build a framework that will serve the community in the most effective manner.
This framework will consist of an API and a driver-based vendor abstraction layer. The API will be extendable by contributed modules, allowing developers to take advantage of SMS functionality within their projects. The abstraction layer will allow the framework to function with a variety of different SMS vendors’ APIs.
Using the opportunities for integration that I identify during my research and the new API, I will implement an SMS functionality for Drupal core and several major contributed projects. For example, integration between this framework and the Event module would be useful. When a user visits a Drupal powered website that has the Event module in-stalled, he or she could be given an option to opt-in to receive reminders or updates via a mobile phone. I will also create drivers for several vendor APIs, possibly including Clickatell, MobileAccord, Rights Group, and others. These vendors provide a variety of services to organizations looking to take advantage of SMS technology, and therefore integration with their platform will be key for organizations running mobile campaigns.
Benefits to the Drupal Community
SMS is an excellent and inexpensive way to communicate when a computer is not available, and this framework will bring the benefits of SMS technology to Drupal. The features of this framework will be useful to many Drupal powered sites, especially for those groups that run advocacy, political, and other campaigns. The framework will be flexible, allowing for future expansion in Drupal and additional drivers for the abstraction layer.
• Functional framework that can expand to support multiple vendors through the driver system and a range of Drupal implementations through the API.
• Where useful, the framework will be integrated with Drupal core and major contrib-uted modules.
• Create three or four drivers that use the framework's abstraction layer and the vendor's API to send messages. At least one of these vendors should provide interna-tional service.
- Research current implementations of SMS functionality in Drupal powered web-sites. Identify and assess existing contributed projects.
- Use research to identify shortcomings in stability, functionality, usability, and support for third party vendors. Identify possibilities for SMS functionality in Drupal.
- Design and build a flexible framework that includes an SMS API and a driver-based vendor abstraction layer.
- Use the abstraction layer to create drivers for three or four vendors and extend the API to integrate Drupal core and contribution modules.
I am currently a student at American University’s School of Communications and will complete my first year of the four-year program in May 2007. I am very passionate about communications, particularly in effective online communications.
I am currently migrating the American University Student Government website (www.ausg.org) from a custom rolled PHP application to Drupal 5. The Student Gov-ernment members are already impressed with Drupal's flexibility and are excited to start using the revamped website. My hope is that this new website will serve as a guide for others who work on university websites.
I edit a Drupal powered weblog called gmrblogs (www.gmrblogs.com), and using Drupal, I designed and developed a website for Inherit the Mirth, a Christian greeting card company (www.inheritthemirth.com). I’m also actively involved in the Drupal community through patching and testing. I updated the Print Friendly Pages module to Drupal 5 (http://drupal.org/node/88162) and am currently working to update the Register Profile to Drupal 5 (http://drupal.org/node/111165).
I became interested in online communications and website development at a young age and have been creating websites for myself and for local companies since I was 13-years-old. I began using PHP and MySQL to enhance my sites during my freshman year in high school. During my junior year, I received the second place award for web design during the Connecticut Future Business Leaders of America conference, and began using Drupal in my projects shortly afterwards.