Skip to content

About

MacProject Pro, back on the Mac: a native macOS app that opens, edits and saves MacProject Pro 1.5 projects. Research project; not affiliated with Claris or Apple.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Glass Project

Glass Project icon

MacProject Pro, back on the Mac.

License: PolyForm Shield Swift 6 + SwiftUI macOS 15+

Glass Project is a native macOS project manager that opens, edits and saves MacProject Pro 1.5 projects: the Claris schedule charts, timelines and resource plans people made on the Mac in the 1990s. It reads the original files directly, calculates schedules the way MacProject Pro did, and keeps its menus, command keys, mouse gestures and dialogs, so muscle memory carries over. It looks like a Mac app from 2026 (Liquid Glass, Dark Mode, smooth zoom), with a Classic look that draws the charts the way the original did.

Download: the latest release (signed and notarized; macOS 15 or later). Website: msitarzewski.github.io/GlassProject: help, shortcuts and questions and answers.

It's a research project: everything about the file format was worked out by reverse engineering, for interoperability, and is written up in docs/. It uses none of MacProject Pro's code or artwork, and isn't affiliated with Claris or Apple.

The Schedule Chart of the example Launch Plan: task boxes joined by dependency lines, with the critical path from Kickoff through File Format Research, Write the Reader, Editor and Menus and Beta Testing to Launch glowing red and orange; dates sit at each box's corners and durations below.

The Task Timeline of the same plan: gradient bars per task across November 2026 to January 2027, critical tasks red to orange, the rest blue, with slack as dotted lines and milestones as diamonds. The Resource Histogram in Dark Mode: each resource's daily load against what's available; the Engineer is over-allocated for two weeks in November, shown in red.

The example in Examples/, in Glass Project on macOS 26: the Schedule Chart, Task Timeline and Resource Histogram, in the Modern look.

What it does

  • Opens MacProject Pro 1.5 files (projects, type MPRX, and Perspectives, MPRE) as they are, decoding every record in all 31 projects and Perspectives that shipped with the application, byte for byte. Their pictures (QuickDraw PICTs, which macOS no longer draws) play through a built-in QuickDraw player. A MacProject Pro file opens as a copy, so the original is never written over.
  • Edits the way MacProject Pro did. The menu bar has the original's menus, items and command keys (⌘= Calculate Now, ⌘H Find Next, ⌘M Change to Milestone, ⌘- the Tools palette…). On the Schedule Chart you drag in empty space to draw a task, drag out of a box to draw a dependency, ⇧-drag to select, and double-click for Task Info. There are the Outline, the Project, Resource, Allocation and Dependency tables, Calendars, Task Info, the Tools and Task palettes, and the original's dialogs.
  • Schedules like MacProject Pro. Work calendars to the half hour, the four constraint types, lags, actuals, summaries and the critical path give the same dates MacProject Pro stored for 618 of the 619 tasks in its samples. Costs match all 902 allocations. Level Resources (step by step, as the original asks, or all at once) and Unlevel follow the original's leveler.
  • Organizes with Search, Sort, Perspectives and Custom Summaries, including the ones saved in old files.
  • Works across projects: subprojects (Link to Subproject, Consolidate Project Family, Get Master Project Dates), links to tasks in other projects (Link to Task), and Resource Scope, which counts other projects' use of shared resources.
  • Saves as .glassproject documents, or as MacProject Pro 1.5 files that MacProject Pro 1.5 itself opens (checked in the original application). Exports the charts as PDF or PNG, tasks as CSV, pictures as PNG; imports tasks or resources from tab- or comma-separated text.
  • Two looks. Modern (the default): cards with depth, a glowing critical path, curved connectors, gradient timeline bars, Dark Mode, and old dithered pictures turned into translucent tints. Classic: the charts drawn as MacProject Pro drew them.

The same Schedule Chart in Dark Mode. The same Schedule Chart in the Classic look: square white boxes with drop shadows, the critical path in red, a finished task filled with a dot pattern.

Dark Mode, and the Classic look.

Try it

It runs on macOS 15 or later (the layered Liquid Glass icon needs macOS 26). Building it needs Xcode 27 (free from the Mac App Store) and nothing else: no developer account, no signing certificate, no dependencies. The Command Line Tools on their own aren't enough, because SwiftUI's macros come with Xcode.

./build-app.sh                 # build/Glass Project.app (universal, ad-hoc signed) and a zip of it
open "build/Glass Project.app" "Examples/Launch Plan.glassproject"

An app you build yourself opens straight away. One someone else built and sent you (the zip) is only ad-hoc signed, so macOS blocks it the first time: open it, then choose Open Anyway in System Settings ▸ Privacy & Security. The example is a small launch plan with an over-allocated engineer: try Analyze ▸ Level Resources.

Tests

swift test

Most tests check Glass Project against MacProject Pro's own sample projects: every record decodes and writes back byte for byte, the scheduler and budget reproduce the stored dates and costs, the dependency lines match. Those samples are Claris's and aren't in this repository; point MPX_SAMPLES at a copy of the "MacProject Pro 1.5 Folder" to run them, or they're skipped:

MPX_SAMPLES="/path/to/MacProject Pro 1.5 Folder" swift test

Command line

The app draws its charts and dialogs offscreen, for checking without a window:

GlassProject=".build/debug/GlassProject"
$GlassProject --render FILE OUT [schedule|timeline|resourceTimeline|resourceHistogram|pictures] [ZOOM] [modern|dark|classic]
$GlassProject --dialog NAME FILE OUT.png [dark]   # calendars, lag, search, sort, link, scope, bars, …
$GlassProject --menus                             # the menu bar, with command keys

--render's output can be .png, .pdf, .csv (the tasks) or .glassproject (to convert a MacProject Pro file); with pictures, it's a folder.

Layout

Path What's there
Sources/MPXKit The file format (reader and writer), the project model, editing, scheduler, budget, leveler, search and sort, and the QuickDraw picture player. No UI.
Sources/GlassProject The SwiftUI app: document windows, charts, tables, dialogs, palettes, menus.
Tests MPXKitTests (format, scheduler, writer, editing) and AppTests (gestures, documents, commands).
docs The file format, scheduling, leveling and behaviour: menus, shortcuts and gestures.
Icon The layered Icon Composer icon and the script that builds it from SVG masks.
Examples A project to open; ExampleTests builds it.
site The website: page fragments, layout, styles, icons and screenshots (scripts/build_site.py builds it).
scripts Releases (release.sh), the website (build_site.py, shortcuts_page.py, site_shots.sh), and the macOS test VM the screenshots come from (macvm/).
memory-bank Working notes for development: architecture, decisions, progress.

How it was made

The format was decoded from MacProject Pro 1.5's code and resources and from the projects that shipped with it, then checked against MacProject Pro 1.5 itself, running under emulation: files Glass Project writes were opened there, and what the original showed settled questions the files couldn't. Each finding in docs/ says where it came from, and anything inferred rather than confirmed is marked as a guess.

What's still open: files older than MacProject Pro 1.5 (MacProject II) aren't read, a few stored fields aren't named yet, and the Bar Formats options are a best guess.

Contributing

Fixes and findings are welcome: see CONTRIBUTING.md for setup, how things should behave, and the terms contributions come in under.

License

PolyForm Shield 1.0.0. Use it for anything, at home or at work; change it, share it, and send fixes back. What it doesn't allow is offering a product that competes with it, such as selling Glass Project or a version of it, free or paid. That's deliberate: MacProject and MacProject Pro are trademarks of their respective owners, and Glass Project reads and writes their file format for interoperability, as a research project not affiliated with them.

About

MacProject Pro, back on the Mac: a native macOS app that opens, edits and saves MacProject Pro 1.5 projects. Research project; not affiliated with Claris or Apple.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages