Hacker News new | ask | show | jobs
by fallenhitokiri 1765 days ago
This is IMHO a really good point. Somewhere in between App Groups, Share Extensions and custom URL schemes I really hoped at some point we would see a way to make this happen.

My wife is currently using Affinity and Adobe products to work on illustrations. It works mostly the same for her as on her Mac. She does not care about small, specialised tools, she wants one app that does everything she needs. The iPad is doing a great job running those apps.

I am not sure how many users (outside of the ones who got used to it) want UNIX-like flexibility vs "give me an app that does everything I need". If the later group keeps getting larger the walled garden approach to apps might actually work.

3 comments

But for anything non-trivial, that app that does everything person A needs doesn't do what person B needs, and vice versa. It mostly does what person C needs, who is a whiteboard made subset of the most used features and doesn't match anyone.

It's not just UNIX-like flexibility, it's human uniqueness, and the uniqueness of the tasks they perform and the ideas they have. It's also the difference between owning and knowing how to use a tool, versus renting someone to do it for you who might help you today, but could rob or hurt you tomorrow.

Just consider how we spend decades to teach new humans to read and write as well as they can learn it, versus just giving them a bunch of emoticons to signal when they're hungry or sleepy or bored. Because we expect them to become full peers, and architects of their world, responsible for the next generation, not just consumers picking options others prepared for them. And we don't care if they want that, because we know what they don't know, yet. We base our judgement on the information we have, not the information they lack.

Making an exception for computer literacy just because it is hard (as if language and reading and writing aren't until you get used to them) set us on a terrible path.

> Just consider how we spend decades to teach new humans to read and write as well as they can learn it, versus just giving them a bunch of emoticons to signal when they're hungry or sleepy or bored. Because we expect them to become full peers, and architects of their world, responsible for the next generation, not just consumers picking options others prepared for them.

Thanks for this summary of the case for general purpose computing.

The problem is that company incentives want users to just be consumers. Because locked in users that are dependent on the company is very profitable.
Why should the average person learn these skills in particular rather than plumbing, cooking, woodwork, auto repair, or any number of other useful skills they could also learn?
I don’t see your point. I think people should learn those too if they want. And we do need people to learn them.

But nobody would suggest that someone that can only put together an IKEA nightstand is qualified for carpentry on the level of house building or fine cabinetry. Just because you can water a garden with a hose doesn’t qualify you to work on water mains.

Right. But most people do not work on water mains or as professional carpenters, nor does society need them to be able to start at any time.
Because most of those skills are relatively easy to be picked up at any stage in life, whereas computer literacy - or even a new programming language - is quite hard to introduce into people after they are 30 or so.

Take this with a grain of salt, as it is based mostly on my own experiences, although I remember at least an essay from Paul Graham talking about how rare it is to have a programmer switch languages after some age.

I have changed languages every time I started a new job and sometimes just switching projects on the same job. I don’t think learning a language is really that big a deal for a programmer.

I’m sure it’s hard to learn to be a serious programmer past a certain age. But it’s not easy to learn a new (human) language or get really good at many of the other skills I mentioned that quickly either.

Why not? What makes software development any less useful than the skills you mentioned?
Nothing. But I don't see anyone claiming that every high schooler needs to do mandatory shop or culinary arts classes, or lamenting that because you can just buy furniture in a store people no longer know how to make it themselves.
> I am not sure how many users (outside of the ones who got used to it) want UNIX-like flexibility vs "give me an app that does everything I need". If the later group keeps getting larger the walled garden approach to apps might actually work.

I think this is crux of the matter. Even outside the Apple ecosystem I see a tendency in people to not think about composing multiple tools but to look for an app that does everything.

I'm talking about my colleagues, working in IT, but in a Windows environment.

And on Windows there's PowerShell, which, although slow and to me not as flexible as bash, still allows one to do quite a lot of things. But people seem to see using it as a last resort, when there's absolutely no way of doing what they want by clicking around some window.

It's hard to remember all the arguments for a passel of command line utils. Discoverablility is much better for a GUI, and only someone who wishes to do something unusual or specialized will chafe against the limitations.
UI discoverability has massively declined with the advent of touch UIs though. You can't hover a UI item to see what it does, and there's a lot of non-intuitive "magic swipes" and hidden UI elements in smartphone UIs which you just have to know about.
Touch UI items tend to be larger by necessity (and to have surrounding padding as a safety factor, which increases their "effective" size even further), so you don't really need to do the hover thing. Just redesign them to be more self-explanatory as opposed to wasting that space.

"Magic swipes" could also be redesigned to be more intuitive, e.g. with some background soft-3D effects that make swipe-sensitive areas "stand out" from the neutral background.

Aren't magic swipes basically the analog to keyboard shortcuts?
Keyboard shortcuts were usually accelerators for easily discoverable menu items. Magic swipes don’t usually have the equivalent of a menu that can be used if you don’t know the swipe
Your argument applies to all kitchen sinks, regardless of whether they are considered one application like VSCode or an operating system withs collection of applications like Unix. Both still have all the capabilities for text editing, syntax highlighting, version control and executing scripts. You can spread complexity around in different ways but you can’t eliminate it.

Personally I find GUI discoverability to be like the hunt-and-peck model of typing, vs touch typing being CLI, and I don’t think it’s a coincidence that touch typing and CLI go hand in hand: you never leave home row. You think about what you want to do and type the command, instead of looking through panels of icons or more exotically arranged buttons (which in the newest web apps, constantly jump around as the page lazily loads, new elements appear forcing layout changes, fonts load causing text reflow… I frequently tap the wrong menu item because what I really wanted got pushed down by a new appearing element as my finger approached the screen.)

Maybe with something like PowerShell, with very consistent command names and arguments, this model is believable, but I don't know what other than memorization is going to tell you that "less" is for reading a file and "dd" is for copying one disk to another.
I agree with you about discoverability, but in practice I find that tasks aren't completely new every time, there usually are common principles. With usage, you kinda get to know what is and isn't possible, even if you don't recall the precise details of each and every command. So you can look them up, knowing more or less what you're looking for.

On Linux, `--help` usually... helps. Or there's the man. On Windows, the MS docs are usually usable to find things.

Of course, it may not work 100% of the time, but I find it's a question of philosophy. I'm not a Windows user, so I generally approach it with a mentality of "it would be nice to be able to do this, let me check real quick if there's a way". I usually manage to not have to click around for two hours when I have to do something repetitive.

Hm, well, part of the problem is, what man page are you even looking for? You already have to at least know the command you want. Honestly I usually end up resolving my queries with Google instead.
Uh no.

Take clicking around a Microsoft ISS configuration on Windows 2000 vs an Apache httpd config file and it’s online doc.

I briefly tried both, and didn’t look back

For a task like configuring a Web server you're right. But do you think most tasks people do on a computer are like that? I don't think that they are.
I think I saw a command line tool that would show the documentation for all flags when you pressed tab... I don't remember it's name, though.
Even in Unix it's not like everyone is satisfied with small and specialized applications, or Emacs, let alone modern IDEs, would never have been created.