Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

85
1 Future Interface: Mike Amundsen Principal API Architect @mamund What 50+ years of modern computing history may tell us about the future.

description

The age of modern computing is now dates back than half a century. What key accomplishments in the field over these past decades have notably shaped computing today? And what trends and practices today are likely to have an affect on the future of computing? In this lively presentation, Mike Amundsen - author, presenter, and software architect - highlights key trends in the past fifty years; drawing from diverse sources including physical architecture, industrial design, the psychology of perception, and cross-cultural mono-myth that helped to shape both the art and business of computing today and discusses current social and technological trends that may have a hand in shaping the future of computing. He asks attendees to consider what the future of computing will look like and what business and individuals can do today to prepare for, and influence, computing's future. Amundsen, whose latest book "Building Hypermedia APIs with HTML5 and Node" has been called "[O]ne of the biggest conceptual advances since Roy Fielding first defined the REST architectural style" will focus on the role APIs can play and how hypermedia and other non-linear, collaborative models can influence the way humans and machines communicate in a future "programmable civilization."

Transcript of Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

Page 1: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

1

Future Interface:

Mike Amundsen

Principal API Architect

@mamund

What 50+ years of

modern computing history

may tell us about

the future.

Page 2: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

2

Mike Amundsen

Architect, Developer, Presenter

Hypermedia Junkie

Principal API Architect for Layer 7

“Help people build great APIs for the Web”

Personal Mission

“Improve the quality and usability of information on the Web.”

Page 3: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

3

What concepts and ideas have

influenced systems computing?

Page 4: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

4

How have these ideas affected the

way we think of the Web today?

Page 5: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

5

What does this tell us about a

possible future?

Page 6: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

6

There is much we can learn from our history…

If we choose.

Page 7: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

7

EARLY CONCEPTS

Page 8: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

8

Vannevar Bush

Memex, 1945

Key project leader on the Manhattan Project to build the first nuclear

bomb.

“ A memex …is an enlarged intimate supplement to … memory.”

“With one item in its grasp, [the mind] snaps instantly to the next that is

suggested by the association of thoughts, in accordance with some

intricate web of trails carried by the cells of the brain.”

Page 9: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

9

Vannevar Bush - Memex

Page 10: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

10

Vannevar Bush - Memex

Page 11: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

11

Vannevar Bush - memex

Page 12: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

12

Vannevar Bush - memex

Mimic human linking using a machine

Page 13: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

13

Ted Nelson

Hypertext, 1963

Identified and popularized early “cyber-culture” in 1979 book “Computer

Lib/Machine Dreams”

“If computers are the wave of the future, displays are the surfboards.”

Page 14: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

14

Ted Nelson - Hypertext

Page 15: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

15

Ted Nelson - Hypertext

Page 16: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

16

Ted Nelson - Hypertext

Describe how linking works in a network

Page 17: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

17

Douglas Engelbart

Computer mouse, 1965

Key to creating the ARPANET while at Stanford Research, Institue (SRI).

“Augmenting Human Intellect”, 1962

“[A] new and systematic approach to improving the intellectual effectiveness of

the individual human being … One of the tools that shows the greatest

immediate promise is the computer.”

Page 18: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

18

Douglas Engelbart - computer mouse

Page 19: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

19

Douglas Engelbart - computer mouse

Page 20: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

20

Douglas Engelbart - computer mouse

Page 21: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

21

Douglas Engelbart - computer mouse

Build the hardware that makes

the linked network possible

Page 22: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

22

Early Concepts

Bush (1945)

Mimic human linking using a machine

Nelson (1963)

Describe how linking works in a network

Engelbart (1965)

Build the hardware that makes the linked network possible

Page 23: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

23

AFFECTED SYSTEMS

Page 24: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

24

Christopher Alexander

The Timeless Way of Building, 1979

Father of the “patterns” movement

“Complexity is one of the great problems in … design”

“There is one timeless way of building. It is a thousand years old, and the same

today as it has ever been. The great traditional buildings of the past, the villages

and tents and temples in which man feels at home, have always been made by

people who were very close to the center of this way.”

Page 25: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

25

Christopher Alexander - Patterns

Page 26: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

26

Christopher Alexander - Patterns

Page 27: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

27

Christopher Alexander - Patterns

Identify patterns for thinking and acting

Page 28: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

28

Donald Norman

The Design of Everyday Things, 1988

Action Lifecycle, Seven Stages of Action

“In the world” and “In the head”

“Simplification is as much in the mind as it is in the device.”

“Design is really an act of communication.”

Page 29: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

29

Donald Norman - HCI

Page 30: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

30

Donald Norman - HCI

Page 31: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

31

Donald Norman - HCI

Page 32: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

32

Donald Norman - HCI

Identify the cycle we all use for interaction

Page 33: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

33

Roy T. Fielding

Architectural Styles and the

Design of Network-based Software Architectures, 2000

Created “REST”

Key in the startup and operation of the “Apache Foundation”

Representations and Hypermedia

“A resource is not the thing that is transferred across the wire or picked up off the

disk or seen from afar while walking your dog. Each of those is only a representation.

Do I think of a different identifier every time I see my dog, or do I simply think of my

dog as one identity and experience many representations of that identity over time

(and on into memory and imagination)?

Page 34: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

34

Roy T. Fielding - REST

Page 35: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

35

Roy T. Fielding - REST

Page 36: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

36

Roy T. Fielding - REST

Page 37: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

37

Codify a model for creating new systems

based on patterns and interactions

Roy T. Fielding - REST

Page 38: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

38

Affected Systems

Christopher Alexander (1979)

Identify patterns for thinking and acting

Donald Norman (1988)

Identify the cycle we all use for interaction

Roy T. Fielding (2000)

Codify a model for creating new systems based on patterns and

interactions

Page 39: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

39

FUTURES

Page 40: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

40

Git/Github

Launched in 2008

A web-based hosting service for software development projects that use

the Git revision control system.

“Bad programmers worry about the code. Good programmers worry about data

structures and their relationships.” – Linus Torvalds

Page 41: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

41

Git/Github – social coding

Page 42: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

42

Git/Github – social coding

Page 43: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

43

Git/Github – social coding

Page 44: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

44

Git/Github – social coding

Page 45: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

45

Enable collaborative interaction at distances

(of time and space)

Git/Github

Page 46: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

46

Ryan Dahl

Node.js, 2009

Makes network latency “a feature”

“Node.js [is] perfect for data-intensive real-time applications that run across

distributed devices.” – Ryan Dahl

It is more like C than it is like Python, and that is by design.” – Isaac Schlueter

Page 47: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

47

Ryan Dahl – Node.js

Page 48: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

48

Ryan Dahl – Node.js

Page 49: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

49

Ryan Dahl – Node.js

Page 50: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

50

Ryan Dahl – Node.js

Page 51: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

51

Ryan Dahl – Node.js

Page 52: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

52

Embrace latency as a feature in networks

Ryan Dahl – Node.js

Page 53: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

53

Rich Hickey

Clojure 2007, Datomic, 2010

“Code is data”

“The past doesn’t change”

“Clojure is a functional language that explicitly supports programs as models and

provides robust and easy-to-use facilities for managing identity and state in a single

process in the face of concurrency.”

“ We need to move away from a notion of state as ‘the content of this memory block’

to one of ‘the value currently associated with this identity’”

Page 54: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

54

Rich Hickey - Datomic

Page 55: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

55

Rich Hickey - Datomic

Page 56: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

56

Rich Hickey - Datomic

Page 57: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

57

Recognize that all data is immutable,

we just have lots of copies w/ shared identity

Rich Hickey - Datomic

Page 58: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

58

Eric Schweikardt

Cubelets, 2012

PhD in Architecture at Carnegie Mellon University

“Unlike contemporary robots in which a single “brain” controls the entire robot, robots

formed with [Cubelets] are made up of individual parts that have different functions,

yet work in unison to form the entire model.”

“People have a hard time thinking about complex problems.”

Page 59: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

59

Eric Schweikardt - Cubelets

Page 60: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

60

Eric Schweikardt - Cubelets

Page 61: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

61

Eric Schweikardt - Cubelets

Page 62: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

62

Eric Schweikardt - Cubelets

Page 63: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

63

Eric Schweikardt - Cubelets

Page 64: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

64

Design systems to enable

emergent behaviors

Eric Schweikardt - Cubelets

Page 65: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

65

Futures

Ryan Dahl

Embrace latency as a feature in networks

Rich Hickey

Recognize that all data is immutable, we just have lots of copies with shared identity.

Eric Schweikardt

Design systems to enable emergent behaviors

Page 66: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

66

CHOICES

Page 67: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

67

Choices

What does the future hold?

Page 68: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

68

Imperative vs. declarative

Page 69: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

69

Centralized vs. distributed

Page 70: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

70

Bigger/”smarter” vs. Smaller/”dumber”

Page 71: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

71

Controlled vs. Collaborative

Page 72: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

72

ONE POSSIBLE FUTURE

Page 73: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

73

One possible future

What I would like to see…

Page 74: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

74

One possible future

The type of system I’d like to use…

Page 75: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

75

One possible future

The kind I want to help build…

Page 76: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

76

One possible future

That future would be…

Page 77: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

77

One possible future

Systems composed of many small independent units…

Page 78: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

78

One possible future

Each unit based on timeless patterns…

Page 79: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

79

One possible future

Able to bridge the gulf of execution and evaluation…

Page 80: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

80

One possible future

All widely distributed…

Page 81: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

81

One possible future

Capable of operating as a collective

Page 82: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

82

One possible future

In order to augment human intellect.

Page 83: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

83

However…

There is no single possible future…

Page 84: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

84

There is no single possible future…

The choice is ours.

Page 85: Future Interface : What the last 50+ Years of Modern Computing History May Tell us About the Future.

85

Future Interface:

Mike Amundsen

Principal API Architect

@mamund

What 50+ years of

modern computing history

may tell us about

the future.