I don't know Elon Musk personally, but I'm pretty sure he'd refer to Alan Kay as one of the giants on whose shoulders he and quite a few industries stand on.
Alan Kay is the one who said "The best way to predict the future is to invent it." He did so by inventing quite a bit of the technology that is in every PC and smartphone today.
Just today I read that VPRI fonc mailing list was shutting down because they shifted focus onto other area (communication design or something like that). A YC incubator thing IIRC.
> rather than the wheels for the mind that Steve Jobs envisioned.
Proper quote, for those confused:
"I read a study that measured the efficiency of locomotion for various species on the planet. The condor used the least energy to move a kilometer. Humans came in with a rather unimpressive showing about a third of the way down the list....That didn't look so good, but then someone at Scientific American had the insight to test the efficiency of locomotion for a man on a bicycle and a man on a bicycle blew the condor away. That's what a computer is to me: the computer is the most remarkable tool that we've ever come up with. It's the equivalent of a bicycle for our minds.”
I found it interesting that in an HN discussion about how to auto-update comments Alan Kay said, "How about a little model of time in a GUI?"[1] It ties into when he said of smartphone apps, "It's painful to see people using billions of devices that have forgot that undo is a good idea." [2]
It made me think about how things like Redux (or even just Google Drive revision history) where you can 'time travel' through state can be more important for UI than we realize sometimes.
I find it interesting that Google Docs also doeen't have branching undo. There is no way to revert a commit, you can only go back in time. And there is no blame.
I loved the article by the way. The future of writing should be version controlled Juniper notebooks. Next step for GitLab is to build a cloud IDE to bring that closer.
Toys vs tools. I want paying my electric bill to by trivial. If I'm doing real work, I want all the power software can give me.
I can forgive my retired grandmother for not getting copy and paste. A professional however, should constantly strive to improve their mastery of their tools.
Exactly. Toys vs. tools. Or, as AK put in the interview:
"Well, a saying I made up at PARC was, “Simple things should be simple, complex things should be possible.” They’ve got simple things being simple and they have complex things being impossible, so that’s wrong."
So what? It shouldn't be too difficult to implement three states of userspace and have it be selected upon login:
- Novice
- Advanced
- Expert
'Novice' gives you simple 'undo'. 'Advanced' gives you 'undo' with history. And 'Expert' gives you branching. For example... For file-managers this could be made so, that the novice gets something like the Finder or WindowsExplorer. Basically a file-browser, that handles its pane contents as a document. 'Advanced' gives you tabs, rearrangable layouts (dual-pane) and some more configuration. 'Expert' gives you fully configurable menus and toolbars, integrated with the hosts generic scripting host. Etc.
Implementing even one of those is hard, and costs tons of developer salaries, for what might ultimately fail anyway (like most software products/startups do).
Finder does have tabs, and further automation is available through scripting (AppleScript and Terminal).
Actually, both scripting and the commandline are effective ways of making you organize your program into nouns and verbs that can be extended by the user.
But I don’t think rearranging the basic UI is that useful, because all your users are basically the same - we’re all human and not Lisp programmers.
If everyone took the time to really learn and understand advanced undo/redo, I wonder how that would change our thinking? Might we find all kinds of new ways to apply it in the physical world?
Maybe the reason people find it hard now is just the limit of natural languages as they exist today. We haven't made time travel, alternative realities, and hypotheticals a part of our ordinary speech (beyond trivial cases), but maybe we should?
Don't you think that a good GUI and visualization of the situations and consequences would do the trick (i.e. think about what the GUI accomplished for interacting with computers at all).
I fear that too many technical people have no feel for the plight of the users (and amazingly to me, for their own plight as users -- they are often willing to put up with execrable BS in their own programming environments).
I certainly agree I can get by without it. It does seem like daily I will pull up the tree, though, to walk up and down the history to make sure I understand what the last thing I did was.
I've used vim + emacs's undo tree quite a bit. It's really nice to be able to make a bunch of explorative changes to the code base, undo them, make another set of changes and then use the undo tree to recover interesting bits from another branch.
If, like Alan Kay, you think we need a major overhaul in software construction and are in the San Francisco Bay Area, let me know. I'm part of a group that meets on Saturdays once a month and we work on side research projects toward that end. My email is in my profile.
If anyone in the Boston area is interested in whiteboarding high-skill software development environments in the context of 2018/2019 hardware, I'd be interested. So: continuous speech recognition; hand tracking, controllers, and haptic exoskeletons, but still keyboards; HMDs with 30+ px/deg, and eye tracking, but still screens.
Dynabook was a nice vision. As always, society executed poorly, and failed to realize much of the potential of its technologies. No doubt that will happen again with VR/AR. For example, there's a toxic cauldron of patents brewing. Screens and keyboards and mice, have had a good half-century run. And GUIs, and personal local hardware. But perhaps time to shift focus.
I don't understand - are you suggesting the only way to know you could have done something better, is to see someone else doing the same thing for comparison? That's certainly one way. Others include... all the ways you evaluate the execution of a company or project, when you don't have a direct competitor to compare it with, no?
Maybe you would agree with the statement "reality is broken"? I certainly don't think it's meaningful.
The unfortunate associations of wanting society to "execute better" (i.e. the merger of industry and the state found under fascism) just underline the fact that applying performance measurements to human life/social phenomena is misguided. We don't all agree on the purpose of life or the nature of happiness, nor should we.
It's clear from the interview that Kay thinks mobile computing isn't where it should be. But I haven't studied the DynaBook. Does anyone know exactly what Kay thinks is needed, in order to realize his dream?
I found a few such things in the article:
- more-discoverable undo
- some sort of AI-based virtual assistant
- a stylus and holder, and presumably input methods and applications that are better suited for that stylus
- something nebulous about having warning labels and being designed for the higher-order cognitive centers of our brains
I think he wanted more discoverable everything, the undo was just used as a particularly bad example on the iPhone.
He wants the world to be more discoverable, to modify our very culture so that learning is easy (an example he gave was with math, so it's not just a small, 'smart' percentage of the population who actually gets it, but everyone absorbs it from a young age).
actually I'd argue he understands the problem pretty well. He talks about needing to offer something SO compelling they cannot help but interface with it, in spite of their desire for things that do not push them.
I'm not sure if there's a problem at all. Learning how to do anything is much easier today than ever. Just type "how to do X" in google, and you will probably see a nice YouTube video, or a tutorial. If you get stuck, there are online forums with people willing to help for free, 24/7.
Has the number of people who want to learn decreased? If so, was it because of iPhones/iPads?
Sure, nothing wrong with trying to make things more discoverable. I think the first step towards this goal could be making an app which implements what AK is talking about. I'm not sure what this app would be like, or for, but if someone makes it, then we can test how effective are his ideas. You don't have to redesign an iPad to do this.
On the other hand, things can (and probably will) get better organically. The iPad/iPhone is only 10 years old. In that time it has improved both in terms of hardware (e.g. stylus for iPad, 3d touch, extra sensors, slo-mo video recording), and software (voice recognition, Siri, AppStore, multi-tasking, StreetView, even something as simple as cut and paste - none of that was available in iOS 1!). In a few years we will move to smart glasses and virtual/augmented reality. My guess is it will make learning experience better for everyone.
When I do that I constantly think why is it so difficult to learn things? Why do I need to look at least 3 different sources just to confirm that they are not bullshitting me?
After learning one thing related to the topic I want to learn I still have 99 to learn but I don't even know what those 99 things are. So basically I'm learning through dumb luck. Yes the reason is that I haven't reached the magical "bootstrap knowledge" where you have enough information in your head to just look up the things I don't know.
Those youtube videos are nice and all but they will barely teach you anything, they are easy to consume low quality crap for lazy people. I know that because I'm one of them.
The fundamental problem is still the same. Discoverability sucks. I still have to ask someone who is more knowledgeable than me. So why not let the AI do that task?
I don't know why it's hard for you to learn things, you were supposed to get the "bootstrap knowledge" in your undergrad education.
My point is that the discoverability today is much better than it was, say, 30 years ago. Back then your options were: go to a library, find and read good books, or find someone knowledgeable, and go talk to him in person, or write him a paper letter with your questions, and hope he responds.
For example, I remember how I was given my first access to a computer, with a command prompt blinking on a black screen, and I had not a slightest idea about what to do with it. Oh, and people nearby were not particularly keen on stopping what they were doing and explaining things to me. I was given a poorly translated DOS manual and a few simple BASIC programs to study. My computer access was limited to one hour, twice a week, and I remember how I thought this was so cool, and that I want to learn.
People have little desire to get education force-fed into them. But they have plenty of desire to solve their own problems, whatever those problems are.
What I feel AK (and others) are advocating is for computing to support individual problem-solving in an iterative manner. You have this powerful general-purpose machine, you should be able to mold it towards something that solves the problem you currently have.
Right now the problem is that the horse doesn't even know that water even exists so unless it happens to find it through dumb luck or talks to someone other horse about it's problem it won't ever find water to even consider drinking it.
The idea is that the AI takes over the role of the other horse.
What's missing in today's software is described by the field of End User Development, the ability for normal people to craft new software artifacts without the need to learn a formal programming language.
For most people, using computers means being force-feed a selection of existing applications; and most applications are pro- consumption, which is favoured by the media companies.
App stores (and the Linux repositories that preceded them) were a significant advance for the public, as they allowed common people top be able to find tools to cover their needs; previous to that, only power users were able to tune the computer to their needs.
However, non-developers still depend on the capabilities put in there by the developers, and can't fine-tune their behaviour.
>the ability for normal people to craft new software artifacts without the need to learn a formal programming language.
The problem with that is that normal people often have formal requirements that software has to meet in order to be useful.
Therefore I think the secret to end-user programming is not to be less formal. It's to be less complete or less general - DSLs.
But at that point you could legitimately ask whether it's programming at all or just configuration and what was actually achieved compared to the status quo.
You're right about DSLs; they're the greatest tool for tasks that require a formal spec.
The thing is, not all tasks that users engage with need a formal sspecification. For those, the ability to iterate and refine quickly is more valuable than having a precise description of every machine behaviour; I'm thing of things like page structure on Wikipedia (optional, and done with simple text markup); or the structure of documents in outlets like OneNote or Evernote, or attributes in Excel tables, which are all easy to re-arrange on the fly without needing a data schema.
All my examples refer to data structure. What's missing is that kind of lightweight, optional structure for behaviour. All current software, except debuggers and unit tests, expect a fully defined program to be defined before execution.
Power users need a top level loop that could execute partially specified functions over any DSL, prompting user input for the parts of the procedure not yet specified, and the capability to expand the DSLs themselves. There's nothing in the status quo like that, although environments like Hypertalk, Squeak and Excel are close, yet limited to a single DSL each.
> the ability for normal people to craft new software artifacts without the need to learn a formal programming language.
The problem is not programming. It's conceiving. You can get 8 years old kids to do pretty advanced imperative algorithms with scratch. What's hard is to get people to write down in a blank sheet what they actually want to do (mostly because you think you want something and then when you've got this thing you notice you actually wanted something a bit different).
You'd be surprised the kind of people who's able to create functional applications and complex data models in my office. The point for common users to define software behaviour is doing it iteratively, with every step being based on a previous functional version.
You don't need to be able to write down in a blank sheet what you actually want to do if you don't need someone else to do what you want to do.
Software developers aren't special in this sense - even when writing our own software we can't do what you want. This is why "scratching your own itch" is so much easier than the alternative. You reduce the "is this what I really want?" loop by an order of magnitude by cutting out most of the people from the process.
> You don't need to be able to write down in a blank sheet what you actually want to do if you don't need someone else to do what you want to do.
This.
Why is it so hard for developers to understand this simple idea?
Life in computing would be so much easier if the people building the system understood what part of their job is essential (finding out the best way to arrange hardware and software to satisfy a requirement) and which part is circumstancial, gathering a set of precise requirements to begin with.
The last part wouldn't be needed if end users were able to build their own working prototypes to solve their needs, and engineers were simply called to rebuild the prototype with best engineering practices.
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?
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.)
The other neat thing about modular and functional programming is that since modules/functions are discrete, you can drop in any replacement you want to, without the rest of the codebase even noticing (except during the build process).
As a real example, you can use Haskell's Foreign Function Interface (FFI) to call C functions, and wrap C structs. The rest of your Haskell code doesn't even need to know about it. You can use the same interface with a variety of languages in place of C. Rust even has a specific compiler option for generating C-compatible shared object/dll files.
That's the key point though. In a large scale system (think multiple systems written by multiple groups running on multiple machines) when you modify a shared data type, how do you update the systems?
> In Haskell, higher level functions can be composed from other functions, which is very clean. But the state isn't inside the function
> ... Another perspective is thinking about building large scale systems and coupling of modules
Both models have been proven formally equivalent, so it doesn't matter which one you use as the base computation model "all the way down"; you can always transform one into the other.
So in practice you end using the one which best represents the problem domain that you're solving. State-based object-orientation works best to represent simulations of the world where previous states are not needed. Functional is best when you need to reason about the properties of the system, since it allows you to access any present or past state of the computation.
For all the respect and admiration I have for Alan Kay, I think he's often showing a lot of bad faith.
His ideal vision is always described in very abstract terms. If he took the care to write it down precisely, what it should look like, I'm sure there would be hundreds eager to build it for him. Of course, part of it is "design principles". But then do some common use cases.
When the abstraction meets reality we get comments like "the iPad should have a pen". Which is really an interesting observation, but doesn't quite rill the crowd like the abstract impressive-sounding stuff does. And you'd hardly call these isolated observation "vision".
Clearly, the user interfaces we have today are sub-optimal, and I can make hundreds of factual remarks on what could be improved. But I don't think this works out to a "vision". In fact, a vision is I think sometimes bound to be too abstract. If we just had products where the shit was fixed relentlessly, I reckon we'd get to "good" without needing them.
His ideal vision is always described in very abstract terms. If he took the care to write it down precisely, what it should look like, I'm sure there would be hundreds eager to build it for him.
Look at Squeak. http://squeak.org/ The idea that you should be able to dig in and modify things is very powerful.
Another way to look at it is in terms of discoverability: you are at one level of understanding (using the phone, clicking on things), and it should lead you to a deeper level of understanding (perhaps moving things around, modifying them). At each level, there are hooks inviting you deeper, drawing you in. Ideally you get down low enough to start programming, to actually understanding how assembly and the CPU works, so there is no longer any area of magic.
Maybe you disagree with him or perhaps think his position is ill-considered or too woolly or somesuch. But 'bad faith'? You really believe he's being intentionally duplicitous and deceptive?
On Hackernews there was once a skeptic of postmodernism who got into a debate with a Derrida fan. The skeptic said "If deconstruction is not BS, how about you explain to us, in plain English, what it's all about." The Derrida fan replied "No. How about you demonstrate that you've read Husserl, Heidegger, Hegel, Nietzsche, Freud, and Levinas. Then we can begin to talk about Derrida."
If Alan Kay were like the Derrida fan, then he could have rebuffed anyone who came asking what the Dynabook was about with "How about you demonstrate that you've studied the achievements of McLuhan, Montessori, Papert, Minsky, Engelbart, etc. Then we'll talk." Of course he's not like that so he's going to try to give the reporter a bit of the background he has in those things and let them figure it out for themself.
The Dynabook is supposed to be, roughly, an iPad with a keyboard, stylus, and a Lisp Machine-like OS. Of course Apple and third parties have closed the gap with keyboards and styli but it's the OS that's the really important bit because in order for a Dynabook to be a Dynabook it must not be a thing that you can just download and run preapproved apps on. You have to be able to discover -- and change -- the entire system from the bare metal on up. Think "Stallmanism on steroids".
It's like a television you can talk back to. Computing is a dynamic medium that demands interaction from its user, so to deny the user the ability to question and change the assumptions of the medium is to lock them in to certain stereotyped modes of interaction and deny the full richness of the medium. This is where Kay's "real guitar vs. Guitar Hero" analogy comes in. You can either have a device that offers its full potential up front, like a real guitar, or you can have a device that can only be used in circumscribed ways, in vague imitation of having the full richness of the original device, like Guitar Hero. The price you pay for having a real guitar, or a real Dynabook, is what we call "ease of use" -- the ability for a complete neophyte to pick it up and immediately display something resembling proficiency with it. (It is much easier for a trained data-entry clerk to operate a 3270 terminal than it is for that same clerk to fill out a modern Web form, but that sort of ease doesn't count.) And Apple has really doubled down on ease of use, at the expense of everything else wonderful about having a powerful computing device you can hold in one hand. To the point where it's become just like regular, can't-talk-back-to-it television.
The basic problem there is that no company in the industry, from Apple all the way to the lowliest gray box manufacturer in China is not interested in that.
OLPC tried, it got hoodwinked by Microsoft et al.
Mozilla tried, FirefoxOS bombed.
Hell even Linux is turning ever more complex an opaque year by year.
Simple thing is that such flexibility self support do not sell widgets and support contracts, and thus company are not interested in making them.
Well, yeah. For the benefits to be realized you need a society that values that sort of thing. It will look quite a bit different from our society, just like societies with writing are completely different from entirely oral societies -- something else Kay touches on.
OLPC and Firefox OS are not examples of projects that pushed the idea of an OS and application stack that could be understood by a single person. To get a better idea of what Alan Kay has been working towards I'd recommend checking out the STEPS project.
The software for both OLPC and Firefox OS were both based on Linux. Is there anything that made them more approachable on the low level than any other Linux distro?
I say that they were the closest, not that they were complete implementations of the vision.
Firefox OS had a particularly hackable UI layer. You could install webpages as if they were apps (all assets stored locally), bypassing the need to get your app into a curated store. Writing new drivers in Javascript could have come later.
Deconstruction is a way of viewing reality which comes naturally equipped with a process for disassembling ideas (the "deconstructive process") as well as a process for viewing ideas as the synthesis of other ideas (the "constructive process"). The core is this: all semantics are relative, all observations surface-level, and all truths buried in the raw materials. But since the materials are themselves relative, all truths are ultimately undefinable, recursively unknowable. To see a house is to know that it was built on a foundation, that its walls are made of gypsum, and that the number of children living there are proportional to the number of toys left on the lawn. Conversely, to see a corporate email thread is to know the shape of the corporate power structure, the bickering between departments, the products under development, and the CEO's ability to curse. Everything is connected and related. This is the entailment of postmodernism, where we first glimpsed that narrative truths could be relative; now, we know that reality itself is relative, whether it is the reality of a book or the reality of our current "real-world" narrative.
Deconstruction isn't bullshit, but we've been swimming in deconstructive and reconstructive narrative media for nearly half a century, and it has altered how we critique media so heavily that people don't see it as a distinct feature of their worldview. (Great example: Folks seem to love Rick & Morty, a deconstructive soft sci-fi serial, and also Steven Universe, a reconstructive soft sci-fi serial, both of which are running on a network which markets to youth, not literature postdocs.)
Kay, like Derrida, hasn't been unable to explain to people for lack of words, but because the enormity of the paradigm shift means that no number of words will necessarily suffice.
(Aside: If you are rubbed wrong by the first paragraph, in particular because you believe that reality is absolute or that truth is definable, then do not fear. You are merely having trouble overcoming instincts. Trust in mathematics; postmodernism arrived in mathematics in 1874, was completed in 1930, and is widely accepted by the mathematical community as meta-truth. Dissenters exist but necessarily must accept the meta-truth ("There is no one true foundation for mathematics.") to avoid being laughed out of the room.)
I am far from an expert in Deconstruction, but I am an expert in mathematics and have read a fair amount on the foundations of mathematics. I find your description technically correct, but highly misleading.
The vast majority of mathematicians will agree with "no one true foundation". However, unlike the bulk of postmodern/deconstructive work, they are then perfectly happy to say "this particular foundation is good enough to explore some interesting ideas", as opposed to wallowing in the fact that they had to take a generative step to create the mooring of their meaning.
In my non-expert opinion, I think many people instinctively rebel against Deconstruction, not because they can't accept that there has to be a faith-act to pragmatically root meaning... but because Deconstructionists, having discovered that such faith acts are necessary, then refuse to engage with any particular choice made by people who want to discuss pragmatic meaning.
Mathematicians have long ago internalized the important, but ultimately quite limited, idea behind Deconstruction (which, by the way, they didn't need Deconstructionists to tell them, since the idea of having to subjectively choose an axiom system goes back at least to the Greeks). Having understood this, they have since moved on with their lives to continue to do important and valuable things, just as they were doing before. What have the Deconstructionists done?
"Deconstructionists, having discovered that such faith acts are necessary, then refuse to engage with any particular choice made by people who want to discuss pragmatic meaning." I'm perfectly happy to have such discussions, as long as it's understood that, regardless of the beliefs brought to the table, the idea of "good enough" is not set in stone and itself is a perspective that is also brought to the table. I'm also not a Deconstructionist, whatever that is.
I find that most arguments that I have had with people usually end with them implying that their epistemology is rooted in something that is "good" or "reasonable" or "close enough" without any explanation of why it is that their chosen way of looking at the world must necessarily be beneficial. Indeed, you have pointed out that maths is a source of "important and valuable things", which I could agree with, but only with the understanding that our agreement is bound to the reality defined by our joint observations, and not a universal truth.
My point was not about choosing axioms, but about incompleteness, undefinability, uncomputability, etc., which cut short any attempts to bless a particular set of axioms as uniquely correct. You are only seeing the surface level so far; I assure you that it all deconstructs. (Be careful when looking directly at The Void.)
Finally: Where does meaning come from when having dialogues? Hofstadter explains it well: We constantly exchange deeply-coded messages with recursive layers of meaning, trying to reflect the symbols in our mind into words which we think will reconstruct those symbols in the minds we talk to. The "mooring of their meaning" is a fascinating illusion based on the inherent difficulty of stepping outside ourselves to examine where our own sense of meaning comes from.
Deconstruction changed the way we think about what we read, see, and hear, and taught us to question the assumptions inherent in the same. It gave us the spaghetti western, cyberpunk, and arguably punk rock itself (and it definitely influenced hip hop and dub).
Always remember that postmodernism is "defense against the dark arts" for the left. The techniques of playing shell games with symbol and meaning were devised by the right and by corporations and weaponized against us; postmodernism exists to make us aware of these techniques.
But I didn't really bring up the Derrida fan to argue about deconstruction or postmodernist thought.
> Deconstruction changed the way we think about what we read, see, and hear, and taught us to question the assumptions inherent in the same. It gave us the spaghetti western, cyberpunk, and arguably punk rock itself (and it definitely influenced hip hop and dub).
I've seen related claims before, and, having attempted to dig into them, my impression as a lay person is that what is called "postmodern literature" is actually not obviously connected to postmodern thought and deconstruction.
I personally find, for example, the idea of an unreliable narrator or non-linear storytelling not to be obviously derived from the idea of the subjectivity of anchors of truth. There are of course superficial similarities, but I see no evidence that the academic and philosophical ideas were in any way necessary for the literary, musical, and cinematic ideas. My feeling about the alleged similarities is about the same as the claims that Cubism was deeply connected to allegedly parallel ideas in the physics of relativity -- ideas that would pass in an art house, given enough narcotics, but that do not withstand serious scrutiny if one actually knows anything about the origins of ideas in physics.
So I wonder if you would be able to draw me a straight line from, say, Derrida to The Sex Pistols? Or to explain to me how Gibson's Neuromancer would not exist but for Foucault? These are not rhetorical questions -- I would be truly grateful to receive a good answer, and it might just turn around my generally low opinion of the post-60s contributions of postmodernism and deconstruction.
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.
>> And Apple has really doubled down on ease of use, at the expense of everything else wonderful about having a powerful computing device you can hold in one hand. To the point where it's become just like regular, can't-talk-back-to-it television.
Worse, actually. At least those old TV sets didn't spy in on your intimate conversations, neither did they keep track of your whereabouts and generally spy in on you. Your phone, does.
>> On Hackernews there was once a skeptic of postmodernism who got into a debate with a Derrida fan. The skeptic said "If deconstruction is not BS, how about you explain to us, in plain English, what it's all about." The Derrida fan replied "No. How about you demonstrate that you've read Husserl, Heidegger, Hegel, Nietzsche, Freud, and Levinas. Then we can begin to talk about Derrida.
I find that a valid rebuff of a "skeptic" (on quotes). A true skeptic should know their shit, first and better than anyone they care to er, skepticise.
You must not be familiar with the STEPS project, a complete OS project (with a compiler collection, 2D vector drawing and compositing, desktop publishing, online communications…), in 20K lines of code. Mainstream OSes by comparison are more like 200M lines (10K books).
That stuff is pretty concrete, with an actual GUI and real software. One can get their hands on the source code, though it's really not meant for public consumption (it was a proof of concept, not a commercial product).
"it was a proof of concept, not a commercial product"
Within that distinction, lies dragons.
The issues I have with existing systems are divided in two categories: bugs/issues/not being polished enough, and conceptual inadequacy.
Most of my issues with actual products fall within the first bucket, because the second bucket actually means I'd want another product. This is where innovation is.
That being said, unlike Kay, I don't loathe what we have. I'd be very happy if it was just better. But, like him, I thin the fact it's bad has deep roots in the way it is conceived.
I think another commenter hit the nail on the head when he said that Kay was mostly disappointed with users.
About Steps specifically, I haven't tried it out, but I harbor a lot of doubt. A huge amount of work goes into making stuff merely tolerable.
Something I do have experience with is Pharo Smalltalk (which I believe is the most advanced offering in the market). In theory, having your own small universe based on coherent principle is heaven. In practice, it feels very constricting to work inside that box (the Smalltalk image), because you don't have access to some of your best power tools, or even to some basic modern niceties.
(Pharo Smalltalk and great, and improving steadily, you should try it out. But I don't see myself calling myself a Smalltalk developer/hacker any time soon.)
His ideal vision is always described in very abstract terms. If he took the care to write it down precisely, what it should look like, I'm sure there would be hundreds eager to build it for him.
He did. There's "Personal Dynamic Media", the classic paper.[1] Kay's vision focused on the user as creator, rather than consumer, of information. In practice, most people are content to watch the boob tube, now available in handheld. This has been the frustration of new media inventors from Edison to Zworykin.
What Kay is complaining about is the banality of computing today. That's a problem with humans, not computers.
Kay also thought that discrete event simulation was going to be really important. Smalltalk is based on SIMULA, which was a discrete event extension of ALGOL-60. Objects were supposed to be entities in the simulation. In practice, discrete event simulation is a tiny niche application of computing.
(I got a tour of PARC in 1975 when taking a course at UC Santa Cruz, met Kay and Goldberg, and saw some of the first Altos. The idea back then was "this is what can be done with enough money. Someday it will be cheap." Eventually it was, but not soon enough for Xerox. Years later, I programmed an Alto in Mesa while at Stanford, although by then it was obsolete.)
Doesn't your typical business application model some discrete events on the real world? Why is object oriented programming so popular of it doesn't meet needs of software it helped to write? There should be some correspondance between principles that layed foundation of OOP and their application, and OOP's popularity os not a coincidence
Most of what OOP is used for is to implement the thousands of minor details that go into implementing a complex system. Peruse the Firefox source code some time; you'll find a large class hierarchy of different types of strings, and another one for different types of DOM nodes, and another for different types of documents that the nodes belong to, another for windows of various types, another for various types of images that it can decode, etc. None of that has anything to do with modelling entities in the real world.
>> Why is object oriented programming so popular of it doesn't meet needs of software it helped to write?
Perhaps because the vast majority of programmers learn to program in an OOP language first, and then find it very hard to learn a different paradigm. Or maybe they have very little time to do so.
I think this leads right back to the point alankay1 is making (if I got it right): that given a hammer and sufficient time, you become a hammerer; someone who can hammer nails and can't do much else.
So asking "why is OOP so popular" is a bit like asking "why do people watch Holywood movies" (i.e., if they're not good cinema). That's what they're used to.
It is terrible though. It is worth stating the obvious fact once in a while.
This organic design of the web stack with layer upon layer upon layer upon layer can't go on for forever. At some point it will just become too painful and an alternative will emerge.
The web platform has its virtues though. I can still load a webpage made in 1996 and at least read the text if nothing else; we can't say the same of erstwhile competitors like Flash, Silverlight, Java applets...
The JS just fetches the text over the network and transforms it though. The browser still renders HTML markup in the end.
I agree with the rest of what you said but those are just design decisions. My point was that, regardless of the code headaches, the platform itself (HTML, CSS, JS) is an incredibly flexible and resilient system.
> And in large part i fear we get this because the people in charge are hell bent on recreating printed media in electronic form.
I agree. I see the conflict between designers and users to be one of the primary reasons for the current state of the web.
The conflict is about who gets to control how the content looks. The web was intended for users to have that control. The browser is your "user agent", you get to decide what and how gets fetched and displayed. The designers, on the other hand, want to treat webpages as color magazines - they want to have full control over what's shown on your screen, as for them the form is just as important as the actual content. They would happily serve you the web page as a PDF, if they could get away with it.
Personally, I'm firmly in the "user gets to control" camp, but the market prefers the "designers get to control" camp. So here we are, with web browsers continuously removing the ability to control anything, and the HTML/CSS accruing more and more layout control tools.
That's the problem here, actually, but not in the way you think. There are alternatives (Canvas, SVG, etc.) but they're not as good for the standard use case of coming up with something quick that fulfills the business requirement.
And then we need to recognize that that stack is a fucking abomination that should be burned with fire. It should so deeply embarrass us, that we wouldn't want to admit that we use it in polite company.
We need people who are willing to experiment with new ideas and give us something better than HTML/CSS/JS. And we need them to get funding.
I have been working with the web since 1997, but almost only on the server-side (back in the the simpler web 1.0 days) and (during the past decade) on the browser UX/network side.
I just recently started looking at actually creating some web content that uses the modern web stack. Holy moly. What a cluster f__k of insanely over/badly-engineered craziness.
Try Mithil.js/HyperScript for defining HTML and Tachyons for inline-ish CSS. I've been happy with that mix. Both emphasize simplicity and maintainability.
What should embarrass us so deeply and why? HTML and CSS are some of the most generative, enduring, and transformative technologies ever. I wouldn't fund anyone who doesn't recognize how great they are!
HTML & CSS were good for the early web, when it was a simple document layout platform. They're not ideal for building rich UIs and applications. Just because they've been extended to allow that doesn't mean they are the best tool for the job. Similarly, Excel is abused to do all sorts of things it's not intended for as well, when there are better options for databases, financial applications and data science.
There is a huge difference between Excel and HTML: the former is Turing-complete (in addition to containing Turing-complete scripting language(s)) and was like this for as long as I remember, while HTML is not. I guess CSS nowadays may be Turing-complete (?), but HTML is most decidedly not.
That difference means that it's orders of magnitude easier to "abuse" Excel to do some things it wasn't designed to do than to do the same with HTML. I seriously wonder if the reliance on HTML to this day is not a kind of "job security" thing for web devs (like myself, btw)...
They're embarrassing once you realize what's been done in the past, with incredibly smaller 'stacks' in much simpler systems, producing more powerful capabilities.
HTML and CSS require that a large amount of information be pre-shared and implemented by different systems (i.e. all browsers need to implement ginormous standard with all subtleties). After all that, you don't even get much interactivity, you need Javascript.
A better design would be to share a tiny set of primitives that are designed to compose nicely and that can be used to build up much more powerful apps.
The basic thing to remember is that HTML was never meant to handle UIs. It was a very basic document layout format, with some simple ways to provide the reader with addresses for references etc.
It was in effect Netscape that tried to turn it into an UI as a way to get into the office network market. This riled up Microsoft, and the rest is history.
>We need people who are willing to experiment with new ideas and give us something better than HTML/CSS/JS. And we need them to get funding.
It’s coming. In 5 years Javascript development will be a distant bad memory. Front end web will become much like native mobile development but with a richer ecosystem of IDE’s and languages based around WASM.
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.
writing diminished thinking and reasoning capacity, computers continued offloading cognitive functions to adaptive machines. dig up, stupid! is a fitting epithet.
Unlike CS programs in high schools and universities. They're stuck in the 50s rehashing sorting algorithms for their students. Meanwhile an entire community of "programmers" was trained and let loose in the wild to endlessly engage in pedantic debates about type systems, or which ALGOL like language is the best for this-or-that.
Neglecting path dependence is the root of all evil. I mean, he’s not wrong, but maybe the answer is just that this is fucking hard. And some of his specifics are just wrong. The pen? No. It’s super useful in some areas, like drawing, but if you include it by default you get lazy developers making UI that depends on it for navigation. Apple absolutely made the right call. I’m not taking away any of his amazing contributions, but his habit of slamming every incremental bit of mainstream, at-scale tech because it doesn’t fulfill his vision (yet) is not that helpful.
Interesting that neither Kay nor the interviewer seemed aware of Swift Playgrounds. I would have loved to hear his criticisms of that environment as a teaching tool for kids. It seems to be targeted at 8-12 year olds given the graphics. I would be curious as to how closely Swift Playgrounds follows Papert’s ideas.
I have total respect for Alan Kay but I hope he stops criticizing other people and actually shows his vision through his own execution (and by execution I don't just mean invention of a prototype but actual productization and distribution)
If you're building something visionary and are not the one who's making tons of money off of it, you have two solutions:
1. IF you're interested in making money: Try to figure out what you're doing wrong and fix it so you actually CAN capitalize on your original invention
2. IF you're NOT interested in making money: Enjoy the respect these people pay you and please don't badmouth others who worked hard to build important products that changed the world.
I feel like Alan Kay is on the second boat, so my heart breaks whenever he badmouths other people who worked hard to build cool things.
It doesn't matter what came first. What matters is what actually managed to pull off the ultimate success.
Anyone who has put as much work into it as Kay has and delivered as many innovations is absolutely entitled to criticize. He is especially entitled to criticize products that built on his ideas but because of some fundamental flaws actually hobble the ideas and hobble society. This is important to point out and if he isn't qualified to do so then who is?
There's a difference between badmouthing and constructive criticism. Try reading through the entire article. I did. And there's tons of badmouthing and condescension.
The article is filtered through another reporter and I didn't find specific instance of badmouthing (but my reading is also filtered through my own notion of where I think Alan Kay is coming from.)
If you're interested in what Kay really means, maybe listen to some of his numerous other talks?
> (and by execution I don't just mean invention of a prototype but actual productization and distribution)
So, the STEPS project I mentioned above¹ doesn't count? Bret Victor's work wouldn't count? That's incredibly short sighted.
You seem to have missed the part where it's really really hard to be successful with unnatural stuff, even when that stuff is unbelievably useful and valuable. Writing is unnatural, and took a long time to spread. It's still not there yet, and with the television and YouTube, we're actually reverting back a little bit.
Computing is even less natural, so instead of a Victor-esque interactive wonder, we got the caveman interface, where you point and you grunt².
Speaking of badmouthing, my heart breaks every time someone implies that recent Apple devices are cool. They're dystopian demons that seduced people into giving into thinking digital prisons are cool. The Apple ][ was cool. The iPad is crap (it could be cool, with the right OS).
> So, the STEPS project I mentioned above¹ doesn't count? Bret Victor's work wouldn't count? That's incredibly short sighted.
It is incredibly short sighted to make an assumption about what I said and criticize on that wrong assumption. There's a term for this logical fallacy but i forget.
Anyway, there's a huge difference between coming up with an idea/prototype and turning it into a product that's meant for mainstream usage. You would only know this if you have actually built something that's meant for mainstream usage so if you don't get this it's fine, but try doing that next time and you'll realize that's true.
What I'm criticizing is his comments on Apple's implementation decisions on things like the stylus. There are plenty of reasons why they decided to go that way, and I totally understand if this criticism was coming from some ignorant journalist who hasn't built anything (because they're ignorant), but Alan Kay should know better. There are way more things to consider than just ideals when you're building a real product.
This is probably why Xerox Parc built so many innovative prototypes but most of them were commercialized by other companies. If they had people like Steve Jobs instead, Xerox would be Apple by now.
If you think I'm being overly critical, just watch some of his speech videos on youtube, too much of what he says is based on the past and not the future.
> It is incredibly short sighted to make an assumption about what I said and criticize on that wrong assumption.
Are you saying I was mistaken and the STEPS project and Bret Victor's demos do count after all? Even though they're prototypes that haven't been "productised and distributed"?
I merely assumed you meant what you wrote. If you didn't, don't complain.
> What I'm criticizing is his comments on Apple's implementation decisions on things like the stylus.
Come on, that criticism was spot on. The iPad could have a spot for the pen. The pen could be tethered to the iPad. Apple could have sold pen like they now do. The Nintendo DS ships with a freaking pen.
I'm reluctant to dispute your point in general, but that was a bad example.
> The iPad could have a spot for the pen. The pen could be tethered to the iPad.
Yes they could, but I really think this is subjective. In my case I prefer NOT to have a spot because of aesthetic reasons, plus I never use the stylus.
But like I said, this is subjective. And that's exactly the point. You can't really judge execution based on subjective qualities like this. It's impossible to satisfy everyone.
It's just a difference in vision. People have different priorities. For example the Bitcoin community right now is divided into two based on their philosophy, and you can't say one is right and one is wrong because each has their own vision and each side makes sense in their own right.
I'm sure Alan Kay had his own vision about what a computer could become. I think if he's so dissatisfied with what it's come to, the best approach is to build one himself and give it to the world. (But honestly, as someone who's been thinking a lot about this field, I see so many "plot holes" in all the criticism he's making)
I am all for visionaries building inspiring products and shipping to market. But it's sad to see people like him dwelling on the past instead of the future.
There are plenty of things worth doing that are not profitable. If anything, the people who made the profits where standing on the shoulders of giants like Kay; I think we can afford him some space to be grumpy over shitty execution and lack of vision. It's a matter of perspective; what you call cool things, Kay would call consumer bull crap; and I tend to agree.
If you're not building something for people, what are you building? Art?
I'm fine with that, but just because you're making art, doesn't mean everyone else is an idiot.
Also I think it's very condescending to think that others didn't have vision.
Lastly it's cheap to criticize someone else for "shitty execution" when you yourself have the ability to show with your own execution but you clearly haven't. It's easy to throw around the word "execution" but it's not an easy thing to do.
Herein lies a dangerous assumption prominent in neoliberal thinking: that "building something for people" is only possible by making something that is inherently "profitable." Kay has spoken endlessly on the fact that PARC was -- in spirit, structure, and personnel -- largely the last gasp of the ARPA/IPTO funding culture. That we don't have this kind of basic research funding anymore is one of the reasons we don't have inventions on par with the Internet and personal computing. This is one of the points he harps on about.
Few companies today will create anything that is a truly shattering invention, for the simple fact that companies are not structured to invest the time and money in ways that such inventions demand: decade long cycles, where failure and "wasting" money is the norm. The quarterly earnings cycle prevents this. What's worse, that cycle has been absorbed into the way politicians and governments now think. Today the NSF wants you to demonstrate how your research will produce the desired results when applying for grants. That's not how exploratory basic research works. You'll only ever get more arcane iterations on current systems and technologies.
Kay has spent his life doing this kind of exploratory research. PARC, Squeak, STEPS -- I'd call all of that "execution." But perhaps others who see businesses and profits as the sole reason to get up in the morning would disagree.
1. I agree with your general argument about the need for deep research.
2. Which means you're making assumptions about what I'm thinking.
3. Please don't label others on the Internet with words like "Neoliberal", etc. We are all same people and there may be misunderstanding but we are not fundamentally different species.
4. My point was not to say these not-for-profit research is useless, but that if you're in this field, you should own it. If people build things that are mediocre and you know a better way, why not build one and show it for yourself? He hasn't done that because he doesn't know either. And by "Knowing" I mean actually knowing to build a product that people will use without any problem. It is easy to criticize implementation, it's not easy to actually do it yourself. With all due respect, prototyping and actually turning it into a product that general public can use are completely different ball games.
He didn't call you a neo-liberal. Your whole argument however does rely on the now widespread (and false) assumption that anything worthwhile can be made profitable with the current economic system.
By the way, Alan Kay has built stuff people can actually use. Scratch, for instance is so usable that even children can learn it.
Ah. Learning. I don't want to assume, but it looks like you missed the part where Alan Kay wants the general public to learn about computers, and stops viewing them as magic golems. This is a completely different ball game from merely making a popular consumer device.
What does building for people (which I am) have to do with making profits (which I don't)? What about sharing? Building for profit is the opposite of building for people, the two mind sets are not compatible.
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.
Not the point. "What would information technology be like today if ARPA/IPTO style funding still existed?" would be the more relevant question. I'd call those dudes "great artists". That's the community Kay comes from, the one that gave rise to the Internet, PARC, and everything else that several generations of hustlers have made careers off iterating upon.
It's also worth noting that TCP/IP was able to outfox the planned X.25 ISO standard for international network transport in large part because ARPA was releasing code and standards for free and testing it live. All of that happened before the Internet was commercialized.
Every once in a while I daydream about a sort of "distributed app platform" built on top of Scheme and IPFS. -- Perhaps Red would actually be perfect for this...
If people could understand what computing was about, the iPhone would not be a bad thing. But because people don’t understand what computing is about, they think they have it in the iPhone, and that illusion is as bad as the illusion that Guitar Hero is the same as a real guitar. That’s the simple long and the short of it.
Some kids learn guitar. Some kids fantasize about learning guitar. Apple makes machines that enable the computing equivalent of both of these things.
You're never going to turn all listeners into musicians, all readers into writers, all theater-goers into actors. You can't even get everyone to dance at a wedding with an open bar. Technology can play a role in getting a few more people over the line, but Alan Kay's head is way too far in the clouds for him to even see the problem that way.
Honestly, I think what he's done is dissociated himself from his own snobbery. He talks about technology failing humanity, but he's really saying he doesn't like people. He doesn't like how most people think and live. Why else would he constantly be disappointed in technology failing to turn all of humanity into always-on cultural creatives? It's like he looks at books and says, well, the dream for books is for everyone to read challenging literature, but at the beach or on the subway you see mostly "Eat Pray Love" and Stephen King, so clearly books have failed.
People are doing the same dumb shit with books and technology that they did without it. They choose passive consumption. When I complain about it, I'll blame it on technology so I don't sound like a misanthrope.
He constantly talks about creating, learning, and education, but he doesn't bring any attention to any current work supporting these activities. He doesn't say, look, here's this great work being done for kids, and it's limited because the iPad needs this feature. He doesn't say, look, here's this great computing system I use to support my own work, and it be a lot better with this specific kind of OS or hardware support. Instead of talking about how the Apple hardware is holding back current work, he's talking about how it fails to implement his own ideas from thirty years ago.
You'd think he could find SOME new idea to promote and celebrate, if only to point out what he thinks progress looks like, but apparently Apple has snuffed out every worthwhile avenue of improvement by a few unfortunate unfortunate hardware choices.
Hell, where's even the usesthis interview with Alan Kay?
His "vision" is too self-centered and he expects people to live after his ideals but in fact people have better things to do than create art, or whatever.
>They choose passive consumption
The same person is likely an active producer in one area, and a passive consumer in others. I know I am.
>His "vision" is too self-centered and he expects people to live after his ideals but in fact people have better things to do than create art, or whatever.
That's what you see around you, talking to most people?
The topic is Apple because the interviewer is a journalist who was writing a book about the iPhone. Plenty of other resources online show him praising work he likes (Bret Victor, for example) and systems that he thinks are in the right direction. It just wasn't in the bounds of the interview topic.
As for the "not turning all readers into writers," well, what can we say? One would hope that all readers are literate enough to write. Now, we don't expect all literate people to be professional writers, but this is not in line with what Kay is arguing anyway. He's saying that being literate in computing should mean being able to wield computing in order to aid human thinking -- for everyone. He's calling out our current systems, saying that their availability and use, though ubiquitous, do not constitute such literacy.
In particular, even though we don't expect all literate people to produce professional-quality writing, we do hope they can use their writing skills to solve their own problems. Be it filling forms, writing letters, posting "lost cat" messages on trees, whatever.
That's what I think computing should be. Giving people ability to solve even more complex problems themselves, even more effectively.
>Honestly, I think what he's done is dissociated himself from his own snobbery. He talks about technology failing humanity, but he's really saying he doesn't like people. He doesn't like how most people think and live.
And why should he? Millions voted for Trump. Heck, millions also voted for Hillary. Neo-nazis, tele-evangelists, climate change denial, PC, twerking and Justin Bieber are all things. Does that sound like a society we should like how "most people think and live"?
>Why else would he constantly be disappointed in technology failing to turn all of humanity into always-on cultural creatives?
Because he actually loves people and doesn't want to see them squander their potential?
>He constantly talks about creating, learning, and education, but he doesn't bring any attention to any current work supporting these activities. He doesn't say, look, here's this great work being done for kids, and it's limited because the iPad needs this feature.
Err, he literally does just this in the interview.
It's like there's blood running in the streets, and he wants to fund a mission to Mars.
Last VPRI paper I read was some whiz-bang way of laying out proportional text. Cool, but when the whole damned industry is a battlefield for locking-in devs and wringing as much money as possible from the digital peasantry, making a slightly better text rendering algorithm seems like mental masturbation.
If he took that money they were giving him for VPRI to re-live his glory days, and gave it to devs who are giving away high-quality creative software instead, that would go a lot further towards his goal.
I don't buy it that everyone would be a digital creative if they just had the right tools. To make quality content, whether it be apps/music/movies/etc..it requires much more than tools.
I respect Alan Kay, but I don't understand the need to bash on modern day technology.
Have we really come along way in terms of general computing? Maybe not [Example: 0]. But in terms of the digital world, I can take a video of my parents and send it to my cousin who lives 10,000 miles away and he can respond in a matter of seconds.
I can literally meet people in remote areas of the world. I can interact with people who barely have food but somehow can get cell phone access and now they are learning and communicating with everyone else. I can't imagine a better way to level the playing field (socioeconomically) globally then how we have it.
Do we have a lot more work to do? Sure. But Rome wasn't built in a day.
The future of the internet & technology, the direction it's headed, is going to come from small contributions from millions across the world.
What people will need will turn into what we have and use. And there won't be some magical device that just pops out of nowhere that will change everything.
> "I don't buy it that everyone would be a digital creative if they just had the right tools."
That is not Kay's argument. Not everyone who scribbles notes or draws something on a piece of paper is a "creative" or artist. Not all who write at all are professional writers. But we do not have the computing equivalent of paper for everyone. Sure, someone can write in a word processor or draw in a drawing program, but that's not all that a computer is for -- that's just imitating paper. The outstanding question is: can we make something that is as extensible as pen and paper and literacy for aiding human thought for the next level, the computing level? All we have now are stiff applications. Saying that such things make people literate in computing is like writing by filling out forms.
> "Do we have a lot more work to do? Sure. But Rome wasn't built in a day."
Kay is your ally here, a constant gadfly putting the lie to all the hype and BS. He's a constant reminder that we shouldn't feel so satisfied with our mud huts. He's reminding us to build Rome at all.
>I don't buy it that everyone would be a digital creative if they just had the right tools. To make _quality_ content,...
who cares about quality ? who is the judge of what "quality" is ?
As long as someone can create the content _and distribute it_, they are a digital creative.
The right tools shouldn't be about creating "content", they should be about letting you solve your own problems, instead of trying to transform them into problems you can buy a solution for. Creative arts are only subset of this - they happen when someone's problem is "I want to make a piece of art".
> Have we really come along way in terms of general computing? Maybe not
That's the point AK seems to be making, though. All the great things you mention are huge accomplishments, yet they're also disappointing compared to what is possible, what we should have now. Rome wasn't built in a day, but you have this whole army of Rome builders who decided that it's better to sell bricks instead of building the city...
296 comments
[ 2.9 ms ] story [ 244 ms ] threadps: project list is cool http://harc.ycr.org/project/
http://mailman.mit.edu/mailman/listinfo/fonclist
Proper quote, for those confused:
"I read a study that measured the efficiency of locomotion for various species on the planet. The condor used the least energy to move a kilometer. Humans came in with a rather unimpressive showing about a third of the way down the list....That didn't look so good, but then someone at Scientific American had the insight to test the efficiency of locomotion for a man on a bicycle and a man on a bicycle blew the condor away. That's what a computer is to me: the computer is the most remarkable tool that we've ever come up with. It's the equivalent of a bicycle for our minds.”
It made me think about how things like Redux (or even just Google Drive revision history) where you can 'time travel' through state can be more important for UI than we realize sometimes.
1) https://news.ycombinator.com/item?id=11940472
2) https://www.youtube.com/watch?v=S6JC_W9F8-g&t=40m30s
I loved the article by the way. The future of writing should be version controlled Juniper notebooks. Next step for GitLab is to build a cloud IDE to bring that closer.
I can forgive my retired grandmother for not getting copy and paste. A professional however, should constantly strive to improve their mastery of their tools.
"Well, a saying I made up at PARC was, “Simple things should be simple, complex things should be possible.” They’ve got simple things being simple and they have complex things being impossible, so that’s wrong."
- Novice - Advanced - Expert
'Novice' gives you simple 'undo'. 'Advanced' gives you 'undo' with history. And 'Expert' gives you branching. For example... For file-managers this could be made so, that the novice gets something like the Finder or WindowsExplorer. Basically a file-browser, that handles its pane contents as a document. 'Advanced' gives you tabs, rearrangable layouts (dual-pane) and some more configuration. 'Expert' gives you fully configurable menus and toolbars, integrated with the hosts generic scripting host. Etc.
All 3?
Actually, both scripting and the commandline are effective ways of making you organize your program into nouns and verbs that can be extended by the user.
But I don’t think rearranging the basic UI is that useful, because all your users are basically the same - we’re all human and not Lisp programmers.
Maybe the reason people find it hard now is just the limit of natural languages as they exist today. We haven't made time travel, alternative realities, and hypotheticals a part of our ordinary speech (beyond trivial cases), but maybe we should?
I fear that too many technical people have no feel for the plight of the users (and amazingly to me, for their own plight as users -- they are often willing to put up with execrable BS in their own programming environments).
I certainly agree I can get by without it. It does seem like daily I will pull up the tree, though, to walk up and down the history to make sure I understand what the last thing I did was.
Dynabook was a nice vision. As always, society executed poorly, and failed to realize much of the potential of its technologies. No doubt that will happen again with VR/AR. For example, there's a toxic cauldron of patents brewing. Screens and keyboards and mice, have had a good half-century run. And GUIs, and personal local hardware. But perhaps time to shift focus.
The unfortunate associations of wanting society to "execute better" (i.e. the merger of industry and the state found under fascism) just underline the fact that applying performance measurements to human life/social phenomena is misguided. We don't all agree on the purpose of life or the nature of happiness, nor should we.
I found a few such things in the article:
- more-discoverable undo
- some sort of AI-based virtual assistant
- a stylus and holder, and presumably input methods and applications that are better suited for that stylus
- something nebulous about having warning labels and being designed for the higher-order cognitive centers of our brains
I think he wanted more discoverable everything, the undo was just used as a particularly bad example on the iPhone.
He wants the world to be more discoverable, to modify our very culture so that learning is easy (an example he gave was with math, so it's not just a small, 'smart' percentage of the population who actually gets it, but everyone absorbs it from a young age).
Aka you can bring a horse to water, but you can't make it drink.
Has the number of people who want to learn decreased? If so, was it because of iPhones/iPads?
On the other hand, things can (and probably will) get better organically. The iPad/iPhone is only 10 years old. In that time it has improved both in terms of hardware (e.g. stylus for iPad, 3d touch, extra sensors, slo-mo video recording), and software (voice recognition, Siri, AppStore, multi-tasking, StreetView, even something as simple as cut and paste - none of that was available in iOS 1!). In a few years we will move to smart glasses and virtual/augmented reality. My guess is it will make learning experience better for everyone.
After learning one thing related to the topic I want to learn I still have 99 to learn but I don't even know what those 99 things are. So basically I'm learning through dumb luck. Yes the reason is that I haven't reached the magical "bootstrap knowledge" where you have enough information in your head to just look up the things I don't know.
Those youtube videos are nice and all but they will barely teach you anything, they are easy to consume low quality crap for lazy people. I know that because I'm one of them.
The fundamental problem is still the same. Discoverability sucks. I still have to ask someone who is more knowledgeable than me. So why not let the AI do that task?
My point is that the discoverability today is much better than it was, say, 30 years ago. Back then your options were: go to a library, find and read good books, or find someone knowledgeable, and go talk to him in person, or write him a paper letter with your questions, and hope he responds.
For example, I remember how I was given my first access to a computer, with a command prompt blinking on a black screen, and I had not a slightest idea about what to do with it. Oh, and people nearby were not particularly keen on stopping what they were doing and explaining things to me. I was given a poorly translated DOS manual and a few simple BASIC programs to study. My computer access was limited to one hour, twice a week, and I remember how I thought this was so cool, and that I want to learn.
What I feel AK (and others) are advocating is for computing to support individual problem-solving in an iterative manner. You have this powerful general-purpose machine, you should be able to mold it towards something that solves the problem you currently have.
The idea is that the AI takes over the role of the other horse.
For most people, using computers means being force-feed a selection of existing applications; and most applications are pro- consumption, which is favoured by the media companies.
App stores (and the Linux repositories that preceded them) were a significant advance for the public, as they allowed common people top be able to find tools to cover their needs; previous to that, only power users were able to tune the computer to their needs.
However, non-developers still depend on the capabilities put in there by the developers, and can't fine-tune their behaviour.
The problem with that is that normal people often have formal requirements that software has to meet in order to be useful.
Therefore I think the secret to end-user programming is not to be less formal. It's to be less complete or less general - DSLs.
But at that point you could legitimately ask whether it's programming at all or just configuration and what was actually achieved compared to the status quo.
The thing is, not all tasks that users engage with need a formal sspecification. For those, the ability to iterate and refine quickly is more valuable than having a precise description of every machine behaviour; I'm thing of things like page structure on Wikipedia (optional, and done with simple text markup); or the structure of documents in outlets like OneNote or Evernote, or attributes in Excel tables, which are all easy to re-arrange on the fly without needing a data schema.
All my examples refer to data structure. What's missing is that kind of lightweight, optional structure for behaviour. All current software, except debuggers and unit tests, expect a fully defined program to be defined before execution.
Power users need a top level loop that could execute partially specified functions over any DSL, prompting user input for the parts of the procedure not yet specified, and the capability to expand the DSLs themselves. There's nothing in the status quo like that, although environments like Hypertalk, Squeak and Excel are close, yet limited to a single DSL each.
The problem is not programming. It's conceiving. You can get 8 years old kids to do pretty advanced imperative algorithms with scratch. What's hard is to get people to write down in a blank sheet what they actually want to do (mostly because you think you want something and then when you've got this thing you notice you actually wanted something a bit different).
Software developers aren't special in this sense - even when writing our own software we can't do what you want. This is why "scratching your own itch" is so much easier than the alternative. You reduce the "is this what I really want?" loop by an order of magnitude by cutting out most of the people from the process.
This.
Why is it so hard for developers to understand this simple idea?
Life in computing would be so much easier if the people building the system understood what part of their job is essential (finding out the best way to arrange hardware and software to satisfy a requirement) and which part is circumstancial, gathering a set of precise requirements to begin with.
The last part wouldn't be needed if end users were able to build their own working prototypes to solve their needs, and engineers were simply called to rebuild the prototype with best engineering practices.
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.
If you're proposing something different, can you contrast your ideas with smalltalk style OOP?
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.
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.)
As a real example, you can use Haskell's Foreign Function Interface (FFI) to call C functions, and wrap C structs. The rest of your Haskell code doesn't even need to know about it. You can use the same interface with a variety of languages in place of C. Rust even has a specific compiler option for generating C-compatible shared object/dll files.
That's the key point though. In a large scale system (think multiple systems written by multiple groups running on multiple machines) when you modify a shared data type, how do you update the systems?
> ... Another perspective is thinking about building large scale systems and coupling of modules
Both models have been proven formally equivalent, so it doesn't matter which one you use as the base computation model "all the way down"; you can always transform one into the other.
So in practice you end using the one which best represents the problem domain that you're solving. State-based object-orientation works best to represent simulations of the world where previous states are not needed. Functional is best when you need to reason about the properties of the system, since it allows you to access any present or past state of the computation.
His ideal vision is always described in very abstract terms. If he took the care to write it down precisely, what it should look like, I'm sure there would be hundreds eager to build it for him. Of course, part of it is "design principles". But then do some common use cases.
When the abstraction meets reality we get comments like "the iPad should have a pen". Which is really an interesting observation, but doesn't quite rill the crowd like the abstract impressive-sounding stuff does. And you'd hardly call these isolated observation "vision".
Clearly, the user interfaces we have today are sub-optimal, and I can make hundreds of factual remarks on what could be improved. But I don't think this works out to a "vision". In fact, a vision is I think sometimes bound to be too abstract. If we just had products where the shit was fixed relentlessly, I reckon we'd get to "good" without needing them.
Look at Squeak. http://squeak.org/ The idea that you should be able to dig in and modify things is very powerful.
Another way to look at it is in terms of discoverability: you are at one level of understanding (using the phone, clicking on things), and it should lead you to a deeper level of understanding (perhaps moving things around, modifying them). At each level, there are hooks inviting you deeper, drawing you in. Ideally you get down low enough to start programming, to actually understanding how assembly and the CPU works, so there is no longer any area of magic.
If Alan Kay were like the Derrida fan, then he could have rebuffed anyone who came asking what the Dynabook was about with "How about you demonstrate that you've studied the achievements of McLuhan, Montessori, Papert, Minsky, Engelbart, etc. Then we'll talk." Of course he's not like that so he's going to try to give the reporter a bit of the background he has in those things and let them figure it out for themself.
The Dynabook is supposed to be, roughly, an iPad with a keyboard, stylus, and a Lisp Machine-like OS. Of course Apple and third parties have closed the gap with keyboards and styli but it's the OS that's the really important bit because in order for a Dynabook to be a Dynabook it must not be a thing that you can just download and run preapproved apps on. You have to be able to discover -- and change -- the entire system from the bare metal on up. Think "Stallmanism on steroids".
It's like a television you can talk back to. Computing is a dynamic medium that demands interaction from its user, so to deny the user the ability to question and change the assumptions of the medium is to lock them in to certain stereotyped modes of interaction and deny the full richness of the medium. This is where Kay's "real guitar vs. Guitar Hero" analogy comes in. You can either have a device that offers its full potential up front, like a real guitar, or you can have a device that can only be used in circumscribed ways, in vague imitation of having the full richness of the original device, like Guitar Hero. The price you pay for having a real guitar, or a real Dynabook, is what we call "ease of use" -- the ability for a complete neophyte to pick it up and immediately display something resembling proficiency with it. (It is much easier for a trained data-entry clerk to operate a 3270 terminal than it is for that same clerk to fill out a modern Web form, but that sort of ease doesn't count.) And Apple has really doubled down on ease of use, at the expense of everything else wonderful about having a powerful computing device you can hold in one hand. To the point where it's become just like regular, can't-talk-back-to-it television.
OLPC tried, it got hoodwinked by Microsoft et al.
Mozilla tried, FirefoxOS bombed.
Hell even Linux is turning ever more complex an opaque year by year.
Simple thing is that such flexibility self support do not sell widgets and support contracts, and thus company are not interested in making them.
Firefox OS had a particularly hackable UI layer. You could install webpages as if they were apps (all assets stored locally), bypassing the need to get your app into a curated store. Writing new drivers in Javascript could have come later.
Deconstruction isn't bullshit, but we've been swimming in deconstructive and reconstructive narrative media for nearly half a century, and it has altered how we critique media so heavily that people don't see it as a distinct feature of their worldview. (Great example: Folks seem to love Rick & Morty, a deconstructive soft sci-fi serial, and also Steven Universe, a reconstructive soft sci-fi serial, both of which are running on a network which markets to youth, not literature postdocs.)
Kay, like Derrida, hasn't been unable to explain to people for lack of words, but because the enormity of the paradigm shift means that no number of words will necessarily suffice.
(Aside: If you are rubbed wrong by the first paragraph, in particular because you believe that reality is absolute or that truth is definable, then do not fear. You are merely having trouble overcoming instincts. Trust in mathematics; postmodernism arrived in mathematics in 1874, was completed in 1930, and is widely accepted by the mathematical community as meta-truth. Dissenters exist but necessarily must accept the meta-truth ("There is no one true foundation for mathematics.") to avoid being laughed out of the room.)
The vast majority of mathematicians will agree with "no one true foundation". However, unlike the bulk of postmodern/deconstructive work, they are then perfectly happy to say "this particular foundation is good enough to explore some interesting ideas", as opposed to wallowing in the fact that they had to take a generative step to create the mooring of their meaning.
In my non-expert opinion, I think many people instinctively rebel against Deconstruction, not because they can't accept that there has to be a faith-act to pragmatically root meaning... but because Deconstructionists, having discovered that such faith acts are necessary, then refuse to engage with any particular choice made by people who want to discuss pragmatic meaning.
Mathematicians have long ago internalized the important, but ultimately quite limited, idea behind Deconstruction (which, by the way, they didn't need Deconstructionists to tell them, since the idea of having to subjectively choose an axiom system goes back at least to the Greeks). Having understood this, they have since moved on with their lives to continue to do important and valuable things, just as they were doing before. What have the Deconstructionists done?
I find that most arguments that I have had with people usually end with them implying that their epistemology is rooted in something that is "good" or "reasonable" or "close enough" without any explanation of why it is that their chosen way of looking at the world must necessarily be beneficial. Indeed, you have pointed out that maths is a source of "important and valuable things", which I could agree with, but only with the understanding that our agreement is bound to the reality defined by our joint observations, and not a universal truth.
My point was not about choosing axioms, but about incompleteness, undefinability, uncomputability, etc., which cut short any attempts to bless a particular set of axioms as uniquely correct. You are only seeing the surface level so far; I assure you that it all deconstructs. (Be careful when looking directly at The Void.)
Finally: Where does meaning come from when having dialogues? Hofstadter explains it well: We constantly exchange deeply-coded messages with recursive layers of meaning, trying to reflect the symbols in our mind into words which we think will reconstruct those symbols in the minds we talk to. The "mooring of their meaning" is a fascinating illusion based on the inherent difficulty of stepping outside ourselves to examine where our own sense of meaning comes from.
Deconstruction changed the way we think about what we read, see, and hear, and taught us to question the assumptions inherent in the same. It gave us the spaghetti western, cyberpunk, and arguably punk rock itself (and it definitely influenced hip hop and dub).
Always remember that postmodernism is "defense against the dark arts" for the left. The techniques of playing shell games with symbol and meaning were devised by the right and by corporations and weaponized against us; postmodernism exists to make us aware of these techniques.
But I didn't really bring up the Derrida fan to argue about deconstruction or postmodernist thought.
I've seen related claims before, and, having attempted to dig into them, my impression as a lay person is that what is called "postmodern literature" is actually not obviously connected to postmodern thought and deconstruction.
I personally find, for example, the idea of an unreliable narrator or non-linear storytelling not to be obviously derived from the idea of the subjectivity of anchors of truth. There are of course superficial similarities, but I see no evidence that the academic and philosophical ideas were in any way necessary for the literary, musical, and cinematic ideas. My feeling about the alleged similarities is about the same as the claims that Cubism was deeply connected to allegedly parallel ideas in the physics of relativity -- ideas that would pass in an art house, given enough narcotics, but that do not withstand serious scrutiny if one actually knows anything about the origins of ideas in physics.
So I wonder if you would be able to draw me a straight line from, say, Derrida to The Sex Pistols? Or to explain to me how Gibson's Neuromancer would not exist but for Foucault? These are not rhetorical questions -- I would be truly grateful to receive a good answer, and it might just turn around my generally low opinion of the post-60s contributions of postmodernism and deconstruction.
Sounds like a lot of hand-waving to me.
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.
Worse, actually. At least those old TV sets didn't spy in on your intimate conversations, neither did they keep track of your whereabouts and generally spy in on you. Your phone, does.
I find that a valid rebuff of a "skeptic" (on quotes). A true skeptic should know their shit, first and better than anyone they care to er, skepticise.
That stuff is pretty concrete, with an actual GUI and real software. One can get their hands on the source code, though it's really not meant for public consumption (it was a proof of concept, not a commercial product).
Here are the progress reports (latest first):
http://www.vpri.org/pdf/tr2012001_steps.pdf
http://www.vpri.org/pdf/tr2011004_steps11.pdf
http://www.vpri.org/pdf/tr2010004_steps10.pdf
http://www.vpri.org/pdf/tr2009016_steps09.pdf
http://www.vpri.org/pdf/tr2008004_steps08.pdf
http://www.vpri.org/pdf/tr2007008_steps.pdf
That stuff definitely works out to a vision.
Where?
Within that distinction, lies dragons.
The issues I have with existing systems are divided in two categories: bugs/issues/not being polished enough, and conceptual inadequacy.
Most of my issues with actual products fall within the first bucket, because the second bucket actually means I'd want another product. This is where innovation is.
That being said, unlike Kay, I don't loathe what we have. I'd be very happy if it was just better. But, like him, I thin the fact it's bad has deep roots in the way it is conceived.
I think another commenter hit the nail on the head when he said that Kay was mostly disappointed with users.
About Steps specifically, I haven't tried it out, but I harbor a lot of doubt. A huge amount of work goes into making stuff merely tolerable.
Something I do have experience with is Pharo Smalltalk (which I believe is the most advanced offering in the market). In theory, having your own small universe based on coherent principle is heaven. In practice, it feels very constricting to work inside that box (the Smalltalk image), because you don't have access to some of your best power tools, or even to some basic modern niceties.
(Pharo Smalltalk and great, and improving steadily, you should try it out. But I don't see myself calling myself a Smalltalk developer/hacker any time soon.)
He did. There's "Personal Dynamic Media", the classic paper.[1] Kay's vision focused on the user as creator, rather than consumer, of information. In practice, most people are content to watch the boob tube, now available in handheld. This has been the frustration of new media inventors from Edison to Zworykin. What Kay is complaining about is the banality of computing today. That's a problem with humans, not computers.
Kay also thought that discrete event simulation was going to be really important. Smalltalk is based on SIMULA, which was a discrete event extension of ALGOL-60. Objects were supposed to be entities in the simulation. In practice, discrete event simulation is a tiny niche application of computing.
(I got a tour of PARC in 1975 when taking a course at UC Santa Cruz, met Kay and Goldberg, and saw some of the first Altos. The idea back then was "this is what can be done with enough money. Someday it will be cheap." Eventually it was, but not soon enough for Xerox. Years later, I programmed an Alto in Mesa while at Stanford, although by then it was obsolete.)
[1] http://www.newmediareader.com/book_samples/nmr-26-kay.pdf
Perhaps because the vast majority of programmers learn to program in an OOP language first, and then find it very hard to learn a different paradigm. Or maybe they have very little time to do so.
I think this leads right back to the point alankay1 is making (if I got it right): that given a hammer and sufficient time, you become a hammerer; someone who can hammer nails and can't do much else.
So asking "why is OOP so popular" is a bit like asking "why do people watch Holywood movies" (i.e., if they're not good cinema). That's what they're used to.
But what alternative do we have / had?
This organic design of the web stack with layer upon layer upon layer upon layer can't go on for forever. At some point it will just become too painful and an alternative will emerge.
but try loading various present day pages without JS enabled.
Many of produce just a white screen unless you turn on JS for 3+ external domains to the one you are trying to read.
And once those load, you often find half the screen filled with persistent headers and footers.
In effect Flash didn't go way, it was just turn into JS+CSS.
And in large part i fear we get this because the people in charge are hell bent on recreating printed media in electronic form.
I agree with the rest of what you said but those are just design decisions. My point was that, regardless of the code headaches, the platform itself (HTML, CSS, JS) is an incredibly flexible and resilient system.
I agree. I see the conflict between designers and users to be one of the primary reasons for the current state of the web.
The conflict is about who gets to control how the content looks. The web was intended for users to have that control. The browser is your "user agent", you get to decide what and how gets fetched and displayed. The designers, on the other hand, want to treat webpages as color magazines - they want to have full control over what's shown on your screen, as for them the form is just as important as the actual content. They would happily serve you the web page as a PDF, if they could get away with it.
Personally, I'm firmly in the "user gets to control" camp, but the market prefers the "designers get to control" camp. So here we are, with web browsers continuously removing the ability to control anything, and the HTML/CSS accruing more and more layout control tools.
And then we need to recognize that that stack is a fucking abomination that should be burned with fire. It should so deeply embarrass us, that we wouldn't want to admit that we use it in polite company.
We need people who are willing to experiment with new ideas and give us something better than HTML/CSS/JS. And we need them to get funding.
I just recently started looking at actually creating some web content that uses the modern web stack. Holy moly. What a cluster f__k of insanely over/badly-engineered craziness.
That difference means that it's orders of magnitude easier to "abuse" Excel to do some things it wasn't designed to do than to do the same with HTML. I seriously wonder if the reliance on HTML to this day is not a kind of "job security" thing for web devs (like myself, btw)...
HTML and CSS require that a large amount of information be pre-shared and implemented by different systems (i.e. all browsers need to implement ginormous standard with all subtleties). After all that, you don't even get much interactivity, you need Javascript.
A better design would be to share a tiny set of primitives that are designed to compose nicely and that can be used to build up much more powerful apps.
It was in effect Netscape that tried to turn it into an UI as a way to get into the office network market. This riled up Microsoft, and the rest is history.
http://lively-kernel.org/ (from ~2012)
It’s coming. In 5 years Javascript development will be a distant bad memory. Front end web will become much like native mobile development but with a richer ecosystem of IDE’s and languages based around WASM.
https://github.com/breck7/treenotation
A sample from an HTML replacement:
A sample from a CSS replacement: It is not HAML, though that was one of my first inspirations many years ago.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.
Of course he's also spent 50 years trying to implement his vision of the web and failing [0] so there's that.
[0] https://en.m.wikipedia.org/wiki/Project_Xanadu
"Steve wasn’t capable of being friends. That wasn’t his personality."
On the programming side, dependent types maybe. Everything else is from ml or lisp.
Neural networks are old old ideas as well. Computers have finally gotten fast enough to make use of the ideas.
Have you learned about monads yet?
If you're building something visionary and are not the one who's making tons of money off of it, you have two solutions:
1. IF you're interested in making money: Try to figure out what you're doing wrong and fix it so you actually CAN capitalize on your original invention
2. IF you're NOT interested in making money: Enjoy the respect these people pay you and please don't badmouth others who worked hard to build important products that changed the world.
I feel like Alan Kay is on the second boat, so my heart breaks whenever he badmouths other people who worked hard to build cool things.
It doesn't matter what came first. What matters is what actually managed to pull off the ultimate success.
If you're interested in what Kay really means, maybe listen to some of his numerous other talks?
So, the STEPS project I mentioned above¹ doesn't count? Bret Victor's work wouldn't count? That's incredibly short sighted.
You seem to have missed the part where it's really really hard to be successful with unnatural stuff, even when that stuff is unbelievably useful and valuable. Writing is unnatural, and took a long time to spread. It's still not there yet, and with the television and YouTube, we're actually reverting back a little bit.
Computing is even less natural, so instead of a Victor-esque interactive wonder, we got the caveman interface, where you point and you grunt².
Speaking of badmouthing, my heart breaks every time someone implies that recent Apple devices are cool. They're dystopian demons that seduced people into giving into thinking digital prisons are cool. The Apple ][ was cool. The iPad is crap (it could be cool, with the right OS).
[1]: https://news.ycombinator.com/item?id=15266230
[2]: https://www.youtube.com/watch?v=uKxzK9xtSXM&t=2m18s
It is incredibly short sighted to make an assumption about what I said and criticize on that wrong assumption. There's a term for this logical fallacy but i forget.
Anyway, there's a huge difference between coming up with an idea/prototype and turning it into a product that's meant for mainstream usage. You would only know this if you have actually built something that's meant for mainstream usage so if you don't get this it's fine, but try doing that next time and you'll realize that's true.
What I'm criticizing is his comments on Apple's implementation decisions on things like the stylus. There are plenty of reasons why they decided to go that way, and I totally understand if this criticism was coming from some ignorant journalist who hasn't built anything (because they're ignorant), but Alan Kay should know better. There are way more things to consider than just ideals when you're building a real product.
This is probably why Xerox Parc built so many innovative prototypes but most of them were commercialized by other companies. If they had people like Steve Jobs instead, Xerox would be Apple by now.
If you think I'm being overly critical, just watch some of his speech videos on youtube, too much of what he says is based on the past and not the future.
Are you saying I was mistaken and the STEPS project and Bret Victor's demos do count after all? Even though they're prototypes that haven't been "productised and distributed"?
I merely assumed you meant what you wrote. If you didn't, don't complain.
> What I'm criticizing is his comments on Apple's implementation decisions on things like the stylus.
Come on, that criticism was spot on. The iPad could have a spot for the pen. The pen could be tethered to the iPad. Apple could have sold pen like they now do. The Nintendo DS ships with a freaking pen.
I'm reluctant to dispute your point in general, but that was a bad example.
Yes they could, but I really think this is subjective. In my case I prefer NOT to have a spot because of aesthetic reasons, plus I never use the stylus.
But like I said, this is subjective. And that's exactly the point. You can't really judge execution based on subjective qualities like this. It's impossible to satisfy everyone.
It's just a difference in vision. People have different priorities. For example the Bitcoin community right now is divided into two based on their philosophy, and you can't say one is right and one is wrong because each has their own vision and each side makes sense in their own right.
I'm sure Alan Kay had his own vision about what a computer could become. I think if he's so dissatisfied with what it's come to, the best approach is to build one himself and give it to the world. (But honestly, as someone who's been thinking a lot about this field, I see so many "plot holes" in all the criticism he's making)
I am all for visionaries building inspiring products and shipping to market. But it's sad to see people like him dwelling on the past instead of the future.
I'm fine with that, but just because you're making art, doesn't mean everyone else is an idiot.
Also I think it's very condescending to think that others didn't have vision.
Lastly it's cheap to criticize someone else for "shitty execution" when you yourself have the ability to show with your own execution but you clearly haven't. It's easy to throw around the word "execution" but it's not an easy thing to do.
Few companies today will create anything that is a truly shattering invention, for the simple fact that companies are not structured to invest the time and money in ways that such inventions demand: decade long cycles, where failure and "wasting" money is the norm. The quarterly earnings cycle prevents this. What's worse, that cycle has been absorbed into the way politicians and governments now think. Today the NSF wants you to demonstrate how your research will produce the desired results when applying for grants. That's not how exploratory basic research works. You'll only ever get more arcane iterations on current systems and technologies.
Kay has spent his life doing this kind of exploratory research. PARC, Squeak, STEPS -- I'd call all of that "execution." But perhaps others who see businesses and profits as the sole reason to get up in the morning would disagree.
2. Which means you're making assumptions about what I'm thinking.
3. Please don't label others on the Internet with words like "Neoliberal", etc. We are all same people and there may be misunderstanding but we are not fundamentally different species.
4. My point was not to say these not-for-profit research is useless, but that if you're in this field, you should own it. If people build things that are mediocre and you know a better way, why not build one and show it for yourself? He hasn't done that because he doesn't know either. And by "Knowing" I mean actually knowing to build a product that people will use without any problem. It is easy to criticize implementation, it's not easy to actually do it yourself. With all due respect, prototyping and actually turning it into a product that general public can use are completely different ball games.
By the way, Alan Kay has built stuff people can actually use. Scratch, for instance is so usable that even children can learn it.
Ah. Learning. I don't want to assume, but it looks like you missed the part where Alan Kay wants the general public to learn about computers, and stops viewing them as magic golems. This is a completely different ball game from merely making a popular consumer device.
As Steve Jobs reportedly was fond of saying, "Great artists ship."
It's also worth noting that TCP/IP was able to outfox the planned X.25 ISO standard for international network transport in large part because ARPA was releasing code and standards for free and testing it live. All of that happened before the Internet was commercialized.
Maybe I'll finally give it a try!
Every once in a while I daydream about a sort of "distributed app platform" built on top of Scheme and IPFS. -- Perhaps Red would actually be perfect for this...
Have a peek at dat and beaker browser, they've done interesting stuff in that regard recently.
Some kids learn guitar. Some kids fantasize about learning guitar. Apple makes machines that enable the computing equivalent of both of these things.
You're never going to turn all listeners into musicians, all readers into writers, all theater-goers into actors. You can't even get everyone to dance at a wedding with an open bar. Technology can play a role in getting a few more people over the line, but Alan Kay's head is way too far in the clouds for him to even see the problem that way.
Honestly, I think what he's done is dissociated himself from his own snobbery. He talks about technology failing humanity, but he's really saying he doesn't like people. He doesn't like how most people think and live. Why else would he constantly be disappointed in technology failing to turn all of humanity into always-on cultural creatives? It's like he looks at books and says, well, the dream for books is for everyone to read challenging literature, but at the beach or on the subway you see mostly "Eat Pray Love" and Stephen King, so clearly books have failed.
People are doing the same dumb shit with books and technology that they did without it. They choose passive consumption. When I complain about it, I'll blame it on technology so I don't sound like a misanthrope.
He constantly talks about creating, learning, and education, but he doesn't bring any attention to any current work supporting these activities. He doesn't say, look, here's this great work being done for kids, and it's limited because the iPad needs this feature. He doesn't say, look, here's this great computing system I use to support my own work, and it be a lot better with this specific kind of OS or hardware support. Instead of talking about how the Apple hardware is holding back current work, he's talking about how it fails to implement his own ideas from thirty years ago.
You'd think he could find SOME new idea to promote and celebrate, if only to point out what he thinks progress looks like, but apparently Apple has snuffed out every worthwhile avenue of improvement by a few unfortunate unfortunate hardware choices.
Hell, where's even the usesthis interview with Alan Kay?
>They choose passive consumption
The same person is likely an active producer in one area, and a passive consumer in others. I know I am.
That's what you see around you, talking to most people?
As for the "not turning all readers into writers," well, what can we say? One would hope that all readers are literate enough to write. Now, we don't expect all literate people to be professional writers, but this is not in line with what Kay is arguing anyway. He's saying that being literate in computing should mean being able to wield computing in order to aid human thinking -- for everyone. He's calling out our current systems, saying that their availability and use, though ubiquitous, do not constitute such literacy.
That's what I think computing should be. Giving people ability to solve even more complex problems themselves, even more effectively.
And why should he? Millions voted for Trump. Heck, millions also voted for Hillary. Neo-nazis, tele-evangelists, climate change denial, PC, twerking and Justin Bieber are all things. Does that sound like a society we should like how "most people think and live"?
>Why else would he constantly be disappointed in technology failing to turn all of humanity into always-on cultural creatives?
Because he actually loves people and doesn't want to see them squander their potential?
>He constantly talks about creating, learning, and education, but he doesn't bring any attention to any current work supporting these activities. He doesn't say, look, here's this great work being done for kids, and it's limited because the iPad needs this feature.
Err, he literally does just this in the interview.
Last VPRI paper I read was some whiz-bang way of laying out proportional text. Cool, but when the whole damned industry is a battlefield for locking-in devs and wringing as much money as possible from the digital peasantry, making a slightly better text rendering algorithm seems like mental masturbation.
If he took that money they were giving him for VPRI to re-live his glory days, and gave it to devs who are giving away high-quality creative software instead, that would go a lot further towards his goal.
https://www.blender.org https://ephtracy.github.io http://16-bits.org/pt.php http://www.audacityteam.org https://www.gimp.org http://picoe.ca/products/pablodraw/
I respect Alan Kay, but I don't understand the need to bash on modern day technology.
Have we really come along way in terms of general computing? Maybe not [Example: 0]. But in terms of the digital world, I can take a video of my parents and send it to my cousin who lives 10,000 miles away and he can respond in a matter of seconds.
I can literally meet people in remote areas of the world. I can interact with people who barely have food but somehow can get cell phone access and now they are learning and communicating with everyone else. I can't imagine a better way to level the playing field (socioeconomically) globally then how we have it.
Do we have a lot more work to do? Sure. But Rome wasn't built in a day.
The future of the internet & technology, the direction it's headed, is going to come from small contributions from millions across the world.
What people will need will turn into what we have and use. And there won't be some magical device that just pops out of nowhere that will change everything.
[0]: https://www.youtube.com/watch?v=yJDv-zdhzMY
That is not Kay's argument. Not everyone who scribbles notes or draws something on a piece of paper is a "creative" or artist. Not all who write at all are professional writers. But we do not have the computing equivalent of paper for everyone. Sure, someone can write in a word processor or draw in a drawing program, but that's not all that a computer is for -- that's just imitating paper. The outstanding question is: can we make something that is as extensible as pen and paper and literacy for aiding human thought for the next level, the computing level? All we have now are stiff applications. Saying that such things make people literate in computing is like writing by filling out forms.
> "Do we have a lot more work to do? Sure. But Rome wasn't built in a day."
Kay is your ally here, a constant gadfly putting the lie to all the hype and BS. He's a constant reminder that we shouldn't feel so satisfied with our mud huts. He's reminding us to build Rome at all.
who cares about quality ? who is the judge of what "quality" is ? As long as someone can create the content _and distribute it_, they are a digital creative.
"To make quality content ..."
The right tools shouldn't be about creating "content", they should be about letting you solve your own problems, instead of trying to transform them into problems you can buy a solution for. Creative arts are only subset of this - they happen when someone's problem is "I want to make a piece of art".
> Have we really come along way in terms of general computing? Maybe not
That's the point AK seems to be making, though. All the great things you mention are huge accomplishments, yet they're also disappointing compared to what is possible, what we should have now. Rome wasn't built in a day, but you have this whole army of Rome builders who decided that it's better to sell bricks instead of building the city...
Disappointed many comments have disassociated this from where we are now.
Thank you Alan. Excellent read.