Tomas Petricek, University of Kent
tomas@tomasp.net | @tomaspetricek
Origins of pop-up ads
Normal web design
Technical side
JavaScript first appeared in the Netscape Navigator browser in 1995
window.open and window.onunload exist from version 1
Social side
Geocities
Fairly well-documented creative online community of the 1990s
No more fun :-(
Popup blocking commonplace in
the early 2000s
Blocks popups on page load, unload and timer events, but not on click
Well, actually...
Same user experience, recreated using harder to block technique
Source code from my highschool years?
Other equivalent code from the web?
More general idea of an evil popup?
System change prevents it from working!
Environment determines if it is "bad"
1990sView source Copy & paste Windows work! |
2010sCompiled code Custom elements WASM + Canvas |
Google Docs
Replace built-in editable element with custom code (May 2021)
Better performance
Accessibility issues
Affects extensions
Atom vs Code
Mini-editor war
of the 2010s
Code enforces information hiding for performance, limits unexpected extensibility
JavaScript code
Browser element use
Program running in a system
Web page embedded in a browser
Smalltalk embedded in a host OS
Shallow embedding
Deep embedding
Popups from hell
Avoiding being understood by browser
Compilation to JavaScript
Use "better" programming languages
Replacing built-in features
Programmers think they can do better
Attractive puzzle solving activity!
Community may be too small to do it
Community culture may favour reuse
App Store may block doing this
Laws of software system evolution?
When is deep embedding inevitable?
Embedding and information hiding
Deep embedding hides information from system
Tomas Petricek, University of Kent
tomas@tomasp.net | @tomaspetricek