Post-December-maintenance: what's new?

Albert Møller Nielsen
04/12 2023
16 min. read

Hey there SimplyPrint'ers - it's time for another update from the SimplyPrint team!

A lot has happened since our last update in October, and after the completed Dec. 2. maintenance, resulting in some downtime (a little more than we had hoped for!), we're here to detail why this update - though it may not seem so at first glance - is a big deal!

!! Note: we're still ironing out some general issues in the platform. We're aware that some are experiencing some connection issues. Please reach out via our live-chat if you're experiencing bugs or issues after this update - we're eager to fix them!
We apologize for the inconvenience of the maintenance downtime, and any issues that have followed. We're hard at work making sure everything runs smoothly.

To keep this blog post from morphing into a full-blown encyclopedia entry, we've trimmed the details. For the full saga, peek at the changelog at the end. Now, to highlight a few of the cool new, smaller, but cooler changes that don't get their own section (let's call them "Honorable mentions");

  • Auto-tagging: on newly-uploaded files, we can now - for files sliced in most slicers, automatically apply material and nozzle size tags to your files, as well as colors for multi-color prints!
  • Gcode Analysis update: more info. We now know the total layers and layer height of your files among more new details!
  • We moved the print queue to its own page
  • Temperature margin settings added
  • "1-click print" & AutoPrint update
  • 3 new queue match criteria

Getting the file system ready for what's to come (Bambu Lab integration)

Let's first start with the updates we have made to the file system in SimplyPrint.

In this update, we have changed how SimplyPrint thinks of a file.

Before, we split files in to 2 categories;

  1. Printable files (.gcode, .gco, .nc, .npg)
  2. 3D model files (.stl, .3mf, .obj)

And that's all that we supported just a couple of weeks ago. But putting files in boxes based on their file type / extension, just didn't work anymore; as we wanted an integration for Bambu Lab - whose printers use the .3mf file format as printable files - even though it's a 3D model file type - we had to change the foundation of our file system, to not be so "black and white".

"But how hard can it be to add new file formats to the accepted list of 3D-printable files?", one might ask. And it's a fair question!
The answer; somewhat hard, but very time-consuming if you want to do it right.

A backbone of the SimplyPrint platform since day 1, has been our in-depth Gcode Analysis. It's a feature that - although often overlooked - we're very proud of, and that helps make sure you start the right prints on the right printers. It's at the center of our recent automation updates, and just got more powerful in this update! (more on that further down the post).
And as SimplyPrint wants to analyze your Gcode file before you print it - to both alert you in case something's wrong, and to know more about the job (such as filament usage), adding support for the Bambu Lab 3MF files posed a challenge... Either we needed to simply say; "No Gcode Analysis for Bambu Lab prints" - and take a lot of the SimplyPrint features away from Bambu users - or go all-in. And we went all-in.

And to make matters worse; SimplyPrint officially supports over 420 different 3D printers, and not all of these can print the same file types; certainly most wouldn't know what to do if we asked it to 3D print a 3MF file...

So, to make a long story short; we now fully support 3D-printable 3MF files, as well as the new Prusa Gcode format; .bgcode! Both these files, although not directly readable by our analysis, are now unpacked & decoded, the Gcode file/content (which still exists, in the almost-usual format, inside both files), are analyzed when uploading the file!

Furthermore, when uploading a 3MF file that include multiple Gcode files (in BambuStudio and OrcaSlicer it's called "plates"), we allow you to extract each plate into one separate file when uploading it to the SimplyPrint system, or simply select which of the plates you want to print!

This is a huge step in the right direction for SimplyPrint integrations with printers that aren't natively supported by our platform, due to no "serial printing" capabilities!

What was the maintenance all about? New platform base, performance optimization & more

On Dec. 2., we had our big, long-advertised server maintenance, which required the SimplyPrint servers to be completely unavailable - which is not something we have had to do before.

Having downtime is a last resort, and like any cloud service, our goal is to minimize it. Prior to this maintenance, our uptime-stats were great! 99.99% over the past 90 days (can always be tracked on our status page), but, the whole reason we had to take the servers offline for a while; it wouldn't have been that way for long.

SimplyPrint is growing. And fast. Faster than our systems could really handle. Our servers were starting to struggle - months ago, even.

So, over the past 5 months, we have dedicated most of our development resources towards a major update of our platform. We turned the whole thing upside down, and - to get technical - started over on our backend & system architecture implementation.

This meant doing pretty much everything we have already done, again... Cause the truth is; it wouldn't have been long before we couldn't just throw money at more powerful servers to meet the increasing demand - our foundation had to change, so we wouldn't have to (and it wouldn't really have been sustainable for a small startup, either!).

But we did it, and - although the launch was a bit rocky, this huge update is now live! After a couple more hours of downtime than planned for, a dozen more issues than hoped for - and some still ongoing that we're still ironing out.

So, what did this update do?

As mentioned, it fixes a bunch of underlying issues our old system and code had. Now, our platform can handle a lot more, and is - to put it in "human" terms; healthier.

This allows us to focus our energy on developing cool features, faster, as the development experience for our team has increased tremendously, and the rate at which we can develop good, solid and awesome features and additions, have improved drastically.

Speed is also on the menu in this update. We have been able to see load & speed increases of up to 15.39 times faster than before! As you'll see in the graph beblow, the performance-increase is quite substantial, and while most don't mind waiting a few extra milliseconds (or, in the worst cases; seconds), this is a great sign of health from the platform - it's now in much better shape than before!

And while you as a user may not spot the difference day-to-day just yet, the impact this update will have on the future of SimplyPrint is the real gift of this update.

Difference in platform loading speed before (blue), and after (red), this new update.
The smaller the pillar, the better!

Bambu Lab & Direct Prusa integration update

You all deserve an update on where we stand with the Bambu Lab and Direct Prusa integrations. We have been more silent on the development progress than we would've liked, so, here's the latest news;

Bambu Lab integration status

The Bambu Lab integration is almost finished. As detailed in the "Getting the file system ready for what's to come" section of the blog, a big part of this integration didn't necessarily have to do with the direct integration with the Bambu machine, but moreso supporting all things around it; its files, understanding its slicer, proper AMS / multicolor support and "Start print options".

To cut to the chase; the first round of Bambu Lab Integration Beta invites will be sent out early december - hopefully within max 2 weeks!

We start by inviting those who have waited the longest (those who signed up first), but we'll ramp it up very quickly and let everyone in after a very short beta round; we want everyone to be able to enjoy this integration, and take their Bambu Lab printers to the next level!

Direct Prusa integration status

This integration has been marked "Coming soon" for a while - and we haven't even opened for beta signups yet! So, what's new with this?

The Direct Prusa integration is meant to allow you to connect your Prusa MK4, XL, MK3.5, MK3.9 and Prusa Mini printers directly to SimplyPrint, without needing a Raspberry Pi.

This is possible as the new mainboards that the Prusa printers ship with are more powerful than before, and now have access to the internet.

But, as you - unlike with Bambu Lab printers - are still able to use a Raspberry Pi for SimplyPrint with the Prusa MK4 and XL printers, getting this update out to the general userbase has not been a big priority for us. With that said, we do have a ~95% working integration, that is currently running on about 50 MK4 printers all around Denmark, and we do believe we'll be ready to release this to everyone soon as well.

But, there's one thing about this that we had hoped to avoid, but that we simply can't get around; it will require custom firmware.

This is not what we hoped for initially, but we simply cannot get around it. This means, if you want to save the Pi, you'll have to install our custom firmware.

This firmware will be 99.9% the stock Prusa firmware; we don't change a lot, but we have to make it connect to our servers instead theirs.

The issue with this is, that you break the warranty of your printer if you flash non-official firmware, and you have to physically break a "safety pin" inside Prusa.

This means, that when we release this, we're asking people to break the warranty of their printers, and physically break a part their mainboard off... That's a lot of pressure, and it has to be done right. This is why we're taking our time with this one, gathering feedback and not pulling the trigger too fast - especially while the Prusa firmware team are making a lot of fundamental changes to their firmware, which may mean we have to start somewhat over with the integration soon...

So, while we're not ready to say exactly when this would be out yet, we are making progress, and now that this new update has been launched, we're closer to being able to dedicate more time to getting this integration launched.

As usual, we'll close this update off with a comprehensive list of changes that we have released over the past couple of weeks - most of them released Dec. 2.

Changelog

  • Queue match criteria upgrade
  • Added 2 new filament & material type settings; temperature margins
    • When matching a material to a printer, SimplyPrint used to allow for a 10° degree C. margin (so if the print should be printed with 210° on the nozzle, but printer-assigned filament had its nozzle temperature set to 205, 220 or 200, we'd still match it)
    • There are now 2 account-wide settings for temperature margins; one for nozzle and one for bed
    • The same 2 settings can be found per material type in your filament settings
  • 1-click print UI update
    • In the 1-click print UI, we have now made it easier to see why an item, or no items, are matched with a printer
    • A blue warning box will now show if no queue items are matched with a printer, if there are simply no more queue items (queue has "run out")
    • On no matches, you can now click to learn more, and see exactly what matching criteria was not met
  • AutoPrint "Troubleshooting & debugging" section
    • In the AutoPrint widget on the control panel of a printer, in the bottom you'll now see a section called "Troubleshooting & debugging" - if AutoPrint is enabled
    • This section shows all the details about the state of AutoPrint, which print it wants to start next, as well as any possible reason it may have for not starting a print
  • Panel performance & loading speed optimized
  • Bugfixes & general improvements, that were now possible with this update
    • 🐛 Sorting for printers, print queue & more; this has been a bit... buggy, for a while - but all the things behind this update allowed to finally squish this bug!
    • 🐛 On import of file from file system to slicer, the file could end up just being called "SimplySliced.gcode" once sliced; this has been fixed
    • 🐛 Fixed issue where saving file via the slicer might fail
    • 🐛 Fixed issue when toggling from dark- to light-mode, some UI keeping their dark-mode properties
    • 🐛 Fixed bug where we did not reconnect you to the printer server if you briefly lost internet connection
    • 🐛 Fixed files "Printer select" not showing after being saved (thanks to community member @johnsdiy for pointing this out!)
      • The selected printers of a file now get selected automatically when you click the "Print file" button
    • In the print farm overview cards we now show a "paused" icon for "Next printer finish" if the printer is paused
  • Moved Print Queue to its own sidebar item / page
    • The print queue is now located at simplyprint.io/panel/queue, and the queue buttons on the printer page have been removed in favor of this
    • This move was made to allow the queue to have more space to expand, as we add more features to it, along with the placement of it on the "Printers" page being an issue when using permissions to allow a user to see the print queue, but not the "Printers" page...
    • We know this change may take some getting used to - don't hesitate to provide your feedback!
  • Moved the "1-click-print" button to the left side of the "Printers" page
    • 1-click-print has become a very popular and powerful feature - but feedback shows that many newer users overlooked it, in the button-bundle on the right side of the printer's panel - now it has more space to shine!
  • Moved "Your files" page file "Start print" & "action"-buttons further up
    • In the sidebar (on PC) or popup (mobile) that shows when you click on a file on the "Your files" page, the "Start print" or "Slice & print", "Add to queue" and delete, download, move & rename buttons, have now been moved above the file-preview box, to avoid them being pushed down so you'd have to scroll to reach them
  • Gcode analysis / file info
    • New info that we now gather on all Gcode files uploaded to SimplyPrint;
      • Layer height (and first layer height, if it differs)
      • Total layers
      • Slicer version
      • Nozzle size sliced for
      • Filament details; color, type, density
      • Gcode flavor sliced for (gathered, not yet used)
      • Printer model sliced for (gathered, not yet used)
      • This is best-supported for the SimplyPrint slicer, PrusaSlicer, SuperSlicer & BambuStudio, as other slicers such as Cura don't embed a lot of information in the Gcode file for us to use
    • Added support for reading tool & bed temperatures from the Klipper macro "START_PRINT" in Gcode files
    • We now start gathering print information only once the first layer begins, to avoid alerting you about start lines, "purge poop" etc.
    • Fixed the analysis for filament usage not working well for multi-extruder prints
    • For PrusaSlicer, we now use the filament usage estimate that is included in the Gcode file, rather than relying on our own analysis, as PrusaSlicer knows more when the print is being sliced, allowing it to produce a more precise estimate
  • Auto-tag applying on files;
    • Possible because of the Gcode analysis update, where we now gather the nozzle size and filament details
    • Nozzle size tag is automatically applied
    • Material type tag is automatically applied
    • Material color tag is applied if the print is sliced for multiple colors
    • Works for multi-extruder/color prints too!
    • This too is best-supported for the SimplyPrint slicer, PrusaSlicer, SuperSlicer & BambuStudio
  • Support for the new Prusa ".bgcode" file format (binary Gcode)
    • About a month ago, Prusa announced, and released an alpha version of their firmware supporting, their new ".bgcode" file format, promising - and delivering - greatly minimized file sizes
    • SimplyPrint now accepts this filetype, decodes it and finds the Gcode content inside and analyzes it - so it'll essentially act like any Gcode file in your system, but only printable on printers that support this format, which is currently just MK4 and XL printers from Prusa
  • Improved the way we think about files...
    • Added support for .3mf files being printable in certain cases
    • Added "3MF-splitting" support; allowing us to extract each "plate" as its own file
    • Added Prusa .bgcode file support
  • The platform now loads even if we can't connect you to the Printer API server
    • For a while, if you tried to load the "Printers" page while unable to connect to the printer API server for real-time communication with your printer(s), the page simply did not load
    • Now, the whole panel - except for printer-action-specific things, such as starting prints - will work even without this
    • We load the last known state of all your printers
    • This is only relevant when unable to connect to our printer server, which can happen if;
      • Your firewall blocks it
      • We're applying an update or have scheduled downtime on just the Printer API server, but not the rest of the panel
© 2023 Copyright SimplyPrint ApS
chevron-down