skip to main content
10.1145/1294211.1294254acmconferencesArticle/Chapter ViewAbstractPublication PagesuistConference Proceedingsconference-collections
Article

Programming by a sample: rapidly creating web applications with d.mix

Published: 07 October 2007 Publication History

Abstract

Source-code examples of APIs enable developers to quickly gain a gestalt understanding of a library's functionality, and they support organically creating applications by incrementally modifying a functional starting point. As an increasing number of web sites provide APIs, significantlatent value lies in connecting the complementary representations between site and service - in essence, enabling sites themselves to be the example corpus. We introduce d.mix, a tool for creating web mashups that leverages this site-to-service correspondence. With d.mix, users browse annotated web sites and select elements to sample. d.mix's sampling mechanism generates the underlying service calls that yield those elements. This code can be edited, executed, and shared in d.mix's wiki-based hosting environment. This sampling approach leverages pre-existing web sites as example sets and supports fluid composition and modification of examples. An initial study with eight participants found d.mix to enable rapid experimentation, and suggested avenues for improving its annotation mechanism.

Supplementary Material

WMV File (p241-hartmann1.wmv)

References

[1]
Dreamweaver, 2007. Adobe Inc. http://www.adobe.com/products/dreamweaver
[2]
Greasemonkey, 2007. http://greasemonkey.mozdev.org
[3]
Hpricot, a fast and delightful HTML parser, 2007. http://code.whytheluckystiff.net/hpricot
[4]
The MouseHole scriptable proxy. http://code.whytheluckystiff.net/mouseHole
[5]
Open Kapow, 2007. Kapow Technologies. http://www.openkapow.com
[6]
Pipes, 2007. Yahoo! http://pipes.yahoo.com
[7]
Service-oriented computing. Communications of the ACM, M. Papazoglou and D. Georgakopoulos. Vol. 46.
[8]
Anderson, C., The Long Tail: Hyperion. 256 pp. 2006.
[9]
Bolin, M., M. Webber, P. Rha, T. Wilson, and R. C. Miller, Automation and Customization of Rendered Web Pages. In UIST 2005: ACM Symposium on User Interface Software and Technology. 2005.
[10]
Curtis, B., W. Vicknair, and S. Nickolas, QEDWiki, 2007. IBM Alphaworks. http://services.alphaworks.ibm.com/qedwiki
[11]
Cypher, A., EAGER: Programming Repetitive Tasks by Example. In CHI: ACM Conference on Human Factors in Computing Systems. 1991.
[12]
Cypher, A., ed. Watch What I Do-Programming by Demonstration. MIT Press: Cambridge, MA. 652 pp. 1993.
[13]
Fairbanks, G., D. Garlan, and W. Scherlis, Design Fragments Make Using Frameworks Easier. In Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications. 2006.
[14]
Fujima, J., A. Lunzer, K. Hornb, and Y. Tanaka, Clip, Connect, Clone: Combining Application Elements to Build Custom Interfaces for Information Access. In UIST 2004: ACM Symposium on User Interface Software and Technology. 2004.
[15]
Hartmann, B., L. Abdulla, M. Mittal, and S. R. Klemmer, Authoring Sensor Based Interactions Through Direct Manipulation and Pattern Matching. In CHI 2007: ACM Conference on Human Factors in Computing Systems. 2007.
[16]
Hartmann, B., S. Doorley, and S. R. Klemmer, Hacking, Mashing, Gluing: A Study of Opportunistic Design and Development. Technical Report, Stanford University Computer Science Department, October 2006.
[17]
Hartmann, B., S. R. Klemmer, et al., Reflective Physical Prototyping through Integrated Design, Test, and Analysis. In UIST 2006: ACM Symposium on User Interface Software and Technology. 2006.
[18]
Hutchins, E. L., J. D. Hollan, and D. A. Norman. Direct Manipulation Interfaces. Human-Computer Interaction 1(4). pp. 311--38, 1985.
[19]
Huynh, D. and S. Mazzocchi, Solvent Firefox Extension, 2007. http://simile.mit.edu/wiki/Solvent
[20]
Kim, M., L. Bergman, T. Lau, and D. Notkin, An Ethnographic Study of Copy and Paste Programming Practices in OOPL. In Proceedings of the 2004 International Symposium on Empirical Software Engineering. 2004, IEEE Computer Society.
[21]
Lieberman, H., ed. Your Wish is my Command. Morgan Kaufmann. 416 pp. 2001.
[22]
Little, G., T. A. Lau, J. Lin, E. Kandogan, E. M. Haber, and A. Cypher, Koala: Capture, Share, Automate, Personalize Business Processes on the Web. In CHI 2007: ACM Conference on Human Factors in Computing Systems. 2007.
[23]
Mackay, W. E., Patterns of Sharing Customizable Software. In CSCW 1990: ACM Conference on Computer-supported cooperative work. 1990.
[24]
MacLean, A., K. Carter, L. Lövstrand, and T. Moran, User-tailorable Systems: Pressing the Issues with Buttons. In CHI 1990: ACM Conference on Human Factors in Computing Systems. 1990.
[25]
Mazzocchi, S. and R. Lee, Crowbar, 2007. http://simile.mit.edu/wiki/Crowbar
[26]
Myers, B., S. E. Hudson, and R. Pausch. Past, Present, and Future of User Interface Software Tools. ACM Transactions on Computer-Human Interaction 7(1). pp. 3--28, 2000.
[27]
Myers, B. A., Peridot: Creating User Interfaces by Demonstration. In Watch what I do: programming by demonstration. MIT Press. pp. 125--53, 1993.
[28]
Nardi, B. A., A Small Matter of Programming: Perspectives on End User Computing. Cambridge, MA: MIT Press. 178 pp. 1993.
[29]
Ozzie, R., Live Clipboard, 2007. http://www.liveclipboard.org
[30]
Pirolli, P. and S. Card. Information Foraging. Psychological Review 106(4). pp. 643--75, 1999.
[31]
schraefel, m. c., Y. Zhu, D. Modjeska, D. Wigdor, and S. Zhao. Hunter Gatherer: Interaction Support for the Creation and Management of Within-web-page Collections. In Proceedings of International World WideWeb Conference. pp. 172--81, 2002.
[32]
Shirky, C., Situated Software, 2004. http://www.shirky.com/writings/situated_software.html
[33]
Stuerzlinger, W., O. Chapuis, D. Phillips, and N. Roussel, User Interface Façades: Towards Fully Adaptable User Interfaces. In UIST 2006: ACM Symposium on User Interface Software and Technology. 2006.
[34]
Stylos, J. and B. Myers. A Web-Search Tool for Finding API Components and Examples. In Proceedings of IEEE Symposium on Visual Languages and Human-Centric Computing. pp. 195--202, 2006.
[35]
Stylos, J., B. A. Myers, and A. Faulring, Citrine: Providing Intelligent Copy-and-Paste. In UIST 2004: ACM Symposium on User Interface Software and Technology. 2004.
[36]
Tan, D., B. Meyers, and M. Czerwinski, WinCuts: Manipulating arbitrary window regions for more effective use of screen space. In CHI 2004: ACM Conference on Human Factors in Computing Systems. 2004.
[37]
Wong, J. and J. Hong, Making Mashups with Marmite: Towards End-User Programming for the Web. In CHI 2007: ACM Conference on Human Factors in Computing Systems. 2007.

Cited By

View all
  • (2024)Beyond TAP: Piggybacking on IFTTT to Connect Triggers and Actions with JavaScript2024 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC60511.2024.00036(260-274)Online publication date: 2-Sep-2024
  • (2023)Task Automation Intelligent Agents: A ReviewFuture Internet10.3390/fi1506019615:6(196)Online publication date: 29-May-2023
  • (2023)Frappé: An Ultra Lightweight Mobile UI Framework for Rapid API-based Prototyping and Environmental DeploymentProceedings of the ACM on Human-Computer Interaction10.1145/36042587:MHCI(1-23)Online publication date: 13-Sep-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
UIST '07: Proceedings of the 20th annual ACM symposium on User interface software and technology
October 2007
306 pages
ISBN:9781595936790
DOI:10.1145/1294211
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 October 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. mashups
  2. programming by example modification
  3. prototyping
  4. web services

Qualifiers

  • Article

Conference

UIST07

Acceptance Rates

Overall Acceptance Rate 561 of 2,567 submissions, 22%

Upcoming Conference

UIST '25
The 38th Annual ACM Symposium on User Interface Software and Technology
September 28 - October 1, 2025
Busan , Republic of Korea

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)16
  • Downloads (Last 6 weeks)2
Reflects downloads up to 17 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Beyond TAP: Piggybacking on IFTTT to Connect Triggers and Actions with JavaScript2024 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC60511.2024.00036(260-274)Online publication date: 2-Sep-2024
  • (2023)Task Automation Intelligent Agents: A ReviewFuture Internet10.3390/fi1506019615:6(196)Online publication date: 29-May-2023
  • (2023)Frappé: An Ultra Lightweight Mobile UI Framework for Rapid API-based Prototyping and Environmental DeploymentProceedings of the ACM on Human-Computer Interaction10.1145/36042587:MHCI(1-23)Online publication date: 13-Sep-2023
  • (2023)XRSpotlight: Example-based Programming of XR Interactions using a Rule-based ApproachProceedings of the ACM on Human-Computer Interaction10.1145/35932377:EICS(1-28)Online publication date: 19-Jun-2023
  • (2023)MIWA: Mixed-Initiative Web Automation for Better User Control and ConfidenceProceedings of the 36th Annual ACM Symposium on User Interface Software and Technology10.1145/3586183.3606720(1-15)Online publication date: 29-Oct-2023
  • (2022)Wikxhibit: Using HTML and Wikidata to Author Applications that Link Data Across the WebProceedings of the 35th Annual ACM Symposium on User Interface Software and Technology10.1145/3526113.3545706(1-15)Online publication date: 29-Oct-2022
  • (2022)SemanticOn: Specifying Content-Based Semantic Conditions for Web Automation ProgramsProceedings of the 35th Annual ACM Symposium on User Interface Software and Technology10.1145/3526113.3545691(1-16)Online publication date: 29-Oct-2022
  • (2022)Uncovering Instructors’ Diverse Practices and Perceptions: A Field Deployment of a Customization-Sharing Platform that Supports Course ManagementProceedings of the 2022 CHI Conference on Human Factors in Computing Systems10.1145/3491102.3501846(1-15)Online publication date: 29-Apr-2022
  • (2021)Shapir: Standardizing and Democratizing Access to Web APIsThe 34th Annual ACM Symposium on User Interface Software and Technology10.1145/3472749.3474822(1282-1304)Online publication date: 10-Oct-2021
  • (2021)Umitation: Retargeting UI Behavior Examples for Website DesignThe 34th Annual ACM Symposium on User Interface Software and Technology10.1145/3472749.3474796(922-935)Online publication date: 10-Oct-2021
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media