Skip to content

Latest commit

 

History

History
133 lines (82 loc) · 3.89 KB

File metadata and controls

133 lines (82 loc) · 3.89 KB
title Progressive Web App (PWA)
category Developer > Development Instructions
permalink /developer/development_instructions/pwa
redirect_from
/developer/pwa

Submitty includes support for Progressive Web App (PWA) features, enabling an installable, app-like experience across desktop and mobile platforms.

This page provides an overview of how PWA functionality is structured in Submitty and how developers can extend or maintain it.

For general PWA concepts, see: PWA overview (MDN)

 

Overview

A Progressive Web App (PWA) is a web application that can:

  • Be installed on a device (desktop or mobile)
  • Run in a standalone window
  • Provide an app-like user experience

In Submitty, PWA support focuses on:

  • Installability via browser prompts
  • Standalone display mode
  • Cross-platform compatibility

 

Core Components

Web App Manifest

Submitty includes a web app manifest that defines how the application appears when installed.

Typical responsibilities include:

  • App name and short name
  • Icons for different device sizes
  • Start URL
  • Display mode (standalone)

For more details, see: Web App Manifest reference (MDN)

 

Display Mode

Submitty uses a standalone display mode so that the app opens without standard browser UI (tabs, address bar).

This creates a more focused, app-like experience for users.

For more details, see: Display modes (MDN)

 

Installability

Modern browsers automatically detect when Submitty meets PWA requirements and may prompt users to install it.

Basic requirements include:

  • Valid manifest file
  • Served over HTTPS (or localhost for development)

For more details, see: PWA installability guide (MDN)

 

Current Scope in Submitty

At present, Submitty’s PWA support is intentionally minimal and focuses on:

  • Installable interface
  • Consistent experience across devices

The following are not fully implemented (or are planned improvements):

  • Offline functionality
  • Background sync
  • Push notifications

 

Development Considerations

When working on PWA-related features in Submitty:

  • Ensure compatibility across major browsers (Chrome, Edge, Safari)
  • Avoid breaking standard browser usage (Submitty must still function normally without installation)
  • Keep performance and responsiveness in mind
  • Test both installed and non-installed experiences

 

Possible Extensions

Future improvements to PWA support may include:

  • Offline access to selected pages using service workers
  • Push notifications for deadlines and announcements
  • Improved caching strategies for faster load times

For background concepts, see: Offline and caching (MDN)

 

Testing

To test PWA behavior:

  1. Run Submitty in a secure environment (HTTPS or localhost).
  2. Open the application in a supported browser.
  3. Check for install prompts or manually install the app.
  4. Verify:
    • App launches in standalone mode
    • Icons and branding appear correctly
    • Navigation works as expected

 

Additional Resources