We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Next, the programmable web browser

00:00

Formal Metadata

Title
Next, the programmable web browser
Subtitle
How the architectural choices and the Lisp language make for an infinitely extensible web browser
Title of Series
Number of Parts
490
Author
License
CC Attribution 2.0 Belgium:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
While actual browsers expose their internals through an API and limit access to the host system, Next doesn't, allowing for infinite extensibility and inviting the users to program their web browser. On top of that, it doesn't tie itself to a particular platform (we currently provide bindings to WebKit and WebEngine) and allows for live code reloads, thanks to the Common Lisp language, about which we'll share our experience too. Next is a keyboard-oriented, extensible web browser designed for power users. While most (all?) current browsers expose their internals through an API, Next exposes its entire code to the user. Modern browsers limit access to the host system, and Next doesn't, allowing for a broad range of new features. Similar projects have failed due to being tied to a particular platform (Vimperator, Conkeror…), but Next's choice is to have its core written as an independent library, and to provide bindings to web engines (currently WebKit and WebEngine are supported). Next's magic touch is its live coding capability: we can develop a command from a REPL, compile the function and try the changes immediately, without restarting anything. Or just edit our init file and reload it into the current session. This flexbility comes for free thanks to the Common Lisp language, the experience with which we'd like to share too. Next is usable as of today. It features ad-blocking (only basic for now, contributions are welcome), multi-selection, bookmarks, session persistence, Emacs and Vim-like shortcuts, history seen as a tree, fuzzy completion everywhere, basic git-forking and file management interfaces… We are entering a new phase of development, with hopefully announcements that we can make public at the time of the conference :)
Formal languageAxiom of choiceArchitectureWeb browserWeb 2.0Web browserPerspective (visual)WritingComputer programmingMultitier architectureCuboidVolumenvisualisierungArchaeological field surveyKey (cryptography)Extension (kinesiology)Goodness of fitFormal languageProgramming languageFamilyUser interfacePrisoner's dilemmaBitComplex (psychology)Right angleFrustrationWorkstation <Musikinstrument>Graphical user interfaceGame controllerBlack boxDifferent (Kate Ryan album)Keyboard shortcutDecision theoryMereologyAbstractionMultilaterationComputer animation
Hill differential equationKey (cryptography)Uniform resource locatorFamilyAreaSimilarity (geometry)BitUltraviolet photoelectron spectroscopySource codeComputer animation
Inclusion mapElectronic data processingDefault (computer science)Link (knot theory)Key (cryptography)CASE <Informatik>Buffer solutionGoodness of fitWeb pageAddress spaceWeb browserFuzzy logicSheaf (mathematics)Multiplication signTable (information)Content (media)Rollback (data management)DialectRoboticsBit rateFamilyGroup actionInstance (computer science)Computer animationSource code
Inclusion mapBuffer solutionInstance (computer science)Ocean currentMultiplication signMereologyLine (geometry)Outline of industrial organizationRepetitionFormal languageFunctional (mathematics)Computer programmingObject (grammar)JSONComputer animation
Data bufferHill differential equationLine (geometry)WindowFunctional (mathematics)WebsiteWordSet (mathematics)Source codeComputer animation
Home pageInclusion mapBuffer solutionFunctional (mathematics)Source code
Home pageQuicksortMultiplication signPrisoner's dilemmaSource codeJSON
Home pageFunctional (mathematics)Loop (music)Electronic mailing listMatching (graph theory)Medical imagingWindowSource codeJSON
Content (media)Home pageTable (information)Hydraulic jumpKeyboard shortcutCodeWikiSource code
Home pageAbstractionForm (programming)Content (media)Default (computer science)Form (programming)Source codeJSONComputer animation
Open sourceOpen setSoftware developerSoftwareDiscrete element methodSource codeHome pageFunctional (mathematics)Instance (computer science)Web browserKeyboard shortcutHookingRight angleKey (cryptography)Computer animationSource codeJSON
Content (media)Home pageAbstractionLattice (order)Algebraic closureConvex hullEmulationInclusion mapCryptographyWeb browserDirectory servicePasswordData managementProjective planeWeb pageLocal ringType theoryBridging (networking)Repository (publishing)Line (geometry)Data storage deviceComplex (psychology)ExpressionWeightBit rateGoodness of fitMatching (graph theory)ArmMultiplication signGame theoryBookmark (World Wide Web)2 (number)Logic gateService (economics)Right angleSource codeComputer animation
Video trackingWeb browserComputer networkHill differential equationNetwork topologyBranch (computer science)BitLink (knot theory)Monster groupWebsiteLecture/ConferenceComputer animation
Data bufferLattice (order)WebsiteState of matterNetwork topologyFunctional (mathematics)Self-organizationText editorComputer animationSource codeLecture/Conference
Lattice (order)Functional (mathematics)Power (physics)CodeInformation retrievalProcess (computing)Dependent and independent variablesSource code
Lattice (order)MathematicsElectronic mailing listFormal languageWeb pageExtension (kinesiology)MeasurementLink (knot theory)Process (computing)2 (number)QuicksortInformation securityPoint (geometry)Data managementFreewareInheritance (object-oriented programming)Interface (computing)Medical imagingWeb browserINTEGRALComputer filePasswordWeb 2.0VolumenvisualisierungSource code
FacebookPoint cloudOpen sourceComputer animation
Transcript: English(auto-generated)