Monday, April 7, 2025

MediaSlurper Updates - Ep2 - Introducing a basic GUI + Cute Mascot

Time for another (hopefully) quick + brief writeup following another busy but relatively successful weekend of hacking away on this project. In short: I managed to tick off the biggest todo I had planned for the weekend (along with a few other smaller tasks), and with a few additional bonus points for good measure.

Introducing, the initial MVP UI for "MediaSlurper"


1) MediaSlurper  MVP GUI

Perhaps the biggest achievement this weekend was managing to put together an initial functioning UI for the media-backup scripts I've been working on for the past few weeks (see screenshot above).

Functionally, it's still very very crude (i.e. those buttons just call the existing scripts, but then they just execute in that existing terminal window backing this GUI (instead of in a dedicated GUI-wrapped window, OR via nicer GUI-driven UI's). But, most importantly, it serves the original goal of implementing this GUI in the first place (i.e. allowing me to launch these tools in ~2 clicks from the Start Menu, without needing to keep open a dedicated terminal window with 2 tabs - one for each script - open so that I can run them on the near daily / every-other-day basis that I end up needing these)

 

It also offers a good launching pad for the next stage of development when I do get time. These include (from the project todo-list / roadmap):

* GUI for running other tools in an interactive terminal hosted within
  a nice PyQt frontend (as a stop-gap measure for running the existing
  scripts in their current form)

* Refactor the existing scripts so they can report progress back to a
  MediaSlurper progress-monitoring object, which then ties into a more
  proper integrated UI for running each of these tools

* Refactor Android FTP script to allow it's various hooks to be used
  from Media Slurper, with the GUI providing the ability to control
  the program flow, while the existing script structure just handles
  the processing for the protocol.

* UI's for editing the configurations / command-line args handling stuff
  that is needed (as per the todo's above)

* Proper install scripts that perform all the link creation / etc. steps
  that require manual handling now

* Integrate handlers for backing up local machine state
  (i.e. grabbing config for various programs - such as FF, MuseScore, Audacity,
   Sublime, Git, SSH, etc.)

* Allow defining "plugins" for other archival tools for archiving online
  resources from certain sites. These are purposefully kept outside the
  main repo to avoid attracting unwanted legal attention from the copyright
  mafia crew misconstruing what these tools are for (and meaning that these
  local-only PIM tools will be less likely to be knocked offline by association)

 

Other Achievements this Weekend:

2) Carved out some time to put together some Icons for #1 - It's always fun in a very zen-way making icons in whatever style you like (semantics + trends be damned!)

As you'll notice, these icons include a cute fluffytail mascot slurping some noodles (i.e. "Noodles Cat")!

A little backstory on this logo:
You could say this is fan-art of a card I got for mum a few years ago, which was quite fitting giving how much mum loves having soup noodles 😜

So, when it came time to figuring out a logo for this project, this was an obvious choice!

Like the GUI, these icons will probably need a few more passes of polish to refine the art (e.g. tweaking the shapes, refining the colours + shading, etc.), but as an initial prototype to capture the idea I'm going for, these will do.  (I must also state that I'm very much an amateur who only occasionally dabbles in Icon Design in Inkscape... so, more than anything, any ugliness is often more due to technical limitations (i.e. not having the hands-on skill yet to do a better job)

 

3) Added 2 scripts to my "cmdutils" repo on Github:
a) "svg_to_ico.py" - Converts SVG's to Windows icon files. (Forgot I had this script, since I only used it once a few years ago, then couldn't remember how I did it)

b) "who_uses.bat" - This uses the "handle.exe" tool from SysInternals (for checking what's holding annoying locks on files)


4) Managed to get out into the garden for a spot of birdwatching (i.e. it's that time of year when the silvereyes are very busy enjoying the big red fruit in our "Autumn Birdy Berry Tree"). There are fewer fruit / branches with fruit this year, since we had a guy come in and do a fairly major prune. However, the ones that are around are a lot juicier!


5) Replace thermometer battery in glasshouse

 

Next Steps

Now that the biggest single bottleneck has been resolved, I can go back to chipping away at this whole system's todo's in a more sustainable way. But indeed, the next steps are to start chipping away at the long backlog of refactoring + "make nice' that are in general needed across these codebases.

 

No comments:

Post a Comment