18 ms·
Alan Kay on web browsers, document viewers, Smalltalk, NeWS and HyperCard (2021)
- throwaway09432 4y ago[flagged]
- aduitsis 4y agoPlease read the article, it says the opposite of what you think it says.
- throwaway09432 4y ago[flagged]
- deleted 4y ago[deleted]
- hanniabu 4y agoIt would have been nice if it evolved into something simple like markdown documents, but also support and alternative markup language geared towards app
- marcosdumay 4y agoLike XUL? The browsers didn't stuck being document viewers. HTML that stuck being a document format.
- still_grokking 4y agoLike HTML embedded Java applets?
- calvinmorrison 4y agoWeb browsers achieved all the dreams of Java developers. In fact, declaring to a newly wed college graduate that - back in olden days of yore - software had to not only be downloaded, but it had to be hand built against each operating system, until a magic wonder called Java came around and abstracted those things. Then better browsers came and brought the Java into the browser, then finally javascript and rendering had reached enough maturity to implement essentially an entire operating system / virtual machine AS the browser, that java applets were gone. truly incredible in a sense
- colechristensen 4y agoBut I also want just a document viewer. Great job building all that, developers of the world, now how can I read a news article or an email in a modern sense without a complicated machine executing code that’s not at all for my benefit. I do very little on the web where I actually want there to be code running on my document.
- RajT88 4y agoMore news orgs should offer up something like lite.cnn.io.
- throwaway09432 4y ago>I do very little on the web where I actually want there to be code running on my document. Just some random examples, but how do you do your tax, pay your bills, buy/sell stuff online, make appointments etc?
- colechristensen 4y agoNone of those things require client side code other than an HTTP POST. Some things yes client side code makes sense, like an appointment finder, and that’s fine, but such things make up a tiny amount of my internet activity.
- 4y ago
- deleted 4y ago[deleted]
- rootusrootus 4y agoIf browsers had stuck to being document viewers, we'd have invented a new technology to do everything we do today, and the web would be like gopher.
- goatlover 4y agoThe technology already existed with the JVM, .Net, Flash, Silverlight, etc. It would just be a different runtime than the browser. Mobile app stores are that.
- wahnfrieden 4y agoiow proprietary fiefdoms
- rektide 4y agoAnd it's entirely unclear what any of these non-view-source minimal-user-agency alternatives has that's actually improved over what the web can do. There's no contentions about what about these alternatives would be an improvement, or to whom it would be an improvement. Most of these architectures could probably be recreated on the web, if we cared to, if we thought they provided sufficient advantage. Projects like swf2js are surprisingly competent at playing Flash. But it's... just not a better medium, for users, for extension builders, or for developers. It did have some good tooling for creatives at least, but there are plenty of really good modern web tools with similar capabilities, they're just not as popular, not as important anymore, I'd argue because Flash was actually a pretty crude & raw interface builder that lacked much of the refinement, navigability, control, & capabilities we now take for granted.
- goatlover 4y agoWhat do you have in mind that beats Flash as an SVG animation development platform?
- dmitriid 4y ago> It did have some good tooling for creatives at least, but there are plenty of really good modern web tools with similar capabilities There really aren't. Because the web can't even do animations properly. And Flash had a faster vector rendering model than SVG. > I'd argue because Flash was actually a pretty crude & raw interface builder that lacked much of the refinement, navigability, control, & capabilities we now take for granted. Ah yes, the refinement, navigability, control and capabilities of... what exactly do we take for granted? Where are these amazing tools that replaced flash and can be used for creatives, games, interactions...
- beders 4y agoAaaand here we are, still bound to the atrocity that is the DOM. With still limited interactivity and terrible work-arounds (canvas). And still with a data silo problem - (but not quite as bad as the data silos created by 'apps' on your devices)
- BulgarianIdiot 4y agoDOM is what's commonly known as "retained mode graphics" and the canvas is known as "direct mode graphics". You literally have the two primary strategies for visualization in a platform to use as you please, but you're unhappy. I'm curious why? The browser APIs we have today have legacy cruft, no question about it, but they also have all the good, and modern parts any other system for GUI and graphics would have. It's surprisingly complete today. I think browsers suffer an "image" problem, where we just assume what's there is bad, for some reason. I'd be curious to hear specific shortcomings you encounter in your work.
- wmf 4y agoThere's a big design space within the retained mode concept and you can see places where DOM probably isn't the right design for apps. For example, I've never seen reflow or the "flash of unstyled content" problem in real GUIs. Sure, there are ways to prevent these problems when using the DOM, but in traditional toolkits those problems are not present to begin with.
- BulgarianIdiot 4y agoTraditional GUI toolkits are local apps, not streaming content.
- wmf 4y agoThat's true, but so are a lot of SPAs and Electron apps. I don't think downloading the whole app is much of a burden if it makes the UI less janky.
- jefftk 4y agoI think this is copied from his 2021 Quora answer: https://www.quora.com/Should-web-browsers-have-stuck-to-being-document-viewers/answer/Alan-Kay-11?ch=15&oid=262904581&share=48b5e1cd&srid=o1Y6&target_type=answer https://www.quora.com/Should-web-browsers-have-stuck-to-bein...
- DonHopkins 4y agoYes, that's where the first link points, to where the discussion started on Quora, but it continued in the comments (which require a whole lot of scrolling and pointing and clicking to discover and read on Quora), over email, and on David Rosenthal's blog, so I thought it was worth putting the whole thread in one place, and updating the links.
- jefftk 4y agoThanks! I completely missed the link because I thought it was an ad.
- throwaway81523 4y agoI blame the day that Mozilla trashed the end user principle and removed the ability to shut off Javascript from the preferences screen.
- nobody9999 4y ago>I blame the day that Mozilla trashed the end user principle and removed the ability to shut off Javascript from the preferences screen. In that case, the Disable Javascript[0] addon might interest you. [0] https://addons.mozilla.org/en-US/firefox/addon/disable-javascript/ https://addons.mozilla.org/en-US/firefox/addon/disable-javas...
- throwaway81523 4y agoNo that misses the point. Turning off JS might not be impossible, but once it became inconvenient enough, more and more sites came to fundamentally depend on it and became impossible to use without it. So if you turn it off, lots of the web becomes unbrowseable. Regarding the browser internals being in JS: the UI option to turn off JS was about not running JS found on web sites. The browser internals are another matter.
- nobody9999 4y ago>No that misses the point. Turning off JS might not be impossible, but once it became inconvenient enough, more and more sites came to fundamentally depend on it and became impossible to use without it. So if you turn it off, lots of the web becomes unbrowseable. Sorry for the late reply. Actually, I am very much aware of this. Mostly because I default to browsing with JS disabled and don't enable it unless it's required for the content on a particular page. Often times, I just don't even bother enabling JS on pages that require it and move on without viewing whatever "important" information that can "only" be displayed with JS. So yes, I am aware of the overuse of JS. That said, I can't control what tools/frameworks website developers use to create their sites. And since I am not a big fan of running arbitrary remote code on my devices, I choose to limit the ability of remote sites to do so. Is that a solution? No. But asserting control over my devices is the only option I have. Well, aside from raising a few tens of millions to start a web development training academy to teach the world's web developers that they shouldn't use JS to do simple things like displaying static text or images, and that all computing required should be done server-side and not on the client, unless the client affirmatively consents to such code running on their device. Unfortunately, I'm guessing the VC world has little interest in such an endeavor. As such, I'll continue to do as I do WRT JS. It's not great. Heck, it's not even good. But it allows me to at least attempt to retain control over my property (in this case, browser-capable devices). I take other steps too, such as using DNS block lists (PiHole), egress filtering, browser containers/private tabs as well as various content blockers. Those steps may turn out to be ineffective in the long term, but hopefully I'll be dead before that happens. I will continue to employ and tweak those methods until they aren't useful. My devices should do what I tell them to do, not what web developers want my devices to do. While those things may be the same, I'd like to be able to decide that for myself.
- CyberDildonics 4y agoThe full title is "Alan Kay on “Should web browsers have stuck to being document viewers?” and a discussion of Smalltalk, NeWS and HyperCard" The first sentence is Alan Kay answered: “Actually quite the opposite..." Looking past the poorly edited title this whole thing is clickbait answered with one question. No one really thinks all the interactivity we have in web pages is bad and implying that someone does for clicks is dishonest.
- BulgarianIdiot 4y agoNo one really thinks? Well I doubt you never opened a page and sick of it downloading megabytes of JS and breaking navigation because instead of links, the navigation is say React with mouse events hooked and loading parts of the page in the background with spinner graphics. Everything can be done poorly or well. And because modern sites are often done so poorly, the power of interactivity is also seen poorly (it allows you to be worse than if you didn't have it). This does push some people into contemplating restrictions or subsets of the web platform as a standard. Where you simply can't do the travesties we see on popular sites today.
- hota_mazi 4y ago> No one really thinks? Well I doubt you never opened a page and sick of it downloading megabytes of JS and breaking navigation because instead of links, There will always be poor examples, but they don't invalidate the concept. Smart web pages, when done right, are an incredible time saver, and if you're not convinced, go visit, for example, the web page of your bank from 15 years ago on the Wayback machine.
- BulgarianIdiot 4y agoThe prevalence of poor examples does invalidate the concept. More accurately it does NOT invalidate it, but points out we need that concept refined. There's no selective pressure for making a page well-designed, light. Google is trying to to put better designed sites higher up, but they can't hide good content only because it provides horrible bloated UX. I'm not literally against JS? :D
- 1vuio0pswjnm7 4y agoWell, as a text-only browser user for decades, all I can say is that there is a great deal I can do with the text-only only browser than I can no longer do with the enormous "modern" graphical browsers. Even something simple like opening a very large HTML file will cause Chromium to choke. With text-only browser I can fly around the www and consume information at a speed that is just impossible with a "modern" browser. No auto-loading resources, no pre-fetching, minimal headers, no user-agent, no cookies, no Javascript or CSS, and so on. In the "modern" browser one ends up with an ever-growing number of tabs. In text-only browser I have no tabs. Yet I have a complete navigable browsing history of content URLs.^1 I have enhanced this with a TLS proxy that records every URL. In a "modern" browser any such comprehensive browsing history generally becomes a liability, along with cookies and too many other things. And the history would be cluttered with auto-loading URLs for no-content URLs that must be filtered out Too complex. Too much work. I'm in textmode most of the time, the "modern" browser generally cannot operate there, so it is of limited utility. Even just the sizes of the binaries for "modern" browsers are absurd. Chrome is like 150MB. To try to compile a "modern" browser is, IME, more difficult than compiling an entire UNIX-like operating system. Many folks simply refuse to even try or just give up. One can still download W3C's line mode browser from the 1990's, it will still compile and it still works. I use a curses-based browser but I still do many HTTP requests using nc or similar along with localhost-bound TLS forward proxy. HTTP/1.1 pipelining for bulk text retrieval is a favourite feature of the www and that cannot be done inside a browser. 1. "Content URLs" here means URLs pointing only to pages at the domainname I entered, pointing to pages with text content that I can read, not stock images, pixels, ad servers, telemetry and other garbage.
- extr0pian 4y agoOut of curiosity, which text-only browser do you use? I personally use w3m for many things, including HN and viewing links from HN (if the website permits it).
- user3939382 4y agoI haven’t found a text browser that is able to properly render the nesting of HN comments, they all appear at the same level. I haven’t looked recently though maybe it works on some text browser now.
- deleted 4y ago[deleted]
- mdale 4y agoThe history of the web is littered with attempts to build more generalized engines for safe rich media / app execution. Microsoft silverlight, java applets, adobe flash etc. These attempts ran into problems around openness (one company did not want to promote another) and friction with resource contention of the host operating system. For example rich web media needed to be tightly coordinated with iPhone development for performance concerns and to force publishers to retool for mobile experience. I don't think we have sacrificed so much in possiblity once you weight the constraints of the time and the world of possible today. Device monopoly and app store becoming what they became is probably not something the open web could have prevented even if there was more holistic vision for web tech up front.
- mikewarot 4y ago>attempts to build more generalized engines for safe rich media / app execution Again, the inability to run untrusted code thwarts progress. Imagine if you had to grant access to your wallet forever to spend a $5 bill. Cash would never become a medium of exchange. We need general purpose computing that gives no access by default to anything. Just like me and my wallet.
- 323 4y agoGUIs, images, video, are all a mistake. Computers should have nothing more than text terminals, as Ken & Ritchie intended. That way the world would be a better place without TikTok, Instagram, YouTube.
- the-printer 4y agoYou know what…I sort of agree with you. You’re on to something.
- frou_dh 4y ago> Computers should have nothing more than text terminals, as Ken & Ritchie intended. Odd statement because that same Bell Labs crew created Plan 9 as unapologetically bitmapped GUI, since even 30 years ago they already considered TTYs to be a smelly anachronism.
- rayiner 4y agoYes. The modern web is an example of how many things are just worse now. It’s like Hollywood movies, power tools, and Applebee’s. Many things were just better in the 1990s.
- deleted 4y ago[deleted]
- rogers18445 4y agoIt was inevitable, what people generally want is to be able to interact with another node on the network in a visual way. The fact that browsers started as simple HTML is only due to technology limitations. If the web was being made form scratch today, it would probably start with a repurposed game engine.
- wmf 4y agoThe fact that browsers started as simple HTML is only due to technology limitations. It's not clear that this is true. Smalltalk and Hypercard existed before the Web. The Web started with static HTML because its vision was based on static documents, not apps.
- jandrese 4y agoThis is exactly right. Hypercard and HTML started the problem from opposite ends. Hypercard being a GUI app development tool and HTML being a way of joining together text documents. That said, a network enabled Hypercard would have been a security nightmare. It was way too complex to secure given coding practices of the time. Heck, even "simple" web browsers had a reputation as a security weak point in the early days. There were no end to people who thought integrating the web browser with the OS was pure lunacy that was going to result in an endless string of compromised machines. Luckily "live desktop" and the like ended up being such weak features that they didn't have quite that much impact.
- theGnuMe 4y agoRight but with "containerization" it could have been secured earlier.
- jandrese 4y agoContainerization is easier said than done, especially with no hardware support. Ultimately you have to make compromises to keep it performant (remember this is on 386/68030 class hardware) and those compromises come back to bite you. Containerization also has a memory penalty, and memory was precious back in those days. Remember that early web browsers were heavy criticized for running poorly on less than 8MB of RAM.
- splittingTimes 4y agoI am as ever amazed by Alan Kay's ability to comprehensively remember events, interactions with people and thoughts he had from 40 or 50 years ago and still have such detail. I cannot remember all the interactions and conversation topics I had two weeks ago or explain in detail how an issue got fixed or what its root cause was. It feels to me as if things happen so fast today, that my brain drops old information the moment I consider it done to make room for all the new information. Is there a trick or technique to it [1] or is his brain wired differently with higher neuroplasticity? === [1] I do use bullet journaling for example. It helps to stay on top of the gazillion things that need my attention, but feel it makes matters worse in the regard as I offload stuff and my brain knows it can forget about it ever more.
- deleted 4y ago[deleted]
- agumonkey 4y agoAh I wonder, are these recent memories worthy to you ? A colleague told me my memory was impressive yet we both struggled to remember what we worked on a month ago. As soon as a release was done, our brain wiped mostly everything to start on new work. I was personally shocked and I assume it's because it's of no interest to my brain. Some stuff gets a lifelong spot in your brain, some are week long refugees.
- mcswell 4y agoMy mother had memory problems in the last years of her life. My sister would take her to a coffee shop, where she would order a latte or some such. To my mother, it was new and delightful every time--and she would exclaim over how she'd never had anything like that before, although in fact she'd had it just the week before. When I get old(er), that's how I hope I'll be: delighting in new experiences, even when they're old.
- blippage 4y agoI discovered some weird thing: our brain seems to have "taste memory", separate from "regular" memory. If you have the same dinner several times in a row, for example, you become averse to it. You then have to stop having it for awhile so that the brain "forgets" what it tastes like.
- yakubin 4y agoBrowsers still fail at being good document viewers: 1. For a long time now Chromium didn't support MathML. It's only coming back in the upcoming version. 2. Firefox's implementation of MathML is buggy: <http://0x0.st/o7HQ.16.mov http://0x0.st/o7HQ.16.mov>. 3. There is no CSS property to enable grouping of threes of digits in large numbers, so you need to put spaces into the markup, resulting in them being included when copied and search discovering completely different numbers than the ones you want to present. 4. And just try making this table reproducing the proper alignment of numbers in HTML: <https://practicaltypography.com/samples/number-grid-after.pdf https://practicaltypography.com/samples/number-grid-after.pd...>. It's hell.
- deleted 4y ago[deleted]
- geysersam 4y agoI've never encountered a document viewer with property 3. Does this space technology exist?
- yakubin 4y agoExcel.
- still_grokking 4y agoRegarding 4. Only the "weight" column looks tricky to be honest.
- gfodor 4y agoOf course, the big question is if the web worked because it didn’t start out as a dynamic programmable media platform like HyperCard.
- dang 4y agoDoes anyone have a year for this material?
- jakelazaroff 4y agoSeems like 2021: https://news.ycombinator.com/item?id=34305021 https://news.ycombinator.com/item?id=34305021
- dang 4y agoOk, let's go with that for now. Thanks!
- scombridae 4y agoI dunno who this Alan Kay guy is, but he needs to get to the point faster.
- DonHopkins 4y agoJames Gosling's article, "SunDew - A Distributed and Extensible Window System" from "Methodology of Window Systems" is a fascinating preview of NeWS, but even more so is the transcript of the discussion between some amazing pioneers of interactive computer graphics who attended the the workshop where the paper was presented. I love how James gently humors the standards guy (P. Bono) who suggests he should have considered the glorious "CGI graphics model" (Core Graphics Interface) standard, and seems incredulous that he is "ignoring the standards" by choosing PostScript over his favorite standard of the day in 1985, CGI. My favorite quote is: "There is really nothing new here. It's just putting it together in a different way." -James Gosling SunDew - A Distributed and Extensible Window System, by James Gosling: Discussion http://www.chilton-computing.org.uk/inf/literature/books/wm/p005.htm http://www.chilton-computing.org.uk/inf/literature/books/wm/... 5.4 DISCUSSION Chairman - George Coulouris Williams: What is the scope of the devices you are considering? I don't suppose you intend running the window manager on a graph plotter. Gosling: The crudest display we are willing to accept is 1 bit per pixel black and white but we also support 8 or 24 bits per pixel colour or 4 bits per pixel black and white. Williams: Essentially bitmap raster devices. Gosling: Right - although when you get to grey scale devices, things stop behaving in a model that is comfortably compatible with RasterOp. You have got to be able to deal with antialiasing, such things as subpixel positioning begin to make sense. It makes sense to draw a character midway between two pixels because you can use antialiasing to shift the character over by subpixel amounts. Bono: When you use the word PostScript, do you mean literally that PostScript is in some way your virtual machine instruction set? It has not been extended or generalized? Gosling: It has been extended. It is a superset. We are committed to implementing everything in the PostScript telephone book that makes sense. They have a few commands that are particular to their storage allocation and to the fact that they are going to a printer and these are not implemented. We have imported some things that are peculiar to a display and a small number of incompatible changes to the language have been made which we spent a long time talking to the people at Adobe about to make sure that was reasonable. In particular, we added garbage collection and lightweight processes. There are very tiny ways in which the semantics of PostScript's memory allocation strategy shows through in the printer version because they have a quick and dirty storage allocation mechanism and that wasn't really useful in this system. Bono: The virtual machine was not virtual enough. Gosling: Right. When we made the generalization to multiple processes, their storage allocation mechanism just completely broke and so we had to use garbage collection instead and that necessitated some small semantic changes but they are not things you are likely to see. All of the important things such as how you specify a curve, whether you can render an image rotated 37 degrees, all of that is there or intended to be there. Hopgood: How do you handle input? Gosling: Input is also handled completely within PostScript. There are data objects which can provide you with connections to the input devices and what comes along are streams of events and these events can be sent to PostScript processes. A PostScript process can register its interest in an event and specify which canvas (a data object on which a client can draw) and what the region within the canvas is (and that region is specified by a path which is one of these arbitrarily curve-bounded regions) so you can grab events that just cover one circle, for example. In the registration of interest is the event that you are interested in and also a magic tag which is passed in and not interpreted by PostScript, but can be used by the application that handles the event. So you can have processes all over the place handling input events for different windows. There are strong synchronization guarantees for the delivery of events even among multiple processes. There is nothing at all specified about what the protocol is that the client program sees. The idea being that these PostScript processes are responsible for providing whatever the application wants to see. So one set of protocol conversion procedures that you can provide are ones that simply emulate the keyboard and all you will ever get is keyboard events and you will never see the mouse. Quite often mouse events can be handled within PostScript processes for things like moving a window. Sweetman: How do windows relate to canvases? Gosling: I did not use the word window because its overloaded with all kinds of semantics. Does it have a border? All that a canvas is, is a thing on which you can draw. It is not even rectangular. Sweetman: Do you see canvases on your display? Gosling: Yes you can. A canvas is a thing on which you can draw. It might be visible on some display and it might not. If it is visible, you can specify its position in a 2.5D coordinate system. It is opaque but you can get a transparent effect if you want something to show through a window, by cutting a hole in the window. Williams: You say clients have to accept redraw commands. Is there any indication as to how soon they are supposed to do them? Gosling: The client can ignore the request if it wants. The screen image will look a little funny. Or it can wait half an hour - it does not affect the integrity of the screen. It will affect the integrity of its window but nothing else because all the canvases are maintained in apparent isolation from each other. Williams: Will the visual image just contain what was there before? Gosling: You can do that, if you wish. For most applications it does not make any sense to retain the old bitmaps so you might as well just blow them away and replace them by whatever is most convenient - which is probably what was there before. There are some times when you would like to retain the old bits - that is there as an option. I really want to make it difficult for people to exercise that option as it is a very tasteless thing to do in general. Bono: I hope I am not being overly opaque about this but it seems like I have a sense of deja vu in that it's a lot better way of doing what people did with display lists, where you sent things down to Vector Generals or whatever. They were little programs and there was some grouping structure but everything is done so much nicer now in the sense of having complete programs and a better set of primitives etc. Am I missing something from the model or is that really what is going on? Gosling: One of the things that tended to characterize all the display list languages was that they tended to be tailored very much towards what the hardware could do. PostScript tries to stand back and say "I don't want to know what the hardware can do, I want to know what makes sense for the user". Bono: What I would like people to do when they do look at standards, instead of ignoring them, is to look at, for example, the CGI work; this is a set of functions which some people claim is a good instruction set (forget the syntax for the moment, just look at the functionality). We would like to get some comment on whether it is a good set of functions and that is what you should be looking at rather than ignore the standards. All of this could be fitted in a standards context if we get it right. Gosling: One could easily use the CGI graphics model for this instead. Teitelman: The innovation here is not that we are using PostScript. The reason we chose PostScript is due to a lot of historical connections and proximity to the people who are doing it. The interesting thing is that all these processes look as though they are executing in one of those old single address environments. It is a single user process that James has been able to implement lightweight processes in. You don't have lightweight processes in Unix systems, which you really need to implement realistic user interfaces. Gosling: There is really nothing new here. It's just putting it together in a different way. Rosenthal: It is worth bringing out a number of points about this style of window manager. There are some real limitations, though I think this is the way we should go. Some help from the kernel is needed. This is easy in 4.2 which has a sensible IPC. It could be done in System V through shared resources etc. A reliable signal mechanism is essential. The window manager has to stay up. It is the only routine for talking to the system and hence must stay alive. We have 100 systems running and only experience 1 - 2 crashes per week. This is good by Unix standards! Applications cannot read pixels back - this is just too slow. There must be a way to make the client think it has a real terminal, such as the 4.2BSD PTY device, otherwise all old programs misbehave. There must be a mechanism for downloading application code into the window manager process, for example, rubber band line mouse tracking is done by a user level process. There must be off-screen space in the window manager. Examples of systems built in this way are: BLIT [50]; Andrew (CMU)(see Chapter 13); VGTS (Stanford) [36]; X (MIT). The BLIT system is successful - people wrote programs for it. I believe it is the only successful window manager for a Unix system. Myers: Maybe that is because BLIT doesn't run a Unix operating system. Rosenthal: Overall, it is a Unix software environment. Williams: We should bear in mind that Rob Pike says that to do anything sensible using the BLIT, you need to write two processes which communicate: one running in the Unix host and one running in the BLIT, and this must be harder to do than, say, writing two programs which don't communicate.
- mikewarot 4y agoIf our operating systems didn't blindly trust programs, we wouldn't need web browsers as a special category of interface. You could just put your binaries up for the major OSs to access your data, and people could use them in a native context. Alas, we're in the timeline without capability based security. where users can't just give a file to a program at runtime using a (powerbox) dialog.
- spankalee 4y agoFuchsia is be incredibly interesting for this reason.
- wolverine876 4y agoHow so?
- drewcoo 4y agoI don't understand. What is the security model you propose? With at least two examples, please. To help me understand.
- still_grokking 4y agoMaybe as a starter: https://en.wikipedia.org/wiki/Capability-based_security https://en.wikipedia.org/wiki/Capability-based_security For examples have a look at the "Implementations" section.
- eduction 4y agoIn the early days of a field or subfield there is such an explosion of creativity, but this is followed by a series of consolidations and we tend to forget the “losers” of the initial competition and the beautiful paths they illuminated. See C/Unix vs Lisp/Lisp Machines vs Smalltalk/Alto. Or NeWS vs X. Alan Kay shows the beauty of HyperCard (the “loser” in networked hypertext) vs Web. We had in HyperCard a visual hypertext app dev and reading environment that was trivially programmable / writeable in some very powerful ways for any determined user, using a GUI authoring tool. Now what do we have? Yet another Algol like programming language whose capabilities are severely constrained — and more importantly which is is not remotely a realistic user authoring environment, hell even paid professional programmers have trouble keeping up with JavaScript, the browsers as dev platforms, and the surrounding tooling/libs. More broadly, it’s dismaying how rapidly and seemingly permanently our collective expectations as developers have fallen. Kay is right: What we have in the web stack is not enough and we should not settle. A quote from Kay I enjoyed: “You have to include all media that computers can give rise to, and you have to do it in a form that allows both “reading” and “writing” and the “equivalent of literature” for all users. “Examples of how to do some of this existed before the web and the web browser, so what has happened is that a critically weak subset has managed to dominate the imaginations of most people — including computer people — to the point that what is possible and what is needed has for all intents and purposes disappeared.” It’s also amazing what we settled for in networked computing when I read his notes in this system from 40 years ago: “ perhaps the best early structuring and next stage design of Unix was Locus by Gerry Popek and his researchers at UCLA in the early 80s. Locus allowed live Unix processes to migrate not just from one machine to another on a network, but to a variety of machine types. This was done by combining the safety required for interrupts with multiple code hooks in each process, so an “interrupt” could allow the process to be moved to a different machine and resumed with different (equivalent) code. ”
- deleted 4y ago[deleted]
- josephg 4y ago> Locus allowed live Unix processes to migrate not just from one machine to another on a network, but to a variety of machine types. My personal take on this is that need to make the data layer in computers transparent. Files are currently opaque sets of bytes which need an application specific parser to interact with them. And when you have programs that can interact with a file, the only operations are read and write. Realistically, you can only have one program editing a file at once. Even having multiple programs reading a file at the same time is often a bit broken. Instead, what if files were structured (think JSON or SQL). And instead of overwriting the file when you hit save, the application could send granular updates to the files’ content as edits happened. (Eg update Foo.bar.baz = 22, or the sql equivalent). And applications listen for changes in the data model, so another application (maybe on a different computer)! Can edit something in the file, and the changes get propagated live. There’s all sorts of benefits to this: - We can enable collaborative editing in all applications for free - It’s super easy to make plugins for applications - just make another program which interacts with the data. No plug-in api needed. - The Unix philosophy is strengthened because multiple small programs can work with the same data at once. We can split out IDEs into a lot more small tools. - Users have lots of devices. This sort of thing would make data able to move between their devices in a way that’s transparent to the application. Like live collaborative editing Dropbox. We need CRDTs to do it properly. But the technology behind that is more or less solved at this point. Honestly I think the hardest thing will be getting OS people on board. I think it’s about time we shook up how the filesystem works. open/read/write basically haven’t changed in 50 years.
- gumby 4y agoAlan's observations, especially in regards to Netscape and their lack of vision, make me morose for OpenDoc which did not deserve its untimely death. https://en.wikipedia.org/wiki/OpenDoc https://en.wikipedia.org/wiki/OpenDoc Some good discussion from 2021: https://instadeq.com/blog/posts/why-opendoc-failed-and-then-failed-3-more-times/ https://instadeq.com/blog/posts/why-opendoc-failed-and-then-... https://apple.fandom.com/wiki/OpenDoc https://apple.fandom.com/wiki/OpenDoc (the links at the end are better than the page) https://www.wired.com/1997/03/closing-opendoc-a-great-leap-backward/ https://www.wired.com/1997/03/closing-opendoc-a-great-leap-b...
- deleted 4y ago[deleted]
- locallost 4y agoThese comments go hand in hand with another observation he made in a talk of his (or several), how the first books that were printed on the printing press resembled the books before the printing press. It took people decades to figure out they can print smaller, easily portable books because they did not have to be viewed as these precious hand made things. In the same way, the web is an imitation of a paper document. There are some improvements, you can now e.g. read the New York Times from anywhere on the globe, but overall it could do so much more than that.
- Kinrany 4y agoA lot of the design constraints remain the same. For example, all three of hand-crafted books, printed paper and web pages need a specific optimal line width.
- chriswarbo 4y agoBrowsers wrap lines automatically, so line width can be chosen by the reader, and even varied depending on the situation (the same applies to font, size, colours, etc.).
- coldtea 4y agoIdeally the reader should still not be bothered and sensible defaults should be applied (even if they are dynamic defaults). Not to mention that readers left to their own devices tend to chose stupid unoptimized color schemes and font sizes all the time, hurting their readability and lowering their reading times... (of course for disabled readers it makes sense to be able to set to whatever suits them, but those also need sensible defaults for their case, perhaps even more so than abled readers, as it can be more difficult to them to change configurations)
- TeMPOraL 4y ago> Not to mention that readers left to their own devices tend to chose stupid unoptimized color schemes and font sizes all the time, hurting their readability and lowering their reading times... ... thus reducing their exposure to our content marketing texts and/or ads embedded on the page, thereby impacting our bottom line! I think it's safe to assume most people capable of choosing "stupid unoptimized color schemes and font sizes" are also capable of iterating on their choice, or reverting to the better defaults, when they feel the reading experience of things they want to read worsens.
- morphle 4y agoAlan Kay made scathing comments [1] on the World Wide Web browser (reinventing a broken wheel) at length in a lecture "Normal Considered Harmful" for computer science students at University of Illinois Urbana-Champaign. For context: Alan himself invented WYSIWYG at Xerox PARC. He was present at "the mother of all demo's" by Douglas Englebart [9]. Ted Nelson who invented bidirectial hyperlinks 'outside of the file' and Xanadu [6,7] got Alan in touch with his future wife [2] and Alan was there at Apple when Bill Atkinson made Hypercard. He mentions that when he told Tim Berners Lee about the much better previous designs of Douglas Englebart, Ted Nelson and Alan's group at Xerox PARC, Tim was chagrined (that he had not read any of the papers about earlier and much better designs of 28, 25 and 20 years before the WWW browser in 1993). Of course Alan also discusses how the web should have been done. In short, it should be that when you click a hyperlink you load a virtual machine in a secure sandbox of a Operating System Kernel. The virtual machine would then render the (bitmap or vector) pages. Operating System 101, well known in 1965. Of course, Alan's team did implement this (several times). I can demo all this software if you contact me. I also give lectures on this. Email me at morphle [at] ziggo [dot] nl for a video where Alan Kay, Douglas Englebart and Tim Berners Lee meet and talk about this at a forum discussion. You can ask me about anything related to Alan, Ted or Douglas, I maintain an extensive archive with all scientific papers, emails, talks, interviews and lecture video's. Alan, Ted and Douglas worked closely together and where friends. TED's beautiful eulogy [3] for Douglas is a wonderful speech where he bitterly indirectly refers to the ignoring of Douglas' work by Tim. Alan made a demo with Apple in 1987 on what the WWW should be able to do [4,5]. [1] Normal Considered Harmful https://youtu.be/FvmTSpJU-Xc?t=963 https://youtu.be/FvmTSpJU-Xc?t=963 [2] Alan Kay's tribute to Ted Nelson at "Intertwingled" Festival https://www.youtube.com/watch?v=AnrlSqtpOkw https://www.youtube.com/watch?v=AnrlSqtpOkw [3] Ted Nelson's Eulogy for Douglas Engelbart https://www.youtube.com/watch?v=yMjPqr1s-cg https://www.youtube.com/watch?v=yMjPqr1s-cg [4] https://www.youtube.com/watch?v=9bjve67p33E https://www.youtube.com/watch?v=9bjve67p33E [5] https://www.youtube.com/watch?v=umJsITGzXd0 https://www.youtube.com/watch?v=umJsITGzXd0 [6] https://www.youtube.com/watch?v=En_2T7KH6RA https://www.youtube.com/watch?v=En_2T7KH6RA [7] https://en.wikipedia.org/wiki/Project_Xanadu https://en.wikipedia.org/wiki/Project_Xanadu [8] https://golden.com/wiki/Project_Xanadu-P6JE4 https://golden.com/wiki/Project_Xanadu-P6JE4 [9] https://www.youtube.com/watch?v=yJDv-zdhzMY https://www.youtube.com/watch?v=yJDv-zdhzMY
- gjvc 4y agoThe HotJava browser was the closest we've come to advancing the state of the art of dynamic documents.
- EricE 4y agoThe biggest failure of HyperCard was not integrating networking. Bill Atkinson has lamented that oversight. Indeed, the whole visual layer of the Internet might have taken a totally different path. Even more maddening since AppleTalk was a simple, cheap and effective way to network Macintosh's.
- skedaddle 4y agoAlan Kay was a big influence for me and I still respect him a lot, but you know, something about Smalltalk didn't work... and it was exactly this whole live object/heavyweight runtime distribution stuff.