Sunday, October 9, 2016

NineWorldsDeep for the (Windows) Desktop

The desktop app for the NineWorldsDeep ecosystem (NineWorldsDeep on Github) started quite some time ago, long before the first commit to the current repository. It was an idea I had in my early twenties, but took me until my late twenties to actually start realistically experimenting with it, and was years after that when it finally started taking the form it is now.

The plan always was to create a setup wherein I could pull together random inspiration on all manner of creative endeavors, and that original vision was for an expansive definition of those endeavors, including the obvious audio and visual media, as well as such far reaching aspirations as interconnected notes on subject matter for books.

All of this informed the design decisions from the start, with some inevitable meanderings into this and that direction depending on my shifting understanding of the technologies available and evolving intent for the system as a tool that ultimately was mine first and foremost.

Some time ago I realized I was spreading myself too thin, I was reaching burnout levels by attempting to take on too much, and scope creep was killing me. I had to make a choice. On the one hand there was the tech, which I’ve been good at all my life, but has sort of plateaued in interest for me. On the other hand, my music, which has also been a lifelong love of mine, started to really develop in me a vision of how I could take it further, if only I started devoting more time to my pursuit and understanding of it, beyond just jamming with friends (though that’s always gonna be fun).

I was interested in really trying to make something that was as much a personal journey into self as something I could share with others.

So the music took the lead, but in such a way as to make the tech as useful as ever, albeit in a dialed down fashion with regards to releasing new versions. I have made the decision to shelve major projects within both the desktop and mobile environments in an effort to make more room for standard maintenance and smaller but useful incremental improvements.

Whew.

I had to lay out the background, that’s a rough summary, which brings me to the current topics for the repository.

There has been quite a bit of work as of late relating to “Clusters” and a concept of cluster comparison to compare large media sets to find commonalities and differences (like finding all duplicates, or syncing two clusters to replicate all missing media on either side, fun stuff like that).

As much as I would like to continue all of that, it’s too much work for an auxiliary feature. Maybe someday I will come back to it (the code is still there, the entry point into it will simply be commented out).

What had taken priority was a bug that was causing discrepancies between tagging on the laptop and the transfer of those same tags when exporting to mobile devices.

The problem is simple. I have various media (audio, images, writings/notes) that are tagged under a given subject. I want to collect all of those and export them to a device (say, my tablet) so I can take them with me and have them all at my fingertips when I am working on a related project.

Currently all tags applied on the mobile device are importing just fine into the laptop synced through the Warehouse subsystem. Exporting tagged media, however, does not propagate all tags going in the other direction.

I was stumped as some media did come through with the correct tags. The code was some of the earliest I had written, was “spaghetti with meatballs” (partial but messy OOP) like crazy. It took a bit of digging, but I was able to verify that the data was in fact being transferred OUT.

The issue actually lay in the intermediary sync step, wherein the existing data on the mobile device was taking precedence. The tags that were appearing to come through were those previously stored on the device and still registered to the media in question.

Luckily, I had anticipated this a while back and the new data was being written to a timestamped file to avoid overwrite, but the mobile software never got around to implementing the ability to import from these timestamped files, so there it waits.

Once the mobile is brought up to snuff, I will be moving forward with getting the old window based UI model converted into the new side by side view pane model, which I like for aesthetic reasons as well as practical purposes of comparison and linking.

That is your desktop tech update for today, straight from the NWD ecosystem HQ.

Stay tuned for further developments...

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.