Asynchronous Active Values for Client-Side Interactive Service Coordination

Alan Dix1,2

1 Talis, Birmingham, UK
2 School of Computer Science, University of Birmingham, Birmingham, UK

Paper to be presented at AVI2012, Capri, Italy. May 2012.


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

  1. 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.

  2. 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

  3. 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/

  4. 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/

  5. A. J. Dix (1994). Seven Years on, the Myth Continues. RR9405, University of Huddersfield. http://www.hcibook.com/alan /papers/myth95/

  6. 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/

  7. 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/

  8. 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

  9. 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/

  10. A. Dix (2007). Network-Based Interaction. Chapter 14. Human-Computer Interaction Handbook (2nd ed.) , eds. A. Sears and J. Jacko. CRC Press, 2007.

  11. 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/

  12. 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

  13. 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.

  14. E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design patterns: elements of reusable object-oriented software. Addison-Wesley Professional, 1995.

  15. The Go programming language. Google. retrieved 30 Sept 2011. http://golang.org/

  16. 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

  17. 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

  18. Krasner, G. and Pope, S. (1988). A cookbook for using the model-view-controller user interface paradigm in Smalltalk-80. JOOP, 1(3).

  19. McGuffin, L. and Olson, G. (1992). ShrEdit: A Shared Electronic Workspace, CSMIL Technical Report, Cognitive Science and Machine Intelligence Laboratory, University of Michigan, 1992.

  20. 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

  21. 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

  22. 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

  23. 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.

  24. 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

  25. 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/

  26. Quinlan, J. (1986). Induction of decision trees. Machine Learning, 1(1).

  27. 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

  28. B. Shneiderman. 1983. Direct Manipulation: A Step Beyond Programming Languages. IEEE Computer 16, 8 (August 1983), 57-69. DOI=10.1109/MC.1983.1654471

  29. 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

  30. 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]

 

 

 

 

 


http://www.hcibook.com/alan/papers/avi2012-active-values/

Alan Dix 2/4/2012