It’s time to Slack off!

My original opinion

I have been using Slack since the start of my internship this summer and it has been a great experience so far. Similar products I tried before are HipChat and Flowdock but to be honest, none of them could barely make its way to be comparable to Slack. What I like the most about Slack is its clean and beautiful interface. And the sidebar color is just perfect!

Some prominent points from the presentation

  • Although Slack first looks like just another communication tool, its strong focus on business and enterprise, especially developer teams, is the reason why it stands out from the rest. Being a developer myself, I understand the pain of having a lot of stuffs to be aware of at the same time: Github/Bitbucket, Trello/Asana, Jenkin CI, etc. That being said, having an intermediate tool to collect and display all the notifications is unquestionably essential. Slack resolves this perfectly as with its powerful integration and that’s why it succeeds.
  • Beside its success, there’re still features that Slack needs to improve. One such thing that comes to my mind is Slackbot. Having random responses from Slackbot is sometimes fun, however it often turns out to be annoying when the bot keeps intervening your conversation. I can’t think of a good way to improve the situation rather than have an option in which we can select the minimum time between 2 consecutive Slackbot responses or turn it off completely for some working channels.
  • From the Q&A session, there’s a question from Joel about the voice messaging feature. From his point of view, there is no practical use case for this feature and it’s not worth adding it in the future. I would like to look at it from a more neutral perspective. Voice message is undoubtedly not going to add a lot of values to Slack but it may be considered as a good-to-have feature. One use case I can think of is when you are working remotely and need to attend an online meeting. In that situation, I’d love to be able to talk with my team directly on Slack instead of to switch to Skype or Google Hangout (I hate to use them by the way).

Facebook assignment reflection

During our Facebook assignment, we have found ourselves getting a lot of troubles on designing. We didn’t manage to have a designer in the team, which consequently costed us a big amount of time to make our app looks somewhat acceptable. I spent time searching around the Internet for good examples in website design but nothing really helped because they were mostly the landing page that got mentioned. Hence, we finally decided to stick to Bootstrap. It looks not too bad, but definitely not good enough in my opinion. Maybe it’s just me being picky but I do really hope our teams will be able to come up with a better design in the future projects.

Initially, IVLE authentication was a must in our app. And it turned out to be a bad idea because it created user experience friction. Why do I want to authenticate if I haven’t had a look at what’s going on? Moreover, manual testing was harder because there was no way we could create a test user with fake matric number. Hence, changing this from compulsory to optional clearly improved our app from both UX and development side.

Getting criticized is probably the most useful thing you could ever have while building an app. That’s when you have some objective ideas on what you’re doing right or wrong to adjust your work. More mistakes, more rooms to improve. But always keep in mind not to fall back too far.

What I hope to learn in CS3216

Welcome to the first entry of my new blog, where I will talk about things I look forward to learning in CS3216.

This is my last year at NUS, which means I do not have much time left before joining the workforce. Through the 3 years I’ve been here, I always feel that there are just a couple of chances for me to gain exposure in software engineering, especially building applications. CS2103 is a fundamental module, hence the only course that I really enjoyed taking is CS3217, where my team developed a pretty cool music-based jet fighting game. The workload was heavy from the beginning and my score was not great but I did learn a lot of new stuffs as well as had a lot of fun taking that module. And that is one of the major things I expect in CS3216.

I have done 2 software engineering internships over the past years. Coincidentally, we were building web applications both times but with completely different technical stacks. My job scope was mainly focused on the technical aspect of product features, therefore I haven’t had much chances to try out the product design part or other non-technical stuffs. Hopefully, working in a small team to develop an application from the very first idea will earn me more experiences on those parts.

I’m sure there will be many new things coming along the way and I will try my best to take the most out of this opportunity.