3 ms·
Electron really needs to heed the experiences of the past, if they want to really thrive. Smalltalk had what was both an utopian and a dystopian story and expe
by stcredzero 8y ago
Electron really needs to heed the experiences of the past, if they want to really thrive.
Smalltalk had what was both an utopian and a dystopian story and experience when it came to cross platform. For most Smalltalks, the abstract runtime memory model ran bit identically across all platforms. Essentially, everything ran the same ISA and runtime memory model as implemented by the Virtual Machine. Squeak Smalltalk runs bit identically across many dozens of combinations of hardware and OS.
The dystopian part came primarily from 1) lack of polish in the deployment tools, 2) high resource requirements at first, creating a poor performance reputation that never went away, and 3) a development culture that never prioritized UX and look and feel.
EDIT: And it's not just Smalltalk that had those pitfalls. It's also Java Swing. Tcl/Tk. Also, to one extent or another, any number of cross platform tools and libraries. Given we've been at it so long, and the same mistakes have happened so many times, the pitfalls for cross platform GUI must be quite severe and hard to see.
While I’m in full-on you-kids-get-the-hell-off-my-lawn mode here, let me mention another Mojave gripe that is clearly the work of young developers at Apple. The Finder’s File → Show Original command has had the shortcut ⌘R since, I think, System 6. (Select an alias or symlink and this command will reveal the original file.)
This is exactly the kind of arrogant, smarmy stuff which alienates power users. "Who uses that stuff anymore?" Well, quite often, it's power users and influencers, and quite often, there was zero research done to see if that's the case before the feature is removed by young devs.
- woah 8y ago> And it's not just Smalltalk that had those pitfalls. It's also Java Swing. Tcl/Tk. Also, to one extent or another, any number of cross platform tools and libraries. Given we've been at it so long, and the same mistakes have happened so many times, the pitfalls for cross platform GUI must be quite severe and hard to see. My guess is that the platform creators tend to put a lot of money into look and feel for their native components. This is hard to match for a small open source project (or anyone, really). The web platform gets around this by being flexible enough for the application creator to create a polished look and feel themselves, and ubiquitous enough for many designers and developers to know how to use it. That's also part of what makes it so resource intensive.
- stcredzero 8y agoMy guess is that the platform creators tend to put a lot of money into look and feel for their native components. This is hard to match for a small open source project (or anyone, really). It sounds like you have an unspoken assumption that only the web has that degree of flexibility. That's false, however. The web platform gets around this by being flexible enough for the application creator to create a polished look and feel themselves, and ubiquitous enough for many designers and developers to know how to use it. That's also part of what makes it so resource intensive. Smalltalk was flexible enough for anyone to create such a look and feel. Everything above the border of the VM itself was in the class library and was modifiable in Smalltalk, and most everything was in the class library. However, as a member of that community I can attest that many felt the need of this, but no one wanted to do it. Everyone who needed that level of polish was on a professional project and couldn't afford to devote that many resources to it, and everyone else was fine with the "developer" level UI. The Web after the "Web 2.0" period grew both a developer and user culture emphasizing good looking interfaces with great UX. This was also increased by the aesthetics of smartphones and tablets after the appearance of the iPhone. The tools on the web are a bit less flexible than what was available to many earlier environments. However, there were more people with more motivation to make things look good. It's not about flexibility and technical superiority. It's about numbers and motivation.
- scroot 8y agoPharo's new graphics system, Bloc, is going to change some of this. Already the guys rewriting GToolkit are experimenting with much better looking and more interesting UIs. And one of the backends is the same framework mozilla uses in their browser.
- MarkMc 8y ago> My guess is that the platform creators tend to put a lot of money into look and feel for their native components. This is hard to match for a small open source project (or anyone, really). I wonder whether the problem for cross-platform GUI can be solved by brute force. Swing had a terrible reputation for being slow and ugly, yet today I find Intellij (which is based on Swing) fast and good looking.
- linguae 8y agoI've gotten bitten by the Smalltalk bug recently and I've been thinking about this a lot. Smalltalk in the form of Smalltalk-80, Squeak, and Pharo is a fascinating environment, but I wish it were developed into a full-fledged operating system with an opinionistic set of UI guidelines (such as the Apple Human Interface Guidelines from the classic Mac days). Imagine had applications similar to MacPaint and MacWrite been written in Smalltalk. Even better, in my opinion, is to take advantage of the dynamic, object-oriented environment of Smalltalk and create component-based GUIs similar to Apple's OpenDoc efforts. I would use such a system today if there were any apps available. I think Smalltalk (or something similar to what I've heard about Lisp machines from the 1980s) is the perfect environment for creating such a dynamic environments, and I think Smalltalk would have been better received had it been molded into an operating system instead of sitting on top of another operating system with the whole impedance mismatch between the host and Smalltalk environments.
- stcredzero 8y agoI think Smalltalk would have been better received had it been molded into an operating system instead of sitting on top of another operating system Actually, it started out as an OS and was molded into a development environment.