···33Please meet Peek, a web user agent application designed for using the web where, when and how you want it.
4455** WARNING**
66-* Peek is not a web browser! There are no tabs, and no windows in the browser sense of them. If that's what you're looking for, there are a few decent browsers for you to choose from.
66+* Peek is not a web browser! Yet! And likely never will be a browser as you would expect from browsers to date. There are no tabs, and no windows in the tabbed-browser-like sense of them. If that's what you're looking for, there are a few decent browsers for you to choose from.
77* Peek is not safe for general use yet! It is a crude proof of concept I whipped up while on vacation. While I have thoughts on security model and user interface, I have not written it up into a proper security model yet.
8899<img width="969" alt="CleanShot 2023-04-03 at 18 50 22@2x" src="https://user-images.githubusercontent.com/50103/229501558-7084d66e-962a-4c0f-a10e-11787ef3ce68.png">
···12121313You can use Peek in three ways, with more coming:
14141515-* Peeks - Keyboard activated modal chromeless web pages mapped to `Opt+0-9`
1616-* Slides - Gesture activated modal chromeless web pages which slide in from left/right/bottom/top
1515+* Peeks - Keyboard activated modal chromeless web pages
1616+* Slides - Keyboard or gesture activated modal chromeless web pages which slide in from any screen edges
1717* Scripts - Scripts periodically executed against a web page in the background which extract data and notify on changes
18181919### Peeks
···59596060### Usage
61616262-* `cmd/ctl+Escape` to open settings
6363-* `opt+0-9` to open Peeks
6262+* `cmd/ctl+Escape` or launch app to open settings
6363+* Configure Peeks/Slides/Scripts in settings
6464+* `Opt+0-9` to open Peeks
6565+* `Opt+←→↑↓` to open Slides
64666567## Mobile
6668···70727173* Going full crypto payments for distributed compute on this one.
72747373-## Future
7575+## Roadmap
7676+7777+Next
7878+* Modularize feature types, eyeing the extensibility model
7979+* Basic command bar to open pages
8080+* Basic history store
74817575-* GCLI - not just a command bar, but like the Ubiquity extension
7676-* Lossless personal encrypted archive of web history
8282+After that
8383+* Extension model
8484+* Ubiquity-like
8585+* Panorama-like
8686+8787+Further
7788* Implement the Firefox "awesomebar" scoring and search algorithm so that Peek *learns* you
7889* Extension model designed for web user agent user interface experimentation
7979-* Panorama
9090+* Infinite lossless personal encrypted archive of web history
80918192## Development
8293···8495yarn install
8596yarn start
8697```
9898+9999+## Resources
100100+101101+Agregore ext protocol impl
102102+* where all are registered: https://github.com/AgregoreWeb/agregore-browser/blob/master/app/protocols/index.js#L74
103103+* how convert the fetch APIs to be compatible with the streaming protocol handler API in electron: https://github.com/AgregoreWeb/agregore-browser/blob/master/app/protocols/fetch-to-handler.js
104104+* where register IPFS: https://github.com/AgregoreWeb/agregore-browser/blob/electron-23/app/protocols/ipfs-protocol.js
105105+106106+Browsers
107107+* Min browser architecture - https://github.com/minbrowser/min/wiki/Architecture
108108+* Dot browser https://www.dothq.org/en-US
109109+110110+Misc
111111+* https://github.com/Rajaniraiyn/awesome-electron-browsers
112112+* https://github.com/mawie81/electron-window-state
113113+* https://antonfisher.com/posts/2020/12/27/how-to-animate-native-electron-window/
114114+* https://stackoverflow.com/questions/44818508/how-do-i-move-a-frameless-window-in-electron-without-using-webkit-app-region
8711588116## History
89117