> We need computing environments ... without the concept of applications appearing at all. Platforms keep trying to enable this, but application vendors want to control the UX and branding, so they're not going to provide these generic reusable building blocks. Android, for example, lets apps make use of views from other apps and securely delegate a task (e.g. take a photo, pick a file, etc.) to the user's preferred…
The answer is to push the "application vendors" back into the browser. None of them are really writing anything that needs to be running natively, it's almost all just a front end to some service on the internet. Real computer applications are almost universally developed by researchers and the open source community and look exactly like this. No "application" just tools you install into your system that are watched…
Programs are a prison: Rethinking the building blocks of computing interfaces
121–130 of 195 posts
Re: Programs are a prison: Rethinking the building blocks of computing interfaces
#122Earlier quoted context omitted.
Real world is always complex, ambigous and changing. So any simple model will in time be found inadequate, and complex models unusable. The problem of programming isn't so much the interface. Text has been used for decades and remains a robust communication platform among humans. The real problem is defining the problem to be solved, its scope and adaptability to a complex and changing world. The difficulty is the ga…
What's vague and hard to define about adding up some numbers in a table?
Re: Programs are a prison: Rethinking the building blocks of computing interfaces
#123> We need computing environments ... without the concept of applications appearing at all. Platforms keep trying to enable this, but application vendors want to control the UX and branding, so they're not going to provide these generic reusable building blocks. Android, for example, lets apps make use of views from other apps and securely delegate a task (e.g. take a photo, pick a file, etc.) to the user's preferred…
Re: Programs are a prison: Rethinking the building blocks of computing interfaces
#124> We need computing environments ... without the concept of applications appearing at all. Platforms keep trying to enable this, but application vendors want to control the UX and branding, so they're not going to provide these generic reusable building blocks. Android, for example, lets apps make use of views from other apps and securely delegate a task (e.g. take a photo, pick a file, etc.) to the user's preferred…
Re: Programs are a prison: Rethinking the building blocks of computing interfaces
#125Earlier quoted context omitted.
Exactly - for example, resizing photos. Imagine a resizer object, that could be used: - to implement resizing in various interfaces for image objects - in a script (think unix pipes but operating over real image objects, not streams of bytes) - wired up to various events and data sources for automation (when my aunt emails me a picture, resize it and put it in this folder) The resizer wouldn't be hidden behind some a…
One of the big problems I've seen with multi-vendor systems that co-operate is if something didn't work. It was never clear where the problem was because the system incorporated multiple products from multiple vendors. So if your resizer object didn't work for some images after upgrading Photoshop, but it used to in the old version, how do you get that fixed? In a single-vendor program, it's clearly a bug in the prog…
Re: Programs are a prison: Rethinking the building blocks of computing interfaces
#126A lot of replies are missing the point. It's not "apps integrate better with each other". It is "there are no apps". So what would Adobe sell, if not the "Photoshop app"? It would sell the Photoshop "menu of filters", the "selector toolbox", the "color histogram view" and such. But the workspace where you see the image and apply the selectors or filters would be outside Photoshop itself. It would be a standard part o…
Re: Programs are a prison: Rethinking the building blocks of computing interfaces
#127> We need computing environments ... without the concept of applications appearing at all. Platforms keep trying to enable this, but application vendors want to control the UX and branding, so they're not going to provide these generic reusable building blocks. Android, for example, lets apps make use of views from other apps and securely delegate a task (e.g. take a photo, pick a file, etc.) to the user's preferred…
Isn't that what app-stores are for, i.e. to police the apps?
Re: Programs are a prison: Rethinking the building blocks of computing interfaces
#128Earlier quoted context omitted.
Microsoft already tried this in in mid 90s. It was called OLE (Object Linking and Embedding). You could embed a photoshop document live in your word document and if you clicked the embedded document the photoshop UI for editing would appear. It turned out to be absolutely horrible. Maybe it was before it's time with computers having only a few meg of memory and being slower than today but it seemed more of an issue b…
Sounds terrible, but what you're describing seems to still fall in the category of "integrating apps" rather than "no apps". I think the best real world reference point for "no apps" is the terminal. Piping commands together is very powerful and intuitive (in this way they behave more like composable objects than applications). It works well, except for being unfriendly and reliant on low level text streams, which ar…
Pipelines are indeed very powerful, but mostly for a specific class of tasks. As soon as you need interactivity, the pipeline model losess a lot of benefits. None of the popular databases, web servers, games or office suites are implemented as terminal pipelines. The other problem with pipelines is that while they scale reasonably well with data size, they don't scale quite as nicely with task complexity. A five-program pipeline with complex command line arguments can already be complex to understand. A 500-program pipeline would be a total nightmare, especially when it starts including components for error reporting and retry behavior.
Re: Programs are a prison: Rethinking the building blocks of computing interfaces
#129On macOS, there’s AppleScript which can, I believe, achieve some of these sorts of things using accessibility APIs and similar. I’m not familiar with the extent of its capabilities as I don’t use a Mac.
Re: Programs are a prison: Rethinking the building blocks of computing interfaces
#130BTW this article reminds me Windows OLE https://en.m.wikipedia.org/wiki/Object_Linking_and_Embedding