Repository navigation
Features
Also a guide: Features on frostdev.io
Everything Glaze does, site by site. What changed in each version is in the changelog; what is kept and sent where is in the privacy summary.
Glaze is a Chrome, Firefox and Safari extension that restyles Blackboard Ultra, Canvas and Moodle. It replaces the palette with one you
control, reshapes the pages around it, and adds small helpers you can see at a glance. It works on any
institution's Blackboard Ultra install once you allow its address, because every Ultra deployment lives under /ultra/ on its own
domain, and on Canvas and Moodle, which Glaze recognizes on any school's domain.
Ultra's in-page route changes remain visible while Blackboard builds them. Only the initial document paint can wait for Glaze's local stylesheets, with the existing one-second limit. If Glaze is reloaded while an LMS tab stays open, its old extension API work stops until that tab reloads too. Its animated scene also stops and releases its rendering resources.
The settings editor has eleven categories: Look, Navigation, Courses, Study, Course pages, Writer, Sharing, Mods, AI, Privacy and data, and About. All settings opens More options and reveals advanced sections; search covers every control. Search works across tabs; section links such as #blackboard/nav and older editor links reveal the right tab. Section resets change their own preferences; resetting preferences keeps your palettes, pictures, local notes/tasks, bookmarks and share keys. The live preview uses fictional local pages at real desktop or phone CSS widths, with site/page/appearance controls. Focusing a Blackboard course's editor controls previews that course's appearance; Blackboard nicknames can be edited here as well as on its course cards. Sharing includes the Relay origin under All settings and an explicit connection test; saving stays offline.
- Agents (Settings → AI → Agents, off by default): connect apps on this computer over MCP to courses, to-dos, grades, assignments and Writer documents. Allow each app identity and data group in Glaze; built-in changes and every mod code-tool call wait for your approval.
From Glaze 3.0.4: add backgrounds, animations, widgets, nav layouts and page tweaks made by others, each showing what it reads and why before you add it, or build your own widget with no code. Reviewed mods are in the Mods gallery. Looks can have video and animated backgrounds too.
User-installed mods: Chrome can run JavaScript from mod bundles you choose to install, including author-signed channel updates. Glaze does not fetch mod code to run automatically from us. Code runs in an isolated sandbox without extension APIs; Firefox and Safari use declarative parts only. Courses, to-dos and grades are available only with declared and granted permissions, and only to a DOM-less Worker. Brokered network requests require a declared and granted exact HTTPS host and omit cookies and referrers. A mod with both data and network access can send that data to its granted hosts. A mod without data access may use a frame UI that can contact other sites; linked Look media is fetched by Glaze's worker from its chosen host. Mod bundles, grants, settings and per-mod storage stay on this device. Remove takes the mod's stored data, private-data mark, navigation switch and stop note with it unless you untick Remove its stored data too; an update that turns a no-code widget into a code mod asks first, and says it runs its author's code. See PRIVACY.md for channels and the optional signed blocklist.
Settings → Look → Shape and surfaces controls content-panel opacity, blur, palette/custom color, accent/course tint, shadow strength/color, frost, depth and borders. Panels, native content rows, navigation, menus, tooltips and Glaze’s own apps share those controls across Blackboard Ultra, Canvas and Moodle. Surface backgrounds follow the Look’s corner radius. Automatic defaults retain each Look’s existing fills; custom transparency needs blur and a non-solid background. Small rows get no additional backdrop blur.
All ten bundled companions, including Classic buddy, Cat and Bunny, have new climbing, sleeping, playing, peeking, XP and level-up reaction animations. Imported v1/v2 characters retain compatible fallback poses.
Choose one pet character for the habitat, Study buddy, Blackboard navigation badge and course-card pet. The original Cat and Bunny join the character selector, and Blackboard file previews refresh expired viewer tickets and retry while uploaded files convert.
Animated pets: the optional habitat keeps its existing XP and decorations. Choose Ember the fox, Luna the owl, Mochi the cat, Sprout the dragon, Pebble the capybara, Rime the arctic fox or the animated Glaze droplet, or import a local ChatGPT pet under Settings → Study → Pet habitat. Choose its pet.json and PNG/WebP sprite sheet together, a ZIP containing them, or the sprite sheet alone. Existing v1 (1536 × 1872) and v2 (1536 × 2288) sheets are supported; v2 adds sixteen gaze directions. Click a pet to wave, or focus it and press Enter/Space to jump. Animation pauses offscreen and in hidden pages, and reduced motion or Glaze Motion off shows a still frame. No account connection, pet service or upload is needed.
Your character choice is shared across this device: the habitat, Study buddy widget, navigation badge and course-card pet all use it. Each display keeps its own visibility setting. The original Cat and Bunny are also available in the habitat's character selector; their original artwork has idle and action poses. All displays wake during a focus timer, celebrate a completed focus block or a task checked in Better To Do, and respond to petting where interactive. These reactions add no XP. Progress, outfits and habitat decorations stay with each school's signed-in account. Removing a selected imported pet switches back to Classic buddy without removing progress or decorations. The navigation level uses the signed-in account directly and does not depend on planner-cache freshness.
Optional share sessions: everything lives in Settings → Sharing → Share sessions (Ctrl/⌘K and To Do open it too). In Notes, Share on a note shares it in one step and copies an edit invite; Shared notes lists the account's shared notes with their invites and joins a pasted invite straight into Notes. Nothing connects until you create, join or resume. Share selected notes/a folder (including encrypted pictures and attachments), your current Look, or selected custom tasks with their steps and plans. Paste invites into Glaze rather than opening them in a web page. Anyone holding an edit invite can edit; a view invite can only read. Joining keeps a separate local copy; explicitly copy into a chosen local account to add new items. An editable copy follows updates; a viewer's copy is detached. A Look changes your theme only after Use this Look opens the existing editor preview and you apply it.
While a shared surface is open, changes sync through https://share.frostdev.io by default, end-to-end encrypted, with catch-up on reopening. Pause sharing stops connections; Glaze and your local copies still work without the relay. Leave this device forgets its keys; only the creator can delete the session from the relay. App copies remain. Only the creator can delete a session on demand, but on the default relay a share nobody has used for two years is deleted (one year if its creator opted into deletion after a year unused), and a share that was created but never written to is removed after two unused days; any member opening or changing a share counts as use. The device list shows self-chosen editing-device names and last-seen times, not verified identities; view-only devices cannot announce themselves. Pause, Leave and Delete remain available while a sync is busy; old queued updates cannot reconnect afterward.
Settings → Sharing → Relay (with All settings on) can select a custom HTTPS origin, or HTTP localhost/127.0.0.1 for local testing. Saving only changes the synced preference for new sessions; existing sessions and backup keys keep their own server. Test connection explicitly checks /health with a five-second timeout and never enables sharing. Joining a custom-server invite first names the host and asks for confirmation in Glaze, before permission checks or connections. Restoring custom keys stays offline until Resume confirms any new hosts. Custom operators receive encrypted data and metadata under their own policies; Glaze cannot vouch for them. The default relay also limits how much new data one client (an address, or an IPv6 network) can store in a day (1 GiB), and everyone behind a shared school or campus address shares those limits, so a share may show as offline for a while when many students sync at once. When you remove or replace a note's file in a share, editors' devices delete the old file from the relay afterwards; a note too long to keep whole is refused with a warning rather than shared cut short. See Run your own relay for Node/Docker, TLS proxies, disk/R2 storage, limits, backups and updates.
Notes Back up or restore opens Settings → Privacy and data → Backup and reset. Back up… saves one ZIP of settings and Looks, tasks and pet, every Notes account, dashboard notes, class schedules, GPA past terms, widgets, share keys, and Glaze Writer's papers, dictionary and saved sources; Restore… lists what a file holds, each ticked, and also takes older settings files and Notes ZIPs. Backups always include all share keys and creator delete tokens, even while sharing is paused: anyone with the backup can open those sessions and may change or delete them. Keep backups private. Restoring keys does not connect; resume explicitly. After a relay restore, Re-upload retained files sends this device's retained bytes encrypted again and publishes fresh references. Missing local bytes cannot be recreated. Caps are 20 sessions, 200 selected notes/tasks, 16 MiB session state, 64 MiB files per session and 200 MiB retained session files per device. Additional carriers need an optional adapter; arbitrary storage and LMS assignments are not shared.
-
Sidebar (Canvas and Blackboard Ultra, on by default) — one column at the window's right edge: This page (the page's own sidebar, as the LMS made it: Recent Feedback and course actions, submission details, grade totals and What-If, mini calendars, quiz question links and timer; on Ultra the Courses page's column, a course outline's Faculty, Details & Actions and schedule, with Course notes and the syllabus, a discussion's details and participants, and recognized assessment Grades / Attempts, attempt Details & Information, or a submitted document's Rubric, integrated visually without moving native nodes; unrecognized attempt panels stay native) and under it My widgets, the widgets you dock there. On a fresh install, Better To Do and a compact Glaze settings widget start there for the first signed-in account, in that order; settings opens the existing editor and also starts in Glaze’s navigation bar. It can be moved, removed or re-added like any dock widget. Better To Do follows the page's course inside a course and all courses elsewhere, or All courses until you pick Follow page again; it takes the place of the page's own To Do. On Ultra's Courses page the sidebar replaces Glaze's widget column, and the widgets that were in it move in once, in their order. Widget menus show their supported destinations: the sidebar, the Dashboard (or Ultra's board), floating, or removal, keeping their data and old spots; + Add widgets brings one back. In the sidebar, drag a widget by its handle or use the arrow keys to reorder it, drag the edge under it or use the arrow keys for its height, and drag the column's inner edge or use the arrow keys for its width (288–480 pixels); each change is announced. On a wide window the column keeps its room beside the page (collapse it to a strip), on a narrower one a Sidebar button opens it as a drawer; a page with nothing for it keeps no room, just + Add widgets at the edge. Quizzes keep their normal layout. It stays above Glaze's footer and the bottom bar, keeps floating widgets clear of it, follows your Look, and works with the keyboard, reduced motion, high contrast, zoom and right-to-left languages. The dock layout is kept for each site and account on this device; removals of its initial To Do and settings widgets sync for that account. Reset sidebar for this account in its ⋯ menu starts the column over without moving your widgets. Settings → Navigation → Sidebar customizes it for every account: Floating (a glass card off the edges, the default, like the navigation's) or Embedded (set into the edge like the site's own column), or like Glaze's navigation; how a page opens it (as you left it, expanded, collapsed or only as a drawer); its name, header and Jump to widgets; its width until you drag it; This page or My widgets first, This page shown, folded or hidden; glass, solid or clear with blur and opacity; corners and spacing (the Look's by default); how much room the page keeps before it becomes a drawer (720 pixels, 900 for grades); which sites and kinds of page it shows on; To Do's starting scope; and Absorb page panels into the sidebar, which places recognized assessment information under This page while keeping native controls in place. On current Blackboard assessment pages, Grades / Attempts and Details & Information scroll with the widgets and stay available in the drawer. Unrecognized layouts keep their original placement; older integrated panels return to the page when the sidebar cannot display them safely. Focus mode and print restore native layouts, and a document viewer never loses width to the sidebar. A Look you share carries its style, surface and corners, never your layout. Turning it off gives the page its own sidebar, the Dashboard's To Do and Ultra's column board back exactly as they were; your dock is kept for when you turn it on again.
-
Course cards as widgets on Canvas — on a fresh Dashboard, the cards of Canvas's card view join its starter widgets, in Canvas's order (a board you empty yourself stays empty); Edit layout → + Course cards adds or removes courses. They are drawn as Canvas's own cards (nickname, code, term, color, picture and its row of links with their unread counts) with Glaze's grades, new-item badges, tasks, bookmarks and card styles; they move, snap, resize, fold and remove like other tiles, up to 48 per school. Canvas's own card view steps aside while they are there; Show Canvas’s course cards brings it back (for moving or hiding cards in Canvas), and Show course card widgets returns. They read only what Canvas's Dashboard already asked for.
-
Course cards as widgets on Ultra — a fresh Dashboard fills once with your courses; a board you empty stays empty. Add cards with Edit layout → + Course cards on Courses, or pick + Course card on the Dashboard. Each card moves, snaps, resizes, folds and removes like other tiles; each board keeps its own layout, up to 48 course cards per school. The cards start in the native list’s area, in course/term order. Show Ultra’s course list restores its search, filters and term picker; Show course cards returns to your tiles. Removing every course card or hiding the board restores the native list. Cards reuse loaded metadata, grades, progress, new-work badges, bookmarks and stored tasks; unavailable data stays absent until the existing readers answer. No extra course, gradebook or planner request is made.
-
Blackboard Ultra appearance — the Courses page shares Canvas’s card editor and appearance settings: colors, gradients, pictures, crop, filters and overlay; grid sizing, condensed cards, hover effects, particles and pets. Open a course card's Glaze menu, then Card style and bookmarks. In Ultra list view, banner styles and corners apply; row dimensions and labels stay native. The global navigation shares Canvas's background, label and size controls, with contrast checks in the editor. On recognized Ultra submission reviews, the native Rubric appears in This page using its existing column's room; the document viewer stays at least as wide, with its iframe kept in place. Unknown structures keep their native layout.
-
Blackboard global widgets — a widget you choose to float stays available across Blackboard pages, including the native Institution tab, with one copy. It keeps clear of either navigation rail, course tab strips and the footer; a small window gets a scrolling stack. The Dashboard's own layout stays separate.
-
Palettes — six presets, 14 colour tokens, your own saved palettes, and automatic light/dark palettes that follow the system or a schedule (dark from 20:00 to 08:00, say). Keep quizzes light (off by default) leaves quizzes you're taking and external tools such as New Quizzes unthemed on Canvas.
-
Look — fonts for text, headings and code (two bundled; about forty more from Google Fonts and Nerd Fonts, or any Google Font by name, each previewed in its own face), text size, line height, corner radius, density, depth and glass.
-
Backgrounds — solid; a gradient you shape (linear, radial, conic or mesh; angle, blend, spread); a drifting aurora; your own image; a looping video, animated picture (WebP or AVIF) or Lottie animation from a link or a file (a link is fetched and checked by Glaze's worker, never loaded by the page: 12 MiB for a video, 6 MiB for a picture, 4096 pixels a side; always muted, held on its first frame when motion is off, paused while the tab is hidden); or eleven slow animated scenes (three.js, drawn at low resolution; two for Halloween, a moonlit graveyard and a pumpkin patch; Frostdev's living paper-cut topography) with one Intensity slider. Palette colors or your own.
A temporary animation startup failure gets two automatic retries. Failed module loads use fresh addresses so the browser can recover from a cached failure. Changing the background or turning Glaze off and on permits another attempt; refused shaders and missing media keep their fallback.
-
Motion — Expressive by default, with Subtle and Off available. Existing profiles move to Expressive once on update, preserving Off and any choices made afterward. Reduced-motion users get Off automatically.
-
Course colors — every course its own color, from Ultra's stripes blended into your palette or set one by one, on course pages, Messages, Grades and the calendar.
-
Tooltips and hints — themed tooltips. Hover a date for how far off it is, a grade for its share.
-
Extras — score bars, due-date status ("in 2 days · Unopened", "Submitted", "Submitted late", "Graded · 18/20") and grade percentages, folder previews, course progress, new-grade and new-content badges, a what-if grade calculator that keeps your scores, a Ctrl+K command palette for courses, items, pages, settings and what's due this week (also in the popup) that also searches your courses on Canvas and Ultra, remembering your position in Canvas Modules, a backup of what you type in Blackboard's editors, Download all, which saves a folder's files as one zip, and focus mode for course documents (on by default); due-date urgency, shorter descriptions, reading width, keyboard shortcuts, dark documents (dimmed or inverted) and hiding page parts you don't use (off by default).
-
Blackboard submission status — Blackboard saved drafts stay unsubmitted in due-date badges and Better To Do, unless an earlier attempt was handed in; attempt dates alone do not prove a submission. Completed external-tool items keep Blackboard's native completion when it reports no submission status.
-
On Canvas — the same extras, each where Canvas keeps the same thing: progress, previews, new-item badges, your place and Download all on Modules; score bars and percentages on Grades and Assignments; due-date status and urgency on Assignments, Modules and To Do; tint, a Look per course and card grades on the Dashboard (click one for the course's grades, or keep them hidden until you point at the card); draft backup for new Inbox messages to individual users in uniquely named courses. A what-if calculator above a course's grades works out your grade by Canvas's own rules (weights, dropped scores, excused work, grading periods) and matches Canvas's totals: change real scores, leave work out, add pretend assignments and see what you'd need for a target. It keeps what you change on your device until the real grade arrives, and never writes to Canvas. An optional GPA on the Dashboard gives your term and cumulative GPA on a 4.0 or plus/minus scale, weighted for honors and AP if you like, with credits, a grading scale and a what-if grade per course. Add your past terms by hand or from a transcript: its text, a PDF, a photo or screenshot, a web page or a Word file (read on your device and shown for review first; pass/fail, withdrawn and transfer courses are listed but not counted) for an overall GPA, a trend chart with the same figures as a table, and a goal: what this term needs, and one way there from your grades now, with the lowest percent for each letter and what each course's work left needs. Kept on your device; Ctrl+K opens it. Where Canvas has its own (editor recovery, folder zips, unread counts), Glaze leaves it to Canvas, themed; a course card has one menu, in the place of Canvas’s ⋮, for its nickname and color (saved in Canvas, as Canvas’s own menu saves them), tint, Look and card style, and Canvas’s own menu is one press from it for moving or hiding the card; Canvas's own what-if scores still work beside Glaze's. Course progress counts module completion requirements, so a course without any shows no bar.
-
Grades on Blackboard Ultra — the same what-if calculator, under a course's overall grade: by the course's own overall-grade recipe where Ultra gives it to students (checked first against Blackboard's own figure), otherwise an estimate from your share of the points in graded work, shown beside Blackboard's figure and marked as one. A failed load retries after 1, 4 and 15 seconds, pauses while the page or course tab is hidden, and then offers Try again. A partial gradebook waits for a complete answer without losing your edits. Ultra's system categories use your chosen language; teacher-created names stay as written. Scores typed in Glaze's earlier Ultra calculator move over. The GPA, with past terms, trends and a goal, sits on Ultra's Grades page for this term's courses; where Blackboard doesn't show a course's letter cut-offs, Glaze uses your scale for it (typed, or from its syllabus) or a common one. Syllabus import is on a course's outline and reads a document in the course, a file or pasted text; Insights opens from the Courses page or Ctrl+K.
-
Insights (Canvas and Blackboard, off by default) — your term in numbers, from a button on the Dashboard or Ctrl+K: the share of work you handed in on time per course, each course's grade over the term as a sparkline, the work due each week with the busiest weeks ahead, how often your Better To Do plans were kept, and a summary card you can save as a picture. Every chart has a table beside it. Worked out on your device from your own Canvas; only a small summary of this term is kept there, until you clear it.
-
Better To Do (Canvas and Blackboard, on by default) — Glaze's own To Do list in place of Canvas's on the Dashboard and a course's home page, and on Blackboard in place of the To Do on the Courses page and beside a course's content (that course only): grouped by day in your Canvas time zone (on Blackboard, your browser's) (past due, today, tomorrow, this week, later), with what's done, what's graded and announcements apart; a free custom timeframe; your own tasks, steps, a day to do something on and timed focus sessions, kept on your device; and, for teachers, work to grade with grading progress. Ticking can also mark the item done in Canvas's own planner, if you switch that on; on Blackboard a tick always stays on your device. Courses Canvas no longer lists as active (on Blackboard: hidden or closed courses) are left out; if the course list can't be loaded, every course shows rather than any being hidden. On Blackboard, work comes from its To Do list and calendar, with what you handed in, late, missing or excused from each course's gradebook; when Blackboard can't send its calendar whole, the list says some work may be missing.
-
Announcements in a pop-up (Canvas, Blackboard and Moodle, on by default) — an announcement opens in Glaze's pop-up over the page instead of leaving it, from Better To Do, widgets, Ctrl+K search and each site's own lists: on Blackboard a course's Announcements and the Activity Stream; on Canvas Announcements, Recent Activity and the Dashboard; on Moodle the news forum and the Latest announcements block. The pop-up holds the title, any available course, author and date details, the post itself (made safe: no scripts, frames or styles, pictures only from your school's site, links in a new tab), its files, and Open in Canvas, Open in Blackboard or Open in Moodle for the site's own page. Opening an unread announcement marks it read on Canvas, as Canvas's page does, and on Moodle Moodle's own request marks its posts read where the forum tracks them automatically; Blackboard isn't marked, and a preview never marks anything. Ctrl- or ⌘-click, Shift-click or a middle click still opens the page in a new tab, and if the announcement can't be read the site's page opens instead. It's a real dialog: focus moves in, Escape or Close closes it and focus goes back to the link; it fits a phone-width window, larger text and right-to-left languages, and wears your Look. With Pop-up animation → Genie, it grows out of an on-screen link with Expressive motion and scales in with Subtle; Fade fades it in. Motion off or reduced, or None, makes it appear at once. Point at or focus an announcement in Better To Do or a site’s own list for a moment to preview its first lines (on Moodle, what the list shows); Escape hides the preview. Settings → Course pages → Announcements has Open announcements (in a pop-up or on the site's page) and Preview on hover; with All settings, Pop-ups sets each entry point (Better To Do, widgets and search; Blackboard; Canvas; Moodle) to Default, Pop-up or Site's page, its preview on or off, the preview's delay and lines, and Pop-up animation (Genie, Fade or None). On a Blackboard course's Announcements, Mark all as read ticks each unread announcement's own read circle in turn (scrolling, a click or a key stops it), and ticking one keeps your place in the list.
-
Rubrics (Canvas and Blackboard Ultra, on by default) — an assignment's rubric, with your published scores and feedback, read-only. On Ultra's assessment overview it replaces the rubric entry in Assessment Details when its columns fit, otherwise its rubric link opens it in the same pop-up; on Canvas the folded rubric's toggle opens the pop-up, and a rubric Canvas already shows stays as it is. The site's own view stays whenever Glaze can't read or recognize the rubric. Settings → Course pages → Documents and quizzes → Rubrics: Automatic, Pop-up or The site's own; with All settings, Pop-ups → Show inline when there's room.
-
Export calendar (.ics) (Canvas and Blackboard) — from Better To Do's Export button or Ctrl+K: one file of your Canvas or Blackboard deadlines, your own tasks with a due date, your "do on" days and focus sessions (as events at their times) and, if you show it, your Gradescope work, for the next 2, 4, 8 or 16 weeks or the rest of the term. Import it into Google Calendar, Outlook or Apple Calendar yourself; each item keeps the same identifier, so importing a newer file updates it where the calendar supports that. Made on your device and saved by your browser; the file holds your course and assignment names.
-
Google Calendar sync (Chrome and Safari, off until you connect) — keeps a calendar named Glaze in your Google account up to date with the same events and choices as the export, from Glaze's settings. Chrome signs you in with Google, and Safari through the Glaze app; Glaze asks only to manage calendars it makes (
calendar.app.created), so it can't see or touch your other calendars. Deadlines, tasks and classes mirror Canvas and your schedule: edit one in Google and Glaze writes it back, delete one and it stays deleted. Move or delete a "do on" day or focus session in Google and the plan follows in Better To Do. No reminders on the events. Link another device shows a code to paste on your other computer, so both keep the one calendar; Disconnect forgets the sign-in on this device and can delete the calendar. It syncs from Canvas and Blackboard pages (on open, every 15 minutes, and soon after your plans change); there's no Glaze server, and requests go only to Google. Edge, Brave and Firefox use the export; Outlook sync isn't here. -
Google Drive (Chrome, Edge, Brave, Firefox and Safari, off until you connect) — Connect on Settings' Writer → Papers → Google Drive row signs you in with Google. Glaze asks only for
drive.file, so it sees only the files it made or the ones you pick. Sync to Google Drive (on once you connect; off in the same place) keeps a Glaze folder in your Drive in step with this device: each document's file and a JSON copy, a file per setting and record in Glaze/Data, and a daily Back up… zip in Glaze/Backups (documents' files left out, as each syncs on its own), the newest five kept and older ones deleted for good. A file over 5 MB goes in pieces, over as many runs as it takes. A document whose JSON copy would pass 64 MB, or a record past 32 MB, stays on this device, marked Too large to sync in Documents, and Settings counts it. A document changed on both sides keeps both; Notes merge field by field, so a rename on one device and an edit on another both stay. Share keys, AI keys, Agents pairing and sign-in records never go to Drive. From Google Drive on Documents and in a paper's ⋯ opens a file you pick; Save to Google Drive in a card's ⋯ writes it to My Drive as its file or a Google Doc, and writes a new file beside one edited outside Glaze. From Google Drive in an Ultra assignment's attachments hands in a file up to 50 MB. Disconnect forgets the sign-in on this device only; your other devices keep syncing until you remove Glaze at https://myaccount.google.com/connections. In Safari, Connect signs in through the Glaze app, and From Google Drive opens Google's Picker in a tab that closes once you pick. -
Tasks on course cards (Canvas and Blackboard, off by default) — each Dashboard card (on Blackboard, each card on the Courses page) lists its course's next items (4 by default, up to 10, then how many more), soonest first, with the date and a status chip (submitted, graded, late, missing, excused); done items can stay crossed out. It follows Better To Do's timeframe and done rules and reuses its copy of your planner, on or off. The card grows to fit its list.
-
Search in your courses (Canvas and Blackboard Ultra, on by default) — from two characters in Ctrl/⌘K, find titles in your courses, this course first, then this term's, up to 24 results. Ultra searches this course and open courses in this term, including released public text of documents, announcements and discussion topics, without opening posts or marking anything read. Unknown or unsupported release conditions are omitted. Content results use Ultra's own redirect; announcements open in the pop-up or on the site's page, as chosen in settings; discussions open their course tool list. Answers are reused for five minutes; bounded stale entries are evicted on later cache use and all search data is cleared when search or Glaze is switched off. Typing again or closing cancels pending requests. Ultra asks at most three lists at a time, 30 search requests per query and two pages (up to 400 items) per list, across at most 100 selected courses, so very large courses or course lists may be incomplete. No search text or answers are stored.
-
Canvas's document viewer — PDFs and files in Canvas's viewer wear your palette (background, toolbar, thumbnails) with the pages left readable, or dimmed or inverted in a dark palette. Pen, highlighter and eraser (off by default): any color and size, undo and redo, clear page, export and import as a file, a page saved as a picture; kept on your device per site, account and file, never sent anywhere, and beside Canvas's own annotations, never over them.
-
Syllabus import (Canvas and Blackboard, off by default) — read a course's syllabus on your device: Canvas's own Syllabus page, a PDF, a photo or screenshot, a Word (.docx), PowerPoint (.pptx), web page or text file, or pasted text, in English, German, Spanish, French, Dutch or Portuguese. Glaze finds the professor (name, e-mail, office, office hours), class times, exam and due dates (in the course's term year), the grading scale and the weights, then shows every field for you to correct, each with the line it came from and "Check this" on a guess. Nothing is kept until you save. Then the professor, class times and coming dates show on the course home; the scale can become the course's in your GPA, the dates your own Better To Do tasks, and the weights show beside the what-if calculator (Canvas's own weights still count). On Blackboard, Read this document lists each of the course's documents under its own title and reads the files it links (PDFs, Word, PowerPoint, pictures). Deadlines given by course week ("7th day of week 3", "Week 5 – Friday") become dates, with a Week 1 starts date in the review that moves them all; weekly rules ("quizzes close every Sunday") become one date each week; exam windows and "week of" items land on their last day; several items on one line become one task each; points-only grading becomes percents; TA and tutor office hours come with their role. Pictures keep a table's row and a chart's label with its value together. What Glaze can't read for sure stays empty. Edit or delete it from the course home; Ctrl+K has Import a syllabus on any course page.
-
AI (off by default) — Settings → AI connects a model on this device (Apple Intelligence in Safari on macOS and iOS 27 where it's on; in Chrome and Firefox, Rime, Glaze's own model by Frostdev, built on LFM3-1.7B, downloaded from Hugging Face on your click and sized for the computer, 1.1 to 1.8 GB, where WebGPU runs it; and Chrome's built-in model where the computer supports it) or an OpenAI-compatible endpoint you choose (OpenAI, OpenRouter, Ollama, LM Studio and others; key optional), and lists which features may use it. Syllabus import can then fill what Glaze's own reading missed: every AI value is marked Check this, never replaces what Glaze read, and nothing is kept until you save. Settings shows a local list of recent AI calls. Ask Rime (Ctrl+K or ⌘K on Canvas and Blackboard) helps with coursework through hints, questions and a check of your own step, never the answer, and answers questions about your to-dos, schedule, grades, assignments and Writer documents from what Glaze keeps; marking a to-do done waits for your OK. Nothing changes until you turn it on.
-
Gradescope in To Do (off by default) — your Gradescope assignments in Better To Do, on the course cards and in reminders, marked Gradescope with a link to each and their status (submitted, graded with the score, late, missing). On gradescope.com Glaze asks once which of your Canvas or Blackboard courses each Gradescope course belongs to (with a guess by course code), then reads your assignments whenever you visit, and optionally once a day from Canvas or Blackboard, signed in as you. Each Canvas or Blackboard account is asked once, with one quiet line where its Gradescope work would show (Better To Do, the course cards or the reminders hub), before any of it shows there. Read only, kept on your device.
-
Dashboard notes and widgets (Canvas and Blackboard Ultra) — fresh installs start with the pet habitat, focus timer, notes and quotes above the course cards. Unplaced tiles fill aligned responsive rows; card widths and gaps follow your card settings and the room beside the sidebar. Existing layouts, deliberately empty boards and removed defaults stay as saved. Removing a starter widget or emptying the Dashboard also prevents it returning through fresh defaults on another synced device. Saved navigation takes precedence over the initial settings link, including when sync arrives later. Edit layout adds, moves or removes widgets; an empty panel asks your school's site for nothing. On Ultra, the sidebar replaces the Courses page's widget column; course cards stay on the Courses board, and Glaze's Dashboard stays a board. A notes box (small, medium or large; saved as you type, on your device, links clickable) and a grid of widgets under the Dashboard's heading: an agenda of any day (from your planner and Better To Do's plans, with previous and next day), a focus timer (work and break lengths, an optional chime, and it keeps running from page to page), a quote (original lines in every language, changing every few seconds or once a day, with pause), music (a Spotify, YouTube, Apple Music or YouTube Music link; nothing loads until you press Load player), a guided breathing exercise and a study buddy. Order, size and float them: a floating widget stays over every Canvas page, dragged or moved with the arrow keys, and snaps to the window's edges and the other floating widgets. With the sidebar off, Blackboard Ultra's widgets use the Courses page's right column, above Ultra's To Do; Glaze's Dashboard keeps its own board: the Institution page gets two tabs in its header, Dashboard (the default, with a layout of its own, starting with course cards and the starter widgets) and Institution page (Ultra's own), and the last one you chose is kept. Edit layout moves them anywhere, dragged by their heading or with the arrow keys on their handle (Shift: further; each move is announced), snapping to a grid, the edges, each other and Ultra's column, with a guide while you drag; Alt places freely. Fold any widget to its heading; on a window too narrow for the layout they stack, and the layout is kept for a wider one. Any widget can also float over every Blackboard page (⇱ in Edit layout, ⇲ to put it back), clear of the nav and a course's top bar, and only once. The Dashboard is on by default (Glaze Dashboard, its own switch; Better To Do is one of its widgets). Open Blackboard on the dashboard (off by default) goes on to the Dashboard once when Ultra opens on its start page right after you sign in. What Glaze can do (Ctrl+K, or the Dashboard) lists every Canvas extra with its switch, an optional tour and Report a problem, a GitHub issue with your Glaze version and browser filled in (GitHub receives that text when the page opens; nothing is posted until you submit it).
-
Notes (Canvas and Blackboard Ultra, on for fresh installs) — one switch with the Dashboard notes (on Ultra: Course notes on a course outline, and links to a course's content items): a notes app over the page, folders for a course or for anything, rich text (headings, bold, italic, underline, strikethrough, lists, checklists, quotes, code, links), pictures pasted or added and attachments, and links to a course's Canvas files, pages and module items picked from a list. Search titles and text, sort by last edited, created or title, filter by course or folder; rename and move notes, rename, reorder and delete folders (keeping their notes or trashing them too). A trash keeps deleted notes and folders 30 days. A note too long to keep whole (over 2 MB, or more than 100,000 elements) is never saved cut short: saving, importing, duplicating, exporting, pasting or syncing it is refused with a warning ("This note is too long to save. Split it into two notes."). Export a note as Markdown or HTML, or everything as a zip of Markdown and pictures that imports back (a note's text, title, folder and course, and a folder's name, course and order, are each replaced only by a newer one, so importing the same backup twice changes nothing). The same note changed in two tabs never loses text: the later save becomes a copy beside it. It opens and acts only on your own clicks and keys. Open it from Ctrl+K (Notes, New note, Course notes), the Dashboard notes, a course card's create menu, Course notes on a course's home, or a class reminder. Kept on your device in Glaze's own storage, which your school's pages can't read; the Dashboard notes stay as they are.
-
Class schedule (Canvas and Blackboard) — import your timetable from an
.icscalendar (a file, or a calendar link on your own Canvas or Blackboard site), a PDF, a photo or a screenshot (also pasted into the text box), a registrar's page saved as HTML, a Word file or text you paste (Banner, PeopleSoft and Workday copies, "MWF 9:00–9:50 AM", "TR 1:30-2:45pm", 24-hour times, and day names in all six languages). Glaze reads it on your device and shows every class it found for review before anything is kept: each one matched to your course by code or name (or kept as not one of your courses there), every field editable, guesses marked, holidays and breaks as days off. Your classes show in the agenda widget with the day's work, and optionally as class-start reminders. Ctrl+K, Class schedule, or the agenda's button. -
PDFs and photos, read on your device — the three imports above read a PDF's own text (tables kept as rows, two-column pages in order) and, for a scanned PDF, a photo or a screenshot (PNG, JPEG, WebP, and HEIC where your browser opens it), recognize the text with an OCR engine bundled in Glaze (Tesseract, with its English, German, Spanish, French, Dutch and Portuguese models). Nothing is uploaded and nothing is downloaded for it. A progress line says how far it has got, Stop reading or closing the dialog stops any read, a calendar link included, and when the text came from a picture the review says so and marks what the engine wasn't sure of. Limits: 50 MB and 100 pages per PDF (20 scanned pages), 30 MB and 60 megapixels per picture.
-
Reminders and streak (Canvas and Blackboard, every part off by default) — due-date reminders at the lead times you pick (15 minutes to 2 days, several at once), exam reminders (quizzes and exam-like titles in all six languages), reminders for Better To Do's "do on" days and focus sessions, and class-start reminders from your class schedule (5 to 30 minutes before), each its own switch. They show only inside Canvas or Blackboard, as one small toast in the corner that never takes focus, never as a browser notification; what came due while Canvas was closed shows once, not as a pile. A hub from the To Do header's bell or Ctrl+K lists what's coming and lets you mute items. An optional streak counts the days in a row with nothing missed, with two free restores a month. Everything stays on your device.
-
Pet habitat (on for fresh installs, otherwise off by default) — a fresh install starts with it on (and a pet tile on the Dashboard); on an existing install, enable it under Settings → Study → Pet habitat in the editor or What Glaze can do, then open Pet habitat in Ctrl+K. Use Edit layout → + Pet habitat on Canvas's Dashboard or Ultra's Courses panel. Your study buddy earns 20 XP for work handed in on time, 10 for late work, 15 when the submission timing is unknown, 8 for a kept “do on” plan, and 5 for each closed streak day already checked by W11 while Streak is on. The saved W11 start and calculation day (
asOf), including free restores, are the only streak source. Stale records stop at their calculation day; legacy records wait for W11 to recalculate. Today and all-time best do not mint days. Switching Streak off freezes new streak XP without taking earned days away. The original five thresholds stay unchanged, and leveling continues without a final level. Rewards through level 50 include furniture, plants, three shelves and academic keepsakes. Choose a room, garden, water tank or cloud loft; drag furniture into place, or use its position controls. Gravity, shelves and water physics are optional. Drag the pet out to wander and back in to return home, or use W/H. Wandering pets can climb, perch on headings and cards, and hide/peek behind elements without activating page controls. The pet usually stays in a favorite spot, with occasional short exploration. It stays attached to the page during scrolling; an awake pet can make its way back into view, while a sleeping pet stays settled. Nearby cursor movement turns its gaze without forcing it to walk. Drag a Toy ball or Yarn ball out of the habitat to invite a short play session, then it settles again. Six needs meters accompany a local online learner with twelve activities, learned routines, delayed feedback and preferences for surface and toy types. It reacts to play, petting, moving away, habitat transitions, focus, typing, scrolling and time of day. Learning can be disabled or reset independently of XP. Rewards use only work, plans and streaks already stored on this device; the game never asks for assignments or runs a timer to track study. No focus-session XP, notifications, sad pets or missed-day penalties. Repeated reads do not add XP twice. Visible unticks (including synced planner ticks and manual done mode) and newer submission corrections remove work/plan credit. Clearing Insights or deleting finished task/plan history keeps settled XP. Historical hand-ins and kept plans can earn a first reward without a planner row. A missing synced row preserves settled work/plan credit; work credit can also update when a fresh saved source proves a hand-in newer than the saved provider hand-in timestamp. Each site's signed-in account has its own progress and decorations. A record has limits of 65,536 contributions, source versions and provider hand-in baselines, plus 32,768 credited days; a full or damaged record is left untouched with an explanation, rather than reset. Settings backups include progress, placements, needs and learned preferences for transfer to another device; imported character image files remain separate. See career-long habitats and the animation API. Moodle currently has no stored account-scoped completion source, so the game is absent there. -
On Moodle — the theme on Moodle's Boost theme (Moodle 5; 4.x where its markup is the same): Dashboard, My courses, course and activity pages, grades, calendar, messages and the login page. Your course total on each course card, from Moodle's grades overview (points, a percentage or a letter, as your Moodle shows it); what's due this week from your Timeline, in the popup and the Ctrl+K palette, which also lists Moodle's pages, your courses and the course's tabs. A course's own tint and Look on its course and activity pages and on its card, set from the course menu on the card or in the editor (the colour is the one Moodle gives the course), and the keyboard shortcuts (
gthend,c,a,g,m,?) on the Dashboard, My courses, calendar, grades, messages, and a course's sections and activities. -
Looks — eleven ready-made combinations (Frostdev first, with its own pointers and contour effects; Graveyard and Pumpkin Patch are for Halloween) of palette, fonts, shape and background, one click each in the popup or the editor, or one for a single course.
-
Editor — every setting in one page with a live preview; the popup keeps the quick controls.
-
Theme codes — share your palette, fonts, look and background as one line of text; a pasted code previews before it applies. A background that is a file kept on your computer can't travel in a code: Copy theme code asks you to use a link instead, or to share the Look in a share session, which sends the file encrypted. Before you use a Look from someone else (a code, the gallery or a Look share), the offer lists what it does to your navigation and your school's pages: each item it hides, each link it adds with the site it goes to, the parts it hides, fades or restyles, and any text it writes in, word for word. Glaze refuses the whole Look and says why if it hides Sign out or your account (including Canvas's Account menu through page tweaks), links to a page without https, or names a link like Sign out, Glaze settings or a native navigation item it hides. Rotation checks saved favorites against the same limits. In the navigation, a Look's link to another site says which site in its tooltip and its name for screen readers.
-
Canvas sidebar — style Canvas's own navigation with a solid color, gradient or picture, filters and an overlay; choose text and icon colors, labels and size, hide the institution logo or collapse the rail. Every native link stays reachable. The editor warns about low contrast; local pictures share the course-card storage limits and stay on this device. Theme codes carry linked pictures only. Canvas only.
-
Canvas course cards — each Dashboard card its own color, gradient or picture (a link, or a file kept on your computer) with filters, focus, zoom and overlay; bookmarks as icons on the card; card width, spacing, corners, picture height and a condensed layout; hover effects, particles and a cat or bunny on your first card; an optional create button. The card editor warns, with the measured ratio, when text on a card would be hard to read. Fonts can be searched.
-
Looks gallery — free Looks shared openly at frostdev.io/glaze/looks. Use this Look in Glaze opens it in the editor's preview; a Look you use or save from it joins your Looks under Gallery, beside Built in and Saved (a pasted code you save), animated backgrounds included, wherever you pick a Look: Settings, the popup, a course's Look, Ctrl+K and Look rotation. Removing one from favorites takes it from all of them, and a course that wore it goes back to your theme. A course's Look is worn whole on that course's pages, its background (shader and video ones too) and its pointer included, when your pointer follows the Look. Go back with Previous Look from a history of the themes you wore. Both stay on your device.
-
Stickers, pointers and Look rotation — put stickers from four packs, or your own pictures, on any course page (Ctrl+K: Place stickers on this page), then drag, resize, turn or remove them with the pointer or the keyboard; they never get in the way of a click and stay off quizzes you are taking. The pointer is part of the Look: every built-in Look has its own pointer set with an animation around it, a typing effect and effects for its events, with the usual text cursor kept in text fields. The switch in Look › Pointer (or Ctrl+K: Turn off custom pointer) gives you the system's pointer and no pointer animation on every page, and turning it back on brings back what you chose. While it is on, you choose the pointer you see with every Look: the Look's own, any of the thirteen sets or your own picture, and whether the Look's pointer animation plays; that choice is yours, never part of a Look or its code. Under This Look's pointer, any Look can pick one of the thirteen sets and the cursor effect around it. A typing effect never sees what you type and stays out of password and payment fields and quizzes. Look rotation wears the next of your chosen Looks and favorites every 6, 12 or 24 hours, weekly or daily at a set time. Free, unlimited, and kept on your device.
-
Hide folders (Blackboard Ultra and Canvas, on by default) — eye buttons hide folders and learning modules in a course outline on this device; on Canvas, modules on a course's Modules page (or its home, when that shows the modules), with Show hidden modules (N). Show hidden folders (N) restores them dimmed with a Hidden badge and an always-visible unhide eye; the pressed toggle becomes Hide them again (N). Hidden is included in the folder’s accessible name, with native naming restored when the marker goes away. A brief, polite status confirms saved changes; Undo restores the folder just hidden. Undo stays within the current account and course and ends on navigation or disabling. Keyboard hiding keeps focus on the outline controls. Nested folders keep their own hidden state. This changes only the outline display: search, Download all, progress and new-item counts still include hidden content. It makes no requests. Controls appear only once another existing Glaze feature has identified the signed-in account; course-list refresh (at most every ten minutes) and inline grade chips normally do this. If those readers have not run on a fresh page, controls stay absent. Visiting the profile/sign-out route revokes this feature’s identity until a new identity read or reload. Turning the switch or Glaze off restores the native outline; saved choices remain. Back up… includes these device records; restoring ignores malformed folder records and preserves their existing choices.
-
Course tabs (Canvas and Blackboard Ultra, on by default) — each course you open gets a tab, above the course's top bar (or between its rows, or below it), on an item opened over the course or its full routed header, and above pages outside a course. On Canvas the strip sits above the course breadcrumbs, also on non-course pages; Below and Between put it below that single row. A tab picked from the strip is a live Canvas or Blackboard page of its own, kept running while hidden, like a browser tab: a retained live page keeps its native state while you switch. Up to four framed course pages stay live alongside the surrounding page. Canvas loads a whole page for each link, so while a tab's page runs, a link to a course page opens in that course's tab instead (on the page itself, or from one course's tab to another's), and a page outside a course (the calendar, the Inbox, the Dashboard over a course page) opens in a frame of its own: no tab reloads, and going back to one is instant. Within a course on Canvas, the last pages you visited stay live too (three a course, eight in all, never one with unsaved work): Back, Forward or a link back to one shows it at once, as you left it, while a fresh copy loads underneath unless it has unsaved work or embedded documents; a kept page pauses its media and preserves embedded documents, including tool and editor state. A link starts loading as you press it (not on a touch, nor for quiz attempts, tool launches or submissions), and the page on screen stays until the next one is drawn. From the Dashboard or another page outside a course, a course always opens in its tab, so that page stays as it was. Glaze's bar, card grades, keyboard shortcuts and Ctrl+K go the same way. A reload brings back what was on screen. A Canvas course with no sketch yet loads behind the page you're on, its tab marked, and shows once it's ready. Edited pages stay until explicitly closed; if all four are edited, close one before opening another. A clean older page may reopen at its saved URL and scroll, losing other native state. Closing, reloading or turning tabs off can lose unsaved native work. While a tab's page first loads, a blurred stand-in drawn from a sketch of how it last looked covers it (its boxes and colours and the course's name, no other text and no images); sketches stay in memory only, never on disk. Glaze loads nothing ahead but the link you press; hidden native pages can continue their own requests. Close, pin and reorder with the mouse or the keyboard; past the cap the least recently used unpinned tab closes, with a word. Shape, size, width, name or code, a colour dot or icon, and each course's colour as a tint, with a live preview in the editor. At the hard limit of 40 retained entries, close or unpin one before another course gets a tab. Course-tab switches keep the surrounding page’s address in the address bar and add no history entry. Browser Back/Forward follows the browser’s frame history; copy a link inside the course to share its address. Hidden native pages continue running their own requests; Glaze pauses their animated scenes.
A course is ready only after content renders. An empty initial frame gets one automatic retry; a slow load then offers Retry and Go back while continuing to wait for the school’s page. Retry replaces only an unedited page. Go back retains the live frame and any native work.
-
Languages — English, Spanish, French, German, Portuguese (Brazil) and Dutch. On Blackboard, Glaze writes in the language Ultra is shown in; the editor and popup follow the browser. Adding one is a file in
i18n/(seecore/i18n.js); the five above are machine translations, and corrections are welcome as bug reports. -
Sites — Canvas on
*.instructure.com, Blackboard Ultra on*.blackboard.comand Moodle on*.moodlecloud.comwork without configuration. On Chrome, Edge and Firefox, you can add your school's own address in four ways. The browser asks for access Glaze does not already hold:- Use Glaze on the site, in Glaze's toolbar popup on one of its pages. On Chrome and Edge, Glaze's icon gets a dot on pages that look like Canvas, Moodle or Blackboard Ultra, and once the popup has opened there, Chrome 133 and later also keep an Allow entry for the tab in the extensions menu.
- The school address field on the tab Glaze opens once when it's installed.
- Settings → Privacy and data → Sites → the school address field.
- The browser's own extension menu or settings.
The popup recognizes Canvas by its stylesheet, Moodle by its head keywords and body attributes, and Ultra by its
/ultra/base address on an/ultrapage. An address typed in the first tab or Settings is checked through the site's APIs after access is granted. If no LMS answers, Glaze returns access granted by that attempt; access held beforehand stays. Glaze shows "No course site at {host}" or "Can't reach {host}" and offers up to two nearby course sites, found through homepage links and common course-site names on the same domain. Sites granted through the browser's menu are checked too; a failed check leaves that access unused.All sites on the first tab grants every HTTPS site. Glaze then asks on unapproved course sites, as on Safari and installs from before 3.4.0: Use Glaze on example.edu? Yes turns it on there; Not now stops asking there for a week. Until Yes, Glaze does not theme the site, read its API or keep course data there. It never asks while Glaze is off.
Settings → Privacy and data → Sites lists the sites you added, with each one's LMS. Remove stops Glaze there, returns any browser grant for that exact site and forgets the courses and due dates it read there; your notes and tasks stay. Broader grants such as All sites stay. Reset everything clears the list. Sites Glaze ran on before it asked stay on the list.
On by default on Blackboard Ultra (Settings → Writer → Writer → Glaze Writer): Glaze's editor takes the place of Ultra's in discussion posts and replies, journal entries, messages, assignment attempts and test answers. In compose mode, Ultra's own editor stays in the page, kept in step as you type, so Ultra's Post, Reply, Send and Submit send what you wrote, and its word count and draft backup follow. ⋯ → Blackboard editor gives a box back to Ultra for the rest of the page; a box already holding what Writer can't keep (attachments, tables, maths, media, right-to-left text) stays Blackboard's, untouched.
- Compose mode (discussions, replies, messages, test answers): a toolbar on selected text (bold, italic, underline, link, list, quote), the word count, and the prompt's targets: a ring toward its word range, a sources pill when it asks for sources, and the replies it asks for. A classmate's post can be quoted into a reply. Ctrl/⌘+Enter presses Post, Reply or Send when Ultra allows it, never an attempt's Submit.
- Compact assignment box (assignment attempts, by default): the attempt's paper in compose mode's bar and selection toolbar, with no pages, side panel, ruler, zoom or footnotes and the format's checks off. Its text goes into Ultra's text box as a post's does. Ultra's own Submit and Save and Close wait for the paper to save, with Saving… in the bar; if saving has not answered after a minute, editing returns with a visible failure so you can retry. A paper past the text box's limit says Too long for Ultra’s text box. Use Full writer. and marks the Full writer switch; Ultra's buttons send nothing until the paper fits, while Full writer can submit it as a .docx. The limit is measured on the serialized paper HTML after pictures are removed (2,000,000 UTF-16 code units or 50,000 HTML tags). Notes, page breaks, pictures, fonts and colours stay in the paper for the pages' .docx. The bar's Full writer switch (or Settings → Writer → Full writer) opens every assignment as pages; going back keeps the pages as a Full writer version first. Its ⋯ adds Cite, Versions, Open from Documents and Documents, and Checks and Feedback, which open the pages. A dropped .docx shows the upload card: Open in Writer turns Full writer on, Submit as is leaves the file to Ultra.
- Paper mode (assignment attempts with Full writer on, and documents opened from Documents): the paper as a word processor on real pages (Letter, A4 or Legal, as its Page setup has them), with MLA 9, APA 7 and Chicago 17 formats, Blank (no opening, header or format checks; Cite writes MLA) and presets of your own (font, size, spacing, margins, first-line indent, header); block styles, six heading levels (APA's five styled as APA 7 sets them), alignment, lists, footnotes, page breaks, zoom and Focus; a side panel of Checks (one card per format rule, counting what it found, with Fix or Ignore for all of it), Sources, Feedback and Outline. It autosaves to this device (a second tab on the same paper shows what the first saved while it holds nothing unsaved) with versions (on submit, before an import, restore, format change or big edit, on leaving Full writer, and every 10 minutes of writing; 40 kept, the last submitted always). Import… and Export .docx in Versions: a Word file opens as Word lays it out (its page size, margins, header and footer, fonts, paragraph spacing, line spacing, indents and tab stops), and you choose once whether the paper keeps that formatting or takes the format's; its export lays out in Word the same again. A file's endnotes come in as footnotes. Footnotes keep their paragraphs, line breaks and emphasis through import and export; Shift+Enter writes a line break and a blank line starts another paragraph in the note editor. In pages the paper never goes into Ultra's text box. With a dark Look the page is dark too; ⋯ → Light page keeps it white.
- Open from Documents (an assignment paper's Versions, or the compact box's ⋯): your own documents, newest first, none from Trash; the one you pick becomes the paper as an imported Word file does, what it held kept as a version first with Undo, and the document stays in Documents.
- Outline follows authored headings. Essays without headings get an inferred introduction, numbered body paragraphs and conclusion, with paragraph previews and page links. AI outline asks the Feedback model for a short title and role for each existing section, using separate calls and keeping document anchors in code; it starts on when AI is enabled and the model is configured, and can be switched off in Outline or Settings → AI. Model labels stay in the side panel and are saved with the paper; unchanged sections reuse their saved titles.
- Grade as is in Feedback assesses the current paper against the rubric, instructions and attached documents. Estimated points come from the supplied rubric, including weighted percentage rubrics with a known assignment total. A verified mismatch, such as MLA where APA is required, receives a scored estimate. If a general APA row has no rating descriptions or exceptions, corroborated use of a different citation system receives the lowest supplied quality band, explicitly identified as Glaze’s estimate with the point deduction explained; incomplete or unscored grading information keeps the assessment qualitative. Every result explains its assessment; an unavailable score states why, including unread files, an unverified scale, incomplete ratings or missing explanations. On-device models assess one rubric decision at a time, then write a brief explanation from the verified evidence. Editing the draft marks the estimate out of date until you check again.
- Proofing and autocorrect: spelling, grammar and style checked on this device as you type (Harper, one copy for the whole browser), underlined with a card of fixes; Alt+Enter reaches a visible autocorrect's Undo, or opens a suggestion card at the caret. Sure fixes (typos, capitals, doubled words) are made as you type, each its own undo. Add to dictionary keeps a word for every box; the course's and thread's names are known already.
- Completion and AI feedback, only for the features you turn on in Settings → AI (Tab completion, Feedback; off by default): gray text that finishes the current word and sentence (Tab takes it, ⌥→ or Ctrl+→ a word, Esc dismisses it); Check with AI (⌘⇧K) for issues anchored to your words; Feedback per rubric criterion or instruction (met, partly or missing, the rubric level it reaches, comments that assess and never write for you, and the passages they mean with their pages); and rulings on autocorrect fixes that aren't sure. Glaze never drafts.
- Citations: Cite looks up a DOI, ISBN or web address when you click it, or takes a source by hand (books, chapters, articles, web pages, videos, reports), and puts the style's citation at the caret (a footnote in Chicago). Saved sources are kept per assignment or journal, shared by a discussion's post and replies, and shared by each course's new messages; the paper's Works Cited, References or Bibliography is built from them in the style's order, and checks flag a citation with no entry, an entry never cited and a list out of order.
- Submit sheet: Submit… (or Ultra's own Submit) on a paper shows its first two pages, the .docx it makes (Lastname_Title.docx), a note to your instructor, Also paste the text in the text box, what Ultra's text box already holds (replaced unless you turn on Keep the text already in the text box) and the checks still open. Its Submit attaches the .docx through Ultra's own upload, writes the note and clicks Ultra's Submit once, and the version it sent is kept as Submitted; anything that fails stops before that click and says why. Ultra's Save and Close saves the paper first; a save not answered in 30 seconds says Not saved. Try again in a moment. and sends nothing. While Writer's box opens or reopens, here or in the compact box, Ultra's Submit and Save and Close are held, marked busy, until Writer can take them.
- Documents: every assignment paper and document of your own on this device, as first-page thumbnails (Grid) or a List. New starts a document in Blank, MLA 9, APA 7 or Chicago 17; one is titled by its title line or first line until you rename it. Search finds titles, courses and text; a course filter, and sort by Last edited or Title. A card's ⋯: Rename (your own documents), Make a copy, Export .docx (or the kind's own export), Delete. Delete, with Undo, moves it to Trash, a view beside Grid and List while it holds anything: Restore or Delete forever, and 30 days on it goes for good; opening it, here or in its assignment, takes it out. Files dropped on the page or chosen with Import… become new documents, up to 20 at a time: Word files, and the spreadsheets, PDFs and decks whose switches are on (with every one off, the button is Import .docx…). A document opens in the paper editor, with versions, proofing, Cite lookups and AI as an assignment's; its Feedback has no Blackboard instructions or rubric. Documents opens from Ctrl+K (⌘K), the navigation's Documents item (Navigation items, off by default), a paper's Versions or ⋯, the popup's Documents and Settings → Writer → Papers → Documents. On Blackboard, Canvas and Moodle, Ctrl+K and the navigation open it as a page of the site, as Settings does; the popup, Settings and a paper open a tab. The page wears your Look, its background and glass included; mods can add to it in its own tab (Glaze mods).
- Spreadsheets (Settings → Writer → Papers → Spreadsheets, on by default): the New band's Spreadsheet tile starts a workbook, and Import takes .xlsx, .csv and .tsv files up to 15 MB. The grid has a formula bar and name box, 386 Excel functions, sheet tabs (add, rename, duplicate, move, hide), insert and delete rows and columns, hide and unhide, freeze the top row or first column, sort A to Z or Z to A, number formats, Find and Replace, undo and versions. A workbook holds up to 100 sheets and 250,000 cells. Charts: a workbook's column, bar, line, area, pie, doughnut and scatter charts are drawn on the grid, redrawn as their cells change; other kinds show as a frame with their title. Chart → Column, Bar, Line, Pie or Scatter charts the selection; a chart moves, resizes and deletes, each with undo. Export .xlsx writes it back to Excel, charts included; what Glaze doesn't show (conditional formats, data validation, pivot tables, macros and the like) is kept and written back as it came. Spreadsheets already kept still open with the switch off.
- PDF documents (Settings → Writer → Papers → PDFs, on by default): import PDFs up to 50 MB and 500 pages, view and find their text, zoom to a percentage, Page width or Whole page, and fill permitted AcroForm fields. Filled values stay on this device and save before returning to Documents or closing its embedded frame. A card's ⋯ offers Make a copy and Export .pdf. Search on the Documents home finds a PDF by title. Password-locked files and forms that require XFA are refused. PDFs already kept still open with the switch off.
- Slides (Settings → Writer → Papers → Slides, on by default): import PowerPoint decks (.pptx, .ppsx) up to 50 MB and view them: a rail of slides, zoom, find in the slides' and notes' text, speaker notes, and Present (full screen where the browser allows, hidden slides skipped). Charts, SmartArt diagrams, embedded objects and video show as labelled frames; effects and 3-D are left out. A viewer, not an editor: Export .pptx gives back the file as imported. Decks already kept still open with the switch off.
- Files of PDFs and decks stay on this device in Glaze's own file store. A PDF keeps one copy, the latest: marks, filled fields and page changes save over it, with no versions, and Undo after Pages → Done takes the whole change back; ones kept by an earlier version move there the first time they open. Where the browser can't keep files, a PDF or deck up to 3 MB is kept as before and a larger one says This browser can't keep files larger than 3 MB right now.; a full browser says There isn't enough room in this browser for this file., and a file the store no longer has, This file is missing.
- Other kinds in an assignment (Blackboard Ultra): a .pdf, .pptx, .ppsx, .xlsx, .csv or .tsv dropped on Writer, chosen with ⋯ → Import… or handed over by Blackboard's upload area (Open uploads in Writer) asks Open in Glaze or Submit as is while its kind's switch is on. Open in Glaze shows the file in its viewer in the paper's place, the paper kept as a version first; Submit… sends the PDF as saved (forms filled), the deck as brought, or the spreadsheet as .xlsx. A PDF, deck or spreadsheet the assignment attaches gets Open in Glaze beside its link. An empty attempt offers Document or Spreadsheet while Spreadsheets is on, and ⋯ → New spreadsheet starts one over a paper. A Word file brought over a viewer makes the attempt a paper again.
- Find and Replace: ⌘F (Ctrl+F) finds in the box or paper, footnotes and tables included, with match case and whole word; ⌘⇧H (Ctrl+H) adds Replace and Replace all, each one undo. Clicking a compose box's word count shows words, characters with and without spaces, paragraphs, sentences and reading time, and the selection's; ⋯ → Export .txt or Export .md saves its text. ⌘P (Ctrl+P) prints a paper as its pages show it.
- Formatting (paper mode): the toolbar's font (Times New Roman, Arial, Calibri, Courier New) and size (8–72), text colour and highlight from Word's palettes, and More formatting (strikethrough, superscript, subscript, small caps, all caps, clear formatting); ¶ (or the page's right-click menu) opens the Paragraph dialog: alignment, indents (first line or hanging), space before and after, line spacing (single, 1.15, 1.5, double, at least, exactly, multiple), keep with next, keep lines together, widow and orphan control, page break before. The paper keeps only what differs from its format, and every setting round-trips through the .docx. Shift+right-click gives the browser's own menu.
- Ruler (paper mode, ⋯ → Show ruler): the page's margins and the caret's paragraph: drag the first-line, hanging, left and right indent markers or a margin's edge; click the ruler for a tab stop, click a stop to make it centred, right or decimal, drag it off to remove it.
- Page setup (⋯ → Page setup…): Letter, A4 or Legal, portrait or landscape, margins, header and footer distances, a different first page; Reset to format goes back to the format's page. Header and footer: imported tab stops and their leaders draw on the page; double-click a page's top or bottom margin (or ⋯ → Header and footer) to edit it, with page number and page count fields; an MLA paper's "Surname N" is its header until you edit it.
- Pasting from Word, Google Docs or a web page keeps fonts, sizes, colours, highlight, headings, lists, tables, links, spacing and indents; the first time on a paper a note asks Keep formatting or Match the paper and the paper remembers the answer. ⌘⇧V (Ctrl+Shift+V) pastes plain text. Pictures stay in the document; remote pictures keep their alternative text.
- Keyboard as in Word and Google Docs: ⌘B, ⌘I, ⌘U; ⌘⇧X strikethrough; ⌘= subscript and ⌘⇧= superscript (or ⌘, and ⌘.); ⌘K link; ⌘\ clear formatting; ⌘⇧> and ⌘⇧< font size; ⌘⇧7 numbered and ⌘⇧8 bulleted list; in a paper also ⌘⇧L, ⌘⇧E, ⌘⇧R, ⌘⇧J alignment, ⌘] and ⌘[ indent, ⌘⌥0 body text, ⌘⌥1–6 headings, ⌘Enter page break. On Windows and Linux use Ctrl for ⌘ and Alt for ⌥. Compose boxes take the marks, lists, link and Find.
- Tests get compose mode with proofing on this device only: no completion, no AI, no paper, no submit sheet.
- Tab writes a tab, as Word and Blackboard's editor do (in a list it indents, and Shift+Tab outdents); press Esc, then Tab, to leave the editor.
Back up… carries your papers and documents (Trash's too): Word documents, spreadsheets with their cells, and PDFs and decks with their files, written beside their records; their versions and presets, your dictionary and saved sources. A backup holding files is a newer format: a Glaze from before 4.0.0 refuses it with … was made by a newer Glaze. Update Glaze to restore it. rather than restoring it without them. Restore… adds a spreadsheet that isn't on this device and leaves one that is as it is, adding the backup's versions to its history. A newer paper, PDF or deck from the backup replaces the one here, which is kept as a version (a PDF is not: it keeps one copy); an older paper or deck that differs joins its versions.
Settings → Writer, one line each (on by default but Light page and Full writer; MLA 9, Fit, 40 versions and American English to start):
- Glaze Writer and Open uploads in Writer: Writer itself, and an assignment's upload area going to Writer first.
- Papers: Format for new papers (MLA 9, APA 7, Chicago 17, Blank); Zoom a paper opens at (Fit, 75–150%); Ruler above the page; Light page keeps the page white with a dark Look; Full writer opens an assignment as pages (off, the compact box whose text goes into Blackboard's); Spreadsheets lets Documents create spreadsheets and import .xlsx, .csv and .tsv files, and an assignment open them (off, Documents shows no Spreadsheet tile and doesn't import them; existing spreadsheets still open); PDFs lets Documents and assignments open PDF files to view and fill (off, they aren't imported; PDFs already there still open); Slides does the same for PowerPoint decks (.pptx, .ppsx; off, they aren't imported; existing decks still open); Versions kept per paper (10, 25, 40, 50, 100; the last submitted always stays).
- Papers: Google Drive connects your Drive (Chrome, Edge, Brave and Firefox), and Sync to Google Drive keeps the Glaze folder there in step, on once you connect.
- Papers: Documents opens the Documents page; Clear papers for one course (Clear…) or Clear all papers and documents (Trash too), after a question; what you submitted stays in Blackboard.
- Typing: Fix typos; Capital I and sentence starts; Doubled words and spaces; Smart quotes and dashes; Ask how to paste formatting after a formatted paste.
- Proofing: Spelling and grammar on or off; Dialect (American, British, Canadian or Australian English); Personal dictionary, each added word with its remove ✕, and Clear.
- Discussions: Markdown shortcuts (- , 1. , # , > , **bold**, *italic*, text; a paper keeps them either way); Word target ring (off: the plain count); Quote while replying.
- Submitting: Remember the submit sheet's Also paste the text in the text box as you last left it.
Writer imports sources from an existing Works Cited, References or Bibliography page into Sources, including papers imported earlier. Local extraction works with AI off; uncertain entries retain their original text for review. Optional AI source extraction uses the Feedback model to enrich each citation with grounded metadata and the existing MLA/APA/Chicago formatters. Edits and removals are retained. The paper itself is unchanged.
AI outline labels are saved with the paper by section content, model configuration, language and outline version. Unchanged sections reuse their labels after edits, reordering or reloads; only changed sections need another model call. Cached labels stay visible while changed sections are being read.
With AI Feedback configured and enabled, Writer quietly prepares assignment images before review. Each image gets one bounded reading and relevance check; later assessment calls receive descriptive text and exact extracted requirements. Readings are cached locally for the verified account, assignment, image content and instructions, with a limit of 128 entries and 30 days. Changed content or task context gets a fresh reading. Uncertain visual facts remain limitations rather than supporting a numeric grade; uncertain relevance alone does not discard readable evidence.
On-device Feedback can read assignment materials in smaller chunks, assess rubric criteria individually and synthesize the result. It shows progress and supports Cancel. Unread or incomplete material prevents an overall estimated score, with a reason. Local-model readiness can recover without changing settings, and failures show the available specific reason. Pending completions cancel before native text insertion begins, avoiding a reply changing the caret boundary during typing.
On by default on Blackboard Ultra, Canvas and Moodle, Glaze draws its own navigation in place of the site's, set up in Settings → Navigation. Placement: a side rail, open with labels or icons only (with a tooltip on each, which Escape dismisses, and a peek when you point at it or move focus into it), or a top bar whose items move under More when they don't fit. Style: floating glass with a little room around it, or embedded at the page's edge. Inside a course it can stay the same, become icons only, become a top bar, or hide (the course's own navigation remains, and on a Canvas phone so does Canvas's own header, with its menus). Course tabs show in it too: click one to switch, the middle button or Delete closes it, and P pins it. Course tab settings (Settings → Navigation → Course tabs) can keep them only in the navigation, with no strip, in course pages and their frames alike. The logo can be Glaze's, the school's, your own picture (kept on this device; a shared Look shows Glaze's logo in its place) or none. On a phone it is a bottom bar of four tabs and More, whose sheet holds the rest, the course tabs, your account, signing out and Customize navigation. The page keeps the bar's room from first paint, and the chevron and pin are saved for every tab.
On Moodle, the bar replaces the top navigation and phone hamburger. Profile, notifications and conversations open in Glaze panels; messages link to Moodle's full messaging page. Moodle's Edit mode switch is in the bar, drives Moodle's own control and follows its on, off and disabled states. Links your school adds to Moodle's navbar and drawer that Glaze has no item for (a Library, custom menus) become bar items you can hide or rename, dropdowns such as the language menu open as a panel, and the search form and notification preferences stay reachable. A course's secondary navigation, including More links, appears in the rail or the top bar's second row when Course menu is on. The course index and block drawers remain available. Turning navigation off restores Moodle's own navigation.
Navigation items renames, re-icons, reorders and groups every item of Blackboard, Canvas and Moodle (an item only some of them have says which), hides any of them, picks up to four preferred phone tabs (defaults vary by site, and any remaining slots fill automatically), adds up to eight links of your own, and turns on Notes, Documents, To Do, search and Glaze settings (off by default). Its Widgets put the clock, what's due next, the focus timer and your pet at the top or bottom of the rail (a square each in the icons rail, with the details in its tip), compact in a top bar and in a phone's More sheet; they are the same timer and pet as your other widgets, and nothing more is recorded. Mods' navigation widgets sit under the rail's items, and with a top bar or on a phone they open over the page from a Widgets button, without loading again. A worn Look's navigation layout and your older navigation links, hidden items, order and widgets still apply under these choices; what the worn Look hides is listed as hidden, and its links are listed with the site they go to. Look codes carry how the bar looks and sits (never whether it is on); Back up… carries your items. On Canvas, Courses, Groups, Account, History, Help and Admin open as Glaze panels with Canvas's own session data. Course links and term names, account settings, recent pages and the school's help links stay within their permitted account. The course's own menu joins the rail or a second row below a top bar; switch that option off to keep Canvas's course menu. Other items open through the site's own links, and the site's own navigation stays in the page, out of sight, coming back when the switch is off. Where Blackboard opens a course at its own address without its drawer, the items last seen on this device stand in. Motion follows Glaze's motion setting and your system's reduced motion; right-to-left pages mirror it.
Blackboard Ultra's base navigation supports both its newer MUI drawer and legacy rail. In the editor, choose a Glaze, school or device-only custom logo, set precise rail/icon/label sizes and spacing, and add up to eight http/https links with built-in icons. Compact rows use ellipsis and full labels on hover/focus, with optional two-line word wrap or a bounded smaller font. Choose tile/pill/flat items, backgrounds, active indicators, logo size/alignment and footer visibility. Each editor section has its own reset; drag or arrow-key handles reorder items and widgets. The real nav preview follows the current Look, with expanded/collapsed/icons-only and light/dark views. Native items can be reordered or hidden and restored with Reset navigation; the Institution page entry reads Dashboard with its original destination while Glaze's Dashboard is enabled. Optional clock/date, next-due item, shared focus timer and pet-level widgets can be ordered at the top or bottom. Back up… includes the navigation settings and links; local pictures remain on their device, and Look codes carry only the existing appearance fields. Next due shares the agenda/Better To Do planner and account/cache rules, refreshing only while enabled and visible, with a one-minute backoff after a failed read. The bundled logo, sizes and Dashboard naming apply on the initial path; custom local pixels use that logo until ready. Optional order/hiding, links and widgets settle after their on-demand module arrives. A collapsed rail expands over the page on hover (optional), keyboard focus or its touch control; leaving it or tapping outside closes that temporary overlay without changing the saved collapsed preference. The native fixed drawer keeps main content at the top, including with custom nav backgrounds; the expand control also centers in right-to-left layouts. Narrow modal drawers keep Ultra's native width.
- Previews in Glaze (Blackboard Ultra, Settings → Course pages → Documents and quizzes, on by default; off too while Settings → Writer → PDFs is off): an attachment's Preview opens in Glaze's PDF viewer, with its file name, zoom, page box, Find, Open original and Save to Documents. Blackboard's viewer shows until Glaze's has drawn the first page, and stays while Blackboard is still converting the file or refuses it.
- Document review: compact submitted-work headers, expandable feedback, full screen and document focus (F / Esc) on recognized Blackboard Ultra review pages. Focus keeps the native rubric, grade and feedback reachable, suspends the sidebar and widgets, and can hide Glaze bars. On Canvas, only a submission page with a verified canvadocs preview and no comment, resubmit, grading or editable controls qualifies. Canvas's usual submission page has a comment box and a Re-submit link, so it stays native, as does any page with such a control. The document iframe is resized in place, never moved or reloaded; unknown structures stay native. Review preferences live under Course pages → Documents and quizzes → Document review, with session-only focus memory off by default. Shortcuts ignore typing, composition and the cross-origin viewer; use the visible Exit focus button there. The focus toolbar and Show Glaze bars strip reserve space outside the viewer. Printing retains the native layout. Hidden bars return on exit, frame changes or within four seconds if the focused frame stops renewing its local lease.