Smartsheet's latest product release, code-named Photon, comes at the end of an eventful 2017 calendar year. As a company, we hosted Engage, our first customer conference that was wildly successful. And as an application, we expanded our adoption of a service-oriented architecture (SOA) in our code base for new application features.
"Historically, Smartsheet is a standalone web application that does everything in the single application," said Sarah Hand, Senior Software Development Engineer on the Notifications team. "And, a couple of years ago, we started to look at abstracting some of the functionality out into services. So, when the Notification Center project came along, we decided that we were definitely going to do that as a service, instead of adding that functionality to the application [code base] itself."
Some of the features that Smartsheet built into its new services architecture include:
- Collab service--pushes information to the Smartsheet desktop client
- Mail Service--sends all app generated emails
- Workflow Rules-- automates Update and Approval requests
- Notification Center--notifies users of events and changes
While adopting this service-based approach, the Engineering team built out a framework to instill standards across the team as well as aid in the creation of new services.
"Smartsheet has a standard service framework that we use to jump start the service development," said Sarah. "So that framework is being used. We interact both with the main application as our client and also another service that supports the advanced notification functionality. Originally, the email generation for those advanced notifications was contained within that service. As a result of introducing notification center, that functionality was pulled out of that service and brought into Notification Center. Now all the notifications: mail delivery, mobile push, and serving up notifications to render within the app--are all owned by the notification service."
For Sarah, there are two main advantages to utilizing an SOA. The first is the clear definition of responsibilities between services.
"It's clear what is part of Notification Center and what is not," said Sarah. "Based on the service definition, the service owns its own data--it has its own data sources that are separate from other services and the main application. So, you get a separation of concerns."
This isolation of processes and relatively smaller size of the services leads to the second advantage that Sarah pointed out, and that's fostering a quicker development life cycle and improved scalability.
"The idea of microservices, where you can pretty quickly make changes to it, and it's very narrowly scoped," said Sarah. "The potential impact is smaller, so you can do more of a CI/CD type pipeline."
Among the features included in the Photon release were additions to this Notification Center service, namely the inclusion of Sharing notifications.
"When we launched Notification Center as part of Engage, the initial notification types included sheet changes, update requests, and approvals," said Sarah. "So, the latest release adds Sharing notifications to that list of notification types supported in the app."
Of all the actions that generate notifications in Smartsheet, Sharing is one of the most used by users. So, this addition should make a lot of happy Smartsheet users.
The additions to the Notification Center were only a few of the features added to Smartsheet in the Photon release. For a complete list, head over to the official Smartsheet Release Notes.
Along with naming each of our releases, another tradition we have at Smartsheet is the release of a custom piece of artwork that relates to that release. The art for Photon was done by Seattle artist Nolen Lee.
Nolen describes himself as Northwest native having grown up in Portland, Oregon, where the rainy weather and lack of sunshine led him to be referred to as the “weird one” by family and friends. After chickening out of pursuing a career in art and earning a Master’s in civil engineering, he decided to return to his first love of making art and animation.
His inspiration for creating the Photon piece came more quickly than he expected.
"Usually, I would need to make several sketches and thumbnails before I arrive at an idea, but in this case, the idea came quickly," said Nolen. "I based this piece on a phenomenon called the particle-wave duality, which I learned back in engineering school.
"If a photo is left out in the sunlight, eventually it will fade because photons are bombarding the surface of the photo. But light can also reflect off of mirrors and refract in prisms. It's an interesting aspect of light. It's because of this duality that I incorporated waveforms along with circular shapes in this piece. I also wanted the piece to feel abstract so I applied several flat shapes to give the piece a more graphic look, but I also added color shifts and variations to give the piece an organic feel with some depth."
You can see more of Nolen's work at his website http://nolenlee.com/