Researching a browser,
not just shipping one.
This section records the questions and design areas informing Dawn Browser. It is project documentation and research notes, not a claim of peer-reviewed research or a completed security audit.
What does a useful privacy layer look like when it is part of the browser?
Block without mystery.
Ad/tracker blocking is more understandable when it is a browser-level behaviour rather than a collection of unrelated extensions. The project needs to document what is blocked, what is not, and what false positives look like.
Privacy signals.
Do Not Track and Global Privacy Control are useful signals, but their presence does not by itself make a browsing session private. Documentation should distinguish browser behaviour from what websites choose to honour.
Fingerprinting trade-offs.
Anti-fingerprinting can change compatibility. The project therefore needs testing across sites and a clear record of which browser characteristics are altered.
Private session boundaries.
Undercover uses a separate Chromium partition and clears its tab storage when the tab closes. Future research can test whether that boundary behaves as intended across cookies, storage, cache and other state.
The small actions are where a browser becomes a browser.
Research here means observing friction rather than assuming that a feature exists simply because a button exists.
SPUD is an experiment in making local pages feel like places.
The SPUD system intentionally keeps the mental model small: put a site in a known directory, give it a .spud name, and let the browser resolve it to an index file. Research questions include discoverability, safe defaults, asset resolution, error reporting and how useful the model is for prototypes compared with a conventional local server.
Electron gives the project a lot of leverage—and a lot to keep track of.
Areas to test
- IPC boundaries between browser chrome and main process.
- Context isolation and preload bridge exposure.
- Sandboxed web contents and navigation edge cases.
- WebContentsView lifecycle and tab/session management.
- Persistence migrations and recovery from malformed JSON.
Questions for future work
- Which infrastructure should become user-facing settings?
- Which defaults need stronger explanation?
- How should permissions be exposed if the current disabled-request model changes?
- What should a stable release promise that the alpha does not?
- Which behaviours need automated regression tests?
Testing the weird stuff is part of the point.
Try every engine.
Exercise URL navigation and query navigation with Nucleon, Google, DuckDuckGo, Bing, Brave Search and Startpage, while recording the known broken default-engine behaviour.
Try every theme.
Check Midnight, Graphite, Dusk and Snow, and record where the current alpha's broken theme setting appears or fails to apply.
Open, close, recover.
Test normal tabs versus Undercover tabs, recently closed tabs and restart/session restoration behaviour.
Break a local site.
Test missing index files, nested assets, JavaScript errors, relative paths and unusual filenames.
Keep future findings reproducible.
For each test, record the alpha version, operating system, steps to reproduce, expected behaviour, actual behaviour and whether the issue is repeatable. Screenshots or short recordings are useful for interface issues.