← All field notes
Evaluation

How to run RocketPrint alongside your current print service

Compare systems with the same labels and printers without creating duplicates, breaking production routing, or turning the pilot into a subjective demo.

You do not need to believe a comparison page before evaluating a print platform. Run the systems beside each other and define what would change your decision.

The important word is controlled. Sending the same production event to two active printing systems creates two labels, not twice the evidence. A good parallel pilot separates decision-making from physical output.

Write the decision before the test

List the reasons you are considering a change and turn each into an observable test. Examples:

  • a timed-out create request must be safe to retry;
  • an offline station must preserve work and recover predictably;
  • a failed job must include enough detail for support to act;
  • raw ZPL must arrive without driver transformation;
  • security review must not require an inbound network path;
  • the API and documentation must be clear enough for the owning team to maintain.

Also write the reasons you may stay with the current service. Switching has cost. If the installed system meets the real requirements and the new system does not remove a meaningful problem, staying is a valid outcome.

Choose one of three safe comparison modes

Shadow decision mode

Send no print job through RocketPrint. Let an integration observe real business events, resolve a RocketPrint printer mapping, generate content, and record the request it would have made.

Compare those decisions with production. This tests integration logic and routing coverage without producing extra labels.

Dedicated-printer mode

Put a second printer or isolated test queue beside the production device. Send a controlled copy of selected labels to RocketPrint and compare physical output, timestamps, and status history.

This is the strongest fidelity test because both systems can process equivalent content without competing for the same physical queue.

Mark test labels clearly and keep them away from live packages.

Time-window mode

Route one workflow through RocketPrint during a defined pilot window, with the existing service available as rollback rather than active duplication.

This exercises production volume and operator behavior, but it requires the most careful change control. Use it only after shadow and dedicated-printer evidence is clean.

Keep identities comparable

For each test event, record:

business_event_id
document_version
system_under_test
remote_job_id
target_printer
created_at
terminal_status
failure_reason
operator_intervention

Do not compare only average completion time. A remote system can report an optimistic state quickly and still provide less useful evidence.

Compare the semantic boundaries: when was the request durable, when did the station receive it, when did the local print command return, and what facts remain unknowable?

Test failures on purpose

Healthy-network demos prove very little. Include controlled cases:

  1. submit the same business instruction twice;
  2. reuse an idempotency key with changed content;
  3. stop the station before creating a job, then reconnect it;
  4. leave several jobs queued and verify ordering;
  5. cancel a pending job;
  6. restart the station around delivery;
  7. target an unavailable or misconfigured queue;
  8. send content near documented size limits;
  9. revoke the API key and confirm it stops working;
  10. request a resource from the wrong organization and confirm isolation.

Run these in a nonproduction lane or with unmistakable test media. The objective is evidence, not a surprise for operations.

Compare supportability, not only printing

When a label is missing, an operator rarely asks for an architecture diagram. They need to know what happened to one order.

Give a support engineer only the business event and see whether they can find:

  • the remote job ID;
  • the target printer and station;
  • the last reliable state;
  • the relevant timestamp;
  • a failure reason or clear unknown boundary;
  • the safe next action.

A system that produces a label in a demo but cannot explain a failed instruction under pressure has not completed the evaluation.

Keep rollback independent

Do not require the system under test to perform its own rollback. The production worker should have a feature flag or routing configuration that can return a workflow to the current service.

Before a time-window pilot, verify that rollback:

  • stops new RocketPrint submissions;
  • does not resend jobs already accepted;
  • leaves existing job IDs available for investigation;
  • lets operators inspect or cancel stale pending work;
  • does not reset document versions or idempotency keys.

Rollback is a routing decision, not a database purge.

Make the decision with a written scorecard

At the end of the pilot, score the criteria written at the beginning. Separate three categories:

  • verified: observed directly in the test;
  • documented but not exercised: accepted with an owner for later validation;
  • missing or unacceptable: blocks the workflow or adds unresolved risk.

Include switching cost, installer and hardware coverage, current product gaps, procurement requirements, and team familiarity. The technically cleaner API is not automatically the correct business decision.

RocketPrint publishes its reliability boundaries and security model so a pilot can test concrete claims. Use the quickstart to establish the first isolated lane, then make the broader decision from your own evidence.

END / run-rocketprint-alongside-current-print-service

More field notes