Skip to content

Repository files navigation

Status: 🚧 Frontend UI Simulation — Interactive web desktop interface. Advanced system architecture and features are currently under concept development.


Typing SVG

Live ExperienceVersionKernel StatusArchitectureSecurityLicense


📸 Preview Images

🎨 Main Interface

NovOS Main Interface
---
╔════════════════════════════════════════════════════════════════════════════╗
║ ║
║ Every shadow. Every translucent layer. Every kernel event. ║
║ Designed to make the boundary between web and OS vanish. ║
║ — Tcode-Motion 🌌 ║
║ ║
║ "The screen is not a wall — it is a window into a deeper reality." ║
║ "Code is the ink; the processor is the paper; the OS is the story." ║
║ "Stability is not the absence of change, but the presence of flow." ║
║ "The future of computing is the synthesis of art and logic." ║
║ ║
╚════════════════════════════════════════════════════════════════════════════╝

📖 Table of Contents


🌌 The Vision

NovOS is a cinematic, browser-based operating environment that redefines the relationship between the web and desktop computing. It is a Web-Based OS Interface / Desktop UI Simulation.

Our mission is to provide a distraction-free, high-fidelity workspace where developers and creators can manage their digital lives without ever leaving the browser tab.

"The future of computing is not on your disk, but in your mind. We are just building the interface."


🖥️ User Interface & Experience

The Aether Design Language

Aether is the soul of NovOS — a design system optimized for modern high-resolution displays.

PrincipleImplementation
Layered Glassmorphismbackdrop-filter: blur(24px) + rgba(255,255,255,0.05) for cinematic depth
Subtle GradientsWide-gamut HSL colors to prevent banding in dark environments
Motion OrchestrationFramer Motion spring physics — natural, weighted animations
TypographyJetBrains Mono (terminal) + Inter Variable (UI)

Spotlight Search

Activated with Ctrl + Space — the fastest navigation tool in NovOS.

  • Fuzzy Search — Find apps, files, and settings with minimal keystrokes.
  • AI Integration — Ask Nova questions directly from the search bar.
  • Quick Actions — Type theme dark / theme light to switch instantly.

Mission Control & Workspaces

Ctrl + Tab activates a bird's-eye view of all open windows using a specialized non-overlapping layout algorithm. NovOS supports up to 10 virtual workspaces — move windows between them via the overlay or with keyboard shortcuts.

Cinematic Window Management

  • Snap Engine — Windows snap to screen edges and quadrants with magnetic precision.
  • Physics Drag — Spring-based window dragging that feels weighted and real.
  • PiP Support — Pin any app to float above all other windows.
  • Global CloseEsc dismisses overlays and returns focus to the desktop.

📦 Application Ecosystem

NovOS ships with a curated set of high-fidelity applications and a Nexus App Store with 400+ available packages.

Note

Status Codes:

  • 🟢 Installed — Shipped with the current build.
  • 🔵 Available — Can be installed via Nexus Store.
  • 🟡 Coming Soon — Planned for a future kernel update.

📸 Preview Images

🖥️ Live Desktop View

NovOS Desktop View
---

📋 Full Application Registry (v1.3.0)

🏛️ System & Core

App IDNameStatusDescription
filesFiles Pro🟢Advanced VFS File Explorer
terminalTerminal Pro🟢POSIX-compliant terminal emulator
settingsSettings🟢System-wide configuration engine
appStoreNexus Store🟢Application management hub
taskManagerTask Manager🟢Process and resource monitor
powerShellPower Hub🟢Advanced power state manager
notifHubNotif Center🟢Centralized system alert hub
sysInfoAbout NovOS🟢Detailed build specifications
sysMonitorSystem Monitor🔵Real-time hardware telemetry
userManagerUser Manager🔵Multi-user identity controller
secCenterSecurity Hub🔵Firewall and encryption manager
updateMgrUpdate Manager🔵Kernel update orchestration
diskUtilDisk Utility🔵VFS partitioning and optimization
backupMgrBackup & Sync🔵VFS-to-cloud backup bridge
netDiagnoseNetwork Diag🔵Latency and throughput analyzer
btMgrBluetooth Mgr🔵Virtual device pairing interface
eventLogEvent Viewer🔵Real-time kernel event stream
fontMgrFont Manager🔵System typography customizer
keyMapKeyboard Mapper🔵Custom hotkey and macro editor
displaySetDisplay Pro🔵Advanced resolution & HDR config
audioEngineAudio Console🔵Multi-channel audio mixer
shellThemeShell Styler🔵Terminal theme personalization
lockSetLock Screen Pro🔵Dynamic lock screen customization
searchIndexSearch Indexer🔵Background file indexing daemon
vfsMountVFS Mounter🔵Mount remote cloud drives
systemCheckIntegrity Check🔵Kernel health verification
recoveryEnvRecovery Mode🔵System repair and reset tools
devToolsSys Dev Tools🔵Low-level kernel debugging
taskSchedTask Scheduler🔵Automate system commands
tempClearTemp Cleaner🔵One-click /tmp/ and cache wipe
privacySetPrivacy Guard🔵Granular permission control
accessibilityAccessibility🔵Screen reader and zoom tools
vfsSnapshotVFS Snap🔵File system snapshot manager
perfTunerPerf Optimizer🔵One-click speed boost
crashReportCrash Handler🔵Error collection and reporting
regEditRegistry Editor🟡Low-level system config editor
langPackLang Pack Mgr🟡Multi-language support engine
driverMgrDriver Hub🟡Virtual hardware driver manager
bootConfigBoot Loader🟡UEFI-style boot configuration
processGuardProcess Guard🟡Anti-malware process isolation
remoteDesktopRemote View🟡Remote access server
virtMachineNovaVM🟡Lightweight VM simulation
containerMgrNovaDocker🟡App containerization manager
biometricsBio-Identity🟡Fingerprint and face ID sim

🛠️ Development Tools

App IDNameStatusDescription
codeEditorVS Code (Nova)🟢Full Monaco-based IDE
mdEditorMarkdown Pro🟢Dual-pane MD editor
pyStudioPython IDE🔵Integrated Python environment
jsConsoleJS Runtime🔵Interactive Node-like REPL
dbExplorerDB Browser🔵SQL and NoSQL database viewer
apiTesterNexus API🔵REST and GraphQL test suite
gitClientGit Pro🔵Graphical Git interface
hexEditorHex Master🔵Binary file editor
regexTesterRegex Hub🔵Pattern matching test tool
sshClientNovaSSH🔵Remote server terminal
ftpClientNovaFTP🔵VFS-to-SFTP bridge
packageMgrnvm (Nova)🔵Node version and package manager
debuggerKernel Debug🔵Real-time process debugger
profilerPerformance Lab🔵Code profiling and flamegraphs
schemaGenSchema Architect🔵Database schema visualizer
wasmRunnerWASM Host🔵Run WebAssembly modules
compilersNovaBuild🔵C++/Rust/Go cross-compilers
linterHubLint Master🔵Global linter configuration
snippetMgrSnippet Lab🔵Reusable code block manager
umlDesignerUML Pro🔵Diagram and flowchart tool
portScannerNet Scanner🔵Security port mapping tool
cryptoToolCipher Studio🔵AES/RSA encryption utility
webServerNovaServer🔵Local HTTP server for VFS
unitTesterTest Suite🔵TDD framework runner
logAnalyzerLog Master🔵Semantic log parsing engine
envEditorEnv Manager🔵System variable editor
dependencyDep Graph🔵Project dependency visualizer
refactorRefactor AI🔵AI-driven code refactoring
dockerSimDocker View🟡Container visualization
uiBuilderVisual Studio🟡Drag-and-drop UI designer
buildAutoPipeline🟡CI/CD pipeline simulator
codeReviewReviewer🟡Automated code audit tool
androidStudioMobile Lab🟡Android emulation bridge

📈 Productivity & Office

App IDNameStatusDescription
editorText Editor🟢Lightweight notepad
calendarCalendar Pro🟢Event and schedule planner
calculatorCalculator🟢Scientific math processor
zipArchArchive Pro🟢ZIP/7Z/TAR compression tool
clipboardClip Master🟢Clipboard history manager
remindersTask List🔵Hierarchical Todo manager
notesSticky Notes🔵Quick desktop post-its
contactsContacts🔵Unified address book
emailEmail Client🔵Multi-protocol IMAP/SMTP
sheetNova Sheets🔵High-perf spreadsheet engine
slidesNova Slides🔵Cinematic presentation tool
wordsNova Docs🔵Rich-text document processor
kanbanNova Flow🔵Project management board
timerPomodoro🔵Productivity focus timer
expenseWallet🔵Personal finance tracker
clockWorld Clock🔵Global time and alarm hub
weatherNova Forecast🔵Dynamic weather visualization
translateTranslator🔵100+ language neural translation
mindmapMind Studio🔵Brainstorming node map
journalDiary🔵Private encrypted journal
pdfViewerPDF Studio🔵PDF reader and annotator
syncDriveCloud Drive🔵Google/Dropbox VFS sync
passwordVault🔵Encrypted password manager
timeTrackPunch Clock🔵Freelance time tracking
whiteboardSketch Pad🔵Virtual brainstorming board
mapViewGlobal Maps🔵Interactive 3D globe
fitnessWorkout Pro🔵Health and exercise logger
meditateZen Mode🔵Guided focus and meditation
crmNova CRM🟡Customer relationship manager
erpNova ERP🟡Resource planning suite
collabTeam View🟡Real-time doc collaboration

🎨 Creative & Media

App IDNameStatusDescription
galleryImage Studio🟢High-res image gallery
imageViewerPhoto Viewer🟢Minimalist image reader
musicPlayerMusic Studio🟢Audio player & visualizer
videoPlayerMovie Theater🟢4K video playback engine
audioRecorderVoice Studio🟢Waveform audio recorder
cameraCamera Pro🟢Snapshots & video capture
snapshotQuick Cap🟢Instant desktop screenshot
screenRecScreen Rec🟢HD screen recording utility
photoEditorPixel Studio🔵Layer-based image editor
drawVector Pro🔵SVG and vector designer
audioEditNova Wave🔵DAW and sound designer
iconMakerIcon Gen🔵Favicon and app icon tool
colorPickerColor Lab🔵Advanced palette generator
spectrumAudio Viz🔵Full-screen music visualizer
drumPadBeat Maker🔵Step sequencer and sampler
synthNova Synth🔵Polyphonic virtual synth
spriteEditSprite Lab🔵Pixel art and sprite tool
mapEditorWorld Build🔵Tiled map and level editor
videoEditNova Cut🟡Multi-track video editor
animationMotion Pro🟡2D animation and rigging
3dModelerNova 3D🟡Low-poly modeling suite
fontStudioFont Creator🟡Custom font design engine
djStudioNova Mix🟡Virtual DJ deck and mixer
gameDevGame Maker🟡No-code game logic builder

🌐 Internet & Communication

App IDNameStatusDescription
browserNova Browser🟢Security-first web browser
cloudCloud Drive🟢Unified storage manager
downloaderFetch Pro🟢Multi-threaded downloader
messagingNova Chat🔵Unified IM (Discord/Slack)
videoChatNova Meet🔵WebRTC video conferencing
socialSocial Hub🔵Social media aggregator
newsNews Wire🔵Global breaking news feed
torrentNova Seed🔵VFS-based torrent client
walletCrypto Hub🔵Multi-chain crypto wallet
adBlockGuard Pro🔵System-wide ad & tracker blocker
bookmarksLinks Hub🔵Cross-app bookmark manager
vpnNova Tunnel🟡Built-in VPN interface

🧠 AI & Neural Interface

App IDNameStatusDescription
novaNova AI🟢Central system assistant
novaChatAI Chat🟢Interactive LLM interface
novaSuggestSmart Suggest🟢OS-wide predictive typing
novaDocAI Document🔵AI-driven document analysis
novaCodeCopilot🔵AI code completion engine
novaGenImage Gen🔵Stable Diffusion integration
novaVisionOCR Pro🔵AI image text extraction
novaTransAI Translate🔵Real-time speech translation
novaSummarSummarizer🔵Instant webpage/file summary
novaVoiceVoice AI🟡Neural TTS and STT engine
novaDataData Analyst🟡Automated data processing

🎮 Gaming & Entertainment

App IDNameStatusDescription
emulatorRetro Hub🔵NES/SNES/GBA emulator
chessGrandmaster🔵AI-powered chess engine
minesweeperMines🔵Classic logic puzzle
solitaireSolitaire🔵Classic card game
arcadeNexus Arcade🔵Browser-based indie games
sudokuSudoku Pro🔵Logic-based number puzzle
crosswordPuzzles🔵Daily crossword challenges
novaQuestNova RPG🟡Original terminal-based RPG
streamerNova Play🟡Cloud gaming interface

App Registry Statistics

Total Registered ░░░░░░░░░░░░░░░░░░░░ 428
Core System Apps ░░░░░░░░░░░░░░░░░░░░ 42
Productivity ░░░░░░░░░░░░░░░░░░░░ 115
Development ░░░░░░░░░░░░░░░░░░░░ 88
Media & Creative ░░░░░░░░░░░░░░░░░░░░ 94
AI & Neural ░░░░░░░░░░░░░░░░░░░░ 32
Miscellaneous ░░░░░░░░░░░░░░░░░░░░ 57

⌨️ Global Hotkeys & Shell Reference

Global System Shortcuts

ShortcutActionDescription
Ctrl + SpaceSpotlightUniversal search for apps, files, and AI
Ctrl + TabMission ControlBird's-eye view of all active windows
Ctrl + LLock ScreenInstant session suspension; apps keep running
Ctrl + QLogoutTerminates all processes and clears session
Ctrl + TTerminalSpawns a new Terminal instance
Ctrl + NNotificationsToggles the global notification sidebar
Ctrl + Shift + PPower HubAccess Lock / Logout / Reboot from anywhere
Ctrl + Shift + NNew FolderCreates a folder in the active desktop context
Alt + TabCycle FocusJump between the last two active windows
F5Safe RefreshSoft-reboots the OS, preserves authentication
EscGlobal CloseDismisses active overlays or focuses Desktop

The novash Command Suite

File Management

CommandDescription
ls [path]List directory contents
cd [path]Change working directory
cat [file]Output file contents to terminal
mkdir [-p] [name]Create directory (with parents)
touch [name]Create an empty file
rm [-rf] [path]Remove file or directory
cp [-rv] [src] [dest]Copy files or directories
mv [src] [dest]Move or rename a node
grep [-inv] [pattern] [file]Search for a pattern in a file
chmod [mode] [file]Change file permission bits
chown [owner] [file]Change file ownership

System Control

CommandDescription
psList all active processes
kill [pid]Terminate a process by PID
topReal-time kernel task dashboard
uptimeShow time since last boot
whoamiPrint current user identity
dfShow VFS disk space usage
clearClear terminal output buffer
helpList all available commands

Nova AI Interface

CommandDescription
nova ask "[query]"Get a quick AI answer
nova chatStart an interactive AI session
nova analyze [file]Deep AI analysis of a specific file
nova statusCheck neural engine connectivity

Advanced Command Flags

ls-a (hidden files) · -l (long format) · -h (human-readable sizes) · -R (recursive) · -S (sort by size) · -t (sort by time)

rm-f (force, no confirmation) · -r (recursive) · -v (verbose output)

cp-r (recursive) · -v (verbose) · -p (preserve permissions & timestamps)

grep-i (ignore case) · -v (invert match) · -n (show line numbers)


🔐 Security, Identity & Authentication

NovOS implements a multi-layer security model inspired by real UNIX systems.

Multi-User Environment

  • Root vs User — Only users in the root group can modify system files in /etc/ or bundles in /usr/apps/.
  • Identity Persistence — Each user's desktop and filesystem are fully isolated.
  • POSIX Permissions — Every VFS node carries a drwxr-xr-x-style permission string with owner/group assignment.

Default Credentials

Note: The following credentials are purely mock values for demo UI testing:

UserPasswordRole
operatoradminRoot / System Administrator
guest(none)Standard User

Authentication Flow

[ Login Screen ] → [ Credential Hash Check ] → [ Session Hydration ]
↑ | |
| [ Auth Failure ] [ Desktop Init ]
└──────────────────────┘

🛠️ Core Developer Documentation

Project Structure

/
├── index.html # Boot entry point
├── favicon.svg
├── icons.svg
└── assets/ # Frontend UI build assets (JS/CSS)

API Reference (window.kernel)

Filesystem Subsystem

constfs=window.kernel.fs;// Write a fileawaitfs.writeFile('/home/operator/hello.txt','Hello NovOS');// Read a fileconstcontent=awaitfs.readFile('/home/operator/hello.txt');// Check if a node existsconstexists=awaitfs.exists('/home/operator/hello.txt');// List a directoryconstentries=awaitfs.readDir('/home/operator/Documents');// Remove a nodeawaitfs.remove('/home/operator/hello.txt');

Process Subsystem

constpm=window.kernel.process;// Launch an applicationconstpid=pm.launch('terminal',{cwd: '/etc'});// List all running processesconstprocs=pm.list();// Terminate a processpm.terminate(pid);

Event Bus

constbus=window.kernel.events;// Subscribe to a kernel eventbus.on('fs:ready',()=>console.log('VFS is online'));// Emit a custom eventbus.emit('app:custom-event',{data: 'payload'});

Adding a New App

  1. Create your component in assets/components/apps/MyApp.js.
  2. Register the app in appRegistry.js:
myApp: {title: 'My App',icon: 'rocket',category: 'Utilities',w: 600,h: 400,permissions: []}
  1. Add a launcher to the dock or desktop in osStore.js.
  2. Ensure the component responds to Esc for window close.
  3. Use --glass-material and --accent-cyan tokens for styling.

🎨 Aether Token System

All custom apps must use these CSS variables, defined globally on :root.

Surface Tokens

:root {
--bg-primary:#050509; /* Main window background */--glass-material:rgba(255,255,255,0.05); /* Translucent surfaces */--glass-stroke:rgba(255,255,255,0.08); /* Window border */--glass-shadow:08px32pxrgba(0,0,0,0.6); /* Window depth */--blur-radius:24px; /* Standard glassmorphic blur */
}

Typography Tokens

:root {
--font-main:'Inter Variable', sans-serif;
--font-mono:'JetBrains Mono', monospace;
--text-heading:rgba(255,255,255,0.95);
--text-body:rgba(255,255,255,0.65);
--text-muted:rgba(255,255,255,0.35);
}

Color & Interaction Tokens

:root {
--accent-cyan:#00d4ff; /* Primary accent */--accent-purple:#bd00ff; /* Secondary accent */--hover-glow:radial-gradient(circle,rgba(0,212,255,0.15), transparent 70%);
--active-scale:0.98; /* Tap feedback */
}

/etc/theme.css (Runtime Override)

:root {
--accent-color:#00d4ff;
--blur-radius:24px;
--glass-opacity:0.1;
--font-family:'JetBrains Mono', monospace;
}

🚀 Roadmap & Future Vistas

✅ v1.3.0-PRO (Current)

  • POSIX VFS backed by IndexedDB with full persistence
  • 40+ pre-installed apps, 400+ in the Nexus Store
  • Multi-workspace support (up to 10 virtual desktops)
  • Nova AI with file context and shell command generation
  • Cinematic Aether glassmorphic design system
  • Multi-user identity with POSIX-style permissions
  • Lock screen, session lifecycle, and recovery mode

🔜 v2.0 (Planned)

  • Native File System Access — Sync local machine folders with NovOS
  • Extension API — Load third-party .nova bundles dynamically
  • Multiplayer Mode — Collaborate on the same VFS via WebRTC
  • Mobile Deck — Specialized tablet/mobile UI layout

🔭 v3.0 (Vision)

  • NovaVM — Lightweight in-browser virtual machine
  • NovaDocker — Full app containerization manager
  • Neural Link — Direct brain-inspired visual interface simulation
  • CI/CD Pipeline — Full build automation and testing suite

🕰️ Changelog

v1.3.0-PRO (April 2026)

  • New: Advanced session lifecycle (Lock Screen, Session Rehydration)
  • New: Mission Control window overview with non-overlapping layout
  • New: Nova AI v2.4.1 with VFS-aware path resolution
  • Security: Cryptographic bundle verification for all system apps
  • Performance: VFS transaction batching optimized by 40%
  • UI: Aether Design System v2 — improved motion physics

v1.2.0

  • Implemented cryptographic bundle verification
  • Added "Mission Control" window overview mode
  • Nova now supports multi-file context analysis

v1.1.0

  • Introduced Virtual File System (VFS) with IndexedDB persistence
  • Dynamic glassmorphism and theme engine
  • Released Code Editor with Monaco + syntax highlighting

v1.0.0

  • Initial Release: Core kernel and basic window manager

❓ Troubleshooting & FAQ

Q: How do I perform a full factory reset?
Open the Terminal and run rm -rf /, then refresh the page. This wipes the virtual disk and triggers the default VFS re-population script.

Q: Why do my apps close on page refresh?
By design — NovOS only persists your filesystem and identity across refreshes. Active processes are volatile and cleared to ensure a clean kernel environment.

Q: Is my data safe if I clear my browser cache?
No. NovOS stores everything in IndexedDB. A "Clear Site Data" action will wipe your virtual disk. Use File Manager → Export to back up important files to your local machine.

Q: An app window is running but invisible (off-screen)?
Open Mission Control (Ctrl + Tab), locate the window preview, and click it to re-center.

Q: Terminal says "command not found" for basic commands?
Your PATH variable is unset. Run /bin/ls using the absolute path to verify the binary exists, then repair your .bashrc.

Q: Login screen reappears after the correct password?
Clear browser cookies and ensure "Third-party storage" is allowed in your browser's site settings.

Q: My VFS is slow or behaving strangely?
Open DevTools → Application → IndexedDB → novos-vfs-db → Delete Database. Then refresh.


📚 System Glossary

TermDefinition
AetherThe proprietary glassmorphic design system used across all NovOS interfaces
BundleA cryptographically signed package containing app logic, metadata, and security tokens
DaemonA background process (e.g., novad) that handles system-level tasks
Fuzzy SearchApproximate string-matching algorithm powering the Spotlight overlay
GlassmorphismVisual style using semi-transparent surfaces with high-blur backdrops
HALHardware Abstraction Layer — bridges kernel requests to browser APIs
KernelThe master logic controller of NovOS, running as a JS singleton
Mission ControlOverlay mode providing a bird's-eye view of all open windows
PIDProcess Identifier — unique integer assigned to every active window or service
POSIXPortable Operating System Interface — the standard NovOS follows for its VFS
RehydrationLoading saved state from IndexedDB into memory at boot time
VFSVirtual File System — an IndexedDB-backed abstraction layer simulating a real disk
WorkspaceA virtual desktop container that holds a specific set of windows

📑 Contribution Guidelines

We welcome all visionary developers to help build the future of the browser-based OS.

  1. Fork the repo and create a feature branch.
  2. Glass-First Design — Every UI element must respect Aether transparency and blur tokens.
  3. Persistence Integrity — Never perform a VFS action without proper IndexedDB error handling.
  4. Event-Driven Logic — Prefer the Kernel Event Bus over direct component communication.
  5. Cinematic Motion — All transitions must use spring-based physics (no linear easing).
  6. No Placeholders — Never use Lorem Ipsum or placeholder images in PRs.
  7. Testing — Ensure your app works across all workspaces and responds to Esc for close.
  8. Documentation — Every PR must include an update to var/log/development.log.
  9. Security — Never expose raw password hashes in logs or terminal output.
  10. Respect — Honor the vision of a unified, cinematic browser-based experience.

📋 Bugs → Report on GitHub Issues
💡 Features → Propose in the Discord community
🎨 Art → Submit wallpapers for the default gallery
📦 Extensions → Develop .nova bundles and share them


📜 License & Credits

NovOS is open-source software released under the MIT License.

ContributionSource
Lead DeveloperTcode-Motion
IconsFluent Emoji by Microsoft & Lucide React
TypographyInter Variable by RSMS
UI EngineReact + Vite
AnimationsFramer Motion

🔥 Project📖 Description
🌌 NovOSA cinematic web OS — POSIX VFS, Nova AI, Aether Design
🐉 TechScriptA programming language — Native Rust VM + web builder
🧠 Project JARVISPersonal AI assistant built in Python
🎨 3D VisualsWebGL particle systems + Three.js experiences
🤖 AR KeyboardHand-gesture virtual keyboard with OpenCV + MediaPipe

GitHubYouTubeLive Demo


"The screen is not a wall — it is a window into a deeper reality."
NovOS v1.3.0-PRO "Aether" · Released April 2026 · Built with 🌌 by Tcode-Motion


👤 Author & License

  • Author:Tcode-Motion
  • License: Distributed under the MIT License. See LICENSE for details.

About

web-os operating-system react vite glassmorphism indexeddb posix ai browser javascript

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages