Site icon Treehouse Blog

Apps, Clouds, and File Systems: Background and History

Websites and phone apps are made of many different files that come together to form a whole. These complete packages are wrapped so neatly that their underlying structure is completely hidden from the end user. However, designers and developers deal with files every day as a part of their work. If you’ve never had much interaction with file systems and you want to make websites or apps, the first part of this article will give you some background. In the follow-up to this article, we’ll cover some file systems basics.

The Mystery of Apps and Clouds

When I first started teaching web design to people several years ago on Treehouse, most beginners already understood the concept of files and folders and it was never something that I needed to explain (with the exception of relative and absolute links, of course). In fact, I always equated file systems with basic computer skills, like using a keyboard and mouse. If they were capable of signing up for Treehouse on their own, I assumed they already knew this stuff. Using the file system in a text editor isn’t that different from using the file navigator in an operating system.

In the text editor Sublime Text 2, the project directory on the left side shows the same files that can also be found through the operating system’s file browser.

Recently though, I noticed that something had changed. More and more students were getting stuck on problems like broken images, CSS that’s not included properly, zipping and unzipping files, and other seemingly simple problems. When I first noticed this, I just thought that Treehouse was growing rapidly and that there would always be someone out there that has trouble with the first steps. Programming can be challenging when you’re new to it! However, the forum posts and tweets and emails continued to roll in with greater frequency as the days, weeks, and months passed onward.

I was puzzled: Could I have explained a few things more clearly? How could such a large number of people use a computer effectively but not understand files and folders? Did they just save everything to the desktop and have a massive clutter of icons like you might expect back in 1995? Were they in some cultural or socioeconomic situation where this was their first time using a computer? Eventually, the answer came to me.

If you grow up in the age of tablets, phones, and web apps, when would you ever have the need to learn about files and folders? The younger a student is, the more likely it is for them to have never encountered files and folders. Now you can just open a web browser or an iPad app and it’s all there. Netflix is your movie library, Pandora lets you listen to music, Facebook is a place to put your pictures and contacts, and so on. On phone apps, the files are simply stored with the programs you use. Even in desktop operating systems like Mac OS X, features like iCloud are starting to make files fade into the background.

Under the hood, iOS apps store files without asking the user to save them anywhere in particular. When iPhone app developers create projects, they too involve lots of different files. These can be code, images, sounds, and more. In this screenshot of Xcode, the light blue Project Navigator on the left side shows the files inside the Crystal Ball app that you can build on Treehouse.

This technology is wonderfully convenient, but its magic and mystery comes at a price. A new generation of designers and developers has arrived and they are increasingly oblivious to the concept of file systems.

“PCs are going to be like trucks.”

The hierarchical file system browser on Windows operating systems is called Windows Explorer, and on a Mac it’s called Finder. However, I don’t think anyone uses their computer because they like to explore and find things as if they’re on an archeological expedition. Rather, people use computers to get stuff done, and the best software gets out of the way.

In Mac OS X, the Finder is the file system navigator. By contrast, there is no built-in equivalent to this on iOS devices like iPhones and iPads.

These days, you don’t need to know much about how computers work in order to use them, but that wasn’t always the case. In 1983, MS-DOS 2.0 introduced folders to what would become a ubiquitous file system, sparking multiple decades of users forgetting where they stored things. More web-like features such as tagging and search have improved the situation over the years, but file systems have never really been a positive or exciting part of the computing experience. Instead, most new features are just intended to make it more bearable. Apps for tablets, phones, and the web, have all cleverly done away with them completely.

I think Steve Jobs summarized it well at the D8 conference in 2010:

When we were an agrarian nation, all cars were trucks, because that’s what you needed on the farm. But as vehicles started to be used in the urban centers, cars got more popular. Innovations like automatic transmission and power steering and things that you didn’t care about in a truck as much started to become paramount in cars. … PCs are going to be like trucks. They’re still going to be around, they’re still going to have a lot of value, but they’re going to be used by one out of X people.

This seemed a little far fetched back in 2010, but the signs are already starting to show. We’re entering a future where desktops and laptops are tools intended for professionals that create media and software.

File Systems 101: A Basic Tutorial

If you’re totally new to web design and development, you understandably might not know much about files and folders. Next week in the follow-up to this article, we’ll get into the details of how to use file systems so that you can kick start your learning on Treehouse.

Exit mobile version