XaiJu
Geektoolkit
Geektoolkit

patreon


Jan Developer update - release imminent!

Hello Patreons, while I've been quiet here a TON is going on behind the scenes, and we're completing the release process for the next update. This update will be a 'code only' update, so you'll want the previous full release if you don't have it yet and then we'll have  a store code to get you the latest and greatest.  Let me talk about this release and then I'll talk about the other work going on for what's coming next!

Release Imminent - January updates

The January release fixes 4 main areas Performance, Stability, Overlays and Video Streaming.   These fixes were chosen to be shipped because many of our other known issues will be fixed by the giant overhaul that we're doing in the background. We had to choose what we could ship to bring goodness to the project while we completely rewrite the web engine.

Let's go through each:

Performance

We're using about 1/2 to 1/3 of the memory we were using before when using overlays or the infobar.  A complete rewrite of how we display things plus an update of the Avalonia engine which we're built on is helping us get memory usage way down.  This results in smoother transitions on bigger images, and huge stability improvements.

Stability

When using image overlays, overlays on large images, or overlays with large file sizes (for instance some of the photo frames) we were crashing in the past.  Also the overlay engine transitions were brutal and would cause the system to stutter.  With the performance changes we're seeing a much more stable system with better overlay transition performance.  I had scenarios where we'd see the system last an hour to 3 hours...now we have it running for over a week successfully with no indication of any issues.

For Performance and Stability, I'd like to thank Adi for his work in helping us with figuring this out. He provided me some test images that were over 6000x4000px and over 20 megs...those images would take the system down in under an hour.  I wasn't sure the pi could handle it, but with the changes outlined above, we are now seeing transitions and stability of several days so far, with no indication of any issues arising.

Overlays

Overalys have had a ton of behind the scenes work to make them more reliable in the near future. We had to do a ton of backend work so that when we redesign the webUI, we can make overlays much easier to design and use.  That work went into this build for the backend, and is part of why they're more performant now.

Video Streaming

Theres a number of workitems being handled to allow video streaming (such as live youtube feeds).  While live youtube isn't in yet, RTSP streams did make it in.  If you put an RTSP url in the experimental page (and the raspberry pi VLC supports the codec) then you can now stream RTSP streams directly to the frames. This will help plugin authors and also gives users an easy way to get security cameras onto the frames for future scenarios.

This release should be out this week!  We've completed beta and are working on packaging it up.


What's next? How about a major update!?

This month has been one of the busiest coding months we've had.  All of the above feature work was a ton of work that Bdlou did, and Qwksilver has been busy behind the scenes working on release management.  Meanwhile I've been heads down rewriting the entire webUI. I'll do a demo later this week to show the improvements, but for now I'll talk through why it's happening and what to expect.

The current webUi is handled by Dynaframe. This means that every time you change a setting Dynaframe tries to handle it while also displaying stuff. Turns out Dynaframe is good at some stuff, but web requests isn't one of them.  The other thing that was tragically happening is when we'd go to make a small fix to the webUI, sometimes it would stomp another persons work and we'd lose hours of development time trying to recover.  The system we were using, Bootstrap Studio, just wasn't setup for multiple developers to update a single web codebase.  We lost countless hours and were frustrated in November, and spent December researching options.  This month I've been working on implementing them...

The new system will have a dedicated webserver running on the pi that will handle web requests.   It uses modern web technologies, and so you'll see things improve on all levels.  You won't have to enter transition times in milliseconds.  The entry for it will only accept numbers, and the changes will be instantly saved. If you have multiple web windows open and change the values in one, it'll update the other windows automatically.

While this is all happening, it's almost instant.  And Dynaframe doesn't take a performance hit while it's happening...it can merrily focus on displaying images and videos.   The downside of this is to get the goodness I'm having to rewrite the entire web interface.  Since I'm doing that anyway, I'm working to update it as I go.  Attatched to this post is a very EARLY peek at what that looks like. Notice the submenus on the side allowing us to categorize settings. This UI is still very busy so we'll add work to minimize the instructions, but it's a direction of having more information for the user vs. just a page of settings.


This next preview is not yet styled, but shows how having subsections on the left allows for much simpler and easier to use settings pages.  It also will allow us to add settings in a much more logical way. 

This one here is still heavily under construction as well, but shows the new Web upload page. While we lose the cool thumbnail effect for now, this page is MUCH more reliable for multiple uploads, allows for very large files, provides a progress bar and just overall functions better for file uploads than what we've had in the past.



There's a lot of work to do.  And then there is styling and theming. But a major portion of the work is done, and we'll be able to ship both web experiences side by side for a while. In the end this new web UI will become the default, and we'll have proper REST apis  as well!

Thanks for reading. I know that was alot, but just wanted to catch everyone up on all that's been going on.  The new WebUI will be a game changer, and a ton of the backlogged bugs will be much easier to fix after this is in.  For now please stay tuned for this weeks release, and if you have any questions or feedback please let me know!

Joe and the Dynaframe team



Comments

https://discord.gg/Qu75qW4JZG come join the fun!

Joe Farro

Hey all 👋, would it be possible to get an invite to the discord?

J_Squiggle


More Creators