3 ms·
I can imagine a few reasons for such stagnation: - Business: there isn't a strong business need to re-think the desktop UI. There are needs on mobile and the w
by diegof79 5y ago
I can imagine a few reasons for such stagnation:
- Business: there isn't a strong business need to re-think the desktop UI. There are needs on mobile and the web, but improving the classic desktop doesn't give a competitive advantage (unless you can combine it with the web and mobile, which is exactly what Apple, Google, and MS are trying to do).
- Developers: you need to attract developers to your platform too. Devs will ignore your unique features if they are not attractive enough to justify the change, and they are not cross-platform. Examples:
- Smalltalk envs are like an extremely hackable Desktop OS (eg. Squeak or Pharo). They don't use the files as the storage unit, and the technology to scale the object image existed for a long time (eg. GemStone/St). The first complaint that you'll hear about St is: "where are my files and version control?". There is no interest in the dev community to make files go away because it breaks the tools that you use every day.
- macOS has features to support version history, or conveniently handle files (eg. auto-save, rename in place, cloud support). But, those features are not cross-platform, and they are ignored by the cross-platform "pro" software: VSCode, JetBrains IDEs, Adobe Products, Figma.
These two barriers are big enough to make any improvement incremental instead of revolutionary. Both iOS and Android are different from the usual desktop UI because of the form-factor (small screen, touch, low power, etc), and the lack of legacy (but people still wanted Flash when iOS came out, and Apple had to add Files to make the interoperability easy).
Maybe the next generation "desktop" is not a classic desktop but an evolution of the web browser. The sad part is that all the new environments (iOS, iPadOS, Android, ChromeOS, SaaS apps) are extremely closed and hostile to tinker with the system.
- igouy 5y ago> The first complaint that you'll hear about St is: "where are my files and version control?" More like "Where's the program?" Early '80s Smalltalk did use change-sets in files. p462 "Smalltalk-80 The Interactive Programming Environment" https://rmod-files.lille.inria.fr/FreeBooks/TheInteractiveProgrammingEnv/TheInteractiveProgrammingEnv.pdf https://rmod-files.lille.inria.fr/FreeBooks/TheInteractivePr... ---- You're right, Smalltalk is about "modifying objects that represent classes and methods" rather than editing files. So versioning means fine-grained "classes and methods" rather than versioning files. https://www.google.com/books/edition/Mastering_ENVY_Developer/ld6E19QIMo4C?gbpv=1 https://www.google.com/books/edition/Mastering_ENVY_Develope... ---- You're right, we know what we like - we like what we know. So (Pharo) "Manage Your Code with Git and Iceberg" https://books.pharo.org/booklet-ManageCode/pdf/2020-05-12-ManageCode.pdf https://books.pharo.org/booklet-ManageCode/pdf/2020-05-12-Ma...
- diegof79 5y agoThis wasn’t a critique to Pharo. Don’t get me wrong I worked using Smalltalk professionally for 3 years, and I contributed a small library to Squeak and Pharo. My comment was about how difficult is to innovate in areas like the file system. Pharo had to use git because is popular, not because is the best way to handle object versioning (eg Envy was much better at handling the history of your classes)
- igouy 5y agoI understood that the Smalltalk remarks were kind-of incidental to the point you wished to make. So just some clarification for readers stuck at the big-blob Smalltalk no-version-control meme.