MacProject Pro, back on the Mac.
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 example in Examples/, in Glass Project on macOS 26: the Schedule Chart, Task Timeline and Resource Histogram, in the Modern look.
- 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
.glassprojectdocuments, 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.
Dark Mode, and the Classic look.
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.
swift testMost 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 testThe 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.
| 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. |
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.
Fixes and findings are welcome: see CONTRIBUTING.md for setup, how things should behave, and the terms contributions come in under.
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.




