A web based Windows 98 desktop remake.
- Notepad (separate README)
- Sound Recorder (separate README)
- Paint (separate repository)
- Calculator (separate README)
- 3D Pipes (separate repository)
- 3D FlowerBox (original repository) by Kevin Shannon
- Minesweeper (separate README; original repository) by Jon Ziebell
- Solitaire (original repository) by Radovan Janjic
- Winamp 2.9 (separate README; original repository) by Jordan Eldredge
- Windows Explorer / Internet Explorer (separate README)
- Help Viewer
- Drop files onto the desktop, and they'll be stored in a virtual filesystem
- Load Windows themes! Many are included in the Themes folder on the desktop.
- Easter eggs (try a famous cheat code
- Meticulous detail in many areas (altho there's obviously lots "missing")
- Help > Help Topics in Paint, Sound Recorder, Notepad, and Minesweeper
- You can add the site to your homescreen on mobile
Try it out
Apps that it would be nice to integrate:
Other online operating systems / web desktops:
|Name & Link||Vague Description||Repo & License||Chat|
|Rahul.io||another Windows 98 remake||repo here - MIT license|
|Windows 93||a "fictional version of Windows"||(not open source currently)||Discord|
|emojis everywhere||repo here - MIT license||Discord|
|EmuOS||emulator-focused Win9X desktop||repo here - shared source||Discord|
|OS.js||a more serious web desktop||repo here - simplified BSD license||Gitter|
|Friend||another serious one||repo here - different licenses for different parts|
|CloudDesk||another serious one||(explicitly not open source)|
|AaronOS||interesting aesthetic||repo here - shared source||Discord|
|Web Desktop||Windows 10 like "startpage"|
|System||Windows 10 like thing|
|WinXP||Windows XP||repo here - MIT license|
|Windows 98 - Packard Belle||Windows 98||repo here - shared source|
|X-WebDesktop-Vue||Windows 7||repo here - MIT license|
|vue win3.1||Windows 3.1||repo here - shared source|
|VirtualDesktop||Screenshot flows, several OSes|
|GUIdebook||Screenshots, several OSes|
Plus some other ones on Wikipedia
- OS GUI, which is in the process of being extracted from this project
- BrowserFS, a filesystem abstraction library powering 98.js
- Install Git if you don't already have it.
- Install Node.js if you don't already have it.
- Clone the repository.
- Open up a terminal / command prompt in the project directory, and run
npm installto install dependencies.
npm startto start up a live-reloading development web server.
When pulling changes from git, run
npm install again in case there are any new or updated dependencies.
(If you know
package-lock.json hasn't changed, you shouldn't need to do this.)
Some dependencies are versioned with npm, but pulled into the repo with
npm run pull-libs
To update subrepos, or push changes to them, install git-subrepo. You don't need this tool to clone the project and get up and running, as subrepos are just normal subdirectories with a
.gitrepo metadata file.
Note that the metadata file references specific commit hashes, including between repositories, so it's best to avoid rebasing when subrepo updates are involved, i.e. once you do a subrepo command, it makes a commit, and should leave it (and earlier commits) alone, and you should leave commits in the subrepo alone, before and up to any commits referenced by the containing project.
I'd recommend phrasing commit messages to apply to the subrepo, primarily, rather than the containing project.
If you so much as edit the commit message for a
git subrepo pushed commit, you'd have to update the
.gitrepo metadata file manually,
OR you could drop the commit you pushed and the
git subrepo push commit (which updates the metadata) and do
git subrepo pull instead (which btw gives you an option to rename the commit; and I think renaming that commit would be safe after the fact anyways as long as it's the last commit and not pushed).