COMPX241 Project Ideas

The Wonder Years

Project Manager: Michael Robertson

Team Members: Nubeerah Khan, Ryan Monaghan, and Tony Nugroho

Weekly Update Time: Wed 3-4pm

Key Idea: A software environment to capture the things your kids do and produce as they grow up through their "Wonder Years": artwork (2D and 3D!), essays, school performances, sports, birthday heightmap ...

  • Keywords: Digital Content Management; Optical Character Recognition; Image Skew Detection; Photogrametry; Video Processing

I've found one of the delights of being a dad is experiencing the very wide ranging (!!) creative things my kids get up to through school, clubs, and when I'm foolish enough to leave them unsupervised. The haunted house 'movie' my daughters made when they were ages 8 and 6, shot in the garage, is ... well ... a SCREAM! I've got photos of them receiving awards, videos of school performances, the list goes on. The trouble is the content is all over the place. I know I've never deleted any of it, but for some of it I'd be hard pressed to remember just where exactly I squirrelled it away. The aim of the project is to develop a software environment to capture, store and help organize all this.

This project will see you working with a wide range of multimedia formats—photos, audio, video, and 3D models—in addition to text document formats such as PDF. While this handily lends itself to establishing clearly defined roles along the lines of handling the different media, the key to this project will be developing a software system that brings it all together. For that I'd recommend looking at a software solution such as a Digital Library toolkit, or else some other form of Content Management System.

Useful Links:

  • OpenCV (CV=Computer Vision) and Open Source OCR software such as Tesseract if looking to take photos of already printed stories/essays (such as at an exhibit at school) and recognize the text in to support full-text search to locate the article later on the Wonder Years system.
  • For reconstructing 3D objects from a series of photos see: AliceVision Meshroom, and OpenMVG/OpenMVS. Other open source/freely available tools are also around.
  • Greenstone Digital Library Software (produced right here at Waikato!)
  • This project already has a strong notion of the personal store of content being web centric, but following the mantra of design it as a web app unless there is a technical impediment for not doing so you might like to look at one of the Design-as-a-Web-App, Run-as-a-Native-Mobile-App development stacks such as the Open Source Meteor platform to do this.

Mashup: Gothello

Project Manager: Blake Akapita

Team Members: Max Bracken, Alexander Hill, and Anton Lee

Weekly Update Time: Wed 2-3pm

Update: Development of this project has continued through the Gothello Github code repository

Key Idea: An mashup version of the board games Go and Othello (Reversi).

  • Keywords: 2D Graphics; Human Computer Interaction (HCI);

For this project I'm pitching the idea of combining the idea of Go and Reversi/Othello, but the broader idea really to this project is to develop some sort of new game that is a mashup of two other well-known games. A team doing this project, therefore, is free to propose an alternative, with the proviso that everyone on the team is agreeable to the alternative proposal.

Originally I conceived of this project as being based around using a tablet, however the requirements of self-isolating in response to the government's Covid-19 Level 4 alert means I think it is now more prudent to centre this around the idea of developing a networked version of the mashup game. To push this idea a bit further, the envisioned game strikes me as well suited to being operational in a web browser, where players visit the web site to get paired up to play a match. There are even web-app development stacks out there, such as Meteor and React Native that let you develop apps using web technologies (HTML, CSS, Javascript), which can run as a regular website, with the added bonus that the development stack generates the necessary native apps that will run on Android and iOS platforms automatically. Develop like this, and—as part of the bargin—you can end up with a version that runs on a tablet, as originally conceived!

Implementing everything from scratch is one way to approach this projet. The other is to select existing, open source, code bases for the two games and develop the new game out of that. The latter saves time in terms of providing large portions of code providing needed functionality, however this needs to be offset against the time you spent looking through th code and understanding it. Choosing between these two approaches is a common dilema at the start of computer projects, and for most projects it is by no means clear which is the best tack to take. Since most of your university assessment in Computer Science largely follows the implement-everything-from-scratch approach, I highlight the opportunity in this project to gain experience with the working-with-existing-code approach. To be absolutely clear, for this project, your team is free to choose which approach to take.

As to distict roles that team members (or pairs of team members) can take on: in addition to the user interface, and the necessary software archiecture to support the game being played over the network, the project could also feature a computer player to allow single-user play.

Useful Links:

The Subject of a Treasure Hunt

Project Manager: Cameron Paul

Team Members: Zachary Cui, Bert Downs, and Harrison Whiting

Weekly Update Time: Wed 3-4pm

Key Idea: A location-aware mobile app that helps 1st year students on campus learn about the facilities and resources provided by the university. Solve subject-based questions for the degree you are studying for (Maths, Physics, Law, Philosophy, ...).

  • Keywords: Mobile App development; GPS; Human Computer Interaction

I almost quashed this project idea, due to the fact that none of us are on campus anymore! However, there is such a thing a FakeGPS—a feature that you can swith on, when in developer mode, on your phone that let's you control where the phone thinks it is the world—and so I've decided to keep this one on the books. At Waikato, we're never more than 4-6 months away from a fresh crop of 1st year students turning up.

This is a project that is clearly intended for operation on a mobile phone. Please refer to the Gothello project above for details about web-app development stacks that produce native cross-platform mobile apps in addition to operating as a web-site. There are also plenty of map APIs out there. Google Maps requires you to have a key to operation, but has a free tier that is generous in the number of requests/connectcions a day you can make; On the open-source side, Open Street Map is a popular and widely used platform that also supports API access. Leaflet is also worth taking a look at: this project concentrates on providing an easy-to-use API that is netural about which underlying mapping service is being used.

Another other key part of this project is developing a set of subject-relevant puzzle (or riddles??) to be solved. Remember, the key reason someone is using the app is so they can learn about where things are on campus, so the puzzles themselves don't have to be monstrously difficult. Or perhaps, they are puzzles that some hints can be revealed about overtime? Or a simple question gets you to the general area; a slightly harder question gets you closer still; and a final harder question let's you pin-point exactly where the treasure hunt location is.

The score you get doing the treasure hunt could then be linked to how many of these questions you solve (and of course then visit, GPS location ensures this!). Including a timed element also seems like a useful way to up the ante to give the app a bit of bite.

Answering the puzzle in itself can provide the information of where you need to go, but to fit in with the idea of different university subject puzzles, things will probably work out more easily if solving a subject puzzle then just reveals where the user needs to go to next (general after one puzzle, more specific after the second puzzle, for example). A hybrid variation on this could be general knowledge questions about a subject, leading to words (or take the initial letter), which when put together literally spell out where on campus to go next. For a university, a classic form of tricky "location" to be directed to could be expressed as a call number for a book in the library (in your subject area, of course). To complete that puzzle, you then have to write down what is the first word on page X.

Beyond the app being "do it in your own time", it could have a synchronous multi-player setting, in which case having the idea of an instructor/lecturers overview which allows them to see where everyone is located would be a useful feature to implement, as would a ring/message for assistance.

While the subject-based treasure hunt app is quite a bit different from the general idea of Geocaching, there would definitely be value in spending some time reading about this phenomenon.

David's Take on Richard's House of Games

Project Manager: Michaela Kerr

Team Members: Taylor Herdman, Ryan Mccarthy, Jason Mitton, and Rohan Thakur

Weekly Update Time: Wed 2-3pm

Key idea: develop a computerized version of Richard's House of Games quiz show, featuring, imporantly, the development of a software environment that assists in the setting of the sorts of questions the quiz show uses.

One way in to the question setting side of this project is to source the questions from Linked Open Data sources such as Wikidata, using Semantic Web technologies such as SPARQL to access and manipulate data/knowledge in a machine-readable way. See Useful Links below.

There is also the development of playing a round of the quiz to consider as well. I think it would be fun to recreate the look and feel of the show, which includes the graphics and signature music/audio. The same comments about in Gothello about making this web-based, networked application using a development stack such as Meteor applies here.

As captured by the name of the TV show, Richard Osman is the host of the show. A critical decision to make early on in this project is whether or not the computerized version would retain this, or if the game-play can suffice without.

A way that the project can go beyond what gets compiled as a TV episode of the show is that the resources that are drawn upon to produce the questions can be targetting to the age range of the users who are going to compete. For example well known song selections from the 80s if the group playing are of my generation. More recent songs if closer to your age! To assist with the software short-listing songs that are well known, this could be accomplished if the songs being selected were linked to data such as number of record sales, or else chart position.

Useful link(s):

Koro's and Hākui's Voices

Project Manager: Salim Al Farsi

Team Members: Aidan Maxwell, Ethan McKee-Harris, and Carl Stephens

Weekly Update Time: Wed 3-4pm

Key idea: develop a mobile app that makes the recording of audio—in particular, reading out stories in Te Reo Māori—as easy/unobtrusive as possible. The recorded audio is then transmitted to a central digital repository, which already has the text of the book that has been read aloud, where it becomes part of the training dataset used to develop a Speech-to-Text capability.

The significant advances that have been witnessed in recent years using Deep Learning tecniques concerning the accuracy rates for Speech-to-Text recognition and the quality of Text-to-Speech for languages such English and French, have been possible because of the large scale datasets that have been amassed in these languages. These same advances have not been seen in languages such as Te Reo Māori, due to the spare level of resources suitable for training data available in these languages. So called, Low-resource languages.

Now picture up and down Aotearoa the evening rituals of bedtime stories being read out to tamariki. Every night, tens of thousands of words spoken throughout the country in Te Reo simply drifting off into the ether. Spoken words where the exact underlying text is known.

The aim of this project is to develop a mobile app that—in a way that is as easy as possible, and also unobtrusively as possible—makes it easy for a kōkara, pāpara, koro or hākui to have what they are reading out aloud recorded. This is then aligned with the story text, and transmitted to a central repository.

The role of the central repository is to provide a location where Speech-to-Text models can be trained using the provided data, using an open source tool such as DeepSpeech.

As part of the data gathering process, users of the app will need to give their permission for the recordings to be used. Using Creative Commons licensing would seem like a suitable vehicle for this.

PIP: Personal Information Purchasing

Project Manager: Jardine Chapman

Team Members: Kyle Cree, Sajith Dhambagolla, Thevinu Mathusinghe, and Shaurye Singh

Weekly Update Time: Wed 3-4pm

Key idea: develop a mobile app that, when you are out shopping, lets you take a photo of a product/logo and links you to information about that product: independent reviews of a book, displayed by the simple act of taking a photo of the book cover; or find out about the environmental footprint a company from a quick snap of the company logo.

There is a growing awareness around Ethical consumerism/shopping, with motivated organisations starting to provide web sites where consumers can look up companies and learn more details about then, including who owns them. The Personal Information Purchasing (or PIP) project seeks to capitalize on this, broaden the notion of what sorts of attributes a person is interested in considering when making a purchase, and wrap it all up into a convenient mobile app that is convenient to access when you are out shopping. As simple as that!

Example? When I am in a book shop, I can flip the book over and read some of the short reviews the publisher has put on the back to help me decice if the book is interesting enough to me to decide to buy it. But there's the rub: the reviews the publisher has put on the back. The publishing company with a vested interest in making you want to buy the book. With a bit of fumbling around, I could get out my phone, visit a site like Amazon, look up the book, and see what user-supplied book reviews have been posted. That sounds more like it! And with the envisaged PIP app installed on my phone, it could be made even more streamlined by letting me take a photo of the front-cover, which then whisks me to the user-supplied reviews on Amazon.

Wondering if the bookstore I'm in is an multinational with a checkered history or independant store that fights the good fight over customer privacy? Let's use PIP and take a photo of the company logo. While we're at it, how about looking up information on Amazon as well?!? Logos to companies, and by extension, logos to products they make, are all over the place. When I'm in the supermarket, PIP can help me provide information about the different products there too (e.g. different varieties of coffee beans, both in terms of brand and location where they are grown).

Clearly, then, an important aspect of this project is identifying and figuring out a way to harness the variety of on-line information that is out there that is objectively unbiased in the information it provides. For book reviews, it seems feasible to demonstrate this particular capability working inside PIP by developing some code that page scrapes book review pages from Amazon (a bit like Search engines that crawl such sites for indexes purposes), but then feeds the identified images of the book covers into an image similarity system (for example, something based on TensorFlow), which is then subsequently used by the PIP mobile app when a user takes a photo.

For examples of other sorts of sources of information that are around, see the links below. You might like to consider using Linked Data as a way of unifying data from disparate sources together (see the House of Games project above for additional information this). As a final comment, bear in mind that while some of the origins of this project stem from the idea of Ethical Shopping, the project is about letting someone come to a personal decision about making a purchase or not, and that doesn't mean ethical considerations are mandatory. The best outcome is an app that lets the user vary the dimensions (attributes) they are assessing in making a determination. When all is said and done, how we make a decision about buying something is ... well ... personal!

Useful Links:

Snakes (and ladders) on a Monopoly Board

Project Manager: Isaac Higgins;

Team Members: William Burton, Kenan Grant, Ilija Jankovic, Yaksh Kataria, and Lewis Villavicencio

Weekly Update Time: Wed 2-3pm

Seed idea: A Monopoly board, with standard Monopoly rules. There will be ladders on the board that let you skip forwards, and snakes that move you back. After the last player passes "Go", the snakes and ladders will re-position on the board randomly but will be programmed so the snakes and ladders cannot randomly appear on a board piece which is already occupied by a player. The snakes and ladders will also be of random length.

Some rules of both games may need to be slightly altered to get this working smoothly. An example of this is that a user will not collect a bonus for passing “Go” if the pass it via a snake.

Useful Links: