Sort of related: I'm still confused by GUIs and files, and I've been using computers for ~30 years and programmed professionally for ~15, using Windows and Linux.
I've mostly gotten over all the confusion in Windows and Linux, but OS X still confuses me. Specifically how to install an application. It seems like it's different with each app.
For example, I downloaded a .dmg file for the Transmission BitTorrent client. And I double clicked it. There was another icon inside, and I double clicked that.
Now I'm running the Transmission client and I can use it. But it's not installed? I can't click on a .torrent file and have it launch the client.
I try to drag the whole thing into Applications? That makes a big mess. It doesn't install it. I have to open up finder and manually remove the files.
Then I realize I have to click the .dmg and then drag the thing inside into Applications.
To me everything in OS X looks like an "icon" and there is some tenous relationship to directories/folders, and "Applications" is some special pseudo-folder. I'm still confused, and not surprised at all that end users are confused. And this is on the OS that's supposedly the most user-friendly.
You’re getting downvoted but honestly I can’t understand why anyone would defend Finder. It’s appalling. Half of the power user functions one expects from a modern file browser are hidden behind non-discoverable hot keys and the other half just don’t exist at all.
It’s honestly the worst file manager of all the major desktop environments. And I’m including the GNOME here too.
I fully agree. I always had to resort to command line when I couldn't find cut&paste in Finder. Finder was frankly the worst part of having to use Mac for a project.
1. Command key requirement keeps you from accidentally deleting files
2. I actually really like Enter to rename now that I’m used to it. Renaming is a common operation in many instances.
3. Yes, space key opens quick view. It works with most common file types and is very fast. I don’t see a problem here.
4. This is a good point. The answer used to be Cover Flow but they unfortunately got rid of that very nice feature.
5. The home folder is not commonly used in their UI paradigm.
6. I’m not sure I’ve seen this behavior.
7. This is a good point.
I’d agree that “Finder is just horrible to use for someone who expects Linux- or Windows-like behaviors.” Once you’ve learned it, though, it’s mostly fine and, in my opinion, a bit better overall than Windows Explorer.
Yes, it could be improved. They really need a better cover flow replacement for browsing a folder of images or documents, for example. And they clearly haven’t been making much of an effort over the past few years to improve Finder beyond minor tweaks here and there. But it does its job overall, and long-time users (like myself) will miss features like Enter-to-rename if they adjust them to match the conventions in other operating systems.
There are also alternative file managers for Mac OS like Commander One and Path Finder for people who want more features.
> 1. Command key requirement keeps you from accidentally deleting files
You have the trash can for that.
> 2. I actually really like Enter to rename now that I’m used to it. Renaming is a common operation in many instances.
Agreed, so give it to a key like F2. The most common operation on a file is to open it. Enter should do that.
> 6. I’m not sure I’ve seen this behavior.
If you have a file with a long name "a_file_with_a_really_very_long_name.txt" will show up as an icon with "a_file_with_a...long_name.txt". Even if you select it, the name will not show. This is very annoying when I have similarly named files with slight differences.
> I’d agree that “Finder is just horrible to use for someone who expects Linux- or Windows-like behaviors.” Once you’ve learned it, though, it’s mostly fine and, in my opinion, a bit better overall than Windows Explorer.
I think you are right in part. Most of my pain is due to unfamiliarity. However there are a few things that I feel are genuinely horrible, and should be fixed. I think File Manager in Windows is a much better designed app with a very thoughtful attention to features and detail. You can get used to anything, but you shouldn't have to.
Is there a better file browser? The macOS one is by far the one I’ve used the most (os6,7..X). Many routine operations seem hidden or non-existent when I try to move to windows or linux (which I’m keen to do).
This is mostly a historical thing. There’s no real reason to use .dmg these days - historically it was the only Apple-supported way of compressing macOS files and keeping their resource forks intact. These days .zip is fine.
That said there isn’t an ‘install’ as such on macOS. Applications isn’t a special folder, it’s a regular folder like anything else. Putting an application bundle on your local disk anywhere is sufficient to get file type mappings to work.
The downside of course is there’s no corresponding uninstall that removes anything extra the app dropped in to ~/Library.
At work we make a .pkg inside a .dmg, and I'm told this is because that's the only way to have an icon?
> Putting an application bundle on your local disk anywhere is sufficient to get file type mappings to work.
How does this work "under the hood"?
"Bundles" and "packages" as a general concept are interesting. Lots of games from DOOM upwards use "packfiles", which are effectively lots of files in a never-unpacked container. You can't see them in the filesystem, because the intent was to avoid incurring filesystem overhead for them. MacOS bundles appear to have gone in the opposite direction: the structure is brittle (if you move anything it breaks signing), but it's unpacked into the filesystem.
Under the hood, Apple used to have a tech note on it but I can’t find it right now. Essentially the OS uses file system event notifications to watch for bundles being added or removed. It maintains a database of the mappings declared in the plist for fast lookups.
Icon for what? .apps inside dmgs have icons just fine, like anywhere else (locally). Moreover, people add background images via some special metadata files, to have those arrows telling you to drop the .app onto the symlink to the Applications folder.
So if installation means simply moving an application to your local disk, or specifically to the Applications folder... then how does stuff end up in ~/Library instead?
For applications there is no Windows style install process where things like the registry have to be updated, the os manages these associations itself.
For things like kernel extensions yes there’s an installer, and some more invasive apps do that as well. But for a plain app there’s no _need_ for an installer. That doesn’t prohibit them of course.
For apps that are not installed via an App Store… most will come in either an installer as a PKG file or as just the app files inside of a ZIP or DMG container.
With PKGs you double click the file and it leads you through the installation process.
With DMG, these mount as disk images and you can then just drag the app into the applications folder. Sometimes they include a link inside the DMG to that applications folder to simplify that process.
With ZIP, you double-click the zip file and it unpacks in the current directory. Then you drag the app into the applications folder. These are mainly uses by individual developers or small shops who don’t want to go to the trouble of a PKG or DMG container.
Uninstall generally just means dragging an app from applications to the trash can. There is no registry and most apps don’t install helper apps. Those you usually uninstalled via the PKG.
I usually find the easiest way of installing software on macOS is homebrew.
But as great as homebrew is, I’m still left irritated that one of the most profitable companies in the world could make their flagship operating system such a fucking mess.
Why is it that free operating systems do a far far better job at managing software installs than any of the commercial ones?
Apt
Dpkg
Snap
AppImage
Flatpak
Pip
Cargo
Homebrew
Make install
And there's pacman, nix, rpm, and a bunch of other package managers for other distros.
It's actual worse now than it's ever been. Every program seems to have a different way to install it, or multiple ways and the versions in each package manager are different.
> Ways I can install software in Ubuntu:
>
> Apt Dpkg Snap AppImage Flatpak Pip Cargo Homebrew Make install
Ways most users install applications in Ubuntu - the software repo/software center.
All those other options are options that most users don't use anyway.
> And there's pacman, nix, rpm, and a bunch of other package managers for other distros.
That's irrelevant - user's on a redhat system aren't going to get confused by the options for a debian system. You present those as if a user has to navigate all of those and make a decision which is patently incorrect.
> Every program seems to have a different way to install it,
You're correct, that is a recent thing and it's because software vendors (Microsoft, etc) are trying to make their delivery system the same for all supported platforms, so they tend to default for the lowest common denominator (i.e. the platform with the worst software installation support), which is Windows.
> You're correct, that is a recent thing and it's because software vendors (Microsoft, etc) are trying to make their delivery system the same for all supported platforms
I don't think the state of Linux package management has anything to do with Microsoft.
Since openly development systems often give you the most choices, you have way more ways to install software than you listed.
But for most purposes, what you'll need on a typical Ubuntu box is all available in the Apt repositories.
Giving options doesn't mean you have to use those options. With Ubuntu, you can safely assume (most of the time) that what you need is in a Apt repository. Compare this with macOS where applications does really come from anywhere and it's not safe to assume you can install application from any one place.
In my experience, recently developed applications are rarely in Apt and use one of the above listed distribution methods.
My counter-point to the parent is that installing software in Linux is NOT objectively better, in the sense that it's easier. Software that targets Linux almost always comes with installation instructions one must read (I'm not referring to the normal utilities, etc that have been around forever).
As an end-user who's barely involved in packaging anything, i strongly disagree with your point. On free systems, installing a package can either be super easy (apt install from official repos) or harder and you have to read instructions.
It is harder to install software that has not been reviewed/vetted (yet) and as a user i believe that's a very good thing. That's the only reason out of the many non-technical GNU/Linux users i know, i've never even once seen a virus like i have seen the same people get on Windows/Mac.
"Download & run" untrusted code from the Internet is very much an anti-pattern for security. I'm really glad AppImage exists for some usecases (as it does support PGP signatures for releases), but i'm really glad it's not the go-to method for releasing software.
Also worth noting, there's exactly one reasonably-secure alternative to distro packages, and that's GNU/guix, another distro inspired by nix but with much higher security standards (bootstrappability, "channel introductions", etc). Maybe some day our distros will be packaged with GNU/guix and a GNOME Software (or equivalent) backend for graphical usage?
I’d estimate that I need to read install instructions for maybe 1 in 20 pieces of software I install on desktop Linux (server is a little different because you’ll have config files that need to be coded in Ansible etc but we are talking desktop OSs anyways). Whereas if it wasn’t for homebrew, an unofficial hack, it would be 100% of software on macOS.
That doesn’t strike me as Linux being particularly worse.
You dont have to 'Install' those apps. You're just moving their resource bundle (which yes, is a folder, but most people will not ever know) to a nice place where its easy to find. You can put it where ever you want, but there is an expectation that you will use Applications folder to keep things tidy. I dont see how its confusing, or why a normal user would be confused? They don't know anything about it being a folder unless they explicitly try and open it...
There’s nothing wrong with files. Files are a fundamental freedom - the freedom to have custody of data, unlike the mobile/cloud paradigm where everything is an app/API with no guarantee that data you access today will be accessible tomorrow.
File management and file browsers could always improve, but let’s not get rid of files themselves please.
The issue is that the very concept itself is limiting and thus limits how we can interact with the computer. The concept of files and directories is a direct analogue to a filing cabinet.
The concept of how the information is stored is no different. It just the amount of data that can be stored. While storing more data that can be copied, transferred and edited easier is an improvement. The fundamental concept of the file system itself is still wedded to a concept that is probably 1000s of years old at this point and by tying us to these concepts it limits what can be done with data within those files.
> This caused confusion because the the user did not understand that a online view of the files is not the same as having the files on your computer.
I think that's the crux of the problem. The concept of files should not be estranging to anyone. It's the weird mix between native GUI and online GUI that's confusing here.
Modern smartphones have abstracted files into specific names inside specific apps. Every file is in their own little app, and the idea that a document and a picture can live right next to each other is starting to look foreign.
I believe this babification of user interfaces is taking away fromtthe computer experience. The arcane menus and knowledge Windows 98 required is luckily a thing I'd the past, but the concept of "web browser or file browser" shows a dangerous lack of knowledge about the system in use. This isn't a problem for random DOCX files, but it makes phishing very easy. After all, if the user doesn't know that there's a difference between the browser and the rest of their computer, how will they ever doubt those messages about their computer being infected by a virus?
People use computers every day for many tasks, but their education seems to have halted around ten years ago. Kids are growing up solely with the smartphone model in mind, of apps and sandboxes and no way to move information with anything but the "share" button, so it's only a matter of time before that concept is also simplified.
Interfaces should be intuitive but computers should not be used without knowledge of the core concepts like "what is a program" and "what is a file". We can try to fix this by making even leakier abstractions, but what we really need is education.
Not building actively confusing user interfaces would be a good start. If what you have is a file, presenting local file controls is appropriate, so do that.
If what you have is kind of like a local file but the abstraction is leakier than the Titanic, don't, because unless you can be very clear to all concerned about which operations aren't available (and here's a hint: you can't), it is inevitable that the user is going to try something that Just Doesn't Work for reasons they don't care about.
And that's a terrible user experience. Not just because they don't achieve their goal, but because it undermines their trust in interfaces that do get it right, so suddenly everything is fraught.
This is more a question on fixing in-browser cloud storage services.
Mounting the cloud storage locally is probably the best solution to this. I don't access my files in Nextcloud through my instance's website, I do it through the app that lets me treat it as another directory on my computer. OneDrive and iCloud already do this by default on Windows and Mac, respectively.
Do the in-browser storage services help this? Usually you need extra apps and some don't even have them. It would be nice if they didn't continue fragmenting. I suspect a large number of users don't know that it could even be mounted to their FS.
At least for OneDrive on Windows and iCloud on Mac, they're integrated with the OS and installed by default. There's no need for extra apps. It's not so good for Google Drive, Dropbox, Nextcloud, or other cloud storage services (or for that matter, OneDrive on Mac and iCloud on Windows) where you do need to grab and install an app.
I don't see "fragmentation" (as you put it) going away, because each service has its own way of authenticating users and accessing the services, and each OS has its own API for mounting or synchronizing files.
When someone sends me a zip file, having the most obvious link take me to a list of files in the zip that I can neither preview nor download seems illogical.
In the 21st century, I expect webmail providers to understand zip files.
Im guessing there is some kind of performance issue here. Where large or certain kinds of archives can have huge unzip times. Or especially that it is hard to determine the unzip time before unzipping.
Google drive drops a lot of features that are technically easy because there is no fast or constant time to perform the action.
Seems easy enough to just have a 1 second timeout and some RAM limit, and if the server can't get the job done in that the request is aborted and an error is presented to the user telling them to download the whole zip file and unzip it themselves.
Simple, get a file cabinet. It holds all of your files, and you can forget about them until you move to the next place.
Seriously though, this data exchange motif is so ingrained in computing as to be almost unimaginable to dispose of. Programs need a semipermanent method of exchanging information and we call that thing files.
The problem described here is not a files problem. It is a Microsoft SharePoint problem. Link to a file should directly download it to your computer. Not open up a fake file browser inside your browser.
I was thinking the same thing, but why would this be a feature? It's a feature because SOMETIMES, that is the correct way of handling it.
We're trying to shoehorn multiple use cases into a single/unified systems, of of cause something the computer will do the wrong thing, for our perspective.
In this case Sharepoint is used as a way of transferring files, which it can do, but isn't exactly meant for.
Asking the user seems the most obvious way of deciding this. There are plenty of ways to make it discrete with a default option selected that the user could deselect if desired.
Zipfiles are a special kind of file that contains other files. What is the proper response when a user clicks on a zip file on a web file store? Do you just throw the file at the local file system or do you open the zip file so that the user can see and choose specific files?
> Anyone who has used a computer with a GUI (Graphical User Interface) knows what a file browser looks like.
Just nitpicking here, but a lot of people who started using GUI on a "smart" phone have no idea what a file browser looks like. They know what a one-dimensional "photo" or "document" browser is, but they have no idea both are "files" that are stored in "folders".
Yup some evidence of this is the way that Android presents "large files" for deletion. It insists on showing you a flat view, not a hierarchy, which is very annoying to me. I want to know which folders are biggest, but it doesn't support that. Only files.
> Are there ways to simplify and streamline this fragmented system?
Technically, yes. There're protocols like FTP and WebDAW supported in pretty much all operating systems who allow users to view, download and/or upload files using any app.
Practically, no. Internet companies hate specialized protocols because they don't serve ads.
While you're at it maybe you could prevent ransomware by making access to one file different than access to many files? Any application that wants to access many files, especially critical ones, should require special permissions, perhaps a USB access key. For critical infrastructure this could be very useful. Spawning threads for each file should be detected and require the same special permission. Emergency access could be provided via a physical "break glass" mechanism that triggers logging and an alert on the network (perhaps even via an independent mesh network based on cheap ESP32 chips). Sure it would cost more, require some OS changes, and be a hassle to use, but for critical infrastructure those costs seem worth it. I know computer science has studied such things, is there some known roadblock to implementing this? Perhaps it was viewed as making system administration too tedious but I haven't seen any other ransomware solutions [backups (which will not stop blackmailing with stolen data) and kill cryptocurrencies (not possible internationally)] that make much sense so maybe it is time to reconsider, the costs may be worth the protection.
OneDrive for Business sort of does this, warning (with optional auth as I recall) before allowing a large number of file modifications or deletions to sync to the cloud.
I've been reassuring people for decades that computers are confusing, it's not just them. My go-to example is quite simple...
"You have two folders, with files in them, if you drag a file from one to the other, what will happen?
Depending on rules you can't be expected to remember, one of three things will happen. It might copy, move, or make a shortcut to the file.
If you right-click (the other mouse button) on a file, and drag it to the destination, you get to choose which thing you want done, every time."
This little instruction saves boatloads of time for Windows users. It's sad that there isn't a right button in the Apple world to help make things easier.
Yes, there is a right button in the Apple world. Yes, the very earliest version didn’t have the concept of multiple mouse buttons but a couple of decades ago, they did implement it.
The Apple mouse lets you click on the left or right side of the mouse. There just are not discrete buttons.
Third party mice have multiple buttons just like Windows.
You can always hold the Option key and click on something to trigger the right-click action.
I've mostly gotten over all the confusion in Windows and Linux, but OS X still confuses me. Specifically how to install an application. It seems like it's different with each app.
For example, I downloaded a .dmg file for the Transmission BitTorrent client. And I double clicked it. There was another icon inside, and I double clicked that.
Now I'm running the Transmission client and I can use it. But it's not installed? I can't click on a .torrent file and have it launch the client.
I try to drag the whole thing into Applications? That makes a big mess. It doesn't install it. I have to open up finder and manually remove the files.
Then I realize I have to click the .dmg and then drag the thing inside into Applications.
To me everything in OS X looks like an "icon" and there is some tenous relationship to directories/folders, and "Applications" is some special pseudo-folder. I'm still confused, and not surprised at all that end users are confused. And this is on the OS that's supposedly the most user-friendly.