···991010<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">
11111212+## Design
1313+1414+Many user tasks on the web are either transient, chained or persistent, data oriented, or some mix of those. The document-oriented web does not meet those needs. Major browser vendors can't meet those needs well, for many reasons.
1515+1616+* transient
1717+* chained
1818+* persistent
1919+* data oriented
2020+2121+About this space:
2222+* Embrace the app-ness aspect of the web platform, less about the document-ness
2323+* Javascript is ok here
2424+* Decouple html+js+css from http+dns+ssl - not entirely, but that trust+security model is not a required starting point
2525+1226## Features
13271414-You can use Peek in three ways, with more coming:
2828+You can use Peek in a few ways, with more coming:
15291630* Peeks - Keyboard activated modal chromeless web pages
1731* Slides - Keyboard or gesture activated modal chromeless web pages which slide in from any screen edges
1832* Scripts - Scripts periodically executed against a web page in the background which extract data and notify on changes
3333+3434+In progress:
3535+* Commands
3636+* Groups
19372038### Peeks
2139···9311194112## Roadmap
951139696-Next
114114+Core moduluarization
97115* ✅ Modularize feature types, eyeing the extensibility model
9898-* Settings Cleanup
9999- * ✅ move settings window to features/settings
100100-* App cleanup
101101- * ✅ main window vs settings
102102- * ✅ change settings shortcut from global+esc to app+comma
103103-* Features cleanup
104104- * make features enable/disable-able
105105- * enable/disable individual frozen items - slides, peeks
106106- * enable/disable individual non-frozen items - scripts
107107- * re-enable label previews, eg "Peek {key} - {address}"
108108-* Window lifecycle
109109- * ✅modularize window open/close + hidden/visible
110110- * ✅update settings, peeks, slides, scripts
111111- * hide/show window vs create fresh
112112- * modularize window close/hide/show across all windows
113113- * update slides / animation
114114- * isolate web loading code, have features load content that way instead of raw BrowserWindow
115115-* ✅ Basic command bar to open pages
116116-* Basic history store
116116+* ✅ move settings window to features/settings
117117+118118+App cleanup
119119+* ✅ main window vs settings
120120+* ✅ change settings shortcut from global+esc to opt+comma
121121+122122+Window lifecycle
123123+* ✅modularize window open/close + hidden/visible
124124+* ✅update settings, peeks, slides, scripts
125125+* hide/show window vs create fresh
126126+* modularize window close/hide/show across all windows
127127+* move animation to main, and update slides impl to use it
128128+* window settings persistence
129129+130130+Core/Basic
131131+* ✅ basic command bar to open pages
132132+* schema migration
133133+* basic history storage
134134+* app updates
135135+* don't blow away and re-init everything on any change
136136+* fix setting layout wrapping issue
137137+* enable/disable individual slides, peeks
138138+* enable/disable individual scripts
139139+140140+-> mvp
141141+142142+-------
143143+144144+Features cleanup
145145+* enable/disable whole features
117146* move feature list and enablement to storage
118118-* configurable default feature to open on app open
147147+* re-enable label previews, eg "Peek {key} - {address}"
148148+* configurable default feature to load on app open
149149+150150+Web Platform
151151+* need a web loader that's not full BrowserWindow?
152152+* sandboxing
153153+* blocklist
119154120155After that
121156* Extension model?
···158193159194## History
160195196196+In working on Firefox and related things at Mozilla from 2006 - 2019, there were a few specific initiatives which best aligned with my needs as a user on the web:
197197+198198+* The Awesomebar: infinite history + personalized local search index
199199+* Ubiquity: Natural language commands + chaining
200200+* Jetpack: The Mozilla Labs version - web-platfrom-centric extensibility
201201+* Panorama: née TabCandy, web pages as groups instead of tabs in windows
202202+203203+A few others which were in the right direction but didn't achieve their optimal form:
204204+205205+* Greasemonkey
206206+* Microsummaries
207207+* Contacts extension
208208+209209+The first version of the Peek application has some bits of each of these, and the original Peek browser extension.
210210+211211+### Peek browser extension
212212+161213Peek was a browser extension that let you quickly peek at your favorite web pages without breaking your flow - loading pages mapped to keyboard shortcuts into a modal window with no controls, closable via the `Escape` key.
162214163163-However, as browser extension APIs become increasingly limited, it was not possible to create a decent user experience and I abandoned it. You can access the extension in this repo [in the extension directory](/autonome/peek/extension/).
215215+However, as browser extension APIs became increasingly limited, it was not possible to create a decent user experience and I abandoned it. You can access the extension in this repo [in the extension directory](/autonome/peek/extension/).
164216165217The only way to create the ideal user experience for a web user agent that *Does What I Want* is to make it a browser-ish application, and that's what Peek is now.
166218219219+220220+221221+## Testcase: Authoring Flows
222222+223223+* author web content
224224+* pull in bits from the web
225225+* share preview for feedback
226226+* publish (or at least get output)
227227+228228+writing the recap of the web track at ipfs thing 2023
229229+230230+- make a new markdown doc
231231+- sections titled for each video title
232232+- each video's embode code in each section
233233+- navigate around the document for review and updates
234234+- need to easily preview rendered content
235235+- share preview link
236236+- publish somewhere