Hacker News new | ask | show | jobs
by bitwize 823 days ago
It's a sign of the fact that personal computing has gone way, way off the rails that we make pretend computers to run on our real computers just to have fun ways to compute again. I really really appreciate work like this, but why aren't our actual operating systems "cozy" enough to support creative work anymore?
7 comments

Remember the days when all home computers came with a BASIC interpreter preinstalled, and that was the first thing you saw when you started the computer? Later generations (Amiga, Atari ST) also had BASIC included with the OS. Not that familiar with the original Apple Macintosh, but from what I read that was the first computer to ship without programming tools. Windows then followed suit, and today all OSes ship without developer tools by default. Of course they're just a download away, but those are mostly tools for professional developers, so not really beginner friendly.

Also, the limitations of 8 bit (and 16 bit) computers also made them more approachable. I "designed" some cool-looking sprites (actually they were called "players") on my Atari 800 back in the day, although I'm not good at drawing, so I would be hopeless at producing something more hi-res...

"Classic" Windows usually came with DOS which included BASIC, with the main difference being that in Windows 95/98/Me it no longer had an editor, IIRC.

Original IBM PC in absence of other drive would attempt to boot from cassette and then drop you into similar BASIC interpreter - the "GW-BASIC" included in DOS was the same except it was shipped completely as file on disk drive instead of being ROM.

NT didn't have included programming language before NT 4.0 SP4, when WSH was added, it was also part of Outlook 97 and IE 3.0.\

The original computer to ship without any programming tools that was targeted at general population was Apple Lisa, I seem to recall mention of at least one loud consumer complaint if not lawsuit based around expectation that general purpose computer should have some tool included.

> with the main difference being that in Windows 95/98/Me it no longer had an editor

It was on the CD but it wasn't installed automatically.

Linux comes with Python included. (Python is the new BASIC, and explicitly designed to be so.)
Well it's for the same reason that Twitter is popular: intentional limitations that cut everyone down to the same height make something approachable and feel friendly. Nobody can excel on the Picotron, so it's inviting to try because you won't be comparing your work to someone else who did something so much more impressive. Likewise in classical Twitter nobody could write a truly great tweet due to the character length limits, and that set the tone and encouraged everyone to get involved. Compare with blogging on something like Substack where people who might otherwise publish something end up comparing themselves to Scott Alexander or Matt Taibbi and concluding they can't compete.

I think in computing there's the other issue that modern programming has a big focus on safety and security which was absent in the 8-bit era. If you sit down to make a Mac app you're not only going to compare your work to Apple's own, but you're also going to be constantly distracted by things that aren't "fun" like slow compilers, type systems, notarization and code signing etc. These are all important for people who use computers as end users but if you just want to hack about and make something they suck away the energy.

> intentional limitations that cut everyone down to the same height make something approachable and feel friendly

I wonder if generative ai might someday have a similar effect? Imagine a "make me a game" tool, with LLM-like "Fortnight, in space, with cute animals, and classical music". Ok... "the default music sync with action is fine, but as health declines, make the tone darker. And give my dog an oboe theme." Removing design-space cliffs, scattering defaults and highways, adding exoskeletons, as alternatives to shortened horizons. Kids today finger paint with pigments that would be the envy of painters past who ground their own - "use only charcoal" still has a role, but... there's also neon pens with sparkles for diaries, stamps in kid paint programs, and ... . Imagine a future coloring book, with speech to text to outline image, collaborative coloring, and "ok, now make that a 3D rigged avatar, skinned in the style of an oil painting". Making it easier to fly around the space, rather than lowering the ceiling.

> Nobody can excel on the Picotron,

Uhhh... have you seen Pico-8 development. People can excel on that thing. The limitations make the achievements even more remarkable. If you want to see the excellence in coding, combine the two and check out the people who wrote BBC BASIC raytracers in a tweet. If anything, we're in a glut of shitty code today partly because our comparatively powerful machines, combined with a race to the bottom in terms of churning product out quickly, make writing and shipping something extremely unoptimized far, far easier than taking time to polish the end product.

I think you're onto something, in that the Pico-8 and Picotron are going for the "vibe" of retro home computer/console programming but are not capturing the true essence of it. With 8-bit home computers, you started off in BASIC and could build simple games and stuff -- but if you wanted to write anything performant then you had to drop down to assembly and there was a significant difficulty spike there. So even back then we were dealing with "unfun" stuff. (In general, the enjoyment you got out of such work was proportional to the effort you put in.)

Yeah, I know. I had an early Acorn machine as a kid and couldn't figure out how my favourite games were made. I was aware they weren't using BASIC, but how they really did it was a mystery. And 3D graphics like Elite left me foxed. I tried to do my own but had never heard of trigonometry so that didn't go far :)

Even so, the span in which you can excel is far more limited. Nothing stops you making 8-bit graphics today (see Notch) but people and especially kids will compare what they can do to, say, Call of Duty and lose interest when they realize how far away they are. Micro games at least tended to be made by one person, so it was theoretically possible to get that level of skill yourself.

Because a computer is a general-purpose tool. A computer is not a box made to be cozy and support creative, limited programming work.

If you're looking for specific use-cases, that's exactly what userland software is for. Userland software takes the general computer and converts it to something specific. If you are looking for a cozy environment that supports creative, limited programming work, you run userland software for that!

It's like software-defined networking except software-defined creative environments. Some people prefer Photoshop, and others Picotron. The computer gives you the choice, and userland software is the mechanism by which it does so.

If anything, I'd like to turn your observation around: isn't it marvellous that the same machine allows one person to run Photoshop and another Picotron, with almost no change required to switch between the two environments?

> A computer is not a box made to be cozy and support creative, limited programming work.

That's a pretty hard line you have drawn there. There is no reason why it cannot be that. There are several open source window managers which tried to have a vibe. KDE had a cozy vibe. We have a Hanna Montana Linux, which was definitely awesome as a kid. I find it obnoxious that society has decided these infinitely flexible machines will have the personality of an iron smelter.

"Cozy" and "general purpose" are not mutually exclusive. Emacs is very cozy, and it can do frickin' everything.

(Maybe Emacs is not cozy to you. But the fact that it is to a significant number of people explains why it still has fans in a world where Visual Studio Code is eating everything.)

Picotron is supposed to emulate a particular form of cozy: that of the very general-purpose computers of the 1980s and 1990s: classic Mac, Amiga, Atari ST, even Windows. What I'm lamenting is a sort of fall from grace wherein even Microsoft, of all companies, tried to shape the computing environment to bring support and comfort to the user rather than exploit them and introduce churn and friction for its own sake.

I agree, why do so many think that an immersive computer environment that makes the full power of the machine ergonomically ready-to-hand is some kind of retro thing? It sounds like a futuristic improvement to me. 40 years ago we had bicycles for the mind. Today I want a Kawasaki h2r for the mind, but the tech industry wants me to ride the bus.
Others have mentioned a limitation-creativity link. But I wonder if there's also an implicit... "impedance match", to the current state of interface devices? "We'll make it more creative and popular by requiring physical punched cards! Think of the lovely chunkchunk-chunkity-chunk sounds!", or "You have to hand punch holes in paper tape!", would seem unlikely. On the other hand, decades-old ux is well matched to decades-old current keyboards.

When I wanted my own laptop more "cozy", without the silliness of "you can only press two keys at a time, so no chords", and "most of it isn't a touch surface, and can't even tell which finger pressed were on the cap", and "it's oblivious to hand pose and gestures above the surface", and "the screen is only 2D and can't even tell where you're looking", I had to kludge the entire stack from hardware to apps. If you could sculpt, dance, and sing code, perhaps 8-bit might have less appeal? Like the appeal of entering programs with faceplate bit toggles instead of a keyboard?

Maybe. Counter argument: pico-8 mobile/tablet. Counter counter, historical state of pico-8 mobile/tablet??

> Others have mentioned a limitation-creativity link. But I wonder if there's also an implicit... "impedance match", to the current state of interface devices?

No, it's a software (& hardware) design issue. Computers just aren't made to be tinker-friendly anymore.

Eg. back in the day, I had a trio of editor+assembler+debugger on MSX2 (often running from RAMdisk). For many programs, edit-assemble-test cycles were a few minutes at most. With nothing loaded, machine would boot into BASIC seconds after power-up.

So: develop on target device, even with that being Z80 based machine with ~256 KB RAM (which was already comfortable). Several vendors of these MSX machines would send you a full schematic / service manual for a nominal fee. Hardware mods were commonplace. Youngsters who'd never touched a computer could be tweaking BASIC programs within an hour. With patience you could wrap your head around the whole machine.

Nowadays: boot computer, wait, click on fancy icons. No default programming environment(s) in sight. 'Poke' some hardware port? Not happening. Modify any of the built-in software? Forget about it. Or at best: first download multiple GB's of development tools, spend the next week(s) buried in documentation. Not for the faint-hearted. Let alone newbies.

Yes, computers have become faster. But also more complex. Some of that complexity is justified. Or even necessary. Much of it is not, and is just heaps & heaps of technologies / abstraction layers & legacy cruft.

> tinker-friendly [...] complexity. Some [...] necessary. Much of it is not, and is just heaps & heaps of technologies / abstraction layers & legacy cruft.

Nod. That silly only-on-my-own laptop project had a device-driver->full-screen-browser stack, so "Reimplementing wheels - sigh. But no libinput, linux gesture mess, window managers, xlib/wayland, ... - oh dancing-lightly-through-tulips yay!".

I enjoyed lisp machines, which handled complexity differently. DonHopkins comments on a LispM ergonomics thread:[1] "It was not just the hardware, or the software, or the culture, or the interesting problems you could solve, or the zeitgeist of that time in history, but a rich combination of all those things and more, that is so hard to capture, describe or reproduce -- or even believe, if you haven't experienced it first hand. [] Those giant keyboards, with all their wide special purpose buttons topped with hieroglyphic keycap labels, in combination with the huge screen, three button mouse, and of course all the great software turning on and off the little dots on the screen that you could dive into, explore and modify at will, the printed and online documentation, the networked developer support community, all carefully designed to work together seamlessly regardless of cost, gave you the feeling of being in control of a very heavy, expensive, well built, solid, powerful, luxury automobile, with rich [...]".

I guess I was wondering if hardware-wise, part of what allows pico-8 to retain appeal, is we've largely stalled out on a half-century-old keypress-and-mousemove ux plateau. If it used some other "similarly" old interface tech (front-panel bit switches, paper tape, terminals as forms), the appeal would seem less.

The appeals of pico-8 and lispm seem somewhat related. But for lispm's cutting-edge "luxury car" power-user-ness. Perhaps the -8'ness constraint, and resulting bounded goals, is what makes doing the stack tractable (witness smalltalk but-do-you-have-a-library-for-X struggles)? But they've also struggled with adoption, which the Scratch-like lower-barriers-from-lower-ceiling might help with?

The smalltalk folks, with a (also keyboard-mouse) vision of full-stack, but with high-ceiling kid appeal, have struggled with both. And, maybe, XR might offer windows where society's UX and approach to software is more malleable.

So what are the implications for designing a powerful full-stack system that attracts a broad user base? To take advantage of some possible "XR is now gelling - as with phones, we're about to do a giant societal software rewrite - the course of future societal computer-and-software UX is briefly malleable"? Ideally one that instead of mac/lispm tractability-through-singular-hardware, has complexity-handling-power sufficient to blend Z80-to-insaneXR hardware-software diversity into something accessibly/appealingly/cozy tractable?

[1] https://news.ycombinator.com/item?id=7893008

i've been writing an interface like this called aesthetic.computer and trying to work out a full stack for it - i love the ideas in your writing
tnx! aesthetic.computer: demo[1], live[2]. Includes chatbots... hmm, so maybe Chat(with app) will someday be as familiar as Save and Paint?

[1] https://www.youtube.com/watch?v=S-7UszmI1K4 [2] https://aesthetic.computer/ Then press "Enter" and enter "list".

Limitations and difficulty are the foundations of creativity.

Our current devices are almost unlimited.

I like to start up Dosbox-X or one of the virtual Amiga environments that comes bundled with Amiga forever. Definitely cozy.

More often I use some old application, like the nowadays BSD-licensed ex-Autodesk Animator. It is fun to figure it out and more fun than modern applications in many ways. I even bought an old used book about it and read cover to cover. Limited compared to modern graphics software, but "cozy" is a great way to describe the experience.

https://github.com/AnimatorPro/Animator-Pro