Filling the gaps in Salesforce development: How to make every single second work for you?
As you may already know, here at The Welkin Suite we devote a great portion of our attention to the optimization of our application’s performance - all to make sure that the coding experience in our IDE is associated with maximum comfort. For that matter, we are constantly keeping in touch with our users and trying to meet all of their requirements and preferences. Nonetheless, curious situations still appear every once in awhile.
For instance, let’s take a look at the build process. In The Welkin Suite, this process is optimized well enough (naturally, there are still ways to make it better and we are aware of it), so it only takes about 4-5 seconds. While many users are impressed by this, every now and then we would find a message in our inbox, suggesting that we decrease the time required for the build process. I found this quite intriguing, and thus decided to dig deeper and examine the statistics.
What I discovered:
- On the average, each developer launches the build process about 12 times per hour
- This means, they spend from 48 to 60 seconds on this
- Ergo, this constitutes about 1.6% of their overall time.
Only 1.6 percent!
So what causes the problem then? Why do these few seconds bother the developers so much? Especially given the fact that all to often the processes that take up even more time do not cause this much irritation! For example, let’s look at the Unit Tests launching process:
- On the average, the developer runs Unit Tests twice an hour
- Since the average completion time is 2 minutes, this adds up to the 4-minute pause
- As a result, this process takes up about 7% of the overall time.
However, The Welkin Suite launches the tests in the parallel streams, which do not cause the application to “freeze” during the test runs. This approach allows making the pauses actually productive. Alas, this option is not available as far as the build process is concerned. Neither is that necessary, to be honest, as after hitting the ‘Build’ button, the developer expects to see the result immediately. They spent their time thinking and implementing the solution, so evidently they’d like to see the result right away! That is why every second of the delay, even just a few, would be unacceptable and utterly annoying. Think about how frustrating it is, when the sensor panel on the coffee machine runs behind in the operation by just a few seconds!
So what do we do now?
I am far from believing that the build time can be reduced any further (considering the specific character of the Salesforce cloud solution). However, what we can do is make the pause during the build process more productive. Here are a few possible options:
- We can show the developer some additional information about the build process: the lines, the files, the name of the org, some extra data (your advice appreciated!) that can be engaging or useful during this time. For example, to make sure that the changes are made in the necessary place.
- We can show the developer the Twitter timeline by the tag #askforce
- Or we can show a funny picture just to entertain the developer for a few seconds =)
What do you say?
Looking forward to your ideas on the topic!