An angle of the problem (or angel, if it’s VunderBob’s wife) is that the problem is in users beyond the control of the OP. An easy solution exists (turn off view extensions), but that doesn’t help if the OP can’t go to everyone’s machine.
I like extensions on for a couple reasons. One, I want to be sure what I’m opening and not rely on the name or icon. If I’m about to open ClientFile.xls, I know what will open it. If it’s named ClientFile.xls.exe, I’m opening myself up to an inadvertently sent virus.
Furthermore, I find extensions very useful for setting default programs. If I want Photoshop to open TIFFs and Picassa to open JPGs, it’s easy to set that up or change. It’s also easy to change on the fly. If a program isn’t on the right-click “open with” list, I can easily change the extension without going through the steps to add the program to the list. (For example, if I want to quickly look at the code of an HTML file, I can quickly change it to a .txt or .wpd and then back when I’m done.)
I assume it can be done on a Mac and Linux, but don’t know if it’s as straightforward as that (though I should probably assume it is).
You can tell what type of file it is by the icon. If that’s not enough, then you’re smart enough to turn on file extension visibility and smart enough not to hose them.
In Windows 7, when you go to rename a file, it shows the whole thing, but only highlights the name part, so you’re less likely to wipe out the extension.
If your computer can catch a virus just by reading a file, then you’re screwed no matter what you do.
You can’t tell anything from the icon, since you can give an .exe any icon you want at all. And it’s precisely the people who aren’t smart enough for whom that’s the biggest issue. Frankly, I can’t imagine any responsible business sysadmin allowing his users to turn extensions off, because that’s a huge gaping security hole.
As mentioned, operating systems in the Unix/BSD/Linux mould don’t require file extensions (but they’re still used). Most of the time it’s easy to deduce from context what type a file is. For instance, a file called README or TODO is with overwhelming probability a plain text file, and can be opened by a plain text reader. Otherwise, there’s standard utilities like “file” which will tell you what sort of file a particular file is:
Overstating things slightly. Beyond the graphical shell the OS doesn’t care about file types, it’s all just binary data. The only part that would have to be rewritten was the graphical shell, which I don’t think would even need that large a rewrite. Windows already stores a DB of file extension -> desired program pairs. As mentioned, there’s also standard utilities for guessing file types based on magic numbers and standard headers at the beginning of each file. All it takes it to run one of these utilities before hand to obtain the file type, then perform the standard DB lookup as before.
In the default file view for windows, extensions are hidden and the file icon displays the file type. There is no issue of discerning the file type. Even webmail clients display an icon to indicate the file type. I can think of no situation where the problem you suggest would arise.
If you can see file extensions in windows, it is because you are someone else has changed the default view settings. Windows defaults to an icon view without extensions.
A lot of people do not understand file extensions, as indicated b y the OP.
Well, I too have file extensions turned on because I feel the same way. I also have details as my default file view because I find it useful to see date and other info. I think if you are capable enough to turn on file extensions you should know not to change them. For people that do not understand file extensions that is not an issue though.
I find your example of GIF vs. jpg interesting as I have noticed an ever increasing use of jpg for index colour original images. The web is full of large, compression artifact riddled jpg’s of simple index colour images that would make small, high quality GIFs. I would suggest that the vast majority have no clue of the significance of the two file types.
I really wonder if people like my father might do better with a command line interface. The workings of the computer may seem less a mystery to them.
It’s an issue if you have to troubleshoot / do tech support for someone like this though. I can’t tell you how many times I’ve asked someone what type of file they are dealing with and the response is: “uhhhmmmmm…” People don’t even know what the fuck a file extension is anymore. They should never have made the default setting hide them.
Old Macintosh file systems supported two pieces of metadata for files: a “type code” and a “creator code”. These were both 32-bit values, normally displayed as short character sequences, which encoded the file’s type (format) along with the application that either made the file or was best associated with it. File type codes were used in preference to filename extensions in the classic Mac OS.
Contrary to popular myth, this metadata is not and never was stored in the resource fork. A Mac file can be without a resource fork entirely; it will still have this metadata — along with other metadata like the file’s name, its creation and modification timestamps, a “locked” flag, and so on. It was actually very common for data or document files to have no resource fork, but they would still be typed by their internal type code.
I personally think that GUIs were something of a step backwards. Before, we treated computers as “people”, and “talked” to them (albeit in type instead of sound, and in a very formalized language). Now, though, we treat them as objects, with everything sitting on a virtual tabletop. I’ll grant that computers aren’t really ready for “talking” to them to be the dominant interface, but when we eventually get to the Star Trek-style computers that you really do talk to, it’ll be more like a command line than like Windows.
Quoth Bytegeist:
Out of curiosity, where is it stored? Is it in the directory file, or in the inode? That is to say, if I have two links to the same file, will they necessarily have the same metadata?
Another “Yes” answer to the OP, but why stop with extensions? Let’s get rid of files too…
Actually getting rid of file Explorerers, Finders, Directory tools would be the best way to go. The complexity of modern file systems simply gets in the way of doing real work for most people. The tools to navigate maintain the storage structures are them are far too complicated for those who are not computer specialists. I feel that they have been foisted upon the casual user by engineers showing off how clever they are at maintaining complex data structures. The files and directories need to be there - but they should not be visible on their own.
Back in the day, companies had expert ‘File clerks’ who were responsible for maintaining the organization of important corporate documents - now we expect every computer user to have those skills. Why?
As someone who spent 15 years as a Windows developer and a like time split between Macintosh and IBM mainframes, I understand what is going on and how we got here - but I think that the future will involve ‘hiding’ files from users. Take a look at the iPad to see one possible future.
Rather than a file ‘knowing’ which application should open it (on a double click), applications should be the starting point and present users with a list of information elements it can display or manipulate.
I for one, will be happy to see the death of the file/application, ‘Document’ metaphor in computers. It won’t be easy and many will complain, but it is time.
Hmmm… sounds like some of the promises of the overly ambitious Microsoft WinFS vaporware.
Anyways… I wonder if you’re taking into account human nature. Let’s imagine we have this future scenario where every “document” and is a unstructured blob floating out on your harddrive (or in the cloud). No “nested directories” or “folders”! You know what I bet would happen? People would start “organizing” and “reinventing” a hierarchy of “folders” all over again. It’s just that everyone would do it slightly differently and call it different terminology. Jane would call her hierarchy “containers” and John would call his system “buckets.” (You know what one of the first complaints about the 1st gen amazon Kindle was? No ability to organize all the books into “folders”!)
And, to add additional insult… the veteran computer geeks would make fun of Jane of John of adhoc reinvention of the wheel by snickering, “Microsoft DOS had that ability to organize folders since 1983!”
Well, one possible alternative to nested hierarchies is “tags” which solves some problems but creates others.
I don’t expect this to happen. The “documents” we create will outlive the “applications.” The data always outlasts the associated code that created it.
For example, we use the “pkzip” file format but very few users actually use PKWare PKZIP. Most use Windows Explorer’s builtin zip facility or WinZip. Why should the PKWare’s particular application be the focal point of manipulating ZIP files? PKWare the company is obscure but the ZIP file format lives on (and will probably outlast today’s Windows Explorer and WinZip.)
I also think file extensions will stay around for a long long time. Although they are not absolutely necessary from a computer science standpoint, their utility is too ingrained. Capt. Ridley’s Shooting Party is underestimating the social and engineering conventions surrounding the use of filename suffixes. Even if the Windows OS shell were rewritten to ignore file extensions, that wouldn’t be enough to cover all scenarios.
I think progress would actually be the opposite of this. In the real world we have “things” and on the computer we have virtual “things” that model the real world “things”. I don’t think that part is going away.
But if you had an intelligent system, you wouldn’t have to tell the computer how to do “stuff” to your “things” (by clicking on an app, highlighting specific text, etc.), instead you would tell the system what your goal is and it would do the necessary things to achieve that goal.
As humans we add value by determining the appropriate end goal, something a system can’t really do until it matches our intelligence. To the extent that the acts of getting there can be reduced, then the system has added value.
I hear what you’re saying, but I just know that you will then get users saying “My document has vanished!!” because they are trying to find a PDF document from Word’s File > Open menu.
Regarding folder structures, I have been very impressed with Win7’s searching skillz - to the point where I can almost see a point to lumping all the files in one folder and just searching for the one that I want (as some users already do with their desktops, except the search is manual :rolleyes:).
It is so ingrained that it would be impossible to change without throwing out most of today’s PC software.
Besides, file extensions are a great idea. Unlike the Mac resource fork with its arcane numeric values, a file extension is a small text sequence that identifies the kind of file it is with a mnemonic value. Sure, there are some duplications and overlaps, and 3 characters would probably have been better with 4, but I think it works very well.
The average user doesn’t ordinarily encounter many different types of files, and a dozen or so extensions cover 95% of what I see every day.
In the Windows system, icons – which I think were intended to substitute for extensions – don’t define the file type, but the associated program. if I see a JPG file on any computer, I know exactly what that file is. But a JPG can be read by hundreds of programs, and when that program is installed, it registers the icon of all the JPG files to match its own design. This means that if I am confronted with a dozen different computers, a JPG file icon looks entirely different on each and often unrecognizable.
I agree that file extensions are important. However, there ought to be a way to name or rename a file that does not affect the extension, and renaming the extension should be a separate adjustment.
For example, hitting F2 will rename a file, but it selects the entire text. If it only selected everything up to the extension (i.e. not include the trailing dot and whatever is beyond that - sometimes it’s three characters, sometimes two or four or more), that would mean I wouldn’t have to move the selection area manually.
Then if I hit, to pick a random suggestion, Alt-F2, and it selected only the dot and extension, I could rename that (should I want to; it’s a very rare event), that would be much more convenient.
If all applications saved the file with no extension visible in the “Save…” window, adding it automatically and invisibly (as many apps already do) after the fact, that would save a lot of problems too.
Bah. In the Unix/Linux world, we have magic and it works.
‘Magic’, in this case, is the convention of every different kind of file (except text files, such as plain text, HTML, and some others) starting with a simple code that describes what it is. Those codes are called ‘magic numbers’ or just ‘magic’. The ‘file’ command, mentioned above, is a specialized program that comes with a database of these codes which other programs tap into as well; the OS doesn’t enter into it, really, except that it allows programs to access files.
It isn’t perfect, as some non-text files don’t really have specific codes and you have to guess, but most file types do have specific codes so, in general, it works well enough.
As mentioned above, Windows 7 takes a step in the right direction by selecting only the name part of the file by default when you choose to rename it, but I still thing a little Unix-style “magic” would be a good thing.
Well, you should have your system set up where random .EXEs can’t be started. I mean, even on the default system, you’ll get a prompt saying that you are trying to run a program file that was gotten from the Internet. And other OSes allow you to disable the execution permissions on any file you want, and have it that way by default in the filesystem itself.
The only reasons I leave extensions on are that, one, if you can’t see them, you can’t change them, and, two, Microsoft allows programs to bridge filetypes and treat them as the same thing when they are not, giving them all the same icon, and makes it a pain in the neck to fix that. (I wish they were like the 7zip icons, which all indicate which specific archive type is present.)
And I’d even be all for some convention that made actual EXE files somehow look different from document files–a little icon in the corner, or different style/color to the font. And add the ability to rename file extensions to the context menu.