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.
- A9 and Amazon. 2005. OpenSearch 1.1 spec. http://www.opensearch.org/Specifications/OpenSearch/1.1.Google Scholar
- Á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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Avg. 2010. AVG linkscanner - How it works. http://linkscanner.avg.com/ww.sals-how-it-works.html.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Bouvin, N. O. 1999. Unifying strategies for web augmentation. In Proceedings of the 10th ACM Conference on Hypertext and Hypermedia. 91--100. Google Scholar
Digital Library
- Burnett, M. M., Cook, C. R., and Rothermel, G. 2004. End-user software engineering. Comm. ACM 47, 53--58. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Davis, F. D. 1989. Perceived usefulness, perceived ease of use, and user acceptance of information technology. MIS Quart. 13, 319--340. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Dittrich, Y., Lindeberg, O., and Lundberg, L. 2006. End-user development as adaptive maintenance. In End-User Development, Springer, 295--313.Google Scholar
- 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 Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Filman, R. E. 2006. Taking back the web. IEEE Internet Comput. 10, 3--5. Google Scholar
Digital Library
- Fowler, M. 2010. Domain-Specific Languages. Addison-Wesley Professional. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- 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 Scholar
- Google. 2007a. Google caja - attack vectors. http://code.google.com/p/google-caja/wiki/AttackVectors.Google Scholar
- Google. 2007b. Google caja: A source-to-source translator for securing javascript-based web content. http://code.google.com/p/google-caja/.Google Scholar
- 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 Scholar
Cross Ref
- 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 Scholar
- 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 Scholar
Digital Library
- Iso/Iec. 2001. Software engineering - Software product quality - Part 1: Quality model. http://www.iso.org/iso/catalogue_detail.htm&qust;csnumber=22749.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
- Klann, M., Paternò, F., and Wulf, V. 2006. Future perspectives in end-user development. In End User Development, Springer, 475--486.Google Scholar
Cross Ref
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Lieuallen, A., Boodman, A., and Sundström, J. 2005. Greasemonkey. http://www.greasespot.net/.Google Scholar
- 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 Scholar
Digital Library
- Mccrea, A. 2007. Metaprogramming java script. http://www.scribd.com/doc/522145/metaprogramming-javascript.Google Scholar
- Mcfarlane, N. 2005. Fixing web sites with greasemonkey. Linux J. 138, 1. Google Scholar
Digital Library
- Mernik, M., Heering, J., and Sloane, A. M. 2005. When and how to develop domain-specific languages. ACM Comput. Surv. 37, 316--344. Google Scholar
Digital Library
- Microsoft. 2008. Internet explorer 8 accelerators. http://www.microsoft.com/windows/internet-explorer/features/faster.aspx.Google Scholar
- 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 Scholar
Digital Library
- Myers, B. A. 1990. Taxonomies of visual programming and program visualization. J. Vis. Lang. Comput. 1, 97--123. Google Scholar
Digital Library
- Paton, N. W. and Díaz, O. 1999. Active database systems. ACM Comput. Surv. 31, 63--103. Google Scholar
Digital Library
- 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 Scholar
Digital Library
- Pilgrim, M. 2005. In Greasemonkey Hacks: Tips and Tools for Remixing the Web with Firefox. O'Reilly, 33--45. Google Scholar
Digital Library
- Repenning, A. and Ioannidou, A. 2006. What makes end-user development tick&qust; 13 design guidelines. In End User Development. Springer, 51--85.Google Scholar
- Resig, J. 2006. jQuery. http://jquery.com/.Google Scholar
- 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 Scholar
Digital Library
- 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 Scholar
Digital Library
- Skype. 2005. Skype button in internet explorer or firefox toolbar. http://www.skype.com/intl/en/support/user-guides/toolbar&qust;lang=en.Google Scholar
- Spss. PASW statistics. http://www.spss.com.hk/statistics/.Google Scholar
- 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 Scholar
Digital Library
- Tuchinda, R., Knoblock, C. A., and Szekely, P. A. 2011. Building mashups by demonstration. ACM Trans. Web 5, 16:1--16:45. Google Scholar
Digital Library
- Turner, S. R. 2005. Platypus. http://platypus.mozdev.org/.Google Scholar
- Wikimedia. 2013. HTML in wikitext. http://meta.wikimedia.org/wiki/Help:HTML_in_wikitext.Google Scholar
- Winkler, W. E. 2006. Overview of record linkage and current research directions. Tech. rep., U.S. Bureau of the Census.Google Scholar
- 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 Scholar
Digital Library
- Yu, J., Benatallah, B., Casati, F., and Daniel, F. 2008. Understanding mashup development. IEEE Internet Comput. 12, 44--52. Google Scholar
Digital Library
Index Terms
A language for end-user web augmentation: Caring for producers and consumers alike
Recommendations
User Interface Adaptation Using Web Augmentation Techniques: Towards a Negotiated Approach
ICWE 2015: Proceedings of the 15th International Conference on Engineering the Web in the Big Data Era - Volume 9114The use of Web augmentation techniques has an impact on tasks of owners of Web sites, developers of scripts and end-users. Because the Web sites can be modified by external scripts, their owners might lose control about how Web site contents are ...
From the Editor in Chief: Taking Back the Web
The Greasemonkey Firefox extension could change the way people view Web pages. It lets users load and execute JavaScripts on Web pages, allowing them to manipulate the page's content in certain ways.
Programming Web Services on the Cloud with Node.js: (Abstract Only)
SIGCSE '18: Proceedings of the 49th ACM Technical Symposium on Computer Science EducationNode.js is one of the hottest open source web platforms currently available. It's used by companies like PayPal, DowJones, Walmart, Netflix, and Yahoo. Node.js allows you to use JavaScript to write all kinds of network servers in just a few lines of ...






Comments