79th Monthly Technical Session

henry lie
henngeblog
Published in
6 min readMay 5, 2021

Every month, HENNGE hosts a mini-conference event called the “Monthly Technical Session” (MTS for short). Different HENNGE members give a talk each time related to technology.

The 79th MTS was held on February 19th, 2021. Since Tokyo is still under a state of emergency and most people work from home, it was held online on Zoom.

The Starting Journey of Wakaba Challenge

As the first speaker, Sai kicked off the session with a talk about Wakaba Challenge. It is HENNGE’s project for kickstarting new projects based on potential business seed ideas. The goal of this challenge is to build a product from scratch in order to obtain a provisional Product Market Fit (PMF). In this year’s Wakaba Challenge, we have 5 teams working on different ideas to achieve this goal.

In her talk, Sai explains the processes that each team went through such as team orientation, infrastructure handling, and how to approach our existing customers. She also explained about working together with the sales team to approach existing customers, as well as running risk governance checks to make sure the new product doesn’t infringe any existing Intellectual Property (IP) patents.

Production Readiness Checklist in Action

This is Doi’s follow-up to his previous talk on the same topic, where this time he is going more in-depth about the topic. Production Readiness Checklist is a step-by-step checklist prepared for any team inside HENNGE working on new SaaS products that might not have enough in-house ops engineers to oversee the whole production release (e.g. working with an outsourcing team outside the company). This checklist serves as documentation to raise those teams’ awareness of security risks that might occur as a result of their product’s release to the market.

After doing a PRC review on a product developed mainly by an outsourcing team, there were a few interesting points extracted from the process such as: how to balance speed and security, and whether or not it is acceptable to have lower code quality in the initial phase in order to release to market faster (to validate the product’s viability).

One point Doi made about security practice is to Shift Left: achieving a better outcome by making security part of everyone’s daily work instead of testing for it at the end of the process. This will reduce the cost and time required to find and identify problems before the production release.

My point of Vue

Michelle gave a talk about VueJs, a Javascript framework used by several products in HENNGE. She is currently building her own site using Vue 3, which was released on 18 September 2020, and shared several features she likes the most from the latest major version.

One of the most important features for her is out-of-the-box Typescript support. There are ways to use Typescript with Vue 2, but it either requires a lot of boilerplate code or necessitates the use of class components, and neither of which is ideal. She also explained the new multi-root component support, multiple v-model support, and native support for the Composition API syntax to resolve a few issues inherent in the older Options API syntax.

What is Renewal Sales?

Inoo from the Renewal Sales (RS) team gave a talk to introduce his team to us. Some of us might think of the RS team is the team whose main goal is to prevent churn from existing customers, but he explains a lot of the RS team’s different activities which is to open the door for active collaboration inside the company.

Inoo explained the roles and phases that his team covers in a customer onboarding flow. After the prospect signs a deal and becomes our client, the RS team works closely with them for “Adopt” (ensure the customer successfully adopts the technology), “Renew” (finding solutions to customers’ challenges and ensuring they continue to find value in our product), and “Expand” (Opportunity to up-sell or cross-sell products to the existing customers) phases. This makes them the team that has the longest and closest relationship with the customers, understanding their current status and problems. He also expanded on the different sections his team is working with, and what his team does on a daily basis.

Third-party Devices Integration with HENNGE Workstyle

Iskandar gave a talk about integrating new third-party devices to HENNGE Workstyle, our IoT as a Service product that utilizes sensors to detect meeting rooms’ utilization. This time, they are trying a new service provided by Webiot to try to improve the system’s accuracy. There are some adjustments needed before they could start incorporating Webiot’s data into HENNGE Workstyle, because they need to normalize the data received from the service to make it compatible with the current sensor’s data.

Compared to the sensors that we are already using, the new devices shown higher accuracy, but with less up-to-date data since by default, it only reports data every 5 minutes if there are no changes. There are some benefits to it like direct connection which bypasses the company’s wifi network, but we also lose several features like buzzer and LED which are embedded in our current sensors.

Gamification

Mark gave a talk about gamification, a concept of applying game elements into a non-game environment to increase a product’s perceived value by adding a sense of satisfaction for the users. It’s not always about points, badges, and leaderboards, but it’s about understanding what motivates users.

Mark continues to explain about a few categories of motivations for different people such as achiever (favors immediate gratification e.g. points, badges), socializer (sharing the highs of your life for everyone to see), troll (the pleasure of acting upon or inciting others) and explorer (e.g. suggestions for what to watch/buy next so that you stay on their platform for a long time).

Websockets were a Mistake

Jonas gave a talk about his experience using WebSockets for one of our products. Since the main user flow takes quite some time to finish, he initially thought that WebSockets would be a great fit.

It was only after implementing it that he found its shortcomings: “weird” code (both client and server code needs special handling to accommodate WebSockets), it doesn’t really last that long (ALB kills them after some time), the need to manage disconnections and recovering to the previous state, as well as the problem of managing them in a cloud platform with many different instances, each connecting to different clients.

These issues makes it not a good fit for this particular product, which is why the next version will let go of the WebSockets implementation in favor of a long-ish polling method instead. This ended up making the whole codebase simpler as well, which is a win-win in this scenario.

After MTS as usual, we had the customary beer bash — also held on Zoom.

--

--