[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)