-
Notifications
You must be signed in to change notification settings - Fork 0
Deep Linking
DosKit supports loading specific applications directly via URL parameters, making it easy to share links to specific DOS applications.
https://doskit.net/?app=secondreality
https://doskit.net/?app=impulsetracker
The app parameter specifies which DOS application to load automatically.
URLs automatically update when you select an app, making it easy to share:
- Select an application in DosKit
- Copy the URL from your browser's address bar
- Share the link with others
- They'll see the same application when they open the link
Save direct links to your favorite DOS applications:
- Bookmark
?app=secondrealityto quickly access Second Reality - Bookmark
?app=impulsetrackerto jump straight to Impulse Tracker - Create a collection of bookmarks for different applications
The back and forward buttons work correctly:
- Click back to return to the previous application
- Click forward to go to the next application
- Browser history is preserved
Page refreshes maintain the loaded application:
- Refresh the page and the same app stays loaded
- No need to re-select the application
- State is preserved across refreshes
Invalid app IDs show helpful error messages:
- If the app ID doesn't exist, you'll see a clear error
- The app selector will open automatically
- You can choose a different application
https://doskit.net/?app=<app-id>
Where <app-id> is the unique identifier for the DOS application.
Current applications:
-
secondreality- Second Reality (1993 demo by Future Crew) -
impulsetracker- Impulse Tracker (1995 music tracker)
You can also set the app programmatically:
import { setAppFromUrl, getAppFromUrl } from './utils/urlRouting';
// Get current app from URL
const appId = getAppFromUrl();
// Set app in URL
setAppFromUrl('secondreality');You can extend the URL routing to support additional parameters:
// Example: Add timestamp parameter
https://doskit.net/?app=secondreality&time=120Deep linking works seamlessly with:
- PWA installation - installed apps remember the last URL
- Offline mode - cached apps load from URL even offline
- Mobile devices - share links via mobile share sheet
- Use descriptive app IDs - Make them memorable and meaningful
- Validate app IDs - Check if the app exists before loading
- Handle errors gracefully - Show helpful messages for invalid IDs
- Update URL on app change - Keep URL in sync with current app
- Share specific apps - Use deep links instead of just the homepage
- Bookmark favorites - Save direct links to frequently used apps
- Check the URL - Verify the app ID is correct before sharing
- Check the app ID is spelled correctly
- Verify the app exists in the application registry
- Check browser console for errors
- Try loading the app manually first
- Check that URL routing is enabled
- Verify browser supports History API
- Check for JavaScript errors in console
Planned features for deep linking:
-
Timestamp support - Start at specific time:
?app=demo&time=120 - Save state links - Share links with saved state
- Configuration parameters - Pass DOSBox config via URL
- QR code generation - Generate QR codes for mobile sharing
- Usage - General usage guide
- Configuration - Configure DosKit
- PWA Features - Progressive Web App features
Made with ❤️ by Cameron Rye