Engaging Students in the Free Open Source Movement Through Civic Engagement Trishan de Lanerolle, Ralph Morelli, Ingrid Russell* Sarah Thayer, Rachel Foecking, Myles Garvey* Trinity College, *University of Hartford October 3rd 2008 Agenda • The Humanitarian FOSS Project • “App Trac” and Software Development • Humanitarian FOSS Summer Institute • My Experiences with “App-Trac” • My Experiences with “OpenMRS” Slide: 2 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Humanitarian FOSS Project Trishan de Lanerolle Humanitarian FOSS Project Trinity College Educational Motivation • David Patterson (ACM) Nov. 2005, (post Katrina): Let’s help our neighbors! • David Patterson (ACM) Mar. 2006: Join the open-source movement! • Our Question: Will students building software for the community help revitalize computing education? Slide: 4 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 NSF/CPATH Grant • CPATH: Revitalizing Undergraduate Computing Education. • Collaborators: Trinity, Conn, Wesleyan (TCW). • Goal: Getting students involved in building open source software to help society through: – TCW video conference courses. – Summer internship program 2008/9. – National and regional workshops for faculty. – National symposium on computing curriculum. Slide: 5 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Educational Objectives • Introducing new concepts and methodologies • Attracting a new demographic • Bringing Together Town and Gown • Contributing to Society • Portability and Sustainability Slide: 6 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Portable/Sustainable Partnership IT Corporations • Host interns • Fund and advertise • Volunteer expertise • Recruit students Computing Departments • Teach computing • Build FOSS • Gain skills and opportunities Slide: 7 Humanitarian Community • Acquire software. • Host interns • Teach volunteerism The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Teaching Experiments • 2006-2008 – 100+ students, 5 universities, 5 courses 2006 2007 Sahana Group Study(3) AidMatrix Summer Institute (5) Application programming course (25) 2008 •CS 0 course(14) •Software Engineering Group study course(12) (6) •R. McDonald Project(4) •Software Development Course(20) H-FOSS summer Institute (13) •Group study (4) •Group study (4) Slide: 8 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Beyond the lab… Slide: 9 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Why Free and Open Source? • Four Freedoms – Freedom to run the program. – Freedom to study how the program works. – Freedom to redistribute copies so you can help your neighbor. – Freedom to improve the program, and release your improvements to the public, so that the whole community benefits. “Free” as in “free speech” not “free beer”. – Richard Stallman Slide: 10 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 FOSS Values •“Linux is a free … operating system originally created … with the assistance of developers around the world.” •“Mozilla is … a global community and public benefit organization dedicated to improving the Internet experience for people everywhere. We work in the open through a highly disciplined, transparent and cooperative process…” •“Apache projects are characterized by a collaborative, consensus based development process… We consider ourselves … a community of developers and users.” Slide: 11 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Today: Openness Everywhere “Software is just the beginning … open source is doing for mass innovation what the assembly line did for mass production. Get ready for the era when collaboration replaces the corporation.” -- Thomas Goetz, Wired, 11/2003 Slide: 12 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Disaster Management www.sahana.lk • Sahana: A web-based IT system developed in response to the 2004 Asian Tsunami. • Deployments: Pakistan, Philippines, Indonesia, Peru, China, India, NYC… • Free Software Award for Social Benefit (2007) • Trinity Connection: Trishan de Lanerolle, CS ‘04 • Our Contribution: Volunteer Management Module – Volunteer registration, assignment, reporting, etc. – Designed and built by Trinity students in collaboration with industry and community experts. Sahana means relief in Sinhalese Slide: 13 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Our Volunteer Management Module Slide: 14 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 OpenMRS - Medical Record System • Medical record system for developing countries. • Deployed: Rwanda, Kenya, South Africa. • Developed by Partners in Health and the Regenstrief Institute. • Supported by World Health Organization, Center for Disease Control, and other health organizations. • Trinity Connections: Christian Allen, CS, ‘00 and Giovanni Capalbo, ‘08. • Our contribution: Touch-screen toolkit Slide: 15 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Our Touchscreen Module Slide: 16 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Other Examples • “Our work is driven by a philosophy on software freedom that aims to spread and bring the benefits of software to all parts of the world.” • Zulu for Humanity • Martus is a secure software application designed to gather, organize and back up human rights information for social justice organizations • Greek for witness. Slide: 17 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Ronald McDonald House •Developed RMH Homebase, a webbased volunteer scheduling and database system for the Ronald McDonald House in Portland, ME. •Delivered the software on May 9, 2008 where it is now in productive use. •Installed a copy at Ronald McDonald House in Savannah, GA on May 22, where it is also in productive use. Slide: 18 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Literacy Volunteers of Greater Hartford • Track tutoring applications. • Released on Sourceforge as free application for anyone to download and use. Slide: 19 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 “App Trac” and Software Development Ingrid Russell Department of Computer Science University of Hartford Project Overview • Literacy Volunteers of Greater Hartford (LVGH) • Non-Profit organization that helps people with literacy problems • LVGH Issues • Student Sign In • Application Tracking • Data Integration between Applications Slide: 21 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Software Development Class • Assigned to address LVGH’s problem via a project • Ran parallel to Software Development Topics • Class broken up into four development teams • Each consisted of 3 - 4 students • One team leader chosen for each team Slide: 22 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Site/Client Visit • Became Familiar with: • Staff and daily operations in the lab • The hardware and software on the machines • The overall problem first-hand • Outlined general ideas for the problem and how it would be addressed • Client Provided • Sample Reports • Database Outlines • Sign off on Requirements Slide: 23 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Requirements Document • One requirements document per team • Each requirement document included functionality, features, and use cases • All four documents were merged into one Slide: 24 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Design/Implementation • Students used merged requirements document • Each team produced a design based on the modelview-controller (MVC) pattern • One overall template design constructed from all the teams’ designs • All collaborated on how database would be designed Slide: 25 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Design/Implementation (Cont…) • Each team member was assigned a specific task • Based on their background and strength • Chosen by team leaders • Broken up into • Model Coders • GUI Coders • Database Coders • Each team independently produced a different implementation having the same functionality promised by the requirements document. Slide: 26 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Final Submissions • Each implementation had its own strength • Flexible in design and very module • User-Friendly interface • Login screen designed with ease in mind • Caution about database as well as other problems kept in mind • Not all features completed, but most functionality working • Each used as prototype for HFOSS Summer ’08 Project Slide: 27 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Humanitarian FOSS Project Summer Institute 2008 Sarah Thayer, Trinity College Slide: 28 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Overview • Who we are • What we did • Why we did it • Why it’s important Slide: 29 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Who We Are • 4 Countries: U.S., Nepal, Bulgaria, Ecuador • 5 Schools – – – – – Trinity College Wesleyan University Connecticut College University of Connecticut University of Hartford • 13 interns • 16 mentors from Boston, Chicago; Washington, D.C; Buenos Aires, Argentina; Seattle; Colombo, Sri Lanka • All levels of experience Slide: 30 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Summer Projects Slide: 31 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Summer Projects: Sahana, OpenMRS • Developed Volunteer Management and Volunteer Credentialing System. • • Structured Numeric Support • Image Import Module Slide: 32 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Summer Projects: POSIT & ALPACA • Portable Open Search and Identification Tool • phone-based tool for: – search and rescue missions – scientific field work – other custom applications • built on the Google Android platform. Slide: 33 • InSTEDD: Teaching machines to detect the spread of disease as soon as possible • ALPACA Light Parsing And Classifying Application (ALPACA) • a classifying tool designed for use in community-oriented software as well as in Academia. The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Summer Projects: AppTrac • A web-based kiosk system – monitors usage of literacy software to provide a good evaluation for student needs – provides an administrative tool for organizing users and instructional periods • Designed for Literacy Volunteers of Greater Hartford, a nonprofit English-literacy organization Slide: 34 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Why We Did It • "Working in the field of Computer Science gives me the opportunity to help people, which is one reason why I am so interested in this field of study” • “Because my main goal in life is to help disadvantaged persons, and I was curious at how software development can factor into that dream” • “I was fascinated by the new challenge of organizing my thoughts in a way that a machine could understand, and the satisfaction of seeing the result in a fully functional program” • “Open source development allows for experience that can usually only be gained in the industry, and this experience is hard to come by as an undergrad” • "I've already learned more than I could've ever imagined” Slide: 35 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Thoughts about the Institute • “All the development teams projected a warm home-like feeling, and learning from others really brought a new perspective to the field of Computer Science for me” • “The best part was how well we all got along and the flexibility of working hours. I'm satisfied with the work we did. For a first shot at a ‘real’ application, I think we did a pretty OK job” • “I'm happy that I had the opportunity to expand my abilities as a programmer” • “We all learned the basics of a flow of development, but at a much faster pace. To actually work on a project that was going to be used in the real world was quite motivating and inspiring, creating an experience I had not found anywhere else” Slide: 36 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Why It’s Important • Computers are losing the appreciation for their original function as tools (not toys) • Use computers to help humanity • Put more faith in computers and programmers • Recruit more computer science students at the undergraduate level – Make CS more attractive – Aim: to help the world (what better goal?) Slide: 37 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Have a blast helping humanity! 2008 Summer Interns and Faculty Sponsors, after the final presentations Thanks to: - HFOSS - NSF - Mentors and advisors Slide: 38 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 My Experiences with “App-Trac” Myles D. Garvey Department of Computer Science University of Hartford Overview • Spring ’08 Experiences • Summer ’08 Experiences • Overall Experiences and Afterwards Slide: 40 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Spring ’08 • Learning Through Lecture • • • • Development Cycles Requirement Documents, Use Cases Design Techniques: UML Diagrams, MVC Architecture Implementation • How to base off Requirements Document • Database set up and management • Code of Ethics and Legal Issues • Learning Through Practice • • • • • • • Slide: 41 Applying the theory to the practice Working with a client Deadlines Team Work Debugging Testing Unexpected Events The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Spring ’08: Afterwards • Deeply inspired by the class – Learning experience much different than before • Passion to pursue continuation of App-Trac Development • Passion to learn more on Software Development Slide: 42 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Summer ’08 • Lessons Through Lecture – First three weeks HFOSS had “lecture time”. – Learned from tutorial based mini-projects • • • • • PHP Java Server Pages (JSP) The Spring Framework Java 2 Enterprise Edition (J2EE) MySQL – Inspiration for independent reading • Extreme research within JSP and the Spring Framework • Further study in design concepts • Lessons Through Practice – – – – – – Slide: 43 Meetings with Clients Rapid Prototyping Organization Documentation Final Presentation Aiming for Deployment The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Overall Experiences • Extreme amount of information and experience in a short amount of time – Capability to learn languages at a fast pace • • • • • Bonding and working with team members Public Speaking and Presentation Organization Skills required for a real-world job Many more found no where else! Slide: 44 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Afterwards • Skills acquired from both spring and summer – Provided foundations that can be applied to other projects – Served as a motivating catalyst for further pursuing Software Development • Now using skills in current projects • Reassured confidence in myself and the field of Computer Science Slide: 45 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 My Experience with OpenMRS Rachel Foecking Department of Computer Science Trinity College OpenMRS • OpenMRS is an electronic medical records system for developing countries. • It lets doctors record medical information about a patient during an appointment. • It is free and open source software Slide: 47 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Image Import Module: Overview • OpenMRS currently has no support for medical images • Various people are working on giving OpenMRS the ability to upload, edit, store, and view images • This module takes care of uploading and editing images within OpenMRS Slide: 48 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Image Import Module :Goals • Give a general way for users to upload images in OpenMRS and associate them with an observation • Allow users to crop and rotate the image • Provide a rudimentary way to display the images Slide: 49 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Image Import Module: Workflow • The user specifies patient information and picks an image to upload • The image file itself is saved and a thumbnail is created • The user is then allowed to crop or rotate the image and edits are saved as XML Slide: 50 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Image Import Module: Future • Make the module more general • Add more options for image editing • Improve image viewer, make larger images easier to work with • Figure out a better way to store image metadata Slide: 51 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Learning Experience • Came into the program with a basic knowledge of Java and HTML • Learned more during the summer than the entire year in classes • Interactions with students at the various colleges we worked with—Wesleyan, Connecticut College, University of Hartford, University of Connecticut Slide: 52 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Challenges Overcome • Toughest challenge was figuring out the Spring framework and how to develop for OpenMRS • Making a design choice when you are not a core developer • Communication with the developers • Development Environment (Slow reload and deploy) Slide: 53 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Looking Ahead: Community Building Our Website: http://www.hfoss.org Slide: 54 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 THANK YOU! Questions? www.hfoss.org www.hfoss.org/symposium09 Apply for a 2009 Internship!!! Slide: 55 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 What they say… “Through HFOSS I’ve learned that Computer Science does not need to be separated from the basic human needs, since a good piece of free software can help save lives and resources” “Most of the programs students write are just exercises that have been solved many times…, I think students get a real satisfaction out of working on something that potentially will have thousands of users that they will never meet….” “We’re trying to destroy the ‘computer science is just programming’ myth by bringing in not only real-world problems, but real world organizations who are trying to solve these problems” “ Open Source software development allows for low or no-cost highly customizable software products that can be used to support many causes who have limited financial means” “Wow. I really got to look at how computer science can relate to humanitarian efforts. I really loved delving into a world I’d barely seen before: Open Source…” Slide: 56 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08 Looking Ahead: Community Building Our Website: http://www.hfoss.org Slide: 57 The Humanitarian-FOSS Project © 2008 GHC 2008 Oct-03-08