Live data from Hacker News

Alan Kay is still waiting for his dream to come true

fastcompany.com

191–200 of 297 posts

Re: Alan Kay is still waiting for his dream to come true

#191

Earlier quoted context omitted.

People often ask me "Is this a Dynabook, is that a Dynabook?". Only about 5% of the idea was in packaging (and there were 2 other different packages contemplated in 1968 besides the tablet idea -- the HMD idea from Ivan, and the ubiquitous idea from Nicholas). Almost all the thought I did was based on what had already been done in the ARPA community -- rendered as "services" -- and resculpted for the world of the chi…

> See what you think about what happens around 9:05 I saw two interesting things around 9:05. A 13 year old made an 'active essay' on the computer which contains not just text but also a dynamic interactive environment so the reader can follow along and even try out new ideas. This type of media is not prevalent today - essays written by 13 year olds today would be in Google/Word docs and contain only static text and…

My reason for drawing your attention to this section of the talk is to show some of the ideas (now 40-50 year old) were about "dynamic media" - of course live computing should be part of the combined media experience on a personal computer -- and of course you should be able to do what are now called "mash ups", but to be able to combine useful things easily and at will (it's crazy that this e.g. isn't even provided for maps in a general way on smartphones, tablets and PCs).

But the larger point here is that if one is dealing with dynamic objects as originally intended, the objects can help greatly and safely in coordinating them. This shouldn't be more difficult than what we do in combining ordinary materials in our physical world (it should be even simpler!).

In the system used for the demo -- Smalltalk-78 -- every thing in the system is a dynamic object -- there are no "date structures". This means in part that each object, besides doing its main purpose, can also provide useful help in using it, can include general protocols for "mashing up", etc.

We can do better today, but my whole point in the interview and in these comments is that once e.g. Engelbart showed us great ideas for personal computing, we should not adopt worse ideas (why would any reasonable people do this?), once dynamic media has been demonstrated in a comprehensive way, we should not go back to imitating static media in ways that preclude dynamic media (if you have dynamic media you can do static media but not vice versa!).

Going back and doing Engelbart or Parc also makes no sense, because we have vastly more computing resources today than 50 years ago. We need to go forward -- and -to think things through- ! -- about what computers are, what we are, and how to use the best of both in powerful combinations. This was Licklider's dream from 1960, and some of it was built. The dream is still central to our thinking today because it was so large and good to be always beckoning us ahead.

Re: Alan Kay is still waiting for his dream to come true

#192

Earlier quoted context omitted.

One perspective on this is to think about your definition of "civilization" and compare it with both "human universals" and what we know about the general lives of hunter-gatherers and the extent that we can use this to guess about the several hundred thousand years before agriculture. Many of the things on my list for "civilization" are not directly in our genes or traditional cultures: reading and writing, deductiv…

Thank you for the reply. I think you hit the nail on the head -- even though making the distinction between what people "want" and "deserve" is not very popular in the US (or where I live and anywhere else for that matter) at the moment (or even since the 70s or so). Despite all the self-improvement books and seminars and everything, the norm is that people should just be given what they want, and not anything harder…

It's not about "deserve" but about what people "need" to be part of a civilization and help sustain and grow it. We tend to lose sight of what is not happening right in front of us and take the larger surround as a given. (But it had to be created from scratch, and not just made but tended and sustained and grown. This is one of the main original reasons for having schools in the US: to help create enough sophistication so that thinking, arguing and voting can be done to make progress rather than just for individual gain.)

The simplest ways to think about all this is through the "Human Universals" ideas (more nicely put than "Lord of the Flies"!). Our natural tendencies via genetics and some remnants in our common sense culture is to be oral, social,tribal, act like hunter-gatherers, etc. (With reference to the last idea, consider the general behavior of businesses, of "shopping", etc.)

It's not about "creativity" per se -- this has been misunderstood. It's about helping children become part of the "large conversation" beyond just vocational training. (Consider adding becoming a citizen, responsibilities to growing the next generation (whether or not you have children), gathering and participating in "richness of life", etc.)

Re: Alan Kay is still waiting for his dream to come true

#193
post #190

Earlier quoted context omitted.

People often ask me "Is this a Dynabook, is that a Dynabook?". Only about 5% of the idea was in packaging (and there were 2 other different packages contemplated in 1968 besides the tablet idea -- the HMD idea from Ivan, and the ubiquitous idea from Nicholas). Almost all the thought I did was based on what had already been done in the ARPA community -- rendered as "services" -- and resculpted for the world of the chi…

9:05-12:30 I'm sold. A mindblowing vision for what the universality of computation can truly do... Thank you.

Actually, just what could be done 40 years ago. Much more can be (and should be) done today. That's the biggest point.

Re: Alan Kay is still waiting for his dream to come true

#194
post #113

Earlier quoted context omitted.

> and actually shows his vision through his own execution As Steve Jobs reportedly was fond of saying, "Great artists ship."

Among the shallowest of cheapjack Silicon Valley slogans. But certainly revealing of its ethos. In such a climate one could be forgiven for imagining that not everything has to be a commercial product to be used, appreciated, or valuable. What slovenly "artists" we had in the government oh so long ago, who never "shipped" the Internet.

What would the Internet be like today had it remained a government project?

Re: Alan Kay is still waiting for his dream to come true

#195
post #151

Earlier quoted context omitted.

Well, he could implement the Dynabook. Why should others do it for him? Sounds like a lot of hand-waving to me.

That's what he was trying to do at Xerox and Apple. Without the resources of a large company, the Dynabook will get Pyra levels of adoption and be quickly forgotten about. And no large company wants to take that kind of risk nowadays. Not when there's money to be made pushing "apps" and monetizing eyeballs.

AR / VR might be an interesting place for the ideas.

Re: Alan Kay is still waiting for his dream to come true

#196

Earlier quoted context omitted.

> See what you think about what happens around 9:05 I saw two interesting things around 9:05. A 13 year old made an 'active essay' on the computer which contains not just text but also a dynamic interactive environment so the reader can follow along and even try out new ideas. This type of media is not prevalent today - essays written by 13 year olds today would be in Google/Word docs and contain only static text and…

My reason for drawing your attention to this section of the talk is to show some of the ideas (now 40-50 year old) were about "dynamic media" - of course live computing should be part of the combined media experience on a personal computer -- and of course you should be able to do what are now called "mash ups", but to be able to combine useful things easily and at will (it's crazy that this e.g. isn't even provided…

Thank you for taking the time to respond, and I'd really appreciate if you can clarify my follow up below too!

> every thing in the system is a dynamic object -- there are no "date structures"

I'm still programming in data structures :/. I've seen many of your talks over the years and it took me quite a while to realize what you mean by objects (I think) is not just the textual specification (i.e. 'source code' in today's world), but rather a live, run-able thing that can be probed, inspected and made to do its thing, all by sending messages to it. In the Unix world this would be more akin to a long running server process, but with a much better unified, discover-able IPC mechanism (i.e. 'messaging'). The only thing that needs to be standardized here is the messaging mechanism itself. Larger processes would be constructed by just hooking up existing objects. Automatic persistence would mean these objects don't need to extract and store 'just data' outside themselves, etc.

This model blurs the distinction between what today we call 'programming' (writing large gobs of text), what we call 'operations' (configuring and deploying programs), and what we call 'using' (e.g. reviewing, organizing my photos). Instead, for every case, I would be doing the same kind of operation - i.e. inspecting and hooking up objects - but the objects I'm working with would be different, and the UI could be different. This makes programming more interactive ('let me see if this object can talk to that object by actually connecting them' vs. 'let me see if I can write a large blob of text that satisfies the compiler, by simulating the computer in my head').

The other thing I notice is you don't slice the computation the same way that is so common today. E.g. today I write source code (form #1 of computation), which runs through a compiler to produce an executable file (form #2 of the same computation), which is then executed and loaded in memory (form #3, because now it merges with the data from outside itself). Form #1 is checked in to source control, form #2 is bundled for distribution and form #3 is rather transient.

Instead, you're slicing computation on a different axis and all forms of the same computation are kept together - i.e. the specification, executable and runtime forms are one and the same 'object'. The decomposition happens by breaking down along functional boundaries. This means modification of the specification can happen anywhere I encounter one of these live objects, right then and there. I don't have to trace the computation to its 'source'.

So my main question is - am I on the right track here?

> Going back and doing Engelbart or Parc also makes no sense

I agree, but given the sad state of composition, even if we had some of those ideas today, it would seem like a step forward :) IMO, today we want to think of farms of computers as one large computer, and instead of programming in the small, we want to program all of them together.

Re: Alan Kay is still waiting for his dream to come true

#197
post #50

Earlier quoted context omitted.

I have a new alternative called Tree Notation: https://github.com/breck7/treenotation A sample from an HTML replacement: @html @body @div Hello world A sample from a CSS replacement: @a cursor pointer text-decoration none It is not HAML, though that was one of my first inspirations many years ago.

So Jade with an ‘@‘ symbol added?

I do like Jade, but my HTML ETN is not Jade either. The little tiny details have big downstream implications for parsing and static tools. My language has a pure Tree Notation grammar.

The benefit of that is tools written for an HTML ETN also work for a C ETN or a Swift ETN, and vice versa. So as we get more ETNs and more ETN tools, the network effects will be quite large.

Re: Alan Kay is still waiting for his dream to come true

#198

Earlier quoted context omitted.

I think the first step we can take toward "software artifacts" is modularization. If each piece of functionality is a discrete module, the entire platform suddenly becomes both malleable and stable. The best way to accomplish modularization is by using a functional design.

You seem to be describing the ideas underlying smalltalk, which uses the word 'objects' instead of 'discrete modules'. Every piece of functionality is an object - any object can talk to any other objects, etc. If you're proposing something different, can you contrast your ideas with smalltalk style OOP?

I think that currently the best example of modular code is Haskell.

Functions and Functors/Monads can be used to express the most elegant abstraction over data that I am aware of.

In Haskell, you can write a program that uses maps/folds/etc, your program is suddenly able to use any kind of Monad-derived data type.

Everything is discrete, since everything that isn't purely functional is wrapped in a Monad.

Re: Alan Kay is still waiting for his dream to come true

#199

Earlier quoted context omitted.

You seem to be describing the ideas underlying smalltalk, which uses the word 'objects' instead of 'discrete modules'. Every piece of functionality is an object - any object can talk to any other objects, etc. If you're proposing something different, can you contrast your ideas with smalltalk style OOP?

I think that currently the best example of modular code is Haskell. Functions and Functors/Monads can be used to express the most elegant abstraction over data that I am aware of. In Haskell, you can write a program that uses maps/folds/etc, your program is suddenly able to use any kind of Monad-derived data type. Everything is discrete, since everything that isn't purely functional is wrapped in a Monad.

> most elegant abstraction over data

This may be. We should also step back consider if building functional abstractions over data is a good way for modelling all of computation itself? Or something like 'smaller virtual computers all the way down' (i.e. smalltalk) is a better model? Decomposing a thing into the smaller things of the same kind seems cleaner from a certain perspective, at least.

In Haskell, higher level functions can be composed from other functions, which is very clean. But the state isn't inside the function (like it is for a real computer), so it doesn't model a computer completely in my mind - it models one aspect (the transformation).

Another perspective is thinking about building large scale systems and coupling of modules (how do you abstract over data from a third party library where you don't have the source code?). I kind of get smalltalk's answer here (an object scales up to become a distributable module), but I don't know if there is a good answer in a full Haskell based world.

(BTW, I'm not saying one is better, I'm still thinking these things through.)

Re: Alan Kay is still waiting for his dream to come true

#200

Let me try to help this community regarding this article by providing some context. First, you need to realize that in the more than 50 years of my career I have always waited to be asked: Every paper, talk, and interview has been invited, never solicited. But there is a body of results from these that do put forward my opinions. This article was a surprise, because the interview was a few years ago for a book the in…

> I am calling for the field to have a larger vision of civilization and how mass media and our tools contribute or detract from it

That would be nice. Unfortunately outside of Kay's rarefied circles, "the field" is close to being a Darwinian selection machine for the worst (most unimaginative, trivial, greedy, pusillanimous) traits. I've ducked in and out of various IT and development roles since the early 2000s. Nearly every one of the best people I've known in that time has left the field for others where they felt they could develop more of their broad humane selves. Some have retreated to academia, others moved altogether (nursing seems to be a theme, oddly). Those of the best that didn't leave, are embittered and cynical. For all the febrile contrepreneur-speak, the overall picture is pretty bleak.

Post reply on HN