3 ms·
More like 70's best practices [1]. Reusable GUI components were first (? citation needed) used on the Alto machine developed in 1974. The developments of the Xe
by edejong 7y ago
More like 70's best practices [1]. Reusable GUI components were first (? citation needed) used on the Alto machine developed in 1974. The developments of the Xerox PARC team were a huge inspiration to Steve Jobs, who later would create Objective-C and the NeXT system (with NeXTSTEP as the component based GUI) in the late 80s.
> Those who cannot remember the past are condemned to repeat it. To covet truth is a very distinguished passion. -- George Santayana
[1] https://www.classic-computing.de/wp-content/uploads/2016/01/A_History_of_the_GUI.pdf https://www.classic-computing.de/wp-content/uploads/2016/01/...
- granshaw 7y agoAnd the cycle keeps going back and forth, on and on...
- edejong 7y agoWell, I think (and many of my fellow engineers as well), that we were making good progress in UI design and abstractions until AJAX and the modern web came about. I've said this before and I will say it again: the web has brought modern software development practices back in time by at least 20 years. Everything had to be reinvented: usability, interaction patterns, accessibility, quality control, component-based GUI design, supportability and so much more. And in many ways we have gone backwards. Interaction patterns vary wildly from site to site. Most don't have undo/redo functionality. A failure of one component often means a failure of the whole. Accessibility on the web is terribly poor for the vision impaired. Interaction response time has gone up, not down even though our machines have many orders of magnitude more power than the 90's. Most websites cannot be properly maintained due to lack of coding standards and abidance of best-practices. Ok, just an old fart rant. Don't get me wrong: I think we have made leaps of progress when it comes to distributed computing, machine learning and mobile application development. The web, however, has turned into a huge dumpster fire.
- granshaw 7y agoThis is completely spot-on (well, disagree some about the coding standards and best practices part) and just calling it an old fart rant is way underselling yourself :) The irony is that the current/next generations who have never seen/used/built a non-stock desktop app will not know of this big-step-back that happened, and will think that this is how things always were. With so much moving to mobile, this comparison is becoming more irrelevant though. And on mobile native apps are very much still alive, due to many of the reasons you brought up.
- edejong 7y agoYou're right: coding standards have improved. Still, I wonder if we might be biased. From my perspective I see a lot of well engineered code (Scala, Rust), but the majority of the code produced is probably not that clean. The move to mobile has really opened up new opportunities and it seems this discussion is less relevant. Then again, loads of apps are web-apps underneath.
- protomyth 7y agoBrad Cox is the creator of Objective-C. NeXT / Apple did buy it from him. His books are very good.
- pjmlp 7y agoYou're right, you can read about them on the XDE developers environment for Mesa, the experience report about Mesa/Cedar, the three canonical Smalltalk books and some Interlisp-D related papers.
- Jach 7y agoLots of interesting Lisp work in UIs that continued into the 90s but then got memory holed with all the other Lisp innovations... I wonder if component-based web apps will ever rediscover the idea of meta protocols. A rather enjoyable presentation from Gregor Kiczales I watched not too long ago discusses the issue of mapping dilemmas (your rich window frame component is great but I can't just reuse a grid of them to have a rich spreadsheet app because of performance) and various attempts at providing controls to clients to resolve them. https://youtube.com/watch?v=5l2wMgm7ZOk https://youtube.com/watch?v=5l2wMgm7ZOk
- edejong 7y agoThanks for that link, I didn't know about that video. I read his "The Art of the Meta-Object Protocol", which provided me fundamental insights. Wrote just some weeks ago about that [1] [1] https://news.ycombinator.com/item?id=20233215 https://news.ycombinator.com/item?id=20233215