Netscape's Internet Foundation Classes (1996)
Wow, a blast from the past! 1996, what a year that was.<p>Sun was freaking out about Microsoft, and announced Java Beans as their vaporware &quot;alternative&quot; 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).<p><a href="https:&#x2F;&#x2F;people.apache.org&#x2F;~jim&#x2F;NewArchitect&#x2F;webtech&#x2F;1997&#x2F;10&#x2F;note&#x2F;index.html" rel="nofollow">https:&#x2F;&#x2F;people.apache.org&#x2F;~jim&#x2F;NewArchitect&#x2F;webtech&#x2F;1997&#x2F;10&#x2F;...</a><p>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.<p><a href="https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;ifc-vs-bongo.html" rel="nofollow">https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;ifc-vs-bongo.html</a><p>&gt;This is a comparison of two component frameworks for Java, IFC and Bongo.<p>&gt;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.<p>&gt;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.<p>[That also compares IFC with Microsoft&#x27;s ActiveX&#x2F;OLE&#x2F;COM&#x2F;MIDL stuff, and gets into some Java&#x2F;JavaBeans&#x2F;J++&#x2F;CORBA&#x2F;OpenDoc politics, and includes some comments by Arthur about IFC, AWT, Bongo, JDK 1.1, etc.]<p>Here&#x27;s a later article I wrote about HyperLook (that article is still a work in progress, since I haven&#x27;t finished the comparison to HyperCard and Bongo):<p><a href="https:&#x2F;&#x2F;medium.com&#x2F;@donhopkins&#x2F;hyperlook-nee-hypernews-nee-goodnews-99f411e58ce4" rel="nofollow">https:&#x2F;&#x2F;medium.com&#x2F;@donhopkins&#x2F;hyperlook-nee-hypernews-nee-g...</a><p>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:<p><a href="https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers" rel="nofollow">https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers</a><p>An Overview of Plug-In Technology circa March 1996<p>Don Hopkins, Interval Research Corporation<p>Index: Requirements Problems Companies Platforms Languages<p>Software Research<p>Our Plug-In Requirements<p>Somebody Else&#x27;s Problems<p>Companies<p>Platforms<p>Languages<p>Software<p>Research<p>TODO<p><a href="https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers&#x2F;problems.html" rel="nofollow">https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers&#x2F;problems.html</a><p>Somebody Else&#x27;s Problems<p>These are problems that we aren&#x27;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.<p>the component object framework problem (Open Doc, OLE, COM)<p>the distributed object problem (CORBA, Electric Communities)<p>the application framework problem (Galaxy, MFC)<p>the programming language problem (Java and other languages)<p>the multimedia library problem (ScriptX, QuickTime, DirectX)<p>the garbage collection problem (COM, Java, ScriptX)<p>the window system toolkit problem (HyperLook, Java AWT, MFC)<p>the development environment problem (Metrowerks, MSDEV, Visual Basic)<p>the web browser problem (NetScape, CyberDog, Explorer)<p>the database problem (DAO, ODBC, Oracle)<p>the image editor problem (Photoshop, Premier)<p>the multimedia 8 track tape player problem (Director)<p>the killer app problem (Lotus 123, SimCity)<p>the operating system problem (Windows 95, Netscape)<p>the pointless standard problem (VRML, COSE)<p>or any combination of the above (TCL&#x2F;Tk, ScriptX, NetScape)<p>Software index:<p><a href="https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers&#x2F;software.html" rel="nofollow">https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers&#x2F;software.html</a><p>Netscape Navigator:<p><a href="https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers&#x2F;navigator.html" rel="nofollow">https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers&#x2F;navigator.html</a><p>Java:<p><a href="https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers&#x2F;java.html" rel="nofollow">https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers&#x2F;java.html</a><p>OLE:<p><a href="https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers&#x2F;ole.html" rel="nofollow">https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers&#x2F;ole.html</a><p>COM:<p><a href="https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers&#x2F;com.html" rel="nofollow">https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;pluggers&#x2F;com.html</a><p>MediaFlow design discussion, retrospective, and comparisons with other visual programming languages:<p><a href="https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;mediaflow-design.html" rel="nofollow">https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;mediaflow-design.html</a><p>Freaky Putty:<p><a href="https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;freaky-putty.html" rel="nofollow">https:&#x2F;&#x2F;donhopkins.com&#x2F;home&#x2F;interval&#x2F;freaky-putty.html</a>