ABSTRACT
MashMaker is a web-based tool that makes it easy for a normal user to create web mashups by browsing around, without needing to type, or plan in advance what they want to do.
Like a web browser, Mashmaker allows users to create mashups by browsing, rather than writing code, and allows users to bookmark interesting things they find, forming new widgets - reusable mashup fragments. Like a spreadsheet, MashMaker mixes program and data and allows ad-hoc unstructured editing of programs.
MashMaker is also a modern functional programming language with non-side effecting expressions, higher order functions, and lazy evaluation. MashMaker programs can be manipulated either textually, or through an interactive tree representation, in which a program is presented together with the values it produces.
In order to cope with this unusual domain, MashMaker contains a number of deviations from normal function languages. The most notable of these is that, in order to allow the programmer to write programs directly on their data, all data is stored in a single tree, and evaluation of an expression always takes place at a specific point in this tree, which also functions as its scope.
- Alan F. Blackwell, Carol Britton, Anna Louise Cox, Thomas R. G. Green, Corin A. Gurr, Gada F. Kadoda, Maria Kutar, Martin Loomes, Chrystopher L. Nehaniv, Marian Petre, Chris Roast, Chris Roe, Allan Wong, and Richard M. Young. Cognitive dimensions of notations: Design tools for cognitive technology. In CT '01: Proceedings of the 4th International Conference on Cognitive Technology, pages 325--341, London, UK, 2001. Springer-Verlag. ISBN 3-540-42406-7. Google ScholarDigital Library
- Yuhan Cai, Xin Luna Dong, Alon Halevy, Jing Michelle Liu, and Jayant Madhavan. Personal information management with SEMEX. In SIGMOD '05: Proceedings of the 2005 ACM SIGMOD international conference on Management of data, pages 921--923, New York, NY, USA, 2005. ACM Press. ISBN 1-59593-060-4. doi: http://doi.acm.org/10.1145/1066157.1066289. Google ScholarDigital Library
- Allen Cypher, Daniel C. Halbert, David Kurlander, Henry Lieberman, David Maulsby, Brad A. Myers, and Alan Turransky, editors. Watch what I do: programming by demonstration. MIT Press, Cambridge, MA, USA, 1993. ISBN 0-262-03213-9. Google ScholarDigital Library
- Jonathan Edwards. Subtext: uncovering the simplicity of programming. In OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, pages 505--518, New York, NY, USA, 2005. ACM Press. ISBN 1-59593-031-0. doi: http://doi.acm.org/10.1145/1094811.1094851. Google ScholarDigital Library
- Robert Ennals and Minos Garofalakis. Mashmaker: Mashups for the masses (demo paper). In Proceedings of the 2007 ACM SIGMOD International Conference on Management of Data (SIGMOD'2007), 2007. Google ScholarDigital Library
- Alexander Faaborg and Henry Lieberman. A goal-oriented web browser. In CHI '06: Proceedings of the SIGCHI conference on Human Factors in computing systems, pages 751--760, New York, NY, USA, 2006. ACM Press. ISBN 1-59593-372-7. doi: http://doi.acm.org/10.1145/1124772.1124883. Google ScholarDigital Library
- Michael Franklin, Alan Halevy, and David Maier. From databases to dataspaces: A new abstraction for information management. In SIGMOD Record, 2005. Google ScholarDigital Library
- Jun Fujima, Aran Lunzer, Kasper Hornbæk, and Yuzuru Tanaka. Clip, connect, clone: combining application elements to build custom interfaces for information access. In UIST '04: Proceedings of the 17th annual ACM symposium on User interface software and technology, pages 175--184, New York, NY, USA, 2004. ACM Press. ISBN 1-58113-957-8. doi: http://doi.acm.org/10.1145/1029632.1029664. Google ScholarDigital Library
- Zhenjiang Hu, Shin-Cheng Mu, and Masato Takeichi. A programmable editor for developing structured documents based on bidirectional transformations. In PEPM '04: Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, pages 178-189, New York, NY, USA, 2004. ACM Press. ISBN 1-58113-835-0. doi: http://doi.acm.org/10.1145/1014007.1014025. Google ScholarDigital Library
- Caitlin Kelleher and Randy Pausch. Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. ACM Comput. Surv., 37 (2): 83--137, 2005. ISSN 0360-0300. doi: http://doi.acm.org/10.1145/1089733.1089734. Google ScholarDigital Library
- Thomas Leonard. Tree-Sheets and Structured Documents. PhD thesis, University of Southampton, 2004.Google Scholar
- Henry Lieberman. Your wish is my command: programming by example. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2001. ISBN 1-55860-688-2.Google Scholar
- Seung Chan Slim Lim and Peter Lucas. Jda: a step towards large-scale reuse on the web. In OOPSLA '06: Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pages 586--601, New York, NY, USA, 2006. ACM Press. ISBN 1-59593-491-X. doi: http://doi.acm.org/10.1145/1176617.1176631. Google ScholarDigital Library
- Dongxi Liu, Zhenjiang Hu, and Masato Takeichi. An environment for maintaining computation dependency in XML documents. In DocEng '05: Proceedings of the 2005 ACM symposium on Document engineering, pages 42--51, New York, NY, USA, 2005. ACM Press. ISBN 1-59593-240-2. http://doi.acm.org/10.1145/1096601.1096616. Google ScholarDigital Library
- David Mandelin, Lin Xu, Rastislav Bodik, and Doug Kimelman. Jungloid mining: helping to navigate the API jungle. In PLDI '05: Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, pages 48--61, New York, NY, USA, 2005. ACM Press. ISBN 1-59593-056-6. doi: http://doi.acm.org/10.1145/1065010.1065018. Google ScholarDigital Library
- Simon Peyton Jones. Wearing the hair shirt: a retrospective on Haskell (invited talk). In ACM SIGPLAN Conferenge on Principles of Programming Languages (POPL'03), 2003.Google Scholar
- Simon Peyton Jones, editor. Haskell 98 Language and Libraries: the Revised Report. Cambridge University Press, May 2003.Google Scholar
- Simon Peyton Jones, Alan Blackwell, and Margaret Burnett. A user-centred approach to functions in Excel. In ICFP '03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming, pages 165--176, New York, NY, USA, 2003. ACM Press. ISBN 1-58113-756-7. doi: http://doi.acm.org/10.1145/944705.944721. Google ScholarDigital Library
- Marwan Sabbouh, Jeff Higginson, Danny Gagne, and Salim Semy. Web mashup scripting language (poster). In 16th International World Wide Web Conference, 2007. Google ScholarDigital Library
- M. C. Schraefel, Daniel Wigdor, Yuxiang Zhu, and David Modjeska. Hunter gatherer: within-web-page collection making. In CHI '02: CHI '02 extended abstracts on Human factors in computing systems, pages 826--827, New York, NY, USA, 2002. ACM Press. ISBN 1-58113-454-1. doi: http://doi.acm.org/10.1145/506443.506617. Google ScholarDigital Library
- Michael Schrenk. Webbots, Spiders, and Screen Scrapers. No Starch Press, 2007. Google ScholarDigital Library
- Atsushi Sugiura and Yoshiyuki Koseki. Internet scrapbook: automating web browsing tasks by demonstration. In UIST '98: Proceedings of the 11th annual ACM symposium on User interface software and technology, pages 9--18, New York, NY, USA, 1998. ACM Press. ISBN 1-58113-034-1. doi: http://doi.acm.org/10.1145/288392.288395. Google ScholarDigital Library
- Masato Takeichi, Zhenjiang Hu, Kazuhiko Kakehi, Yashushi Hayashi, Shin-Cheng Mu, and Keisuke Nakano. TreeCalc: towards programmable structured documents. In Japan Society for Software Science and Technology, 2003.Google Scholar
- Jeffrey Wong and Jason Hong. Marmite: end-user programming for the web. In CHI '06: CHI '06 extended abstracts on Human factors in computing systems, pages 1541--1546, New York, NY, USA, 2006. ACM Press. ISBN 1-59593-298-4. doi: http://doi.acm.org/10.1145/1125451.1125733. Google ScholarDigital Library
Index Terms
- User-friendly functional programming for web mashups
Recommendations
End-user programming of mashups with vegemite
IUI '09: Proceedings of the 14th international conference on Intelligent user interfacesMashups are an increasingly popular way to integrate data from multiple web sites to fit a particular need, but it often requires substantial technical expertise to create them. To lower the barrier for creating mashups, we have extended the CoScripter ...
User-friendly functional programming for web mashups
Proceedings of the ICFP '07 conferenceMashMaker is a web-based tool that makes it easy for a normal user to create web mashups by browsing around, without needing to type, or plan in advance what they want to do.
Like a web browser, Mashmaker allows users to create mashups by browsing, ...
Towards user-centered mashups: exploring user needs for composite web services
CHI EA '11: CHI '11 Extended Abstracts on Human Factors in Computing SystemsThe Web contains a vast amount of services supporting users in various facets of life. In mashup or composite Web services, elements from various services are combined to create a service which suits users' needs. Our goal was to explore what kind of ...
Comments