| 1 |
|
Watch me if you can!
This project explored the application of computer vision technology in a social game to develop a web-based photo-bombing game for the HITLab NZ. I performed a literature research to find out more about game design and computer vision methods. Some subjects covered were the psychological background of pranks and social games. My technology research focused on varieties of computer vision to be able to recognise players in uploaded photos. Furthermore, I used the outcomes of a context mapping session with four potential users to develop an interaction vision and define requirements for a successful game. My main conclusions were that social gameplay especially was a major opportunity to include in my game, and that many different computer vision methods have different benefits and disadvantages that should be further explored before incorporating one in my design. This exploration was executed using an evolutionary design method and a design framework based on several elements of game design. Brainstorming sessions and a morphological chart led to game mechanisms that explored the idea scenarios regarding social play and the fulfilment of quests, and a technological development based on QR codes and face recognition. The final design combined both idea scenarios by offering social quests, and used face recognition as identification method. The game was developed and explained in more detail using the game design framework and various diagrams: a function diagram explaining the input, output, and processes of player, website, and servers; and a system diagram to connect the functions and interactions to form a player-friendly interface. Because of technological limitations regarding player identification found in the game development, the final user test focused on the gameplay and user experience compared to my vision and expectations. I tested the enjoyment level, balance, player retention, and tourist reactions. I found that my test persons were reluctant to cross social boundaries for more elaborate photo-bombing quests. They felt that, in theory, the game sounded like an amazing way to spend some spare time on holiday, almost like a treasure hunt. In practice, however, they hardly got round to playing it. My final recommendations were to review the choice of a broad target group and to pay a lot of attention to the implementation of the game, so it becomes socially accepted. More importantly, the success of the game depends heavily on future computer vision developments: as it stands right now, the methods I explored are not reliable enough.
|
[Abstract]
|
| 2 |
|
Integration of data validation and user interface concerns in a DSL for web applications
Data validation rules constitute the constraints that data input and processing must adhere to in addition to the structural constraints imposed by a data model. Web modeling tools do not make all types of data validation explicit in their models, hampering full code generation and model
expressivity. Web application frameworks do not offer a consistent interface for data validation. In this paper, we present a solution for the integration of declarative data validation rules with user interface models in the domain of web applications, unifying syntax, mechanisms for error handling, and semantics of validation checks, and covering value well-formedness, data invariants, input assertions, and action assertions.We have implemented the approach inWeb-DSL, a domain-specific language for the definition of web applications.
|
[PDF]
[Abstract]
|
| 4 |
|
End User Involvement in Exploratory Test Automation for Web Applications
The traditional way of developing websites as hypertexts, which can be navigated link by link, is progressively giving way to the AJAX approach, in which the entire hypertext can be contained in a single web page. The resulting page has the advantage of offering navigation by loading only specific parts of the page - only the changing content. Conventional web crawlers, applications which explore web pages in a systematic way, are not able to browse AJAX pages. In order to overcome this barrier, which prevents the execution of automated tasks such as web indexing or mechanized tests, the Software Engineering Group at TU Delft has developed Crawljax, a tool capable of crawling AJAX pages.
Crawljax already offers many possibilities. It provides default settings for simple page testing, but it can also be included in a Java project and be programmed to execute more complicated testing, or specific crawling in certain directions of the page. For example, Crawljax can include or exclude some buttons, check boxes, text areas and other elements of the page to help focus on a certain area to test. Through its various plugins it can benchmark websites, find invariants to use in regression tests, export a graphical representation of the states tree graph, and more. All of these possibilities are however restricted to Java programmers, willing to learn how to use a new tool to expand their limited crawling power. What Crawljax does not yet offer is a simple way, even for non-programmers, to create and execute specific test cases.
Here we present an extension on Crawljax, a way to simplify the process of running crawling sessions and integrity tests on webpages. We call this system CrawlMan, the Crawljax Manager. CrawlMan uses components of Crawljax and his plugins and libraries, connected to a Graphical User Interface, in order to provide automated, repeatable crawling and testing. The application allows a basic user to start crawling a web page by simply inserting the selected URL, then shows a graphical representation of the result and uses it to guide the user in the refinement of the settings. The user can then crawl the same URL with more specific settings, inspect the new result and use the new suggestions to refine the settings, again and again. The obtained cycle, where the test results are used to improve the test itself, is the main project contribution. We evaluate our approach by means of analyzing the behavior of selected novice users during the execution of predefined tests.
|
[PDF]
[Abstract]
|