Markup's data-centric human-readable approach offers a unique opportunity for us to build systems that are more than the usual automation. We haven't taken advantage of that power, however. Why? Because we've stayed on the in
2. DISCLAIMER
• O’Reilly Media, Inc. bears no responsibility for the
content of this presentation. This presentation in
no way reflects the official views of O’Reilly Media,
Inc. No other O’Reilly employees were involved in
its creation. It exclusively represents the individual
perspective of Simon St.Laurent.
• I am extremely lucky to have an employer that
allows these kinds of wanderings. You should find
one too, if you don’t have one already.
9. We Are Complicit – I Am Complicit
Electronic Frontier Foundation VersionPhoto by laughingsquid
10. WHAT HAS GOTHIC TO DO
WITH MARKUP?
Nice pictures, but…
Codex Argenteus, the Bible in Gothic. Photo by
Benutzer Signue, Wikimedia Commons
11. Ruskin & The Nature of Gothic
• The Stones of Venice (1851-3): a book on
architecture – evolves into a polemic about social
organization and craft.
Ca D’Oro, Venice. Photo by Kenton Forshee
14. William Morris
• “it is possible for man to
rejoice in his work, for,
strange as it may seem to us
to-day, there have been times
when he did rejoice in it…
unless man's work once again
becomes a pleasure to him,
the token of which change
will be that beauty is once
again a natural and necessary
accompaniment of productive
labour, all but the worthless
must toil in pain, and
therefore live in pain”
The Nature of Gothic, Kelmscott Press Edition (1892).
15. Christopher Alexander
• A Pattern Language (1977), not Design
Patterns (1994).
• Architect who wants to re-architect and re-orient
architecture.
16. System-A and System-B
• Iterative
• Drawings after
• Includes builders and
clients at all stages
• Continuous development
from large features to
small, unknown at start
• Meets budgets by dropping
features as necessary
• Cost control through
customization
• Planned (and corrections)
• Drawings before
• Hierarchy of designer to
contractors to customers
• All features included in
original plan, possibly with
options
• Meets budgets by dropping
quality or halting
• Cost control through
standardization
17. Depth, Not Quantity
• “The architect-builder... has greater powers but
more limited domain. Any one architect builder
may control no more than twenty houses at a
time, but he will take full responsibility for their
design and construction, and he will work far
more intensely with the individual families, and
with the individual details of their houses. Thus,
in this model of construction, both design and
construction are decentralized....”
The Production of Houses (1985) , 76-7
18. BUT WHAT HAS THIS TO DO
WITH MARKUP?
You didn’t answer the question!
19. Markup as Architecture
In virtual world, markup:
• Creates spaces in which we can talk
• Builds structures in which we can work
• Lays out marketplaces in which we shop
• Offers a canvas on which to decorate
• Assembles structures into larger groups
20. XML as Industrialized Data
• Automate as much as possible.
• Prioritize predictability.
• Versioning means remodeling the factory.
• Standards about industrial collaboration.
• Human involvement driven to minimum.
• Contains anarchy by treating it
as allowed but exceptional.
Photo by Urban Garden
22. We Fear That Work Is This
Ford Madox Brown, Work
23. Asynchronicity Works This Way
John Everett Millais, Christ in the House of His Parents (The Carpenter's Shop)
24. Data Transformation Flows
• Changefulness shifts state.
• Transformations traditionally
more forgiving than validators.
• XSLT as classic XML model,
functional programming
broader.
• Differentiate internal and
external structures.
• “Data Pachinko”
Pachinko machine photo by limetom.
25. Douglas Crockford: JSON and
Functional Programming
• JSON extracts existing syntax from JavaScript
– no invention.
• Crockford reorients developers toward functional
JavaScript approaches.
• Practice avoids schemas, uses transformations
from simple to massive.
• “Don’t be evil” license.
Photo by niallkennedy
26. Human Transformers
• Reading as a transformation from “what you gave
me” to “what I want to understand”, not just
“taking in what is there”.
• Document creation as an especially flexible
transformation.
• Even automated transformation tools should often
be simpler even than “classic” XSLT 1.0, letting
humans specify direction. CSS selectors a classic
enabling tech, but should be more interfaces.
29. Roger Costello: Fine-Grained Validation
• “how to validate - in an automated fashion - each
item of an XML document and make validation
decisions on a per-item basis rather than a per-
document basis. The items to be validated may be as
fine-grain or as course-grain as desired: the item may
be a single element (or even just the text within a
leaf element) or the item may be an element
composed of many descendent elements. Validation
may be done from the outside in (the root element
to the leaf nodes) or the inside out (the leaf nodes to
the root element).” (7/2013)
30. Waterfall, Agile, Lean
• Waterfall: Know problem, figure out solution,
implement.
• Agile: Know problem, iterate over solutions.
• Lean: Figure out problem, test solutions.
Minimum Viable Product (MVP)
• “Test solutions” makes it easy to put people into
a system at least at the outset, for “concierge
options” that make a lot more sense for testing
than complete build out.
31. The Importance of Wheedling
• “When a programmer instructs a computer to
reject, or disregard, all input longer than 64
characters, she effectively makes it impossible for
a bureaucrat – however sympathetic – to
accommodate a name that’s longer than she’s
imagined names might be. With a human
bureaucrat, there was always the possibility of
wheedling an exception; machines don’t
wheedle.”
Cory Doctorow, 7/2013. http://boingboing.net/2013/08/05/podcast-teaching-computers.html
33. Emphasize Markup
• Markup as direct access to data.
• Programming languages shift back –
transformations critical but not necessarily
required.
• Declarative annotations offer tremendous power
for presentation, hyperlinking, commentary, and
more.
34. The Promised Land
Ford Madox Brown, An English Autumn Afternoon, Hampstead – Scenery in 1853
35. The Journey: Setting Out
Tapestry designed by Sir Edward Coley Burne-Jones, William Morris, and John Henry Dearle,
The Arming and Departure of the Knights of the Round Table on the Quest for the Holy Grail