skip to main content
research-article

A language for end-user web augmentation: Caring for producers and consumers alike

Published:29 May 2013Publication History
Skip Abstract Section

Abstract

Web augmentation is to the Web what augmented reality is to the physical world: layering relevant content/layout/navigation over the existing Web to customize the user experience. This is achieved through JavaScript (JS) using browser weavers (e.g., Greasemonkey). To date, over 43 million of downloads of Greasemonkey scripts ground the vitality of this movement. However, Web augmentation is hindered by being programming intensive and prone to malware. This prevents end-users from participating as both producers and consumers of scripts: producers need to know JS, consumers need to trust JS. This article aims at promoting end-user participation in both roles. The vision is for end-users to prosume (the act of simultaneously caring for producing and consuming) scripts as easily as they currently prosume their pictures or videos. Encouraging production requires more “natural” and abstract constructs. Promoting consumption calls for augmentation scripts to be easier to understand, share, and trust upon. To this end, we explore the use of Domain-Specific Languages (DSLs) by introducing Sticklet. Sticklet is an internal DSL on JS, where JS generality is reduced for the sake of learnability and reliability. Specifically, Web augmentation is conceived as fixing in existing web sites (i.e., the wall) HTML fragments extracted from either other sites or Web services (i.e., the stickers). Sticklet targets hobby programmers as producers, and computer literates as consumers. From a producer perspective, benefits are threefold. As a restricted grammar on top of JS, Sticklet expressions are domain oriented and more declarative than their JS counterparts, hence speeding up development. As syntactically correct JS expressions, Sticklet scripts can be installed as traditional scripts and hence, programmers can continue using existing JS tools. As declarative expressions, they are easier to maintain, and amenable for optimization. From a consumer perspective, domain specificity brings understandability (due to declarativeness), reliability (due to built-in security), and “consumability” (i.e., installation/enactment/sharing of Sticklet expressions are tuned to the shortage of time and skills of the target audience). Preliminary evaluations indicate that 77% of the subjects were able to develop new Sticklet scripts in less than thirty minutes while 84% were able to consume these scripts in less than ten minutes. Sticklet is available to download as a Mozilla add-on.

References

  1. A9 and Amazon. 2005. OpenSearch 1.1 spec. http://www.opensearch.org/Specifications/OpenSearch/1.1.Google ScholarGoogle Scholar
  2. Álvarez, M., Pan, A., Raposo, J., Bellas, F., and Cacheda, F. 2010. Finding and extracting data records from web pages. Signal Process. Syst. 59, 123--137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Arellano, C., Díaz, O., and Iturrioz, J. 2010. Crowdsourced web augmentation: A security model. In Proceedings of the 11th International Conference on Web Information Systems Engineering. 294--307. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Avg. 2010. AVG linkscanner - How it works. http://linkscanner.avg.com/ww.sals-how-it-works.html.Google ScholarGoogle Scholar
  5. Becker, S., Hasselbring, W., Paul, A., Boskovic, M., Koziolek, H., Ploski, J., Dhama, A., Lip-Skoch, H., Rohr, M., Winteler, D., Giesecke, S., Meyer, R., Swaminathan, M., Happe, J., Muhle, M., and Warns, T. 2006. Trustworthy software systems: A discussion of basic concepts and terminology. ACM SIGSOFT Softw. Engin. Not. 31, 1--18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bizer, C., Lehmann, J., Kobilarov, G., Auer, S., Becker, C., Cyganiak, R., and Hellmann, S. 2009. DBpedia - A crystallization point for the web of data. J. Web Semantics Sci. Services Agents World Wide Web 7, 154--165. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Blackwell, A. F. 2002. First steps in programming: A rationale for attention investment models. In Proceedings of the IEEE Symposum on Human-Centric Computing Languages and Environments. 2--10. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Blackwell, A. F. and Green, T. R. G. 1999. Investment of attention as an analytic approach to cognitive dimensions. In Proceedings of the Collected Papers of the 11th Annual Workshop of the Psychology of Programming Interest Group. 246--253.Google ScholarGoogle Scholar
  9. Bogart, C., Burnett, M. M., Cypher, A., and Scaffidi, C. 2008. End-user programming in the wild: A field study of coscripter scripts. In Proceedings of the 24th IEEE Symposium on Visual Languages and Human-Centric Computing. 39--46. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Bolin, M. and Miller, R. C. 2005. Naming page elements in end-user web automation. In Proceedings of the 1st Workshop on End-User Software Engineering. 1--5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Bolin, M., Webber, M., Rha, P., Wilson, T., and Miller, R. C. 2005. Automation and customization of rendered web pages. In Proceedings of the 18th Annual ACM Symposium on User Interface Software and Technology. 163--172. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Bouvin, N. O. 1999. Unifying strategies for web augmentation. In Proceedings of the 10th ACM Conference on Hypertext and Hypermedia. 91--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Burnett, M. M., Cook, C. R., and Rothermel, G. 2004. End-user software engineering. Comm. ACM 47, 53--58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Buyukkokten, O., Kaljuvee, O., Garcia-Molina, H., Paepcke, A., and Winograd, T. 2002. Efficient web browsing on handheld devices using page and form summarization. ACM Trans. Inf. Syst. 20, 82--115. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Cappiello, C., Daniel, F., Matera, M., Picozzi, M., and Weiss, M. 2011. Enabling end user development through mashups: Requirements, abstractions and innovation toolkits. In Proceedings of the 3rd International Symposium - End-User Development. 9--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Crockford, D. 2006. The application/json media type for javascript object notation (JSON). Tech. rep., Internet Engineering Task Force. http://tools.ietf.org/html/rfc4627.Google ScholarGoogle Scholar
  17. Daniel, F., Casati, F., Benatallah, B., and Shan, M. 2009. Hosted universal composition: Models, languages and infrastructure in mashart. In Proceedings of the 28th International Conference on Conceptual Modeling. 428--443. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Daniel, F., Rodríguez, C., Chowdhury, S. R., Motahari, H. R., and Casati, F. 2012. Discovery and reuse of composition knowledge for assisted mashup development. In Proceedings of the 21st International Conference on World Wide Web. 493--494. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Davis, F. D. 1989. Perceived usefulness, perceived ease of use, and user acceptance of information technology. MIS Quart. 13, 319--340. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Díaz, O., Arellano, C., and Iturrioz, J. 2010. Interfaces for scripting: Making greasemonkey scripts resilient to website upgrades. In Proceedings of the 10th International Conference on Web Engineering. 233--247. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Dittrich, Y., Lindeberg, O., and Lundberg, L. 2006. End-user development as adaptive maintenance. In End-User Development, Springer, 295--313.Google ScholarGoogle Scholar
  22. Dontcheva, M., Drucker, S. M., Salesin, D., and Cohen, M. F. 2007. Changes in webpage structure over time. Tech. rep. 2007-04-02, University of Washington.Google ScholarGoogle Scholar
  23. Ennals, R., Brewer, E. A., Garofalakis, M. N., Shadle, M., and Gandhi, P. 2007. Intel mash maker: Join the web. SIGMOD Rec. 36, 27--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Eteanga, E. 2010. Create a custom search engine for firefox, ie, chrome. http://www.eteanga.ie/create-a-custom-search-engine-for-firefox-ie-chrome/.Google ScholarGoogle Scholar
  25. Filman, R. E. 2006. Taking back the web. IEEE Internet Comput. 10, 3--5. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Fowler, M. 2010. Domain-Specific Languages. Addison-Wesley Professional. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Ghiani, G., Paternò, F., and Spano, L. D. 2011. Creating mashups by direct manipulation of existing web applications. In Proceedings of the 3rd International Symposium on End-User Development. 42--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Glinert, E. 1989. An in-depth look at selected visual systems. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems Workshop on Visual Computing Environments (CHI'89).Google ScholarGoogle Scholar
  29. Google. 2007a. Google caja - attack vectors. http://code.google.com/p/google-caja/wiki/AttackVectors.Google ScholarGoogle Scholar
  30. Google. 2007b. Google caja: A source-to-source translator for securing javascript-based web content. http://code.google.com/p/google-caja/.Google ScholarGoogle Scholar
  31. Green, T. R. G., Blandford, A. E., Church, L., Roast, C. R., and Clarke, S. 2006. Cognitive dimensions: Achievements, new directions, and open questions. J. Vis. Lang. Comput. 17, 328--365.Google ScholarGoogle ScholarCross RefCross Ref
  32. Green, T. R. G., Petre, M., and Bellamy, R. K. E. 1991. Comprehensibility of visual and textual programs: A test of ‘superlativism’ against the ‘match-mismatch’ conjecture. In Proceedings of the 4th Workshop on Empirical Studies of Programmers.Google ScholarGoogle Scholar
  33. Hagemann, S. and Vossen, G. 2009. ActiveTags: Making tags more useful anywhere on the web. In Proceedings of the 20th Australasian Database Conference. 41--48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Iso/Iec. 2001. Software engineering - Software product quality - Part 1: Quality model. http://www.iso.org/iso/catalogue_detail.htm&qust;csnumber=22749.Google ScholarGoogle Scholar
  35. Jaffri, A., Glaser, H., and Millard, I. 2007. URI identity management for semantic web data integration and linkage. In Proceedings of the 3rd International Workshop on Scalable Semantic Web Knowledge Base Systems. 1125--1134. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Kang, K. C., Cohen, S. G., Hess, J. A., Novak, W. E., and Peterson, A. S. 1990. Feature-oriented domain analysis (foda) feasibility study. Tech. rep., Carnegie-Mellon University Software Engineering Institute.Google ScholarGoogle Scholar
  37. Klann, M., Paternò, F., and Wulf, V. 2006. Future perspectives in end-user development. In End User Development, Springer, 475--486.Google ScholarGoogle ScholarCross RefCross Ref
  38. Ko, A. J., Abraham, R., Beckwith, L., Blackwell, A., Burnett, M., Erwig, M., Scaffidi, C., Lawrance, J., Lieberman, H., Myers, B., Rosson, M. B., Rothermel, G., Shaw, M., and Wiedenbeck, S. 2011. The state of the art in end-user software engineering. ACM Comput. Surv. 43, 21:1--21:44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Leshed, G., Haber, E. M., Matthews, T., and Lau, T. 2008. CoScripter: Automating and sharing how-to knowledge in the enterprise. In Proceedings of the 26th International Conference on Human Factors in Computing Systems. 1719--1728. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Lieuallen, A., Boodman, A., and Sundström, J. 2005. Greasemonkey. http://www.greasespot.net/.Google ScholarGoogle Scholar
  41. Lingam, S. and Elbaum, S. G. 2007. Supporting end-users in the creation of dependable web clips. In Proceedings of the 16th International Conference on World Wide Web. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Mccrea, A. 2007. Metaprogramming java script. http://www.scribd.com/doc/522145/metaprogramming-javascript.Google ScholarGoogle Scholar
  43. Mcfarlane, N. 2005. Fixing web sites with greasemonkey. Linux J. 138, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Mernik, M., Heering, J., and Sloane, A. M. 2005. When and how to develop domain-specific languages. ACM Comput. Surv. 37, 316--344. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Microsoft. 2008. Internet explorer 8 accelerators. http://www.microsoft.com/windows/internet-explorer/features/faster.aspx.Google ScholarGoogle Scholar
  46. Miller, R. C. and Myers, B. A. 2000. Integrating a command shell into a web browser. In Proceedings of the USENIX Annual Technical Conference. 171--182. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Myers, B. A. 1990. Taxonomies of visual programming and program visualization. J. Vis. Lang. Comput. 1, 97--123. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Paton, N. W. and Díaz, O. 1999. Active database systems. ACM Comput. Surv. 31, 63--103. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Paz, I. and Díaz, O. 2010. Providing resilient xpaths for external adaptation engines. In Proceedings of the 21st ACM Conference on Hypertext and Hypermedia. 67--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Pilgrim, M. 2005. In Greasemonkey Hacks: Tips and Tools for Remixing the Web with Firefox. O'Reilly, 33--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. Repenning, A. and Ioannidou, A. 2006. What makes end-user development tick&qust; 13 design guidelines. In End User Development. Springer, 51--85.Google ScholarGoogle Scholar
  52. Resig, J. 2006. jQuery. http://jquery.com/.Google ScholarGoogle Scholar
  53. Rossi, G., Schwabe, D., and Guimarães, R. 2001. Designing personalized web applications. In Proceedings of the 10th International Conference on World Wide Web. 275--284. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Sánchez, D., Batet, M., Valls, A., and Gibert, K. 2010. Ontology-driven web-based semantic similarity. J. Intell. Inf. Syst. 3, 383--413. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Skype. 2005. Skype button in internet explorer or firefox toolbar. http://www.skype.com/intl/en/support/user-guides/toolbar&qust;lang=en.Google ScholarGoogle Scholar
  56. Spss. PASW statistics. http://www.spss.com.hk/statistics/.Google ScholarGoogle Scholar
  57. Toomim, M., Drucker, S. M., Dontcheva, M., Rahimi, A., Thomson, B., and Landay, J. A. 2009. Attaching ui enhancements to websites with end users. In Proceedings of the 27th International Conference on Human Factors in Computing Systems. 1859--1868. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Tuchinda, R., Knoblock, C. A., and Szekely, P. A. 2011. Building mashups by demonstration. ACM Trans. Web 5, 16:1--16:45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Turner, S. R. 2005. Platypus. http://platypus.mozdev.org/.Google ScholarGoogle Scholar
  60. Wikimedia. 2013. HTML in wikitext. http://meta.wikimedia.org/wiki/Help:HTML_in_wikitext.Google ScholarGoogle Scholar
  61. Winkler, W. E. 2006. Overview of record linkage and current research directions. Tech. rep., U.S. Bureau of the Census.Google ScholarGoogle Scholar
  62. Xiao, X., Luo, Q., Hong, D., Fu, H., Xie, X., and Ma, W. 2009. Browsing on small displays by transforming web pages into hierarchically structured subpages. ACM Trans. Web 3, 4:1--4:36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Yu, J., Benatallah, B., Casati, F., and Daniel, F. 2008. Understanding mashup development. IEEE Internet Comput. 12, 44--52. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A language for end-user web augmentation: Caring for producers and consumers alike

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!