[HN Gopher] 1991 WWW-NeXT Implementation
       ___________________________________________________________________
        
       1991 WWW-NeXT Implementation
        
       Author : ulrischa
       Score  : 145 points
       Date   : 2024-08-02 19:10 UTC (1 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | chasil wrote:
       | Just curious, does this compile on MacOS?
        
         | ddalcino wrote:
         | Maybe someone here can do it, but I can't. The Makefile tries
         | to include something at `/usr/lib/nib/app.make`, and I don't
         | have anything there.
         | 
         | There are some clues at
         | https://unix.stackexchange.com/questions/444717/how-to-compi...
         | but I'm not sure I'm willing to dive down that rabbit-hole.
        
           | voidfunc wrote:
           | > but I'm not sure I'm willing to dive down that rabbit-hole.
           | 
           | You know you wanna!
        
           | ck45 wrote:
           | That's "just" a makefile, which should be rather simple. The
           | true challenge, apart from what was already mentioned as the
           | probably incompatible API, the interface file itself, IB.nib,
           | which is a serialization of the interface. Reading the file
           | on latest macOS is still possible, but for deserialization it
           | can't find some of the classes (e.g. StreamTable).
           | 
           | If you want to dig deeper, try the NeXTStep 3.3 developer
           | disc: https://archive.org/details/nextstep3-3dev
        
         | KerrAvon wrote:
         | No. NeXTstep circa 1990 was very different from OpenStep in
         | 1994. If this was OpenStep-based it would have a chance.
         | 
         | NeXT often provided tools to migrate from one version of the
         | frameworks to the next, so it might be possible to get it
         | there, but it'd be a lot of work and a lot of manual massaging
         | would likely still be required.
        
         | favorited wrote:
         | Definitely not. It's old enough that `Object` is the base
         | class, lots of functions use the old NX prefix (instead of NS),
         | it predates the retain/release paradigm, etc.
         | 
         | Getting it running wouldn't be an impossible task, because it's
         | a pretty small project (~5k lines of Objective-C) and early 90s
         | Objective-C is a pretty small language. But you'd need to shim
         | all of the long-dead system APIs, or port the code to use their
         | modern cousins.
        
       | arittr wrote:
       | Thx simonw this rules
        
       | flenserboy wrote:
       | I got use that, or some near version of it, back in the day. Cool
       | to see here.
        
       | jarrell_mark wrote:
       | Related: here's the NCSA Mosaic browser as an AppImage. Runs on
       | any Linux distro without having to recompile.
       | https://appimage.github.io/NCSA_Mosaic/
       | 
       | NCSA Mosaic was made before Netscape/Mozilla/Firefox, by the same
       | creator
        
       | breck wrote:
       | The Release Notes page is great:
       | https://www.w3.org/History/1991-WWW-NeXT/Implementation/Feat...
       | 
       | Thank you simonw, I'm working on a successor to the web now so
       | this is great.
        
       | transformi wrote:
       | Can someone elaborate on the usage of that? What lessons can be
       | relevant to the current era?
        
         | jonhohle wrote:
         | From just skimming, it's some nice, clean Objective-C. Always
         | pleasant to read!
        
         | marbu wrote:
         | One way to look at this code is as a quick prototype to get the
         | idea into real thing to play with. And to appreciate that, one
         | have to realize that the original idea included both reading
         | and editing of web pages easily in the same client in WYSIWYG
         | fashion.
         | 
         | See https://www.w3.org/People/Berners-Lee/WorldWideWeb.html for
         | context:
         | 
         | I wrote the program using a NeXT computer. This had the
         | advantage that there were some great tools available -it was a
         | great computing environment in general. In fact, I could do in
         | a couple of months what would take more like a year on other
         | platforms, because on the NeXT, a lot of it was done for me
         | already. There was an application builder to make all the menus
         | as quickly as you could dream them up. there were all the
         | software parts to make a wysiwyg (what you see is what you get
         | - in other words direct manipulation of text on screen as on
         | the printed - or browsed page) word processor. I just had to
         | add hypertext, (by subclassing the Text object)
        
       | qingcharles wrote:
       | This URL from inside the default.html is confusing:
       | 
       | http://crnvmc.cern.ch/FIND/PUB.P.HELPCMS.FIND(X/G/H)
        
         | marbu wrote:
         | This is likely url of XFIND gateway[1,2] which was basically a
         | first web service making information from XFIND information
         | system available via web. It was already in operational/demo-
         | able state along with WorldWideWeb browser/editor (NeXT), Line
         | mode browser (dumb command line client) in early stage of the
         | web in the end of 1990. This is because gateways like these
         | were crucial for the web to take of in the particle physics
         | scientific community in the first years of the project.
         | 
         | This may seem obvious and boring now, but back then, it made a
         | real difference (copy pasting a section from my old post [3]):
         | 
         | ... a physicist from German particle physics lab DESY who get
         | used to look up information via XFIND at CERN, but using it
         | from DESY was bit clumsy. First of all he had to telnet to
         | CERN, then login to IBM CERNVM machine, then start XFIND there
         | and then finally place his query to XFIND. Moreover as the
         | connection was slow an unstable, one have to repeat this
         | procedure again in case of a network failure. Compared to this
         | using Line Mode Browser from DESY to directly access XFIND
         | Gateway at CERN was a big improvement, which helped the web to
         | spread to DESY.
         | 
         | [1] https://www.w3.org/Talks/FINDGateway.html [2] example
         | http://www.dnp.fmph.uniba.sk/cernlib/asdoc/fatmen_html3/node...
         | [3] https://blog.marbu.eu/posts/2023-04-29-the-first-web-
         | browser...
        
       | marbu wrote:
       | I wonder whether there are some new developments in digital
       | archeology here which makes the source complete enough for one to
       | be able to compile it (assuming one has access to a NeXT machine
       | with its app builder from early 1990s).
       | 
       | I recall when people working on recreation of WWW in 2019 were
       | not able to compile the code: https://worldwideweb.cern.ch/code/
        
         | lioeters wrote:
         | The InfiniteMac project runs emulations of NeXT machines in the
         | browser. This one has WorldWideWeb.app version 1.0.
         | 
         | https://infinitemac.org/1991/NeXTStep%202.1
         | 
         | So a determined researcher might be able to compile it from
         | source.
        
       | OnlyMortal wrote:
       | I seem to remember running this back then.
       | 
       | I also remember OmniWeb which was a great browser for the time.
        
       | zokier wrote:
       | One interesting thing about web is that it was graphical from day
       | 1, in contrast to e.g. email or ftp that had more text console
       | roots. So things like lynx were always niche, and even
       | anachronistic. There was no era when people widely used text-mode
       | browsers.
        
         | firesteelrain wrote:
         | Lynx design was driven by the need to support browsing Gopher
         | spaces. It really didn't need a GUI.
        
         | eduction wrote:
         | You are wrong.
         | 
         | " The inline images such as the world/book icon and the CERN
         | icon, would have been displayed in separate windows, as it
         | didn't at first do inline images."
         | https://www.w3.org/People/Berners-Lee/FAQ.html#browser
         | 
         | " Marc [Andreessen] and Eric [Bina] did a number of very
         | important things. They made a browser which was easy to install
         | and use. They were the first one to get inline images working -
         | to that point browsers had had varieties of fonts and colors,
         | but pictures were displayed in separate windows."
         | https://www.w3.org/People/Berners-Lee/FAQ.html#browser
         | 
         | In the last quote Tim Berners Lee is talking about the Mosaic
         | browser Marc and Eric built at NCSA. It is arguably the thing
         | that made Marc Andreessen famous. And It is indisputably the
         | start of the graphical web. I mean, Marc literally and
         | controversially invented the IMG tag for this.
         | 
         | Mosaic came out in 1993, two years after the first WWW (the
         | browser being discussed). So in the earliest years of the web
         | people were absolutely using text mode browsers.
         | 
         | (And if displaying graphics optionally in their own window
         | counts as being graphical to you, email and ftp were already
         | there.)
        
           | WillAdams wrote:
           | Folks who want a bit more background on this should read Tim
           | Berners-Lee's book _Weaving the Web_ (which to some degree
           | was written using the "Navipress" web browser since it also
           | functioned as an interactive editor (for sites which
           | supported the "Push" protocol --- later it was bought by AOL
           | and became "AOLPress")
           | 
           | https://www.goodreads.com/book/show/821987.Weaving_the_Web
        
             | marbu wrote:
             | Another good book one can reach for more details is:
             | 
             | https://books.google.cz/books/about/How_the_Web_was_Born.ht
             | m...
             | 
             | One of the authors, Robert Cailliau, was officially
             | assigned to the web project along with Tim Berners-Lee in
             | it's early stages in CERN.
        
           | ForOldHack wrote:
           | He is indeed wrong. Very wrong. I used gopher and email
           | servers for more than a year before I started using Mosiac,
           | and then it was another year or two before I let the image
           | tag work. I have met Marc, and he, of course would agree,
           | because both him, and I where actually there.
        
           | mattl wrote:
           | The editor part of the original browser is also graphical so
           | you can select text and make links, headings, lists without
           | the need to write HTML IIRC.
        
         | marbu wrote:
         | Yes and no.
         | 
         | Yes, the first web browser/editor was a GUI application from
         | the start, so was the original Tim's idea. But the first
         | browser/editor was working on NeXT machines only, which were
         | very expensive and rare. Only few people actually had the
         | opportunity to experience the web this way and most people seen
         | this software in action as a demonstration only.
         | 
         | The first browser most people used when introduced to the web
         | was a "dumb" command line client
         | https://en.wikipedia.org/wiki/Line_Mode_Browser. It was as
         | simple as possible, so that it could be compiled on any
         | platform and used over telnet, it wasn't even using curses
         | library.
         | 
         | So the early web users were experiencing the web via text
         | browsers only until the rise of gui browsers later.
         | 
         | See https://blog.marbu.eu/posts/2023-04-29-the-first-web-
         | browser...
        
           | mattl wrote:
           | Also most people could telnet to a host that already had the
           | line mode browser installed. I believe that's how a lot of
           | non-NeXT users at CERN would be using it.
        
         | dboreham wrote:
         | Since the entire point was to display hypertext, of course not.
         | Text browsers were something that appeared much later, and was
         | always weird and fringe. For example I've never used one never
         | installed one.
        
           | mattl wrote:
           | You've probably used a machine with Lynx or GNU Emacs
           | installed.
        
       | itomato wrote:
       | We are missing the option to run WWW.app from Previous, but you
       | can run Mosaic in MacOS here:
       | https://oldweb.today/?browser=nm2-mac#http://info.cern.ch/hy...
       | 
       | Source: https://github.com/oldweb-today/netcapsule
       | 
       | There are places on the web where you can emulate an early Cube
       | or Personal Mainframe and run WWW.app to view the same.
        
       | pcranaway wrote:
       | Not fully related, but I remember looking at a website of some
       | person two or three years ago, who claimed to be one of the
       | original developers of Firefox, and if I'm not mistaken, in some
       | blog post on his website, he said something about not getting the
       | recognition he deserved for his work? and shared some early
       | source code of Firefox.
       | 
       | I cannot find that person or that blog post, anyone know anything
       | about this?
        
         | velcrovan wrote:
         | the graph mind cares what you do, but not who you are
        
       | mxer wrote:
       | Stats show 72% Objective-C and 10% C. What benefits does
       | Objective-C over C that makes this a language of choice for this
       | project? And what parts are implemented in C? Can someone share
       | some info about this?
        
         | jmole wrote:
         | NeXT invented Objective-C and encouraged its use, and the
         | object-oriented paradigm was as popular back then as rust is
         | today. It was just trendy to do so.
        
           | ck45 wrote:
           | They did not invent it, it was developed at PPI (later
           | Stepstone), before NeXT was founded.
        
             | WillAdams wrote:
             | To a great degree, NeXT was comprised of an assemblage of
             | talent and technologies which Steve Jobs put together:
             | 
             | - Mach microkernel --- Avie Tevanian may well be the most
             | heavily recruited computer science student in history with
             | offers from AT&T, IBM, Microsoft, and NeXT
             | 
             | - Interface Builder --- Jean-Marie Hullot originally did a
             | graphical layout system for developing on the Mac
             | 
             | - Display PostScript --- to a great degree, NeXT was
             | responsible for this
             | 
             | - Objective-C --- as noted elsethread this was worked up by
             | Brad Cox at Stepstone
             | 
             | and, of course they licensed Unix from AT&T (and other bits
             | from other sources such as a Pantone color library, or
             | Webster's dictionary for Webster.app, and Mathematica from
             | Wolfram was included early on).
             | 
             | Wish my Cube hadn't stopped booting up...
        
               | jksmith wrote:
               | >- Display PostScript --- to a great degree, NeXT was
               | responsible for this
               | 
               | Confirm, got to see a live demo at Comdex ATL back in
               | 1992? Mind blown.
        
               | WillAdams wrote:
               | Quartz, nee Display PDF is a nice alternative (and is
               | probably even more reliable these days), but I still miss
               | Display PostScript and the ability to program custom
               | fills/strokes and so forth --- huge potential security
               | hole as Frank Siegert's "Project Akira" showed though.
        
             | nequo wrote:
             | Yes. The Computer History Museum has a two part interview
             | with Steve Naroff, one of the engineers who worked on
             | Objective C:
             | 
             | https://youtu.be/ljx0Zh7eidE
             | 
             | https://youtu.be/vrRCY6vwvbU
        
         | ck45 wrote:
         | NeXTStep was famous for rapid application development. The
         | framework combined with Interface Builder, a GUI builder, is
         | just magic. I read a quote a while ago, Berners-Lee saying that
         | without NeXTStep he couldn't have built the project.
         | Unfortunately I can't find any reference anymore.
         | 
         | Edit: Seems somebody else found it, see other comments.
        
         | WillAdams wrote:
         | There's a book on Objective-C:
         | 
         | https://goodreads.com/book/show/1945013.Object_Oriented_Prog...
         | 
         | and also see the magazine articles:
         | 
         | - "No Silver Bullet - Essence and Accident in Software
         | Engineering.". Fredrick P. Brooks, Jr.
         | 
         | and the rebuttal:
         | 
         | - "There IS a Silver Bullet" by Brad Cox from Byte magazine -
         | the October 1990 issue: https://theopensourcery.com/there-is-a-
         | silver-bullet/
         | 
         | Basically it was Smalltalk bolted onto C and with the elegant
         | and robust NeXT frameworks meant that much of an application's
         | functionality was provided by the underlying system which was
         | revolutionary at the time.
         | 
         | From a different discussion:
         | 
         | >A quick overview of Interface Builder is Steve Job's demo for
         | NeXT --- perhaps: https://www.youtube.com/watch?v=dl0CbKYUFTY >
         | >where they discuss how dragging/drawing allows one to make 80%
         | of the app, and the balance of 20% is one's own code.
         | 
         | https://news.ycombinator.com/item?id=40966774
        
       | ForOldHack wrote:
       | Thank you for solving the dates problem, I have been hacking on
       | for the last month. I applaud him for his novel use of github to
       | do daily priorty lists, on github, but:
       | 
       | https://news.ycombinator.com/item?id=41060102
       | 
       | and
       | 
       | https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
        
       ___________________________________________________________________
       (page generated 2024-08-03 23:01 UTC)