The lack of file tags in Windows

So, I’m supposed to be working on this month-long challenge.  But hey!  I found some other project to work on.  It’s in service of my recent computer switcheroo, with which I’m a little obsessed lately.

Since recently switching from OS X on an iMac to Windows 10 on a laptop, I sorely miss file tagging. I’ll admit, this is one feature that I had not given much thought when I was preparing for the big leap to another operating system.

Though I’m happy with my switch, I’m also trying not to live in denial.  This is still Microsoft we’re talking about.  They have made incredible advancements as of late with their Windows 10 version.  And yet, in some areas they are very much behind in innovation compared to Apple.

File tagging is a glaring example.

tags in OS X
tags in OS X

If you’re at all interested in the Getting Things Done ethos, then you probably know all about this computer software feature.  On an Apple computer, you can tag a file or folder with a color and/or keyword.  These tags are then searchable.  They can help your workflow dramatically.

For instance, in a folder of downloaded bank statements, it would be incredibly handy to know which ones I’ve balanced against my personal finance software, and which still need to be done.  Tag the files accordingly!

But after my switch, I can’t do this on Windows 10.  And I use Google Drive to be able to do my personal work anywhere, so a file-tagging solution that is platform independent is pretty necessary.

Hence, I began looking for a solution, 3rd party or homemade.

Allegedly, Microsoft pays lip service to file tags, but these aren’t compatible with all filetypes.  So that’s a non-starter.

But then I found this 3rd party solution which sounds very promising.  But it’s not platform universal, so apparently your tags get vaporized when you email them or open the files on some other OS.  You can apparently export your tagging database as an XML file for importing on another computer, but that’s not very intrinsic a solution.  I do like how this solution plugs itself into Windows Explorer and the context shell menu!

File Metadata integration with Windows Explorer
File Metadata integration with Windows Explorer

But ultimately, I think that this won’t be a future-proof solution for my needs.

So instead, I built my own workaround.  And I did it with scripting:  AHK 1 to be exact.  It’s a really fun, easy-to-use scripting language that runs exclusively on Windows.  Don’t even get me started on my frustrations with the native scripting on OS X.  I always intended on learning it one day… until the day I got out of the Mac world altogether.

Requirements

  1. Platform independent.  This means I could use the files that I tag both on Windows and OS X (I don’t happen to ever use Linux, so that wasn’t a priority for me).  Their tags won’t become lost when opened on another platform, though the actual tagging process will only be conducted on a Windows computer.
  2. Transferable.  This is a slightly different requirement than platform independence.  The tags shouldn’t get lost when files are emailed, messaged, or synced across cloud services.
  3. Searchable. The tagging architecture must be plainly identifiable in some way, such that they can be searched easily.
  4. Non-destructible.  The tags must not interfere with the files’ usability.
  5. Extensible.  The tags and tokens should be configurable, such that the user can setup their own tagging schemes and change them over time.

I came up with the following:

File renaming

It’s as inelegant a solution as I am old.  But the longer I thought about it, it’s the easiest to implement, the quickest to set up, and meets all the above requirements.  In the scheme that works for me, I have three tags:

  • untagged files
  • tagged with some sort of “todo” keyword
  • tagged with a “done” keyword

Sample output

original: bank_statement_07232015.pdf

tagged: bank_statement_07232015 @TODO.pdf

retagged: bank_statement_07232015 @Done.pdf

Implementation

For this script to work as painlessly as possible, I used global shortcut keys to tag the files one way or the other.  One or more files can be tagged or untagged simultaneously.  Alternatively, you can bring up a GUI to do the tagging.

wtf

You can find the source code on my GitHub.  Here is the source…

Code sample

Platform Interchange

I suppose that the “Slippery Slope” phenomenon applies to me right now.  A chink in my Apple armor developed some time ago.  Then I got out of the iPhone world all together, which amazed me as much as it did my friends.

The recent maturity of Google’s cloud services (Photos, Drive, Music, etc.) had a considerable hand of this transition.  It’s very hard to argue with free, no matter who you are.

But then you do pay for free.  You pay with your time investment and commitment to the new platform.  For me, that cost has been relatively low.

That brings me to the next big hurdle to topple: OS X and my iMac.

It just suddenly made sense to me to consider the possibility of changing that hardware platform too.  Why not?  When literally all of my documents are cloud-based, I’m free to experiment with any kind of computer.

I’ve been a faithful Apple guy for the better part of 2 decades.  I’ve owned these machines in this order:

  1. PowerMac G4
  2. iMac 24″
  3. Mac Mini Duo
  4. MacBook Pro
  5. MacBook Air

They’ve all been pretty awesome.  But times have changed for me, my interests morphed.  And now?  I changed to an Asus 15″ hybrid laptop.  It’s a beautiful machine.

  • i7 64-bit CPU
  • 8GB RAM
  • nVidia video
  • 1TB hard drive
  • Windows 10.

That last spec is what finally made this all possible.  The Windows 8 debacle proved to be a non-starter for switching from the beautiful, consistent OS X.  But Windows 10 was finally showing itself to be ready to handle my needs.

I’m about a month into this big switch.  So far, I’m loving the choice.  It’s different, but good.  Not everything has been perfectly smooth, but no computer platforms are.

In particular, I really really miss filesystem tagging.  If you use those on OS X, you’ll be sorely disappointed with its lack on NTFS and Windows.  There are of course third party software solutions for this, but I don’t think they will work with Google Drive or Dropbox across other filesystems and operating systems.  For instance, I still work sometimes on my wife’s MacBook, so I need file tagging / coloring to work across them both.

The only solution I can think of is to simply make subfolders for my files.  The layout could look like this:

\Folder\Statements\2015\

…and then inside here, I could put:

\TODO

..and

\DONE

Then I get full syncing across platforms, and most importantly, visibility on where I left off.

Details aside, I’m the first to admit that there’s a certain polish lacking over here on this side of the computer and phone fences.  I miss that homogeneous sheen that OS X and iOS seem to exude.

And yet, for sheer horsepower and agility, I’m really appreciating what Windows 10 and Android devices offer.