Bamboo Product Release
Published on 19 February 2019
The Bamboo release brings about a significant improvement in time-based Workflows. Specifically, triggering a Smartsheet workflow based on a time set by the user. Without getting too into the weeds, this feature is a subset of a much larger project with some serious engineering resources allocated to it. We’re showcasing two awesome developers, but other team members also made serious contributions to the project. Let’s meet our engineers.
Sean Sekora, Senior Software Development Engineer, is primarily focused on automation. As a remote employee, Sean particularly enjoys working on multiple projects with different people at the same time. That helps him see more of the forest instead of being focused on a particular tree.
Kevin Tao, Principal Software Development Engineer, is also focused on automation. His efforts help drive the backend services that power all the goodies available in the Smartsheet Alerts & Actions menu.
Before Sean or Kevin could start work on this particular feature, they had to build a strong foundation to work from.
“For many years (longer even than the five years I’ve been with the company), Smartsheet has had a 'reminder' feature,” said Kevin. “Months before we even started on time-based triggers, the engineering and operations teams identified a technical need to migrate the existing reminders features out of the core application and into a separate service in order to reduce the load it put on the core database.”
“This feature has been a long time in the making," said Sean. "We started the journey by moving our current reminders out of app-core to services. In addition to changing existing services, it also required the creation of a new service that schedules the delivery of reminders, and eventually initiated the execution of the other date-based alerts and actions.”
The reminder service rewrite was a necessary, but difficult, step to enable time-based triggers.
“With longer running projects I find that it’s always difficult to keep resources working on it and moving the project along," said Sean. "There were many times when we would get pulled off onto other features that had a higher priority.” Both engineers demonstrate that having broad exposure to the core product can be quite useful.
“It took a lot of meticulous research of the existing code, designing around inconsistencies and incompatibilities with our other, newer automation features and, of course, exhaustive testing by our crack QA team,” said Kevin.
The time-based trigger feature came with it’s own set of difficulties.
“The most challenging part was and continues to be making sure everything works properly in a distributed system, where any interaction with another part of the system can fail, be delayed, or happen more times than you expect,” said Kevin. “Customers want their reminder to arrive at the time they tell us to send it, and they want exactly one--not two, not zero, and definitely not fifty.”
On the surface, the reminder service appears to be a relatively straightforward. However, there is a lot of complexity hidden in the feature. “Projects might seem easy to some people at first," said Sean."However, once you start digging into the details and creating a plan to implement it, you realize that it’s not as easy as you may have thought.” Projects that involve rebuilding old services can be quite challenging.
“I’d love to say the reminders rewrite was easy, but it really was a huge pain at times,” said Kevin. “As simple of a feature as reminders seems, there is actually a lot going on under the covers, and it was full of product and design decisions that were made years ago that in many cases we wouldn’t have made today.”
The reminder service rewrite and corresponding time-based trigger feature were driven by the needs of Smartsheet customers; something Kevin and Sean have both experienced firsthand while interacting with customers. “I know [time-based triggers] were and continue to be one of our most highly requested features,” said Kevin. During our annual customer conference, Smartsheet ENGAGE, Kevin and Sean both seized the chance to get some face time with customers.
Smartsheet ENGAGE in 2018 was the companies second time putting on the customer conference. “At the ENGAGE conference, while demoing a new change in alerts and actions, I heard from many customers who were asking for date-based triggers. I was excited to inform them that we were currently working on that feature,” said Sean. “Then, at the next ENGAGE conference we were able to demo the first iteration of date-based alerts and actions to the same customers. It was great to see their excitement as they learned about the new feature.” Having direct interaction with Smartsheet customers is a unique opportunity for Smartsheet engineers.
Some final wisdom from Kevin after working on time-based workflows: “In the interest of programmer productivity, it's high time we as a planet ditch dates and times and move to Captain Kirk's stardates.”
Engineers at Smartsheet work to solve a wide range of challenging problems in order to deliver new features to our customers. Thankfully, we have engineers like Sean and Kevin that lift up the developers around them while delivering great features to Smartsheet customers. There’s never been a better time to join team Smartsheet. Take a look at our open roles and come help us create the new collaborative work management space.
Let’s revisit the name of this release, Bamboo. A staple of many countries, bamboo has been used for construction, cooking, textiles, instruments, and a variety of other purposes. One of the places where bamboo is widely used, Japan, was the inspiration behind the release art.
Ramya Ramaswamy, UX Designer, made the release art for Bamboo. “My inspiration was from my vacation to Japan and there are a lot of personal connections in the piece,” said Ramya. “It’s kind of nostalgic thinking about my trip there.”
The gift tags are a reference to Japanese gifting culture, the hut a reference to bamboo temples, and the cherry blossoms a reference to the beautiful Sakura trees.
Ramya cultivated her talent for graphic design while building her business selling digital wedding cards. Given her skills with Illustrator and Photoshop, digital art was the natural choice as a medium for the Bamboo release art.