Abstract
This paper describes Asynchronous Active Values (AAV), a framework for the production of reactive web interfaces that use API-based web service back-ends. Such interfaces are now becoming common due to API-oriented application development and more sophisticated post-Web2.0 mashups. A significant feature of such interfaces is the need for feedback when parts of the page display are in some way temporarily invalid, or in flux, while potentially slow API calls are responding to requests. AAV extends existing methods such as access-oriented programming and the observer pattern, by including a 'changing' event in addition to the normal 'onChange' to enable intermediate feedback.
Keywords: AJAX, user-interface architecture, asynchronous update, web development
References
-
Bizer, C., Heath, T. and Berners-Lee, T. 2009. Linked data – the story so far. Int. J. Semantic Web Inf. Syst., 5, 3, 1–22.
-
Bradley T. Vander Zanden, Richard Halterman, Brad A. Myers, Rich McDaniel, Rob Miller, Pedro Szekely, Dario A. Giuse, and David Kosbie. 2001. Lessons learned about one-way, dataflow constraints in the Garnet and Amulet graphical toolkits. ACM Trans. Program. Lang. Syst. 23, 6 (November 2001), 776-796. DOI=10.1145/506315.506318
-
Clarke, G. (2011). Google plan to kill Javascript with Dart, fight off Apple. The Register, dated 14th September 2011, accessed December 2011. http://www.theregister.co.uk/2011/09/14/google_project_kill_javascript/
-
A. Dix (1994). Que sera sera - The problem of the future perfect in open and cooperative systems. Proc. HCI'94: People and Computers IX, Eds. G. Cockton, S. W. Draper and G. R. S. Weir. Glasgow, Cambridge University Press. 397-408. http://www.hcibook.com/alan/papers/loop-HCI94/
-
A. J. Dix (1994). Seven Years on, the Myth Continues. RR9405, University of Huddersfield. http://www.hcibook.com/alan /papers/myth95/
-
A. Dix and A. Patrick (1994). Query By Browsing. Proceedings of IDS'94: The 2nd International Workshop on User Interfaces to Databases, Ed. P. Sawyer. Lancaster, UK, Springer Verlag. 236-248. http://www.alandix.com/academic/papers/QbB-IDS94/
-
Dix, A. and Abowd, G. (1996). Modelling status and event behaviour of interactive systems. Software Engineering Journal, 11, 6, 334-346. http://www.alandix.com/academic/papers/SEJ96-s+e/
-
A. Dix and G. Abowd (1996). Delays and Temporal Incoherence Due to Mediated Status-Status Mappings. SIGCHI Bulletin, 28, 2, 47-49. http://old.sigchi.org/bulletin/1996.2/Alan-Dix.html
-
A. Dix, R. Beale and A. Wood (2000). Architectures to make Simple Visualisations using Simple Systems. In Proc. AVI2000, ACM, 51–60.
http://www.alandix.com/academic/papers/avi2000/
-
A. Dix (2007). Network-Based Interaction. Chapter 14. Human-Computer Interaction Handbook (2nd ed.) , eds. A. Sears and J. Jacko. CRC Press, 2007.
-
Dix, A. and Cowen L. (2007). ‘HCI 2.0? Usability meets Web 2.0’. Panel position paper. Proc. HCI2007, Vol. 2 , British Computer Society. http://www.alandix.com/academic/papers/HCI2007-HCI-2.0-panel/
-
Paul Dourish. 1996. Consistency guarantees: exploiting application semantics for consistency management in a collaboration toolkit. In Proc. CSCW '96, ACM, 268-277. DOI=10.1145/240080.240300
-
C. A. Ellis and S. J. Gibbs (1989). Concurrency control in groupware systems. Proceedings of 1989 ACM SIGMOD International Conference on Management of Data, SIGMOD Record, 18, 2, 399-407.
-
E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: elements of reusable object-oriented software. Addison-Wesley Professional, 1995.
-
The Go programming language. Google. retrieved 30 Sept 2011. http://golang.org/
-
Greenberg, S, and Marwood, D. (1994). Real-Time Groupware as a Distributed System: Concurrency Control and its Effect on the Interface, Proc. CSCW’94, ACM, 207–217, DOI=10.1145/192844.193011
-
Gutwin, C., Lippold, M. and Graham., N. (2011). Real-time groupware in the browser: testing the performance of web-based networking. In Proc. CSCW '11. ACM, 167-176. DOI=10.1145/1958824.1958850
-
Krasner, G. and Pope, S. (1988). A cookbook for using the model-view-controller user interface paradigm in Smalltalk-80. JOOP, 1(3).
-
McGuffin, L. and Olson, G. (1992). ShrEdit: A Shared Electronic Workspace, CSMIL Technical Report, Cognitive Science and Machine Intelligence Laboratory, University of Michigan, 1992.
-
Meyerovich, L., Guha, A., Baskin, J., Cooper, G., Greenberg, M., Bromfield, M. and Krishnamurthi, S. (2009). Flapjax: A Programming Language for Ajax Applications, OOPSLA’09, October 25–29, 2009
-
Nielsen, J. (2007). Web 2.0 'Neglecting good design. BBC News. 14 May 2007 Available at: http://news.bbc.co.uk/1/hi/technology/6653119.stm
-
Nielsen', J. (2007). Web 2.0 Can Be Dangerous... , Jakob Nielsen's Alertbox, December 17, 2007. accessed Dec 2011, http://www.useit.com/alertbox/web-2.html
-
Khoo Y P, Hicks, M., Foster , J. and Sazawal, V. (2008). Directing JavaScript with Arrows (Functional Pearl), Technical Report CS-TR-4923, Dept. of Computer Science, University of Maryland, August 2008.
-
Pilgrim, C. 2008. Improving the usability of web 2.0 applications. In Proceedings of the nineteenth ACM conference on Hypertext and hypermedia (HT '08). ACM, NY, USA, 239-240. DOI=10.1145/1379092.1379144
-
Prud'hommeaux, E. and Seaborne, A. (2008). SPARQL Query Language for RDF. W3C Recommendation 15. January 2008. http://www.w3.org/TR/rdf-sparql-query/
-
Quinlan, J. (1986). Induction of decision trees. Machine Learning, 1(1).
-
Greg Rosenberg. 2007. A look into the interaction design of the new Yahoo! mail...: and the pros and cons of AJAX. interactions 14, 2 (March 2007), 33-34. DOI=10.1145/1229863.1229882
-
B. Shneiderman. 1983. Direct Manipulation: A Step Beyond Programming Languages. IEEE Computer 16, 8 (August 1983), 57-69. DOI=10.1109/MC.1983.1654471
-
M. J. Stefik, D. G. Bobrow, and K. M. Kahn. 1986. Integrating Access-Oriented Programming into a Multiparadigm Environment. IEEE Softw. 3, 1 (January 1986), 10-18. DOI=10.1109/MS.1986.232428
-
Tonkin, E. (2006). AJAX And Usability Issues, UKOLN. Dated 4th March 2006, Accessed 14 Dec 2011. http://www.ukoln.ac.uk/qa-focus/documents/briefings/briefing-94/html/
|
|
-
Fig1. in-flux indicators –
"Sending..." in Gmail .
Fig. 2: in-flux indicators –
messages loading in Facebook
Fig. 3: Query-by-Browsing for SemWeb
[zoom image]
Fig. 4: Interaction and external
network
state in MVC
[zoom image]
Fig. 9: Main states of AAV
[zoom image]
|