Choose your own open-source App/Mashup Adventure ~ SE CS130 UCLA FALL 2013 ~ Project Lead: Gergana Markova ( gmarkova@us.ibm.com ) Tech mentors: TBD by project Dean Okamura ( dokamura@us.ibm.com ) Michael Stein ( mastein@us.ibm.com ) © 2002 IBM Corporation Agenda Introduction The IBM team Create Your Own Adventure Project Defined What is it there for you Web 2.0 Application or Mashup Project Questions? 2 © 2012 IBM Corporation IBM Project Team Project Lead: Gergana Markova Each team will have dedicated Lead Technical Mentor and Lead Project Mentor: TBD Technical Mentors The Go-To experts for any technical questions and challenges Project Mentors Project environment, scheduling Facilitation & collaboration Team dynamics Other 3 Open Source online resources and forums IBM Academic Initiative Student Forum IBM Developer Works resources IBM Smart Planet resources © 2012 IBM Corporation Your Project, “Choose your own adventure” General Project Technology / Requirements Open Source Web 2.0 Mashups Programming Language of your choice Consider Source forge . Net Use its Wiki, forums to provide status; CVS to check code Defect Tracking (SF.net tracker, Bugzilla, etc…) Project Discussion Forum/Log of your choice (e.g., Wiki) Unit testing of your choice (e.g., JUnit) In the end, it’s your decision what to do! Deliverables Mandatory Your project in a public repository, fully documented Encouraged Submission to www.programmableweb.com Previous CS130 class Project available there: http://www.programmableweb.com/mashup/music-enthusiast 4 © 2012 IBM Corporation Projects Learning Skills Software Engineering Skills Team Project Planning and execution Collaboration, Networking Rapid Decision Making Open source community involvement (process, resources..) Agile Development Globalization Awareness Code Inspection Techniques Research and resources evaluation Concepts Emphasized Open Source Process Global Community Involvement Design Patterns eXtreme Programming User Experience 5 © 2012 IBM Corporation Why Open-source? Standardization of the rail network enabled industrialized America and Europe A connecting platform fueling growth, creating new business opportunities Connecting resources with factory efficiencies Connecting goods with markets Enabling new distribution models (Sears Roebuck) Other technology platforms: electricity grid, national highway systems, ……..the internet “Standards contribute more to economic growth than patents and licenses.” "Economic benefits of standardization“, Technical University Dresden (TUD) and the Fraunhofer Institute for Systems and Innovations 6 © 2012 IBM Corporation Web 2.0+ MASHUP PROJECT © 2012 IBM Corporation Mashup A hybrid application that combines content from more than one source. Very popular Web 2.0 idea Mash-up (you can use a hyphen if you want) The real power in Web services comes from combining Web services are typically specialized, mashups are “situational” Development without central authority © 2012 IBM Corporation Suggested Approach Environment setup Service discovery Your Mashup or Open Application Concept Design / Storyboard Component Level Design Implementation Test Code Inspection Deployment (Go Live) © 2012 IBM Corporation Web service Providers © 2012 IBM Corporation Real Mashup Examples http://www.allapis.com/Yahoo_Flick r_Weather_Maps.aspx Allows users to search US cities/locations - provides users with information on the city requested Weather Forecasts Wikipedia geo Articles Flickr photos APIs used Flickr GeoNames Yahoo Geocoding Yahoo Maps © 2012 IBM Corporation Skills Required Java / Dojo/ Ruby or similar Programming, nothing fancy Basic web service concepts: SOAP, WSDL Basic web-application concepts: URLs, HTTP, JavaScript, serverside scripting (JSP, PHP, other) Basic XML (syntax, parsing) AJAX (would be nice) CSS (optional) © 2012 IBM Corporation Gain Experience J2EE Web services SOAP Axis JAX-RPC XML Web UI AJAX © 2012 IBM Corporation You can make a difference, too : Clever Example #1 Create Your Own SW Hack of Kindness Project http://www.rhok.org/ Random Hacks of Kindness Sample project : Coordinate http://www.rhok.org/solutions/coordinate “Coordinate is a simple mobile app and database that allows emergency response officials to plot hazards in an accurate and structured manner. It allows an EOC and other response agencies to receive validated reports from responders out in the disaster area. Information can be updated out in the disaster area allowing for a better common operating picture of what hazards still need to be resolved. “ © 2012 IBM Corporation Clever Example Ideas #2 : Code For America http://codeforamerica.org/ http://codeforamerica.org/projects/ Code For L.A. group started up in 2013 Apps Ideas Adopt a Hydrant Snapfresh snapfresh.org Where is my bus http://codeforamerica.org/?cfa_project=wheres-my-schoolbus Reroute.IT http://codeforamerica.org/?cfa_project=transportation-choices TED Talk http://www.ted.com/talks/jennifer_pahlka_coding_a_better_government.html © 2012 IBM Corporation Solarcity Project http://codeforamerica.org/?cfa_project=solar-city# • Calculate solar potential for rooftops © 2012 IBM Corporation DiscoverBPS discoverbps.org. © 2012 IBM Corporation Choose your own adventure Any of your own ideas. We are here to help! © 2012 IBM Corporation Conclusion Thank you for your time! We’re here for you! Questions? Project Ideas? 20 © 2012 IBM Corporation Smart Planet http://www.ibm.com/smarterplanet/us/en/ http://www.ibm.com/smarterplanet/us/en/overview/ideas/index.html?ca=v_now&r e=ussph2.2 http://www.ted.com/ People for a Smarter Planet Community http://www.facebook.com/search.php?q=People+for+a+Smarte r+Planet&init=quick&tas=search_preload#!/peopleforasmart erplanet http://www.smartplanet.com/ http://en.wikipedia.org/wiki/Smarter_Planet Provides great URL references at end of article http://www.cnn.com/2012/03/25/opinion/pahlka-codegovernment/index.html © 2012 IBM Corporation