Below is the raw transcript of my talk.


Welcome, it’s a great honor for me to be here this year. This is the first chance I’ve had to do the Mediterranean event. I’ve been looking forward to it very much. This is me, this is how you can find me on GitHub and Twitter and LinkedIn, and lots of other places. And I would love to hear from you. So please friend me or whatever the thing is, and I’d like that to hear more from you. I’ll just say that I work in a group called the API Academy through CA Technologies. It’s a really fantastic group of people scattered around the globe. Our job is to help people build great API’s. So all the things that we do, these events and everything else, is all a way for us to learn more and to actually learn from you, and pass that on.

A current project I’m working on right now is actually writing a book on client site hypermedia. I’m not going to say a lot about it, but the it’s sort of the departure for me. It has a great deal of coding, and I’ve been writing code every single day for the last four months. I keep writing and writing, and rewriting and changing and editing, and writing and learning from so many other people that I share my code with. If you’re interested, you can follow these tags and it’s something that will come up later in the year.

Chapter 1

But today, I don’t want to talk about code. I want to talk about words, I want to talk about stories. So much of our lives, so many centuries, really what we’ve learned is through stories, through myths, through storytelling. And what I’d like to do today is to just simply talk about stories. In particular, I have this one idea in mind that I want to take you on an adventure. I want to tell you a story, the story is about a person who isn’t really satisfied with the way things are today, always looking for something better. There might be something greater on the next horizon. What could that possibly be? And they’re willing to risk a great deal in order to find out what that is.

So the story is, I hope, about you. You live in this peaceful little village called Stacia where everything works out great. Everyone works hard, there’s time just to enjoy life with friends and family. But the problem is, it’s always kind of basically the same. There are new things to do but the tools, the techniques, the basic ideas, they’re always the same all the time, and this sort of bothers you. You think something’s missing.

In fact, in this village there is the story about this magical city called Hyperion, where machines talk to each other, and things change every single day. Now most people in the village think that that’s a myth, and it’s not even worth spending time on. But this is something that bothers you. You think that there could be something better, something out there.

So you decide that you were going to go find this magical city. And that means that you have to pack up everything you have and take it with you and leave the comfort of this village and go into this forest that’s called the Great Expanse of Time and Space. It’s kind of strange name for it, but people tell you it’s a very mysterious forest. They [say it] actually change[s] its shape, change[s] its size. Just when you think you’re at the end of it, it grows even larger. And there’s supposed to be all sort of magical creatures as well. You gather an every tool you have, some food and your clothes, you pack it all on your back and, you go out to the edge in the city.

And there’s a man who has a small little stall — he motions you over. And he says, "You’re about to go on a very dangerous journey and I have some essential things for you." And he hands you two things. A box, a small box, and it has a drawing very elaborate drawing of a smoking pipe on it and some strange lettering that you don’t understand. And then he hands you this pile of yellowed maps and he says, "You’ll need these." You try to pay him, he says, "No, no, no, that’s okay, you’ll need these. Besides, you’ll be back." So fine, you take all the maps and you put them in your pack, and you take the box into your arm, and you go to the edge of the city. You turn your back on the village and you walk into the forest.

And it turns out, it is actually a very, very dangerous forest. It’s confusing, there’s trees and branches and rocks, and it’s easy to fall, and it’s easy to get lost. You spend on this time walking, you’re not even sure, everything looks the same. You think you’re lost. Then you realize the old man gave you some maps. So you reach into your pack, you pull out these maps and they’re little odd. They say things to the top of them like, "Go to the stream." [or] "Find the big tree." There’s other strange names and you look at these maps and turns out they’re not maps at all. They’re very elaborate instructions. So you pick the one like, you know, "Find the big tree" and that says, "Face north and walke three thousand steps exactly. Turn 15 degrees right and walk 500 steps…" Over and over there are pages and pages of these. These aren’t maps at all. They’re instructions, they’re step-by-step instructions, and they’re incredibly hard to follow. In fact, you’re not even sure if you’re doing the right things. And you finally get to where you’re supposed to be, at the big tree, and there’s nothing but an old rotten log.

So these maps are not only difficult, but they’re probably out-of-date. Things have changed since somebody wrote all these instructions. It’s very frustrating. You spend the rest of the day just kind of slashing through the woods. And you come to a clearing where there’s a stream, and you decide to sit down and relax. And when you get to the stream and sit down, you notice there’s a small little gecko running around and he is doing a little bit over here and little bit over there. And he looks at you and he says, "It’s gonna be dark soon, you better get started." He goes off again and he does little bit more work, and you sort of strike up a conversation with Gibby. That’s his name — this little gecko — and Gibby tells you, what he’s doing is the same thing he does every day. He finds a place to hide in case there’s a predator. He finds a place to [put] his food, somewhere to sleep, and a place for a sunning spot in the morning. He does it every day, over and over again, but every day it’s a little bit different. Tomorrow there might be a log in front of his favorite hiding place, so he has to find a new hiding place. And he does this over and over.

He says, "You better get started, it will be dark soon." You say, "Well, actually it’s pretty good idea." You gather up some food and you find a place to sleep, and you sit down and you relax, and the two you finally get towards the end of the evening. You have your dinner, and you notice that the things that you found, like the amount of food is different than his. You need more food. Your hiding place has to be much bigger than his. You sort of mention this to Gibby and Gibby laughs and says, "Yeah, all the seekers say that on the first day. What I need, what affords me hiding is different than what affords you hiding. We all have different affordances." And you’re like, "What is that word? What are you saying?" Gibby says, "Well, if I explained it to you, it would take all the fun out of it, wouldn’t it?" He goes off to sleep. Before you sleep you pull out that box the old man gave you. You look at it, you turn it upside down. There are no handles. There’s no hinges. You don’t know how to open it, it’s worthless. You put it back in your pack and you go to sleep.

Interlude : James Gibson

James Gibson in 1986 writes a book called, "The Ecological Approach to Visual Perception." And in it he coins the word affordance. In fact, he’d created the word in 1984 in a paper. And this book sorts of explains his idea. His idea is that, the world around us has features that allows us to survive and thrive. And in his theory, there are visual perception that helps us find the things they will makes us successful. This is how creatures survive in an ecosystem. They find their niche, they find their affordances that allows them to survive. So he creates this notion, and I love this quote, "The affordance is a quality an object or an environment, which allows an individual to perform an action." This is what we do every day. This chair afford sitting. This microphone affords that you can hear me. We have all these affordances around us every single day.

Chapter 2

And in the morning you wake up and you start to look over your maps, deciding how you going to deal with tomorrow. And Gibby looks at the maps and he laughs at you, and he says, "These aren’t maps. The maps are not the territory. These are worthless." You tell him, "Yes I know they’re worthless, but it’s all I have." You pack up the maps, he laughs at you, and he heads off and he starts doing the same thing he was doing yesterday, finding a place to hide, a place to sleep some food and some sun. And you walk off into the forest again.

Now this time, as you walk into the forest, you start to think about things, "This stuff is too complicated." You decide to start just looking ahead. You find the landmark and then you go to that landmark. And you figure out how you’re gonna get there; a step around the rock, over a stream. It’s okay. You go landmark to landmark, and it’s getting a little bit easier. In fact, the day goes pretty well. Towards the end of the day you come to another clearing where there’s a big pot on a fire and a large workshop. And there’s somebody in the workshop banging away and laughing, and it turns out, you look inside. It’s this chimp, and her name is Deena.

Deena is banging at a workshop on a table and then grabs another tool and runs to another table and does this over and over again. Finally, she notices you and she says, "Come on in, grab a tool get started." You say, "Well, I don’t really know what you’re doing here." And she says, "Doing? I’m using tools!" Then she throws you something that looks like a combination between a wrench and a saw, it’s kind of odd, but pretty. "Well, Okay, what the heck."

So you start sawing or twisting or turning, and actually it starts to get kind of fun. And you start to join in. And you go from table to table, and just pick up whatever tool is there, and you start using it. And what you don’t notice is Deena has now gone outside and she’s tending the stew. There’s this beautiful smell that comes into the room. You go out and she’s ladling up a bowl, and the two of you sit down in the evening, and you have the stew. And Deena says, "You like my workshop, don’t you?" You say, "Yeah, actually I really do. I didn’t really realize how enjoyable these tools could be." And it turns out that Deena is a master toolmaker. She designs tools for jobs and she says, "It’s very difficult to find just the right design for a tool to do both the job and be enjoyable. But it’s my life’s work, it’s what I do." And you think well actually a pretty good idea.

So you sit down and you talk about these things and she says, "You know, actually all these tools afford me all sorts of possibilities. I have a rich set of affordances." And again, you hear that word again. You ask her, "What is this affordances?" She says, "Don’t worry you’ll find out." And just before you go to sleep, you go pull that box out again and start playing around with it and Deena looks at you like she knows what’s going on. And she just smiles and turns over and goes to sleep. Now this time when you’re sleeping, you have a dream. And the dream involves both Deena and Gibby in the workshop. Gibby keeps running around and he keeps yelling something about ["chains of causation" and the "non-linear now"] and it’s very confusing, and it goes over and over again.

Finally, you wake up in the morning and already Deena is working in the shop. You greet her and you sort of explain to her about the dream, and she stops. And she says, "Really? You’ve already had that dream? Well, maybe you’re ready for the next challenge." She takes you out of the workshop. Behind the workshop there’s a long stonewall in both directions as far as the eye can see. She says. "It’s been here as long as I know and I’ve been here a long time." Then she says, "It’s been even longer since any of the seekers actually made it through the door." And you notice there’s a door with the letter P on it. Apparently the last seeker didn’t make it through the door because there’s a skeleton holding on to the doorknob.

So she says, "Go ahead. Go ahead. What you’re looking for is on the other side of the door." And she hops up into a tree. And you look at the door, and you think about it. You push away the skeleton and you grab the handle and you pull at it, nothing happens. You pull at it, you pull at it, and it’s still not working. You look, there are hinges, there’s a light, there’s no nails. This is a real door. And Deena’s just sort of laughing the whole time. And you’re just really sitting and frustrated. Until finally, you decide to grab the handle and push.

The door opens right up and Deena laughs and she claps her hands, she says, "What a crazy affordance!" And she runs off. You look and it turns out that the forest looks really inviting on the other side of this doorway. So you decide, you gather up all your things, and you walk through the door.

Interlude : Donald Norman

Donald Norman in 1988 writes a book called "The Design of Everyday Things." That’s two years, by the way, after Gibson’s book. And there’s a reason for that, because Norman and Gibson had worked together. Norman takes the idea of Gibson’s affordance and he expands on it. He says there are things that we have, not just in the world, but also in our head. Expectations about how things should work, how a tool should work, what it should work like, what the buttons do. These things are important to us and he says designing great things is matching expectation with the external world. He becomes the father of human computer interaction. He talks about the seven stages of action and the action life cycle, becomes very important when we write bots because bots have to go through this process of the seven stages of actions as well. I love this quote from him, "The value of a well-designed object is when it has such a rich set of affordances that people who use it could do things that the designer never imagined." Think about that, designers can’t even imagine what’s possible with the things that they build. It’s really important for us to build things in such a way that we do not limit the possibilities of our users to discover new things.

Chapter 3

So you walk through the door into the forest, and today the forest actually looks very inviting. It’s almost like home. You don’t worry about maps, you don’t even hardly worry about the landmarks, and you just walk along and it’s a beautiful place. It’s actually very comfortable, It’s not dangerous at all. You’re enjoying yourself and you decide to sit down at a big tall tree. You look up and the very top of the tree there’s an owl sitting at a desk writing frantically on some papers. On the desk, it says "Professor Artie" on it. He keeps writing, keeps writing and then he looks down and he says, "Hey young fellow, what you doing there? I guess you must have gotten past Deena’s doorway? Yes, you have. Oh, that’s very, very good." And you look up and he keeps writing.

"What are you doing?" He says, "What am I doing? I’m turning data into information. I’m making data usable. I have to represent it properly." And he keeps writing and keeps writing and keeps wringing. It looks like he’s been doing this forever. The trees are full papers. And finally, it dawns on you, "Oh, information, that’s right! Excuse me, by the way, can you tell me where the city of Hyperion is?" And he says, "Oh yes, yes, yes." And he looks to his papers and he throws one down to you. And he comes down and he says, "Yes, all the information is right there." And it looks like garbage to you, you can’t see anything. He says, "No, no, no, look, look inside, look inside the data." And after a while you notice there are some patterns. And you notice, there are a couple of very important commands. It says, "Reach Fence, Enter Code, Toggle Gate." And as you say this aloud, Artie gets really excited, "Yes! Yes! You found the affordances inside the information, that’s excellent. Go. It’s right down the hill." And you take off, and you go running.

Interlude : Roy T. Fielding.

Roy Fielding, in 2001, is trying to get out of college. He writes his PhD dissertation on network architecture. It turns out he talks about two things very, very important. He talks about representing the state of the system and using hypermedia to change that state to something else. These are actually very novel ideas. Now — even 15 light years later — very few of us actually build business systems that follow his ideas. He talks about state and not objects, about transferring the state of the system. I love this quote, he says in his dissertation "Information becomes the affordance to which the user obtains choices and selects action." The information, suddenly — to Fielding — is the set of affordances, is the space. So all these things start to add up, start to come together.

Chapter 4

You run down the hill and you see the city, off in the distance, you find a gateway. There’s a gateway that asks you to type in some letters, it’s three letters. You don’t really know what you’re gonna do, and finally you remember what Deena said and you say something about the "nonlinear now", N-O-W. And you type it in and the gate opens up. You get into the city and there are people in cars, bustling everywhere, and suddenly somebody yells out, "We have a seeker!" Every one grabs you and starts greeting you and saying, "Oh, I’m so glad you’re here, it’s been so long," so and so forth. And "You’re wanted immediately in the control center!" You don’t even know what that means, but they hustle you through two big wide metal doors into a room where there’s a whole bunch of people typing furiously away at computers. There’s a leader who keeps barking orders about do this and do that, turn this on and turn those off. Finally, he notices you, he’s the Master Command of Protocol. It says "MCP" right on the top of his head. And he says, "Oh, come here. We’ve been waiting for you."

He takes you over to a station and says, "Sit there." "I don’t know to do," you say. "No, no sit, the seekers are always nervous at first. Go ahead sit down." And he pushes the chair on your feet and you sort of end up right at the terminal. And you notice it says, all these files, it says things like, "Go to the store" and "Find the stream" and "Find the big tree." And you realize,"Oh," you say out loud, "The map is not the territory."

And all of a sudden, all sorts of screens start to change and things start to organize into a different sorts of set of symbols. Everyone’s impressed. That’s really great that the programmers are really happy. The machines seem to be working a little bit better now. But then somebody yells out, "Now the machines are asking us to do things we never heard of before! What are we going do?" And you’re kind of at a loss and the MCP looks at you and he’s waiting for something. And so you just say, "Create new affordances? Give them new tools?" And everybody’s really excited again. And all the symbols start to connect to each other and things start to work smoothly in operate really well.

And then finally someone says, "But there’s too much data. There’s too much data. What are we going to do?" And the only thing you have to say is, "The information is the affordance." And all of a sudden everything brightens up, and everything calms down, and everyone claps, and you’re the big hero of the room. And you have no idea what you’ve done. The MCP picks you up, takes you outside, and everyone pat you on the back and says, "You’ve done a fantastic job!" And you walk outside to a much quieter street.

Interlude : Alfred Korzybski

I will throw an extra person here, Alfred Korzybski, a Polish-born U.S. immigrant, who in 1933 writes a book called "Science and Sanity." This is the period between the wars, very optimistic. A lot of things about what Einstein was telling us and how the world is gonna be a better place, this is before we have World War II, of course. The idea here is that — what Korzybski talks about — is our language, our symbols, are actually the thing that causes to view the world. He says, "The only possible link between the objective world and the linguistic world is structure." Structure of our language, our abstractions. [They] actually decide what we see, not the other way around. Change your abstractions, you will see different things. This works for programming as well. Programming is structure. Change the structure and you’ll see different things. It’s a very, very huge book that I find quite entertaining.

Chapter 5

All right, so the MCP says, "So you know, usually seekers stay here but I can certainly get the sense that you’re going to leave soon." You say, "Yeah, I think I need to go back home. This has been great, but I need to leave." And you say goodbye to everyone. You start heading back. And this time when you go to the forest, the forest seems very, very easy. In fact, it seems even smaller, somehow. You can’t understand why it looked so big before. And you come upon Artie, the owl, up in the tree. And Artie says, "So did you make it?" You say, "Yes" and you tell him about all your adventures. And he says,"Well then I helped you, didn’t I? Say, Maybe you have a gift for me." Then you think, "Sure!" and you pull out that box that you could never figure out. You toss it up to Artie and he says, "Oh, excellent!" And he looks at and he says, "Cece nes pa une pipe." And you say, "What?" "Well, that’s what the lettering says." "Really? I knew that thing was worthless. What does that mean?" [And Artie tells you, "This is not a pipe." And you tell him, "Well, fine, you can have it." And Artie turns over the box where he finds this little hidden spot. Pops on it, the lid opens up. There’s a beautiful pipe with some sweet tobacco in it. He lights it and he says, "Thanks, kid." You say, "Okay, fine." And you go on because you’re not really done for the day.

You walk to the woods a little bit more and then you come to Deena in the evening and she’s already got food for you. She’s already been cooking. She’s been waiting for you. She’s happy to see you. You tell her about all the adventures you have and you decide while you’re talking to her, all those tools that you’ve been carrying all this time? You give all those tools to Deena. You never used a single one of them. You never needed them. And she’s just amazed. She says, "Oh, thank you. I have such rich set of affordances now. Thank you very, very much." And you have your meal, you say goodbye, and you keep walking because there is one more place that you need to go before you go home.

You go through the woods and you find Gibby and Gibby is doing the same thing the Gibby always does. He’s running from place to place to place. You say, "Hi" and he says, "Did you make it?" You say, "Yes." He says, "Did you actually use the maps?" You say, "No, actually I haven’t used the maps at all. Here you can have them if you want." He says, "This is great. I can use these to line the cave at night when it’s wet and I can hide under them, and I can wrap my food in them. All these different things I could do with these papers." You say, "Yup, it’s all yours."

Chapter 6

And you walk on and really it doesn’t take long at all for you to get back to the city. People are actually very surprised to see you. They didn’t think you’re ever coming back. While you think you’ve been gone only a few days, they say it’s been several years. Apparently that Great Expanse of Time and Space is a good name for the forest. And you tell them all the things. They say, "So what did you bring back?" And you say, "Well, actually, I gave everything away." "Huh, right. Okay. So where did you go?" You tell all them all that stuff. It turns out they don’t really believe you. They don’t think you’ve been anywhere. And it really turns out that most people think that you just imagine most of these things, most to these things that you’ve learned.

So it turns out that many of the things that we learn are difficult to teach others, are difficult to get others to come to believe unless the experience it themselves. We have so many opportunities to create the kind of web that we want to see, the kind of web where things can work the way we would like them to work, but most of all, it has to do with changing what we’re looking for rather than what we’re looking at.

And this is a real challenge in our field, especially for those of us who spend so much time in what we think is sort of the hard realities of things. But words and stories and ideas are not hard realities. They’re always pliable things. The most amazing thing is — as you tell everyone in the pub about how great your journey was and they all smile and laugh at you — every once well you can see in the eyes of some of the people that they too are thinking about taking a journey. That they’re thinking about doing their own trip and it turns out that this is not the end of this story but only the beginning. And the beginning for all of us to become seekers and find ways to create a great information society with the computers and the technology that we have.

And that’s what I have. Thank you very much.


Moderator: Let’s give a round of applause to the slides.

Mike: I will point out that this slides were actually designed by my daughter who is a comic artist in Louisville, Kentucky and she did a fantastic job. So I thank her very much.

Moderator: So we have time for questioning if Russ is ready. Yeah, your setup. Okay, okay, good. We have time for few questions. Just before, who already knew about her behavior Hypermedia APIs before? So, let’s say 25 percent. So Mike, you said you’ve been there, so you said in the story the guy has been there and nobody believes him.

Mike: That’s right.

Moderator: Have you been there?

Mike: I think so. I’ve been to few places and I have many more to go. I know, I honestly, very often I find when I sort of talk about the things that I’m working on people don’t believe that. They think it’s a myth, they think it’s a goofy idea, but I think many of us experience that. One of the quote attributed to Einstein is "if people think your idea is good it has no chance, if people think your idea is way crazy you have a slight chance." So very often we have to serve embrace those things where people think we’re a bit odd because that actually maybe the stuff that’s very interesting.

Moderator: One question here.

Man: I really like the analogies here and I think is it seems to me also related to if you’re trying to teach a class of kids for an exam, one way to do it is teaching them all the facts, like every single one that you can possibly think of, that they have to remember. Another one is to kind of teach them how to think for themselves in a given situation. That second thing is often quite harder to do than the first and we end up doing the first a lot. So in your story, how do you get the people that are in the city that don’t believe to start to learn how to do that second thing?

Mike: The comment is that, very often teaching facts is not always the best way to learn. Teaching how things are connected and then how to discover the thing for yourself, and how does that happen. Actually that’s the next chapter in the story. Next chapters the story is, how you take all that experience in turn it into something that you can share with other people. And I’ll give you a little spoiler alert. It’s through telling stories. So getting people to tell their stories and telling your stories in getting them to connect. Maybe I’ll do that other talk someday.

Moderator: May be for 30 second or one minute for the people didn’t know Hypermedia before how would you wrap it into, just a small explanation about the about what it brings.

Mike: In the idea of hypermedia, the response you get contains the answers to your next question. It tells you what you can possibly do next, how do I know when I get a when I get adjacent payload, what’s readable and what’s writable and what’s searchable and what’s not and what’s related what’s not. In HTML we do every day, we had links in forms. But in all the other forms we don’t, we actually take away all of that power, and we just give them plain data, where you can’t find the things to do next. So you have to know ahead of time what to do. You’re sitting with the pile instructions that is code and you’re hoping that those instructions will be good for ever and that the tree doesn’t die, that things don’t move, a rock doesn’t fall in the way. That’s the problem with writing code without affordance, without Hypermedia. Hypermedia is the affordance that lets you start to look around and find things to do.

Moderator: The best explanation from the best we can do it, right? So thank you Mike. Thank you very much.

Mike: Oh, we’ve one more.

Moderator: One more. Sorry.

Man: In your story you were talking about a door that had some confusion as to whether you push or pull it. I’m working a lot with push systems, I’d like to know your opinion about the how rest my evolved in a world when information are increasingly pushed?

Mike: Well, the questions about push system versus pull systems, or request response versus sort of the subscribe then broadcast, right? If you look at what Roy wrote about, Roy’s dissertation is really about creating an architectural style that matches your problem. And he gives one example in rest and then everybody uses it rather than actually creating a style that matches their problem. A person who I think has done a fantastic work in push systems is Rohit Khare K-H-A-R-E. He talks a lot about this and Roy talks about push systems as well. There are great deal of power and you can use just as much Hypermedia in a push system than you do in a request response system. It wouldn’t be called rest, because Roy makes this design which says the first rule is that it has to be client server. But it could definitely be an extremely powerful valuable service. I work in push systems all the time, there’s lots of things where it makes no sense to wait around. You kind of get information right away and you can use just as much Hypermedia as you like whether it’s XMPP or WebSockets or lots of other systems. We can talk about that stuff. I’ll be here all day.

Man: Yup. Thank you very much, Mike.

Mike: Thank you very much. Thank you.