Help, I want to see a normal website!

Daniel Yule's personal website

         /----/     /----/    /---------/    /----/         /----/         /-----------/
        /    /     /    /    /    _____/    /    /         /    /         /    __     /
       /    /     /    /    /    /         /    /         /    /         /    / /    /
      /    /     /    /    /    /         /    /         /    /         /    / /    /
     /     -----     /    /     ----/    /    /         /    /         /    / /    /
    /    /     /    /    /    /         /    /         /    /         /    / /    /
   /    /     /    /    /    /         /    /         /    /         /    / /    /
  /    /     /    /    /     -----/   /     -----/   /     -----/   /    ---    /
 /____/     /____/    /__________/   /__________/   /__________/   /___________/
Mitosis: A Research Data Management Tool (2017) Thesis Proposal at Dalhousie University With the rapid growth of research data output spurred on by the proliferation of computing power, the ability to collect, preserve and make available research output has never been more important. This proposal surveys relevant ideas, examines existing systems and generates a list of requirements for a research data system. The full thesis will give a detailed design of the proposed system, and demonstrate how it satisfies the derived requirements. This work is both a comprehensive survey of relevant research, which has not been undertaken previously, as well as a description of several novel ideas combined to make a research data management system.
Web and File Based Document Collaboration via Aysnchronous and Synchronous Updates (2016) Demo at DChanges 2016 in Vienna, Austria (with James Blustein) doi: 10.1145/2993585.2993587 Collaborative documents can be worked on synchronously (collaborators see updates as they happen) and asynchronously (collaborators see updates after they are shared). Synchronous updates are useful when collaborators are working together in real-time on the details of a document. Asynchronous updates are more appropriate for sharing larger sets of changes or for publishing a particular version. Furthermore, although web-based collaboration is ideal for real-time updates, often authors wish to use software installed on their local computer to edit documents. As such, this note will outline an approach for merging synchronous and asynchronous updates across both the WWW and the user's local file system using Operational Transforms and Conflict-Free Replicated Data Types.
Return to the Native: From NLS/Augment to HTML 5 (2016) Demo at Hypertext 2016 in Halifax (with James Blustein and Ann-Barbara Graff) We present a demonstration of the shopping-list-as-map part of the 1968 NLS system coded in native HTML5 on the WWW. This demonstration is part of a project examining the state of the field of Hypertext with particular focus on adoption and development of techniques from its early days. This demonstration examines the advances made in hypertext since 1968. Although the WWW has made enormous strides in accessibility, due in no small part to its distributed, scriptable and themable nature, in a real sense, it has only been in the last few years that WWW browsers have been able to reproduce what was demonstrated in 1968’s NLS without resorting to plug-ins and extensions. We will compare the capabilities of NLS and the WWW, as well as the differences in philosophy between the two systems that brought us to this point.
Operation Citadel: Exploring the Role of Docents in Mixed Reality(2015) Presented at CHI PLAY '15 (with Derek Reilly and Bonnie MacKay) doi: 10.1145/2793107.2793135 In this paper we describe the role of docents in a mixed reality game at a historic site called Operation: Citadel. The docents act as intermediaries between the system and the participants, providing interpretation and understanding of the game and managing interaction. This permits the integration of sophisticated interactions and rich narrative while maintaining the walk-up-and-use, casual nature of the exhibit. We describe the implementation and design, and examine the effect that docents had on enjoyment of and frustration with the game. Our results indicate that docents can serve an important role in augmenting participant experience. We identify and describe a set of roles unique to docents of Mixed Reality experiences.
Open Source ETD Submission Software: an update on Jarrow ETD (2013) presented at 16th International Symposium on Electronic Theses and Dissertation in Hong Kong (with James RW MacDonald, Caitlin Bakker and Peter Hvezda)
Of Hoverboards and Hypertext (2013) presented at the 15th International Conference on Human-Computer Interaction in Las Vegas (with Jamie Blustein) doi: 10.1007/978-3-642-39229-0_19
Jarrow, Electronic Thesis and Dissertation Software (2012) code4Lib Journal Issue 18. (with James RW MacDonald)
Developing a Revolution in ETD Workflow Management: a Software Solution from Thesis Proposal to Final Dissemination and Publication (2012) presented at the USETDA 2012 conference in Boston, MA (with James RW MacDonald)
Face Recognition through Regional Weight Estimation (2011) presented at the 18th annual International Conference on Image Processing in Brussels, Belgium (with Liang Chen) doi: 10.1109/ICIP.2011.6115801
Face Recognition Through Regret Minimization (2011) Master's Thesis (supervisor: Liang Chen) Permanent Location: UNBC Library Catalogue

CSCI 3130 Lab resources

Marking Rubric

Marking Rubric

Vaadin Resources

Other Tools


Week 5


Grunt Tutorial


Get grunt doing something for your project

Download Sample Project here

  1. Download demo.tar from the website (or copy it from /var/www/html on the server)
  2. Copy Gruntfile.js and package.json to your own project
  3. Run npm install to install grunt and the necessary plugins
  4. Modify the grunt file to do something with your application

Week 4





Design a low-fidelity prototype (paper or digital) for at least one user story in your project.

Be sure to answer the following questions before you start:

Week 3


Git (Version Control)


  1. Install Git
  2. Go to
  3. Clone the repo
  4. Make a branch
  5. Make a change to that branch
  6. Commit your change

Week 2


Office 365 and Charts

Jasmine (Testing Framework)


Download The excel sheet. Using the data in the sheet, create a burnup chart

Excercise Excel Sheet

Week 1


Taking JavaScript Seriously


Download both files (Right click. Choose "Save Link As" or similar). Modify javascript_excercise.js so that the object returned by create_calorie_counter has no public data

Excercise JavaScript

Excercise HTML


Pitch Preference Form

Fill out this form with some information about your pitches for our three sub-topics: Google Form