9 ms·
I imagine a world in which the F/OSS community chose to implement and innovate on GNUStep or some other OpenSTEP/NeXT/Cocoa compatible implementation. This proj
by peatmoss 8y ago
I imagine a world in which the F/OSS community chose to implement and innovate on GNUStep or some other OpenSTEP/NeXT/Cocoa compatible implementation. This project is exciting by way of providing a more complete nucleus of what that desktop might look like.
The KDE/Gnome schism really divided the mindshare of the open *nix desktop. If we’d gone this route, I like to imagine the differences between Mac and Linux or BSD would be small enough that
- Mac apps would be a recompile away from running on Linux
And
- Linux would be a viable developer environment to target macOS
Apple’s commitment to the desktop has waned and caused some longtime users like me to go back to Linux/BSD. Meanwhile, desktop facilities on Linux/BSD have lacked coherence and singularity of vision. A viable, modern post-OpenSTEP Linux and BSD desktop would have the capacity to keep Apple honest, while giving the Free community a benchmark for consistency.
I’d love to see something like this project blossom into a 3rd way GUI layer for Linux and BSD.
- pjmlp 8y agoObjective-C never had much love outside NeXT and this was even an issue for Apple, which offered Java support in the begging on parity with Objective-C while they weren't sure about the Mac OS developer's receptivity to it. They only dropped Java after being validated that Mac developer community was fine with Objective-C. Also lets not forget OS X could have been some evolution of BeOS and NeXT while innovative, wasn't going to last much longer alone on the workstation market.
- informatimago 8y agoMay be it would have been more popular to make the bolder move of using Smalltalk. At least, this choice would have been more sustainable than Objective-C, which has to be replaced now by Swift. Swift is not bad, apart for the botched argument list syntax; do it smalltalk-like like in Objective-C or indeed Smalltalk, or do it algol-like, but this mix is ugly! Or of course, to just use Lisp, because let's remember that 95% of the success of NeXTstep was due to the Interface Builder which was just an Objective-C rewrite of a Lisp program!
- pjmlp 8y agoI guess the bold move would have been to have kept Dylan around. :)
- protomyth 8y agoI do sometimes wonder what a Cocoa framework would look like for Dylan. It might be really interesting given Dylan’s capabilities.
- klibertp 8y agoFor those interested, Dylan was a language with semantics close to Scheme, with object system inspired heavily by Lisp CLOS (with multiple inheritance and multiple dispatch), with infix, non-sexp-based syntax (kind of Lua-like), but also with pattern-based hygienic macros. Honestly, just reading that list of features should be enough to get anyone interested, it died because the company behind it went out of business IIRC, which is a shame. It still exists, is on life support over at https://opendylan.org/index.html https://opendylan.org/index.html - without a dedicated IDE and up-to-date windowing library it's a bit unwieldy, and it lacks something like 20 years of performance optimizations that went into other compilers, but it still works. And, even now, its linguistic features are way ahead of Java; it would be easier to compare it with Scala rather than Java - and it was like that in '95. Well, it feels more like an exhibit in a museum now rather than a real, workable tool - but at least it's preserved in this form, so there's still hope that someone will step in and revitalize it...
- pjmlp 8y agoAlso the Dylan team at Apple even though they already knew about their death sentence, went ahead and finalized their NewtonOS implementation ahead of the team redoing it in C++. There was a comment from one of their team members a couple of years ago here in HN. I think Julia and Swift both have a bit of Dylan on their souls. :) EDIT: Found the Dylan post with comments from the Newton team. Search for entries from wrs and mikelevins. https://news.ycombinator.com/item?id=15106802 https://news.ycombinator.com/item?id=15106802
- 8y ago
- pankajdoharey 8y agoWhich is very sad, because there are hidden gems in GnuStep and Etoile in the form of Obj-C runtime and Language Kit Runtime respectively. It could have served as a platform to develop and run dynamic languages, with support at OS level. But OSS community hardly paid attention to these llvm backed runtimes.
- protomyth 8y agoThey only dropped Java after being validated that Mac developer community was fine with Objective-C. They dropped Java because it was obvious that Java couldn’t handle they dynamic nature of the Cocoa framework. It was a horrible fit.
- cmiles74 8y agoI put a couple applications together that worked with the Java bridge to get Java code updating a Cocoa UI and it felt kind of hacky even at the time.
- pjmlp 8y agoI bet that if the Mac OS developers had eschewed Objective-C, Apple would had fix all the ongoing issues with the Java bridge. Also we shouldn't forget that Java semantics and execution model are closer to Objective-C than C++, thanks to OpenSTEP project collaboration.
- protomyth 8y ago> Apple would had fix all the ongoing issues with the Java bridge I really don't think they could have given the non-dynamic nature of Java. That part missing from Java's semantics and execution model is pretty critical and would only be added to the JVM much, much later. I have to agree with cmiles about the "hacky" nature of the bridge.
- pjmlp 8y agoDynamic loading, interfaces, bundles, reflection was already there in those Java versions. The only things I can recall not being there aren't that well supported by Swift as well, regarding dynamic patching classes, missing method handling, swizzling and such.
- cmrdporcupine 8y agoI know there are a lot of Objective-C lovers and advocates out there, but after working in it for two years I just always found it to be a terrible worst-of-both-worlds fusion of C and Smalltalk. It lacks both runtime and compile time safety, but without any of the advantages that come with Smalltalk (cool environment, quality GC, excellent class libraries). And because they essentially bolted on Smalltalk-style runtime late bound dispatch into C if you write in a heavily OO style you don't get any of the performance advantages of it being a "C". On top of that the syntax is a terrible mismash. Constantly going back and forth between the two expression styles, they honestly just don't mix well. And the memory model was never well done -- having to avoid reference-count cycles makes many things awkward. I understand why they got stuck with reference counting for collection, but it's not like RC implementations with the ability to handle cycle collections weren't invented years ago... Finally, it's an insular language that is vibrant only within the Apple dev community. I agree with others -- they would have been better going 'full Smalltalk' or something like it. I'm glad they finally went with Swift. I only wish I had been able to use it in my dev.
- peatmoss 8y agoI like to think that the F/OSS community could have done better with OpenSTEP/Cocoa language bridges than Apple’s performance with Java had the community not been burning all its energy on frameworkless window bling. In the other timeline where GNUStep becomes the defacto UI environment for Linux, we are writing Cocoa and GNUStep apps in Smalltalk and Guile because even Apple recognizes how great some of the F/OSS apps are. Also BeOS had major problems. I loved it, but I think BeOS with its multiuser story and networking would have been a much harder road to follow for Apple. Lastly, I think NeXT without Apple was failing not because of technology but because of cost and the economies of scale that little NeXT could bring. OSX proved the tech could carry forward with incremental improvement.
- cmrdporcupine 8y ago> Lastly, I think NeXT without Apple was failing not because of technology Agree, mostly. In the end it took almost 10 years to get OS X to market anyways. Apple wasn't missing an operating system, it was missing focus. Of course had they not invented the iPod/iPhone in the noughties, they could very well be extinct today and this conversation could look very different.
- andrewstuart 8y agoThe one thing that OSS never did well was make things look gorgeous and consistent.
- fauigerzigerk 8y agoThe one much more important thing that OSS never did well is managing/making device drivers. I know it's not primarily OSS's fault, but it has made Linux on consumer devices unusable for me and for many others. Unusable or simply non-existant in the case of mobile devices. And it's a huge shame if you look at the current historical situation, which is, I think, pretty dramatic. We have a handful of huge, all-knowing corporate gatekeepers taking a ridiculously disproportionate cut of software developers' revenues and restricting what we are allowed to do with our devices. We are suffering from collective amnesia as to the dangers of the authoritarian surveillance state. We are struggling with a massive onslaught of organised crime trying to take over our data, our identities, our money and our democracies. I'm not a computer security expert by any stretch, but it seems pretty clear to me that without controlling the end user device, there is basically no chance of ever being in control of your data. OSS has failed where it matters most, where it's literally about freedom. You could argue that it's not OSS that has failed but me not setting the right priorities. I don't deny that, but the choice really shouldn't be that stark. My girlfriend is far more determined than I am. She does use Linux on her laptop. But just in the last couple weeks this is what happened: I had to scan documents for her on my Mac because her scanner driver isn't working properly, creating tiny, grainy images if it works at all. When I wanted to close the lid on her laptop because we were heading out she shouted "STOP!! I need to switch graphics cards before shutting down or the computer won't boot". She found her OpenVPN installation to be leaking DNS (again, after fixing it several times). Her Chrome browser has stopped rendering fonts properly. There are small pixel artifacts, even lines, next to the letters. Before the previous dist-upgrade that wasn't the case but none of the point upgrades since then has fixed the problem (we know what causes this but the fix is tedious to apply and Firefox is working). Her laptop is running hot. This has always been the case but when the nvidia card is active the heat goes through the roof (hence the constant manual graphics driver switching). Many days have gone into trying to fix some of these things and some fixes have worked, temporarily, until the next dist-upgrade. I just can't take this, so I'm withdrawing silently and a bit ashamed into my Apple walled garden.
- deltron3030 8y agoWhat could be successful is a Linux distro that unites frontend devs and designers, but where the different tools and building blocks of that distro are used outside of the Linux ecosystem, for professional interface design on other platforms. Think of UI design tools like Figma, but having their own frontend UI framework like VueJS or React, coupled with an optional OS abstraction layer like Electron. The official UI of the design tool could be the base for the UI of the OS. GTK started similarly, as Gimp Tool Kit. Only that the base was kinda flawed and not really geared towards professional interface design, and it couldn't aquire credibility as design tool because of that. And if no professional designers use your tools it will be hard to get professional designers to contribute. That's the dilemma of GTK and Gimp. Base something like GTK on a dedicated interface design tool (like Figma) and other tools that complete the designer, developer experience, and this could totally rock. I think that a popular design tool that integrates a frontend UI framework and abstraction layer for the backend/OS, would also attract frontend and backend devs automatically. The main flaw in todays linux environments is the lack of focus on professional niches outside of devops and sys admin tasks, especially professional designers. I wondering about what could be possible, if companies like Figma and Mozilla would cooperate on a design centric distro..
- pjmlp 8y ago> The main flaw in todays linux environments is the lack of focus on professional niches outside of devops and sys admin tasks, especially professional designers. This is a trait of UNIX culture, which never cared about doing cool UIs and GUI oriented development stacks, with NeXT being the exception. Maybe Sun as well, if we consider how cool NeWS was before being killed. Steve Jobs while at NeXT did not have the UNIX CLI culture in high regard. "They said a Unix weenie was code for software engineers who hated what we were doing to Unix (the operating system we licensed)—putting a graphical user interface on it to dumb it down for grandmothers. They heckled Steve about his efforts to destroy it. His nightmare would be to speak to a crowd of them." https://www.cake.co/conversations/rZXhqtP/that-time-i-had-steve-jobs-keynote-at-unix-expo https://www.cake.co/conversations/rZXhqtP/that-time-i-had-st... In a way, part of ChromeOS and Android success story is due to providing a full stack story to the developers and users, where Linux plays an invisible role.
- pankajdoharey 8y agoActually Gnome when it started was really good. I remember around 2000 same time as Redhat Linux 6, Gnome worked perfectly. But for some reason Gnome community wasnt satisfied so they started modifying it so much that it worked more like Windows, when they were still not satisfied they wanted to become more like Mac with fancy animations and a Dock. Which is why very few use gnome these days. Gnome people have lost their way. Now its just a community of confused people, same applies to KDE. A more well disciplined community is i3, mint and elementary.
- HeadsUpHigh 8y agoKDE is actually much nicer as a community compared to Gnome with much less ego and less toxicity. Plus they develop and maintain a ton of useful applications while Gnome feels much more dried at this point.( I use i3 myself).
- pankajdoharey 8y agoThat is true KDE is less toxic, but for us minimalist hackers i3 is simple and nice.
- HeadsUpHigh 8y agoAgreed. I have xfce installed along side it because I was curious at some point so I have that extra daemon that makes a popup every time a command is completed(comes with xfce). It's useful when the terminal is on another workspace.
- etatoby 8y agoKde 1 through 3 were excellent. There's still a fork of Kde 3 kept up to date by the Trinity project: http://www.trinitydesktop.org/ http://www.trinitydesktop.org/ For me, I've found Xfce to be decent and modest (what Gnome, Unity, and modern Kde Plasma are not.) But I wouldn't mind giving the old Kde 3 / Trinity a new try.
- 8y ago
- zeveb 8y agoYou're right that it'd be awesome to have some singularity of vision, but the problem is that a consistent vision requires a small team, and Linux is, fundamentally, built on C — and C is insufficiently powerful to enable a small enough team to build an operating environment and all applications. Maybe it could have been done in SmallTalk, or in Lisp — but not in C. At least, not by anyone who's not insane (c.f. TempleOS). And the problem with the languages which are powerful enough is that they tend to attract the sort of people who don't play well enough with others to form large enough teams to build such a project (c.f. The Brilliant Bipolar Lisp Programmer). I don't know how to square this circle.
- AnIdiotOnTheNet 8y agoI myself feel that personal computing is dying because the corporate interests have abandoned it, and for reasons you've listed the OSS world hasn't been able to produce a worthwhile alternative. I've go ideas of what could be done to get us back to a place where personal computing was about empowering the user with simple, consistent, and performant abstractions, but there's a lot of ground to cover and I'm only one guy who is mostly out of his depth. I keep looking for a community that I feel is headed in the right direction to get behind, but sadly it doesn't seem to exist. I think I may have to face the possibility that there simply aren't enough people who care about personal computing, or at least the things about it that I believe make it worthwhile, for it to survive.