---
# System prepended metadata

title: PDA Rework Design Document
tags: [design-doc, gooncode]

---

:::info
Feel free to make good-faith edits and comments to this design document as necessary.
:::

[toc]

## Introduction

> *The advanced-er pea-green monochrome lcd of tomorrow-er.*

The PDA is in a bit of a rough spot at the moment. Its interface, though intentionally evocative of an aging technology with clunky controls, is *actually* an aging technology with clunky controls. The objective of the intended rework is to improve the interface and back-end code -- improving the end user's experience -- while preserving the aesthetic of a monochrome LCD display.

### Goals

:::warning
Project goals should be clear and specific to minimise the scope of the project.
:::

We intend to:

- Remake the PDA interface with the TGUI framework; prioritising useability and responsiveness while preserving the visual identity of a PDA.
- Refactor operating system and program code to comply with the current style guide and best practice as well as, where necessary, improving performance.

The proposals set out by this document do not seek to, unless where absolutely necessary:

- Remove any existing functionality from the current `pda2` PDAs.
- Add additional programs or cartridges.
- Diverge significantly from the design language of similar personal data assistants with monochrome LCD displays.

### An addendum on `pda2` and a potential `pda3`

It stands to reason that an PDA that's vastly improved over the previous version should take on the name `pda3` as has been done for computers in the past. There are only around two instances of `pda2` on the public codebase's maps, so this wouldn't be too difficult. We'd just have to determine if our changes to PDA code would actually deserve the designation.

## Operating system and programs

## Interface

To conform to the aesthetic requirements set out, we'll have to develop a custom CSS theme.

As the interface will need to be heavily standardised around a specific design language, a set of common ui components would need to be constructed.

### Reference images

<center>
    
![Main menu](https://i.imgur.com/Bx5LjxB.png =50%x)

*The current PDA's main menu.*

![File browser](https://i.imgur.com/F00dr0l.png =50%x)

*And its file browser menu.*
    
![Palm Pilot 1000/5000 Software Update](https://palmdb.net/content/files/sys-addons/palm-pilot-software-update/pilot-1000.jpg =50%x)
    
*The Palm 1.0.7. interface on a Palm Pilot 1000/5000.*

</center>