I read your article. Perhaps, there is a way to abstract information out of files and perhaps there’s a way to represent it in a different format. Let’s analyse that train of thought. On your computer, you have email. The earliest email programs saved every single email in a text stream. This was saved on files. As time went on, email programs became smarter and now your Mail program saves everything on a searchable and taggable database on your computer.
Social networks have long been considered alternatives to emails. Why send out emails when you can broadcast the message right here? Yes, that’s a good idea. But how do they save these broadcasts? By saving it in a database.
Now consider this – if I want to hack a piece of code that I download from github, what do I do? I go into each file and modify the code according to my needs. If I want to edit a photo on my computer, I can just open the file in a photo editing software and start editing.
But what if I want to edit a photo saved on Facebook? I need to find a software that extracts that ‘file’ from a database and then allow me to edit it. Then I need to save it back into the database. This whole process increases the complexity of my interaction with the elements.
Databases are great for storage and tagging. But they’re not great for retrieval or editing. Specially if the database is owned by some corporation and is saved on their servers.
But complexity is a good thing too. It abstracts all the data storage and lets you focus on the content. That’s a very good thing for focussing on what’s happening instead of how the heck it’s being stored on disk.
Coming to tagging. Yes, it’s a wonderful thing when done automatically. For example, I do not ever need to go looking for a file on my Mac. I just make a search and press enter. The file gets searched and opens in my default program without me needing to do anything. So yes, tagging without human intervention is a very important thing. The problem is that tagging text is very easy. Tagging photos or videos is extremely difficult. To that end, companies like twitter and Facebook, that see millions of photo uploads daily can best work on automated tagging as a product. They can create a system where the software guesses the tags and then corrects itself as people approve or disapprove the tags.
The problem with all of this is that there needs to be a need. Facebook and Twitter have everything stored in their databases. They probably have an in house solution that tags everything. They just don’t need to release it to the public. That’s not really their product. MS and Apple have implemented rudimentary tagging and searching. But beyond that, their OSes are not social platforms and data is not stored in databases but in flat files.
I’ll tell you what, the day I can write code directly into a database, I’ll say that files are no longer needed. Till then, let’s keep hacking. 🙂