Remember back when bookmarks were the end-all in saving your stuff on your computer? (No? Just me? Am I an OLD?)
You had that select group of sorted toolbar folders in your browser of choice, inside each of them was a set of finely curated, nested folders containing all of the information you would ever need.
Then, along came the full blown internet... with message boards/forums, youtube, facebook, google reader (RIP), evernote, dropbox, etc etc etc. Now you have crap everywhere and no idea where everything is. Did I save that link as a bookmark on twitter? After searching for 20 minutes you realize... no, that was posted on a channel in my work slack. Goddammit.
Yeah. This is the nightmare that my ADHD brain is currently struggling with.
Too many cooks
Offhand, I can think of a number of places that I keep things that I want to check out/read later. Most of which, I rarely end up checking out later. (More on that in a bit) Here are a few, just so I can visualize how stupid this list actually is:
- Browser bookmarks (Firefox, Chrome, Safari)
- News (Apple News.app)
- Github (starred repos + gists)
- Standard Notes
And that's just off the top of my head.
How did we get to the point that everything is so sectioned off? I mean, I like the idea of Evernote and OneDrive, but personally, I couldn't ever remember to open them up to save things. The path of least resistance is a super real thing for me, in the sense that if something isn't quick/easy, I will put it off for later. Which is kind of how I get in this mess of having all of these things everywhere in the first place...
I mean, I write scripts and little applications all the time to make things quicker and easier to do because it's a time saver. Also because automation is awesome. But I'm at a loss for an answer on how to tackle this specific problem.
I've put a decent amount of thought and research into a solution for my splintered reading/to-do list/bookmark/whatever nightmare many times in the past. In fact, I probably have a folder of bookmarks around here someplace that has all of my research on the subject ready to revisit. But to my point, I have no idea where I saved that particular group of items. Actually, I could toss in the "archiving" conversation here, but I'd probably have to get into an even lengthier rant about that too. So, YES. I have that file that I need somewhere. NO, I can't remember where it is. Gimme a few to search across my network mapped drives/servers/backups and I'll find it. Eventually.
For the DIY crowd (which includes me), the answer is probably going to be something similar to one of these:
- Explore yet another service that claims to solve all of my problems and consolidate everything in my life... for a small monthly fee.
- Find some pre-existing self-hosted option that fits my need
- Make the exact thing that I need
Let's break each of those down, shall we?
Another damn monthly fee
Yeah, so I already don't like this idea. I pay for enough things monthly that I believe are of value. Sure, tacking on ONE MORE thing might not seem like a big deal, but here we are. I just cancelled Hulu because I didn't watch it enough. What's going to happen when I pony up for something for a year and I don't use it? I might as well have set fire to that pile of money instead, right?
So, likely not this one, unless I find the one app that solves all of my problems. Something like Instapaper is probably not it.
Existing self-hosted apps
The open source community really is great. The open source community is also really terrible. I say both of those things with love. No really... I run a ton of open source projects all the time, and I'm nothing but appreciative to those developers that spend their free time on making something for the good of the community. And at the same time, we're still dealing with people here, so yeah, it's going to get opinionated. That's the great/terrible thing about development — developers, much like artists or designers have a "style". And while it might not be as obvious as a person that makes visual things, devs definitely have a certain way of doing things. Which is good, if it aligns with how you code, but unfortunately, that's not usually the case.
I have my own set of opinions and preferences on how I want things to work/look, and I'm not shy about letting everyone know all about it. Call it "being an asshole" or "ruining my sons birthday party", or whatever... it's a whole thing and it's probably not going to change anytime soon. Problem is, I always have some kind of need to change or customize every damn bit of an application that I use for myself. If it's an open source app, even better, because I can dig into the source code and deconstruct it, add to it, and make it my own. Sometimes that's a good thing, usually it isn't, only because I end up getting in over my head with a language that I'm only vaguely comfortable with, or spend way too much time tweaking something over and over until it's just right. In the case on my media center, that's not a bad thing because it makes the experience better for me when I want to sit down and watch a movie, and everything working like I'd like for it to work (think Plex + Tautulli + Audio + Lighting/Home Automation).
So... possibly something self-hosted? There's a few promising things out there that I need to check out. Like ArchiveBox, Wallabag, and Shiori for starters. Since I already run a para-virtualized environment in my Homelab, it's trivial to spin up a new VM and check each one out. If only I had infinite time. Which leads me into:
If you build it, they will come
Just build the goddamn thing you need by yourself. That way, you'll have everything that you could possibly need in one place, on your terms.
But building something specialized and customized to your specific need(s) takes time. That takes diving deep into an existing framework and bending it to your every desire. Countless hours pouring over API documentation and writing something that only half does what you had originally intended to build. Some of that is from not being a master at any one language, some of it is really just software limitations. You'll run into each of these customizing existing software or especially when building your own. It seems like the best idea at first glance, but is it?
So, with unlimited time in the world, building new awesome things is the best idea. But I don't have unlimited time, or a desire to sit here at night and code every night for three months to build a shell of what I really want/need. Probably at least not yet.
Is there one? I'm at the same place that I started in that I don't know how to tame this multi-headed beast. BUT, I'm going to keep at it and see if anything comes out of it. Maybe NodeRed is the answer.
More on this as I get into it and actually start trying to wrangle this shit into one place. Stay tuned.