5 ms·
Programming Portals
- bombolo 4y ago> the GUI or graphical user interface. A place where every available feature was visibly laid out before you Android designers: "but what if we could make a GUI where you need a youtube tutorial to access any feature?"
- macintux 4y agoRelated: this front-page post on Decker. https://news.ycombinator.com/item?id=33377964 https://news.ycombinator.com/item?id=33377964
- aliqot 4y agoI love blog articles like this. Someone posted one recently that had the mechanisms of a watch beautifully programmed and very smooth. This one was captivating in a general sense but I'm a little ashamed to admit I don't quite grok the significance of the programming portal in the way it is being celebrated in this article, but it does give me warm feelings about old Macromedia software the way that they're presented. What a pleasure to read. Thanks to those involved for making this!
- runevault 4y agoThis was really interesting. I am surprised arguably the best modern example of this didn't get mentioned. Excel. Now I'm curious how easy it is to get at the python bits of Blender during a session instead of having to pre-build addins to handle your needs since I know about its scripting layer.
- greenyoda 4y agoThat surprised me too. Any serious user of Excel has typed in a text-based formula. More proficient users can drop down into VBA and write code that interacts with the spreadsheet using a DOM-like object model - which seems to exactly match the definition of "programming portal" described in the article. And this VBA code doesn't just have to be a simple macro to save a few keystrokes - it can be a full-blown GUI application that connects to a database or controls another program.
- rgrieselhuber 4y agoIt really fascinates me how many conceptual areas the idea of portals appears, and it often entails this idea of a breakaway society, a way of life separate from the mainstream.
- ninotheopsguy 4y agoThis is one of the greatest blogs ever
- canadianfella 4y ago
- agentultra 4y agoDon’t forget the console on Doom, Quake, and many games since like Minecraft. Small though they are they do let you program and change the parameters of the game while it is running.
- fractallyte 4y agoShe missed the biggest ‚programming portal‘ of all: Smalltalk! Pharo (https://pharo.org/ https://pharo.org/) and Squeak (https://squeak.org/ https://squeak.org/) are the best-known modern incarnations. Inspecting objects, ‚live‘ coding, a GUI that's intimately tied to its CLI - that's exactly Smalltalk! The Morphic UI: http://wiki.squeak.org/squeak/1870 http://wiki.squeak.org/squeak/1870 and https://en.wikipedia.org/wiki/Morphic_(software) https://en.wikipedia.org/wiki/Morphic_(software) Making an app: https://codingitwrong.com/2021/04/28/creating-a-smalltalk-app-with-morphic-designer.html https://codingitwrong.com/2021/04/28/creating-a-smalltalk-ap... And a nice entry from someone else's digital garden: https://becca9941.github.io/2019/09/01/making-a-ladybug-in-pharo-using-morphic-ui.html https://becca9941.github.io/2019/09/01/making-a-ladybug-in-p... Apple borrowed Smalltalk's paradigm from Xerox PARC and commercialized it (iPad and iOS, with their (pay)walled gardens and locked interfaces), but Smalltalk really pushed the limit with interactivity. There's still room for Alan Kay's Dynabook, as a portal to programming.
- guessbest 4y agoIt is a shame the web browser was builds documents with javascript enabled elements and not on a smalltalk stack.
- fractallyte 4y agoHere's Smalltalk in a web browser: https://amber-lang.net/ https://amber-lang.net/
- tkk23 4y agoIf I remember correctly then Genera[1] also had such an interface. [1] https://en.wikipedia.org/wiki/Genera_(operating_system)#User_interface https://en.wikipedia.org/wiki/Genera_(operating_system)#User...
- paxys 4y agoAside from the content (which is fantastic), this is one of the most graphically pleasing blogs I have come across in a long time. * Clean design. No loud colors, animations, popups or clutter. * Sensible CSS usage. Good colors, contrast, margins. * Large text size. I don't know why so many sites (including HN) mess this up. I don't want to have to magnify a site 3-4x just to read the text from a reasonable distance. * Rich content when needed (images, GIFs, video embeds), all serving to complement the writing rather than getting in the way. * Reads very well on mobile devices. * Loads quickly. Sites like these are a perfect response to many different sides of the web design debate – including those who preach that plain HTML with six tags and no CSS/JS is the only acceptable answer for a functional website.
- bdr 4y agoI agree. One additional detail to notice is the use of horizontal space. There are several different widths being used, depending on the type of content. (I'm on desktop.) I like the varying "full-width" image sizes, as well as the footnotes on the side. But most exciting to me is how the content gets wider for side-by-side image and text components, such as the early MS-DOS CLI screenshot. This component uses the extra horizontal space that it needs to, while maintaining flow with the rest of the writing above and below it. It's elegant and I believe it's an innovation. After experiencing this post, the typical blog or article layout crammed into a fixed-size column seems straitjacketed. It's inspiring.
- protomikron 4y ago> Sites like these are a perfect response to many different sides of the web design debate – including those who preach that plain HTML with six tags and no CSS/JS is the only acceptable answer for a functional website. For what it's worth, it breaks Dark Reader.
- nicbou 4y agoYou forgot the gorgeous hand-drawn illustrations. Maggie's website convinced me to make my own illustrations on my website too.
- 4y ago
- djmips 4y agoMy mind immediately went to the scripting systems, visual or text based that allow level designers to create the game experience in a programming portal that many are unfamiliar with. The blueprints of Unreal Engine. The shader graphs. All of the best allow for working interactively. Smalltalk's vision is partially embodied in Unity where live editing works for many things and the feedback loop is often instant. But nothing really achieves fully what has been envisioned. One of the reasons why utopias don't exist for programing portals for serious work is the flipside of programming - debugging. If and when they succeed for anything more than the simplest uses, they can come up against a lack of good systems to collectively inspect and reason over failed functionality or performance. I still love things in this vein. Shadertoy and Graphtoy come to mind.
- thewebcount 4y agoThis is an interesting idea. I work on video creation applications, and what I’ve found is that there is a very small sliver of users who want programmatic access to the data model, and the rest not only don’t want it, but are turned off by it. A problem with adding it is that it opens up a lot of ways to mess up your application, so you have to do a lot of work to make it work properly for users. Given how awful every developer tool I’ve used over the last 40 years is, I have to believe that making developer tools is a very difficult thing to do. Now making one that non-programmers can use, seems even more difficult. It does leave users with a lot of power, though. I can’t argue that.
- overlisted 4y agoThe linked 2013 Notion demos look incredible. I really wonder what made them drop all of those features.
- ilaksh 4y agoI actually added a whole procedural generation system integrating LiveScript and p5.js into my NFT generator with little tabs that open right next to the place where the trait images are uploaded. Each trait has their own code for trait definition, pre draw and post draw. They can reference other layers easily. As far as I know, no one except me has ever used it. https://algonfts.art https://algonfts.art If I ever have time I might make something similar but more along the lines of Unreal Engine Blueprints or Houdini. I think the next interesting developments for user interfaces will involve AR/VR and AI. For example, you could visualize a large retro computer game collection with a 300 foot bookshelf if you wanted. Or suppose that some components had haptic interfaces and could literally snap together if you were using controller or haptic gloves. Or maybe a debugger could show each step of a program state as a separate offset 3d layer and you could just lean forward slightly to peek at a previous step. Maybe command menus could be navigated with slight gestures and finger arrangements. A good haptic glove and AR display could provide a highly customized keyboard and set of buttons specific to each application if desired.