Skip to content
Company logo

About the Work at Canon Production Printing

At Canon, we worked on the PRISMA cloud software suite, enterprise software for managing large print production lines. The system is used worldwide by print service providers who process thousands of prints daily. We worked on two projects: PRISMAlytics and PRISMAremote Monitoring.

PRISMAlytics: KPI Dashboard

PRISMAlytics is a near real-time KPI dashboard for print floor managers. It provides insight into printer status (printing, idle, error), media usage, consumables, and historical data. Managers can use this to optimize the workflow of their PRISMAsync production printers.

We worked in a team of 12 people: 6 colleagues on the data warehouse, and 6 (including our team) on the dashboard backend and frontend. We wrote DAX queries for the data warehouse, worked on the .NET 6 backend for data aggregation and APIs, and built the Angular 15 frontend for the dashboard visualizations.

PRISMAremote Monitoring: Mobile App

PRISMAremote Monitoring is a mobile app that allows print operators to monitor their printers' progress, even when they're not on the print floor. The app provides real-time information on printer status, upcoming events like media and consumables loading, and actions that need immediate attention.

As Feature Owner and lead developer, we were responsible for the project from start to finish. We set up the code architecture, developed base components, and wrote code examples so other team members could get started quickly. The app is built in React Native (with 3 years of React experience and 1 year of React Native experience) and runs on Microsoft Azure with services like Azure App Service, Azure Functions, Azure Storage, and Azure Notification Hub for push notifications.

App Store Release & Transfer to Japan

We handled the app store releases for both the Play Store and iOS Store, including setting up the developer accounts and guiding the Canon service team through publishing. Later, the project was transferred to Canon Inc. in Japan. This meant weekly meetings with the Japan team, writing transfer documentation, and ensuring all knowledge was properly transferred.

Way of Working & Tools

We worked agile following Scrum, with sprint planning, daily stand-ups, and bi-weekly retrospectives. We used Azure DevOps for managing Product Backlog Items (PBIs) and bugs. We implemented CI/CD pipelines for rapid iterations and staged deployments to different Azure environments.

Testing was an important part of the development process. We worked with Test-Driven Development (TDD) principles and used Jasmine and Jest for unit tests and integration tests. This allowed us to refactor and add new features with confidence.

TypeScriptAngularReact NativeC#.NETMicrosoft AzureAzure DevOpsSQLEntity FrameworkDAX