5 ms·
Netscape's Internet Foundation Classes (1996)
- tonetheman 8y agoIFC was the start of Swing...
- userbinator 8y agoI thought it was the educational type of class... but then again, I shouldn't be surprised given that this was the mid-90s, pretty much the height of the OOP craze.
- DonHopkins 8y agoBoth the name and the software IFC ("Internet Foundation Classes") were intended to be the Internet's answer to Microsoft's MFC ("Microsoft Foundation Classes"). I recall hearing that they also considered calling it NFC ("Netscape Foundation Classes"), but they settled on IFC because they wanted it sound more inclusive and Internetty. Other than raising that one middle finger to Microsoft, I can understand why name is confusing: the "Internet Foundation" sounds like a non-profit educational foundation that teaches classes in computer networking. I know somebody who was admitted into the UK on an educational teaching visa, ostensibly to teach classes, when he was actually developing commercial software, not teaching students. Technically he WAS actually teaching classes -- just to computers.
- commonTragedy 8y agoIt's funny how you can look back at even Smalltalk 70, and contemplate that for more than 50 years, we've all wanted the same damn thing, had it in the palm of our hand, realized more than a proof of concept, but even right now, today, struggle to agree on how to deliver it. To get web GL and canvas access on desktop Safari, you have to download the technology preview package separately. Linux systems, lotsa luck with your graphics drivers. Windows? I think you might still need Flash and Silverlight installed, and Java SE running it's plugin on a developer preview of Edge or whatever. FFS, please shoot me now. I no longer wish to gaze upon such abominations.
- Smalltalk-70 8y agoSo, Smalltalk didn't really exist until 1971/72... http://worrydream.com/EarlyHistoryOfSmalltalk/ http://worrydream.com/EarlyHistoryOfSmalltalk/ Right after New Years 1971, Bob Taylor scored an enormous coup by attracting most of the struggling Berkeley Computer Corp to PARC. In the summer of '71 I refined the KiddiKomp idea into a tighter design called miniCOM. It used a bit-slice approach like the NOVA 1200, had a bit-map display, a pointing device, a choice of "secondary" ( really tertiary) storages, and a language I now called "Smalltalk" - as in "programming should be a matter of ..." and "children should program in ...". This Smalltalk language ( today labeled -71) was very influenced by FLEX, PLANNER, LOGO, META II, and my own derivatives from them. It was a kind of parser with object-attachment that executed tokens directly. But, rounding errors and such, so maybe 1970 is kinda okay...
- bartread 7y ago> To get web GL and canvas access on desktop Safari, you have to download the technology preview package separately. I'm sorry but this is simply not true. I occasionally run desktop Safari and it supports both canvas, and WebGL and has done for years - since at least 2014 in fact. Prior to this versions 5.1 (released in 2011) onwards supported WebGL via the experimental context. Canvas2D has been fully supported since 2009.
- kalleboo 8y ago> The complete classes are over 500kB; no one will want to download these on-line Ah, the good old days. I can't wait to see how huge the runtimes we'll be expected to download for WebAssembly will be.
- bluedino 8y agoI find that odd. Even over a 14.4 modem (which was obsolete by that time) it would only take about 5 minutes.
- pilif 8y agoApplets were supposed to be embedded into webpages like images. Given the JRE was already started, you'd expect the load time to be a few seconds at most. For sure not 5 minutes before a page becomes interactive.
- cesarb 8y ago> Given the JRE was already started, you'd expect the load time to be a few seconds at most. For sure not 5 minutes before a page becomes interactive. My recollection of these times is that when the JRE was not already started (which was often the case), it took up to one minute to start - and during this start process, the whole browser was frozen, with a helpful message on the status bar pointing to Java as the culprit. No wonder people started to think of Java as slow.
- 8y ago
- DonHopkins 8y agoWow, a blast from the past! 1996, what a year that was. Sun was freaking out about Microsoft, and announced Java Beans as their vaporware "alternative" to ActiveX. JavaScript had just come onto the scene, then Netscape announced they were going to reimplement Navigator in Java, so they dove into the deep end and came up with IFC, which designed by NeXTStep programmers. A bunch of the original Java team left Sun and formed Marima, and developed the Castanet network push distribution system, and the Bongo user interface editor (like HyperCard for Java, calling the Java compiler incrementally to support dynamic script editing). https://people.apache.org/~jim/NewArchitect/webtech/1997/10/note/index.html https://people.apache.org/~jim/NewArchitect/webtech/1997/10/... While I was working at Interval Research Corporation in 1996, after playing around with and reading over the source code and documentation, I wrote up a deep comparison and analysis of Internet Foundation Classes (IFC) versus Marimba Bongo (which was written by Arthur van Hoff, who worked on Java, wrote AWT, and before Java wrote another user interface system for NeWS similar to Bongo and HyperCard in PostScript, called HyperLook), and other related user interface component technologies. https://donhopkins.com/home/interval/ifc-vs-bongo.html https://donhopkins.com/home/interval/ifc-vs-bongo.html >This is a comparison of two component frameworks for Java, IFC and Bongo. >IFC (Internet Foundation Classes) is from NetScape, and is similar NeXTStep, which was written in Objective C. It was written by some former NeXT developers, whose company NetScape bought because they needed a Java toolkit. >Bongo is from Marimba, and is similar to HyperLook, which was written in NeWS object oriented PostScript. Marimba was founded by some of the original Sun Java developers, who left Sun to form their own company. [That also compares IFC with Microsoft's ActiveX/OLE/COM/MIDL stuff, and gets into some Java/JavaBeans/J++/CORBA/OpenDoc politics, and includes some comments by Arthur about IFC, AWT, Bongo, JDK 1.1, etc.] Here's a later article I wrote about HyperLook (that article is still a work in progress, since I haven't finished the comparison to HyperCard and Bongo): https://medium.com/@donhopkins/hyperlook-nee-hypernews-nee-goodnews-99f411e58ce4 https://medium.com/@donhopkins/hyperlook-nee-hypernews-nee-g... During 1996 I also wrote up a wide ranging survey of the interesting component, plug-in, user interface toolkit, and application framework technology at the time: https://donhopkins.com/home/interval/pluggers https://donhopkins.com/home/interval/pluggers An Overview of Plug-In Technology circa March 1996 Don Hopkins, Interval Research Corporation Index: Requirements Problems Companies Platforms Languages Software Research Our Plug-In Requirements Somebody Else's Problems Companies Platforms Languages Software Research TODO https://donhopkins.com/home/interval/pluggers/problems.html https://donhopkins.com/home/interval/pluggers/problems.html Somebody Else's Problems These are problems that we aren't trying to solve, and that a lot of other people are. We should try to take advantage of other peoples work, instead of re-inventing the wheel. the component object framework problem (Open Doc, OLE, COM) the distributed object problem (CORBA, Electric Communities) the application framework problem (Galaxy, MFC) the programming language problem (Java and other languages) the multimedia library problem (ScriptX, QuickTime, DirectX) the garbage collection problem (COM, Java, ScriptX) the window system toolkit problem (HyperLook, Java AWT, MFC) the development environment problem (Metrowerks, MSDEV, Visual Basic) the web browser problem (NetScape, CyberDog, Explorer) the database problem (DAO, ODBC, Oracle) the image editor problem (Photoshop, Premier) the multimedia 8 track tape player problem (Director) the killer app problem (Lotus 123, SimCity) the operating system problem (Windows 95, Netscape) the pointless standard problem (VRML, COSE) or any combination of the above (TCL/Tk, ScriptX, NetScape) Software index: https://donhopkins.com/home/interval/pluggers/software.html https://donhopkins.com/home/interval/pluggers/software.html Netscape Navigator: https://donhopkins.com/home/interval/pluggers/navigator.html https://donhopkins.com/home/interval/pluggers/navigator.html Java: https://donhopkins.com/home/interval/pluggers/java.html https://donhopkins.com/home/interval/pluggers/java.html OLE: https://donhopkins.com/home/interval/pluggers/ole.html https://donhopkins.com/home/interval/pluggers/ole.html COM: https://donhopkins.com/home/interval/pluggers/com.html https://donhopkins.com/home/interval/pluggers/com.html MediaFlow design discussion, retrospective, and comparisons with other visual programming languages: https://donhopkins.com/home/interval/mediaflow-design.html https://donhopkins.com/home/interval/mediaflow-design.html Freaky Putty: https://donhopkins.com/home/interval/freaky-putty.html https://donhopkins.com/home/interval/freaky-putty.html
- ptx 8y agoFor screenshots, see the chapter "Using components" in the documentation: https://stuff.mit.edu/afs/sipb/project/java/packages/ifc/documentation/developerguide/ https://stuff.mit.edu/afs/sipb/project/java/packages/ifc/doc...
- mproud 8y agoJava in the browser almost had the staying power of Flash, or even the Javascript + Canvas we have today.