Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Steve Jobs and the usable computer (2011) (w3.org)
100 points by PascLeRasc on Sept 29, 2020 | hide | past | favorite | 23 comments


>Programming the WorldWideWeb client was remarkably easy on the NeXT. There was already a software module, the Text Object, which was an editable multifont editor. I just had to subclass it to make a hypertext object, and add the internet code. Designing the app’s menus was trivial — just drag and drop with InterfaceBuilder. The code framework of the app was generated automatically. That is a platform: something which allows you to build things which without it would have been possible, but a lot of work.

Strange to think what the web would've been if Berners-Lee didn't have such a strong platform and tooling to build his ideas with.


There used to be a mocking demo of Sun vs Next, can't find it but here's another marketing material I believe: https://www.youtube.com/watch?v=oc40mLKRx7g

you see how lean Next makes everything.


I was born in the late 1980s and thus was too young to experience NeXT in its heyday, but sometime in high school was when I learned Mac OS X and its NeXT heritage. I was enamored by a highly usable Unix GUI, and since then I've been a fan of Mac OS X and NeXTSTEP. I even own a non-working NeXTstation Turbo Color that I bought on eBay with the intention of restoring it.

However, I was so intrigued with NeXTSTEP as Unix with a polished GUI that I didn't realize or appreciate its Smalltalk influences until roughly a year or so ago. In a way, NeXTSTEP could be thought of as the realization of a polished Smalltalk desktop, albeit with Objective-C and Unix rather than actual Smalltalk. On one hand, NeXT lacks Smalltalk's image-based, live-object environment, which I think is something that would still be revolutionary if a desktop operating system environment offered this today. (My dream is a desktop based on live objects, but the substrate I'd personally pick would be the Common Lisp Object System with its support for multiple dispatch.) On the other hand, Objective-C brought the benefits of Smalltalk-style message-passing object-oriented programming to NeXTSTEP programmers while being compatible with C, which was important for supporting an ever-growing base of software written in C. NeXTSTEP also sweetened GUI programming through its Interface Builder, which was originally for Lisp.

On a somewhat related note, there were attempts by Apple to catch up to NeXT or to even leapfrog them. The Pink/Taligent project would have created a modern operating system (e.g., one with preemptive multitasking and memory protection) with an object-oriented API, though that API was in C++ instead of something more dynamic such as Smalltalk, CLOS, or Dylan (Apple's own internal language that was heavily Lisp-influenced but had an Algol-like syntax). Unfortunately this project failed, which led to a scaled-down effort called Copland (the original plans for Mac OS 8) which also failed, which ultimately led to the purchase of NeXT and the return of Steve Jobs.



Come join us over at http://www.nextcomputers.org/forums/ you can find the part you need to fix that machine. There's also a NeXT emulator, Previous that works really well.


Here is a question I can't quite answer: why is the complexity of something like Xcode so much greater than NeXT, when many of the basic UI components are pretty much the same kinds of things they were 20 years ago (but, subjectively, better looking)? Is all this extra complexity warranted?


Nope


What makes (parts of) Xcode essentially bloatware or have warrantless extra complexity, to a certain extent, in your view?


i can only speak from memory, but when xcode merged interface builder into the ide (before it was xcode + interface builder) eveyrthing became so slow it was almost intolerable

i wonder if glomming two apps together must have caused some aweful redundancies that slowed up everything?


Awesome thanks, if you can think of anything later, please add!


> I was so intrigued with NeXTSTEP as Unix with a polished GUI

Don't forget, also, about NextSTEP being based on the Mach kernel plus code from BSD Unix.



In many ways it's even more of a shame what happened to the web.


I imagined there would be a split where pages used relatively simple html+css, and apps would use something like Flash or Java Applets. I was surprised at how it turned out.


I once blew up a Next. We had sent one (our only one) back to the States from the UK to fix a fault (can't remember what the original fault was). When we got it back I was stoked to plug it in and start using it. When I did - BANG! The Americans had left the voltage selector on the power supply set to 120V, rather than the UK 240V.

Edit: Thinking back, I think it was actually the monitor (which was a Next one) that blew, not the computer itself.


Nice try blaming someone else.


Well, I did blame myself somewhat (anything in my comment suggest otherwise?), but do you always inspect the voltage selector when you plug something in to the mains?


Yes your comments suggests otherwise : The Americans had left.

And no, I do not always inspect the voltage selector, but I might when it comes from 120V territory.


I don't want to get into an argument about this, but:

> I once blew up a Next.

Me taking blame.

> The Americans had left the voltage selector on the power supply set to 120V

Me describing the problem.

So, enough.


That's an odd response. An EU based customer returned some equipment. The manufacturer should return EU appropriate hardware and settings.


A video of the welcome to NeXT multimedia mentioned in the article: http://www.youtube.com/watch?v=lCPlGgA6tE4


The source code for WorldWideWeb is available: https://github.com/cynthia/WorldWideWeb. I've got it in the back of my mind to try to get it building at some point (either in Previous, or on real hardware; I have a few working NeXT machines).

As an ObjC programmer who started 15 years after it was written, it's interesting to see how different it is from even NeXTStep 4.2 (aka OpenStep) era code. Most methods don't have explicit return types (still valid, but ~never used), lots more C, no Foundation (didn't exist yet), AppKit was still using NX, etc.

That said, you can tell it's fundamentally the same toolset. There are still classes that more or less exist and work the same way today on modern Mac OS versions, it uses a NIB file, etc.


I wondered if Qemu can emulate NeXT, and the closest I found were:

https://github.com/blanham/qemu-NeXT

http://gunkies.org/wiki/Installing_NeXTSTEP_on_Qemu

https://virtuallyfun.com/wordpress/2016/02/07/nextstep-in-yo...

Then I realized the "Previous" you mentioned is a full emulator for NeXTStep 0.x to 4.0 beta.

http://previous.alternative-system.com/

https://github.com/probonopd/previous - Mirrored from SourceForge

Fascinating..




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: