This is great. The decision to skip CSS by depending on https://simplecss.org/ is smart - CSS is a whole other thing, and having that on top of basic HTML would be pretty intimidating.
Not sure how best to approach that though. Having a whole chapter of the book explaining files and folders feels pretty redundant. Maybe there's something good you could link to?
It's crazy how bad the mobile epidemic has gotten. There are kids coming into a Computer Science degree that can't figure out how to unzip a zip or even finding out where files get downloaded to. (Fwiw, those I know dropped out before 2nd year)
My dad was asking me a question about backing something up onto Google Drive, or saving space on some cloud storage account, or something.
He was using the mental model of files and folders -- that files exist and refer to stored bytes, and that there can be one or several copies of a file. There can be links to a file that take very little space relative to the file.
I had to tell him that I have no idea what sort of storage model these services expose, if any, and that the concept of a file system backed by a storage device is not the analogy that applications expose to their users these days.
He eventually understood, but I could feel his frustration -- that the mental model he had was really just chosen by a past moment in application design, and that what replaced it is nebulous and disempowering.
When i use google drive, the interface appears to be folder/file structure. Whether it is or is made to look that way is irrelevant, i suppose, as long as it works that way. I can also increase storage by downloading/deleting things so Im a bit flummoxed.
In my opinion, Google Drive is basically the same as the traditional file structure. Where it gets very confusing for people is when it comes to collaboration. Before 2020 or so, there was confusion around copying the same Google Doc so it appears in multiple locations, and making shortcuts to it instead. Look up stuff around the “Shift + Z” keyboard shortcut if you want to learn more.
I don't remember if he was trying to save space on his Google Drive or on his phone. His question was, mostly, that if he deleted files in one place, where would the space savings appear? I immediately thought of Windows' OneDrive and how it's sort of an automated rsync setup. I didn't know enough about his phone, which apps he was using, or about Google Drive to give an answer better than "I don't know, and I detect that some of your assumptions are probably wrong."
It’s ridiculous how complicated it’s gotten to answer my parents’ questions about stuff like this. The old desktop metaphors are gone. Screens are difficult for older eyes to read. Every app has a cloud service. Really seems like huge step back in usability.
For my Dad, we got him a “simple phone” – it basically does calls and texts, has big buttons in pretty much the style of old Nokia phones but chunkier. The screen is larger and higher resolution than those, so the text is nice and clear. It works really well for him in terms of being able to cope with it with his eyes and getting the job done.
> Every app has a cloud service
And that phone doesn't run apps at all… For things beyond calls and texts¹ he uses a laptop, largely keeping with the files/folders metaphor and no extra apps.
----
[1] managing his banking, certain shopping though he often instead asks one of us to do that as he is wary or falling into scam sites, facebook for more passively getting news on what family a-far is getting up to, his collection of digital photos (he used to take a lot), and such
It gets confusing when you use all google services though, because while google photos technically use your drive space, they aren't really exposed that way. Android generally gives you a warning that when you delete a photo that it's also being removed from your cloud storage too though. But google photos will also constantly prompt you to let it delete your local copies and only have the cloud copies, so you end up having no idea what they are actually doing. Just drive itself is pretty straight forward though since it's mostly separate from the phone and deleting from the phone has no bearing on what's on drive, unless you deleting from within the drives app itself.
Try enabling Google Photos to automatically upload images from multiple devices to the same account.
If Google Photos is low on space, try deleting from Google Photos without causing it to delete from all other devices. Seems to require manually copying all those files to an untracked folder, then deleting from Google Photos.
Try managing which folders Google Photos syncs:
When it asks to add a newly found folder, the app doesn't give any way to find out where that folder is or what's in it, unless the folder's name only occurs once on the device.
Try removing folders from the app ("Whups, didn't mean to backup all the graphic assets of a random app that foolishly doesn't use 'nomedia'!"), where the folder name is not unique. It again gives nothing more than folder names and no indication of where they are or what's in them.
Try getting Google Photos to list where every file first came from, so you know where the originals are (for various reasons).
I take photos on my phone, and they are automatically backed up. I can access them on all my devices, and I have them even when I change my primary phone, so I am happy. I only backup my camera photos, so I guess my needs are simple. So it suits my needs. I can disable it from backing up any other folders, so random photos don't end up in my library. I never needed to find out where a photo was backed up from, because I only care about my camera photos.
I'd say half of my first-year CS students don't know how to create a folder with files, at the start of the school year. To me, it's nuts. But on the other hand, lots of students are very curious and come to learn. You can't blame them for not knowing something.
I try not to get overly-annoyed at this kind of thing too, but to me it just demonstrates an incredible lack of self-drive, or curiosity, especially in the CS domain.
If the students are genuinely curious, there is nothing to stop them learning about pretty much any topic in CS - really. There are few university subjects where the entire syllabus is freely available online in almost every format imaginable the way CS often is, and very often the computer you already have works just fine to learn it on.
When I was a kid, this wasn't something I could afford or that my parents were willing to pay for. I did oftentimes use the library computers, but they were locked down (of course, half the fun was finding ways around that.)
I was very lucky that my middle school (in a fairly low-income area) was given a grant by NASA that allowed them to supply all of us with laptops during the school year. I surely wouldn't be where I am today without it.
In some respects, a modern mobile phone has more in common with minicomputers than minicomputers had with computers before keyboards and file systems. Being able to interact with computers in a meaningful way transformed computers from programmable calculators and data processing machines into something entirely different. I would imagine that more people have seen those archaic computers in museums than during their service life simply because there was no need to interact with those computers back in the day. Even a web developer has more direct control over a server in a data centre than most early programmers had over early computers. (At least those used in businesses. Computers used for research were a different story.)
Ya, I have to agree. Although you may learn, it's clearly not the primary intention of a University to teach anything but your ability to do whatever it takes to score well or do publishable research.
>To keep that line of reasoning going, what is the purpose of the university, if you're supposed to learn everything on your own?
It's not that you have to learn everything on your own though, it's that if you enter a program without having some understanding of the basics, you're going to have to pay to take a bunch of remedial classes.
It'd be like going for a mathematics degree when the highest class you took in high school was algebra, where the normal degree students would be starting with Calc 3 or Differential Equations. You might be ok in the major or you might not, but you don't even know enough to start on the path at that point.
A good CS course isn't really about programming in that sense. A CS degree is to programming what a maths degree is to, say, statistics methods, or at least it should be. You are expected to learn the “hum-drum details”¹ yourself (perhaps with guidance of course) or already know some of them, with the course exploring wider or deeper concepts (the why, wherefore, and therefore, of those details).
Your maths degree probably did as much as a CS degree would have done (expanding your ability to learn, analyse & problem solve, etc.) allowing you to learn the technical details of programming on your own. CS was essentially birthed from a branch or two of mathematics, after all!
People who want/need a programming course (which is perfectly valid, I don't mean to denigrate the position in the slightest) are probably not best served by a traditional CS degree.
--
[1] “hum-drum” sounds a bit too negative for what I was intending, but my brain isn't firing on all cylinders this morning and I can't think of a better term for what I was thinking there!
Not everything, but university is a big shift towards self directed learning.
Lack of understanding coming into the courses causes issues, when I started we had to delay things because some students hadn't encountered matrixes and the maths around them.
So sure, they can teach these things but it adds to what they already are trying to teach. A lowered base means less of the advanced content can be taught.
CS has always been a lot more like the arts/music than most other majors, in this regard. If you don’t come in with way more knowledge about and skill with computers than the median college-bound high school graduate, you’re gonna have a bad time.
It’s kinda shitty, but for a long time PC gaming as a gateway drug for young kids let universities just assume a fat pipeline of already-computer-savvy applicants.
I'm probably old, but we used to learn DOS prompt basics (and folders and files and stuff) in what would be the equivalent of junior high school in the US. And not in special courses, it was "normal". Heck, I was even introduced to Microsoft Basic at school while in the equivalent of 4th grade on these funny Thomson MO5 computers.
But that's not what they are taught now. They are taught to use social media and cloud services, which is completely useless since they figured this out themselves already.
The education system here just keeps them early in a consumer mind state. It has absolutely no ambition and is just a race to the bottom.
>I'd say half of my first-year CS students don't know how to create a folder with files, at the start of the school year.
I learned CS ~20 years ago and it was mostly the same. Half of the first year is people that are vaguely interested in computers, video games, or heard it was a good way to make money, and didn't really have any real skills going into it.
It is somewhat different now, because there are students that think they are good with technology but really have no idea how things work, they just think they know because they are slightly better than their peers at using phones and tablets.
At one point, every member of a CS program started without having ever seen or touched a computer. Everyone has to start somewhere. We do not reject new biology majors because they had never touched a microscope before entering the program.
Sure, but I think the typical path for those who survive and strive in a CS program is to have touched a computer for the first time well before starting work on a college degree for it.
That's like trying to learn a foreign language by picking reading War and Peace in that language, without ever having seen a single translation to that language, or having already read War and Peace in your own. There are a lot of steps you need to take before then.
I would also be pretty surprised if a biology undergrad had never touched a microscope, possibly with the exception of the most impoverished among us. I imagine most people have tried one at some point along the K-12 journey, and there are more introductory treatments of e.g. life science on the way as well.
Starting CS without having "seen or touched" a computer would be like a biology undergrad who wouldn't be able to tell you whether a dog or a tree is a plant or animal.
The difference is that these days the people are surrounded by computers and probably interact with a computer many hours every day, yet they are barely more tech savvy than that first lot who had never seen a computer before.
If you're saying that at one point in history, a given cohort of new CS students had never seen or touched a computer, I have my doubts, but it depends on how you define CS program. Before computer science was a formalized education stream, it had a variety of other names like "Business Computing" or something related to information technology, but you'd have to go pretty far back imo before you find a whole classroom of entrants into such a program that had never seen or touched a computer. By the time it was called CS, I do find it a bit of a reach that you'd find less than say 10% of students opting into taking it without that low bar being passed.
Likewise the biology example seems strange; sure maybe people haven't used a microscope specifically (unlikely imo), but they very likely have used any number of other implements and taken at least one secondary school biology course
>We do not reject new biology majors because they had never touched a microscope before entering the program.
No but you'd presumably make them take some remedial classes that the mainstream students wouldn't be required to take. Or maybe not, I'm not sure how it works in biology, but in the harder STEM majors, you're generally expected to have some basic knowledge beyond what the 'easy' track at high school required for graduation.
Calling it an "epidemic" isn't really helpful. The reason there's this shortcoming isn't because it's some problem inherent to those darn kids, it's because the state of computer education is expect them to just figure it out on their own when they have no need or reason to do so.
I've seen younger generation only use Google Docs and streaming services (music/video) and not even understand what a "file" is, because everything is just on the internet.
Mm, that's not exactly true. Having done a bit of Android development, these days you're rarely operating on a "home directory" structure like you might be familiar with from Windows, Linux, etc. Instead you're saving files to a "container" filesystem that's exposed to the user in a few facets: Downloads, Photos, Music, etc.
What's even more confusing is that some apps save images directly to the "Gallery" which is separate from the "file and folder" view you get otherwise. So (as an inaccurate example), Fujifilm's app might download directly to your "Camera Roll" while GoPro's app might create a "GoPro" directory to dump photos/videos in, which offers more separation but doesn't appear in the "Photos" app by default.
Some apps even have toggles to switch between these two methods of saving files - though if I recall correctly, the non-Gallery/Camera Roll method (while desirable to many users) of saving images has technically been deprecated for a while.
My apologies, what I meant was "saved" to. Different applications have different default locations without ever prompting for it. I did figure out where FF mobile downloads files.
But attempting to save an attachment (from Telegram, WhatsApp, Viber...) and then either open it or attach it from another program leaves me perplexed. I generally rely on "share with" to avoid this, but I am guessing not all apps register proper MIME types or detect them properly so the option I need doesn't show up every time.
I guess the fact that I mostly moved from DOS to Linux never really got me away from thinking about files and directories, and inconsistency in Android really bothers me.
>I guess the fact that I mostly moved from DOS to Linux never really got me away from thinking about files and directories, and inconsistency in Android really bothers me.
Been there too. After some (maybe a lot) investigation I learned that this "inconsistency" in Android happens, because some apps use "private" directories which you (or other apps) aren't allowed to look at. Think of these as directories of user Linux users who turned off read access for others, i.e. "chmog og-r $HOME"
After finding apps like Solid Explorer and especially Termux, I learned to comprehend what's going on. But I still hate it that apps (and Android) prevent me from looking at my data the way I like to do it. For "security reasons" I not allowed to view things on my devices? Sheesh!
Nice apps like Markor or Diary (from Bill Farmer) store their data in user visible directories. As such apps exist, I tend to ignore those with limiting my access.
I get your frustration, that was an inconsistency I disliked about Android too. I felt like it was fairly normal for "power users" to have an 3rd party file browser with more functions to help manage the files on the phone.
One thing I appreciate about iOS is there's a Files app/UI, and if your app wants to save some user-facing data, it can go into the Files app. From there it's a simplified Explorer/Finder type file browser. It's not perfect but its consistent to me.
It’s also just what people are familiar with and had to learn.
I know incredibly competent web developers who don’t know what SSH is or how to use it. Boggles my mind, but I grew up with it so it’s what I’m used to.
> can't figure out how to unzip a zip or even finding out where files get downloaded to.
I have issues with that. FF doesn't show the path in the list of downloads. There is a button to start a file manager, but I have no file managers installed, so button doesn't work. In some cases I didn't find the better way than to copy the link and to download again with wget.
Well, I manage it sometimes, but I then I forget how I did it. I think the way to do it, is to try to download something with ff again, but stop at the file chooser dialog to figure out where it points to.
Click the folder icon on the right-hand side of the entry in the download list (it should have "Show in Folder" hover text). If the file is still in the place where Firefox originally saved it, Firefox will instruct your file browser (Explorer on Windows; whatever else on Linux - for me, it's Nemo) to open a window for the containing folder. Otherwise it will add "File moved or missing" text to the entry.
As frustrating as I imagine it is to be in the position of having to figure out how to teach students things that seem like basics they should be aware of, I'd also argue that this issue actually stems from two circumstances that are worth this cost: the filesystem abstraction is increasingly unnecessary for non-technical people, and incoming students who want to study computer science aren't required to already have technical knowledge beyond that of their non-CS peers. The alternatives to where we're currently at would be either regressing the usability of interfaces for the overwhelming majority of people or taking away access to computer science education to people who didn't or couldn't go out of their way to learn topics that only matter to technical people in advance.
The growing irrelevance of the filesystem for the average computer user isn't a ln "epidemic" any more than the obsolescence of the CLI for the average person; it's just additional progress towards adapting computers to be more human-friendly rather than the reverse. We didn't used to have cars with automatic transmissions, cruise control, or blinkers that turned off on their own once you've finished turning, and no one describes the evolution evolution of the way we drove cars from decades ago to the present in the same language as a public health emergency.
Over time, technology becoming simpler to use by parts of the interface getting pushed down into implementation details is a good thing for the vast majority of people in the long run, and it's important for those of us who are technical not to mistake the requirement of a certain feature for the ability to access it. I think the biggest concern with the dominance mobile computing isn't that users might not need to know about the filesystem but that users might not have control of their own devices in the long run if the ability to access the filesystem is removed. There's precedent in getting support from the non-technical public to care about technical details when they understand how it affects them (e.g. right to repair, the pushback against SOPA/PIPA, net neutrality), but I that we'll miss the window to influence things similarly here if we focus on the wrong thing.
We need freedom, not paternalism. And yet, somehow, despite this nanny state utopia, my data gets leaked approximately once every 17 minutes. Security my entire ass.
It should be like a physicist studying Carnot Engines not knowing what neutral is; but for some reason Computer Science degrees are also expected to be developer certificate programs.
The distinction probably came from Macintosh though it was more pronounced in Windows 95 - also it is the other way around: something can be a folder but not a directory. Classic example would be the "Computer" (or "My Computer") in Windows which is a folder but not a directory. The Windows Shell maintains some sort of VFS that exposes these.
Generally a folder is a directory-like thing that groups file-like things but not necessarily mapped to real on-disk directories and files - and more often than not, it is exposed via GUIs rather than command line applications. Of course that is just common use not anything inherent - after all on Linux it is common to expose stuff via the filesystem (sometimes in addition to VFSs) that still uses the terms directories instead of folders with the only difference for when one is used or the other to be if it is done via a command line application or a GUI application.
> Classic example would be the "Computer" (or "My Computer") in Windows which is a folder but not a directory
This sounds backwards to me, going by the real life counterparts for these terms. A directory is a list of pointers to items located anywhere (eg. a phone directory for a business may contain corporate and other remote numbers alongside local extensions), but a folder contains actual files that are physically located inside it; you can put references to remote items inside, but only by placing a physical representation/reference inside of it.
I was first introduced to "directory" as a type of signage at malls or clusters of shops, listing where things are. Usually also having a map, with a red triangle labeled "You are here.". Then I learned that telephone books could also be called be called directories.
My first exposure to computers that had a file hierarchy used the term "folder". When I eventually encountered "directory" in computer usage, I was confused because I thought first of signage in malls.
It still "feels wrong", so I usually use "folder". (-:
I was always a little disappointed with how most web browsers choose to render HTML pages that had no explicit styling information. I'm not necessarily saying web browsers should have defaults as opinionated as simple.css, but the default page margins, padding, text styles, headings, etc that they picked aren't particularly attractive.
Opinionated web developers will override the defaults no matter what they are, but if the convention was to have more attractive defaults I wonder if that would have resulted in a larger share of personal websites and blogs created using plain HTML.
Oh absolutely, that ship has long since sailed, it's just me lamenting a world that could have been if something closer to simple.css or tufte-css had been the norm.
Though with "reader mode" becoming more popular I wonder if there's a place for a browser with more opinionated defaults.
There's a lot of sites between pure html and modern css. "Simply" rendering things differently would definitely break a lot of sites. Just imagine if browsers started defaulting to *{box-sizing: border-box;}.
There's a reason why the CSS ["reset"][1] is still with us - the lower level user-agent stylesheet never really adopted any of this stuff. Presumably, this was to reduce the delta between browser engines (vendor prefixes, etc, etc.) but it would be nice to see some movement in this area.
Good article, but the reason is obvious: When opening an app or a web app stopped opening a new document and started to present a list of recent documents, that was the beginning of the end. If someone wants a file, they open the app for that file and scroll down. They have never needed to make sense of a file existing independently of the app in which it was create and may be viewed. This process was cemented by iOS's absence of a file manager.
> the iOS Files app has allowed access to local files since 2019
Huh. I just opened my Files app on my iPhone 12 and went to On My iPhone (which was 2-3 more taps once arriving in the app). I don't see many of my files though, just a few. Some PDFs and a Spotify folder. But I don't see my pictures there? Or are pictures no longer stored as 'files'? Or do you mean that the app has allowed access only to some local user files? It's not all local files. And it's not all non-system local files. And it's not all user files. In fact it is missing > 99% of my user-space files (specifically ones created with default-OS applications on device, by the user).
And if I make a Note in the Notes app, will it show up as a file in the Files app? Probably not, I would guess. Because the note probably isn't really a file anyway. So pictures aren't files, and notes aren't files. What would a file be then? Are files only PDFs? That's the only thing that shows up for me. I guess PDFs are the only things that are files then!
Super confusing experience. I'm a mobile app developer by the way - on Android. Android sucks at this too of course. But the iOS Files app is much too limited to enable users to 'get' the concept of a file.
Photos taken on the camera, shared to you, or “saved to photos” will live in the Photos app. The files app primarily contains things you download from your web browser, including images downloaded and not “saved to photos” and images extracted from zip, etc. I guess some apps can save data there too. It would be nice if there was a back road to images stored in Photos app via Files app, but the distinction is otherwise well defined.
Aha! So some photos are actually 'files', but some are not! The confusion continues! I get why Apple has it this way - current iPhones are very very popular and selling them with the current UX makes Apple a lot of money.
But it's pretty clear that the Files app is not meant - in any way - to help users understand computers, what files are, etc. It is obtuse and confusing as soon as the user wants to leave the iOS ecosystem (even to go use a Mac).
My girlfriend had the craziest workflow. No laptop, only iPhone and iPad Pro. She had an external USB-C hard drive, she couldn't connect it to her iPhone but could to the iPad.
What she would do is airdrop photos from her iPhone to her iPad. Copy them from the gallery to the Files app. Move them in the files app to the hard drive. Then delete them from the gallery app, delete them from the Files app and the trash.
For some reason, deleting files in the Files app didn't free up space on the iPad. So she had to uninstall and reinstall the Files app to get the space back.
As a Linux user that grew up DOS, the whole thing just broke my mind. She was frustrated and I was frustrated I couldn't help her.
you're jumping to conclusions. One does not follow from the other.
(a) apple doesn't show users all the files on their iPhone
(b) apple makes lots of money
There is no evidence that a causes b. It's possible showing the files would make them even more money. It's also possible showing the files would have no effect on how much money they make.
It may not go over well but I don't think this is some generational thing. Its just plain pure laziness that has become epidemic.
>Joshua Drossman, ..the laundry basket where you have everything kind of together, and you’re just kind of pulling out what you need at any given time,” he says, attempting to describe his mental model.
>I try to be organized, but there’s a certain point where there are so many files that it kind of just became a hot mess
Yeah.....need I say more? Other than gross. I think those statements prove my point better than I can.
Like most on HN I'm extremely computer savvy and I've yet to find a way to avoid dealing with file/folder models and I've tried. All other ways fall apart no matter how "advanced" they are. Maybe it will change with LLMs but so far there is no way for the computer to anticipate what you do/don't want and organize for you.
As someone who is involved in a community run wiki, people will say "that page is wrong" and when you say "please edit it" will say "its too hard" or "I do not have they time".
They will, however, write a long Facebook comment explaining what is wrong and explaining that they cannot edit a wiki.
I'm probably around the average age on HN, so I grew up with early Windows. Yet after years of trying and failing to get into different note-taking/productivity apps, I finally found inner peace by using Obsidian and embracing the exact millenial "laundry basket" approach the article talks about. Maybe 10% of my notes are in a folder, the other 90% all together in the root. Turns out what mattered was 1. the lowest possible entry barrier to writing a note and 2. speed.
Yeah, I think you're right about that. I'm not sure whether I want to write something of an appendix myself and link to it, or find something else on the web and link to that.
I did worry a bit about https://htmlforpeople.com/zero-to-internet-your-first-websit... - "Step 1. Create a folder on your computer" - because apparently a large number of people these days don't understand files and folders at all! https://www.theverge.com/22684730/students-file-folder-direc...
Not sure how best to approach that though. Having a whole chapter of the book explaining files and folders feels pretty redundant. Maybe there's something good you could link to?