Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Diploma in Creative Media Production and Technology

Unit 8 Project Proposal

Candidate Name Ty Mason

Candidate Number

Pathway Computer Science

Project Title Relay

Section 1: Before joining the course, I had years of experience in a few languages like JavaScript,
Rationale TypeScript, HTML, CSS, and Golang. I also had a few years’ experience in Web / Full stack
(approx. development and Web design, however, this course has not only taught me a new programming
100 words) language, but also how to plan a software project effectively, to design intuitive user interface, to
write formally, to realise that mistakes aren’t something to look down on, but to look up with a
new perspective and learn from them. I’ve also learned how to create a video game using the
Unity engine, and learned that I don’t particularly like making them, leading me to strengthen my
skills in the Web / App development area.

Section 2: I’m going to be creating a communication platform called Relay, similar to applications like
Project Discord, WhatsApp and Visual Studio Code. The main difference between my approach and
Concept theirs is the framework. Those applications use a framework called Electron which uses
(approx. Chromium on the front-end to render the application, and NodeJS on the backend, which are
200 words) both notoriously known for being unsafe, slow and resource intensive. Instead of using that
stack, I’m going to be using an application framework called Tauri which uses the built-in
webview for the frontend, and Rust for the backend.

Tauri takes a different approach. Instead of bundling Chromium with your app, it uses the
operating system’s default webview resulting with a much smaller bundle size. For instance, a
production grade application built in Tauri app weighs 24.7MB on macOS, while the same app
built in Electron weighs 1.3GB. Additionally, Rust is notoriously known for being extremely
memory-safe and type-safe, for instance, Rust doesn't use null, so you can't have accidental null
dereference errors; Option provides a high performance alternative with clearer semantics.
Another good example is that the Rust compiler verifies the safety at compilation unlike C, which
will happily compile a program that will crash the moment you start it.

Section 3: For this project, I am going to be using Github to commit changes to a repository, and Trello to
Evaluation plan each task for each week. This will allow me to keep track of the tasks I’ve done so writing
(approx. about the things I’ve done will be easy. I am going to be updating a blog every week to
50 words) summarise and explain the things I did in that week, while also pointing out the things I changed,
what went well and what didn’t.

Proposed Research sources:


Research
Sources Oenning, G. (2023) Why I chose Tauri instead of electron, Aptabase. Available at:
and https://aptabase.com/blog/why-chose-to-build-on-tauri-instead-electron (Accessed: 07 March
Bibliograp 2024).
hy
(Harvard Tauri Apps (no date). Build smaller, faster, and more secure desktop applications with a web
Format) frontend. Available at: https://tauri.app (Accessed: 07 March 2024).

Meta Inc (no date). Build cross-platform desktop apps with JavaScript, HTML, and CSS.
Available at: https://www.electronjs.org (Accessed: 07 March 2024).
Project Action Plan and Timetable

Week Date Week Beginning Activity / What you are Resources / What you
intending to do - including will need to do it -
independent study including access to
workshops

Come up with three A computer, an internet


Week 1 11th March 2024 ideas, presenting those connection, and a
ideas, and planning what notebook.
technologies to use. Set
up any servers, services,
and API’s needed.

Creating a design A computer, an internet


Week 2 18th March 2024 mockup and user survey connection, a site that
related to it for feedback. allows creating surveys, a
Set up the Git repo and group of candidates for
the boilerplate for the the survey.
project.

Using the feedback A computer with an IDE


Week 3 25th March 2024 received, rework the and the Tauri
design and start prerequisites installed
development on the and an internet
front-end. connection.

Continue front-end A computer with an IDE


Week 4 1st March 2024 development, creating and the Tauri
various UI components prerequisites installed
needed, and finish up on and an internet
the design. connection.

Start work on the A computer with an IDE


Week 5 8th April 2024 backend of the and the Tauri
application, and get prerequisites installed
authentication and friend and an internet
requests working. connection.

Polish up any bugs or A computer with an IDE


Week 6 15th April 2024 issues, then move on to and the Tauri
implementing direct prerequisites installed
messaging and real time and an internet
user updates. connection.

Clean up any issues, A computer with an IDE


Week 7 22nd April 2024 bugs, etc. Work on some and the Tauri
stretch goals if there is prerequisites installed
time. and an internet
connection.

Use unit testing to find A computer with an IDE


Week 8 29th April 2024 any issues or bugs, as and the Tauri
well as set up a study prerequisites installed, an
group to additional test internet connection and a
the application. group of people willing to
test Relay.
Week 9 6th May 2024 Fix any issues found in A computer with an IDE
unit testing and group and the Tauri
study. Go through one prerequisites installed
final test run. and an internet
connection.

Deploy the application, A computer with an


Week 10 13th May 2024 finish up on any blog internet connection.
posts, and references
needed. Finally, send
everything off.

You might also like