Tuesday, September 27, 2016

"Recess" week

In a week that other students rest and chill, we have to work endlessly to finish assignment 3. Especially for front end part, we need to add lots of features and bugs are everywhere. We also need to create map tiles of comp2. We actually push the latest code and reports in the very last moment of the deadline 23:59 (it's awesome). In the back-end, I've learnt to use Sequelize instead of raw MySQL query. 

I think I feed my best idea for assignment 3 (the NUS map) so I need to figure out another idea for final project. I now comeback to an idea I did brainstorm at the very beginning of semester (assignment 1). It is a singing matchmaking app where one person sings some lyrics and another one fill in the other part. This process can be real-time (2 ppl sing together) or 1 person record his part and archived it, where the other fill in the song. However, that idea is infeasible in assignment 1 due to a short amount of time, and It will be complicated to build an audio streaming app. Luckily, final project has a longer timeline and all of my teammates are better than 7 weeks ago so I think we can do this. This is not finalized yet, but I think this is a nice idea and it has the potential to become a first prize contender.

Sunday, September 18, 2016

Week 6

This week start with a public holiday, the internal pitching and ... food. The internal pitching is much better than the external one (probably because of the food). However, I really like the psychiatrist app JayDye (who doesn't love Jedi :D). The event organizer and matchmaking Jublia is also interesting in term of back-end analytic technology.

This is also a busy week as well. Our team puts a lot of effort to make the A*Map work. We decide to use nodejs express and mysql at the backend, and host it on AWS since I have experience working with them in assignment 1, and express is extremely useful. In the front end, Zhu Liang and Ryan decide to use Ionic since it support service worker, it is very responsive. However, we still have a lot of work to do like we need to add data to the map, it will be a huge number of locations we need to input to our map.

Happy recess week ?

Sunday, September 11, 2016

Week 5 summary

This week start with the external pitching where various companies/entrepreneur (even prof Tan Sun Teck as well). To be honest, most of the ideas doesn't impress me, either because it's not cool or it seems hard to make it a successful product. However, I am very interested in Treatsure, an app that helps buy left-over food from restaurants and a lot more. The idea seems cool and useful to restaurants and buyer (at least for me :D). It has the potential to help restaurant manage their business as well.

Last week, I've manage to find my team for assignment 3 as well. We finally come up with an idea for the product. We have decided to build a searchable map (of SoC for now) with detailed information about points of interest such as vending machines, toilets, ... This is an interesting idea but will be challenging. For now, I'm study the google map API to prepare for coding.

Next week will be a very challenging week to me. I have to constantly spend time on CS3216 project, I also have 2 other modules' project deadline, 1 midterm, and 1 internship interview. May the force be with me :(

Tuesday, August 30, 2016

Application critique: Discord

Group 4's presentation is not the first time I heard about Discord, I use the app before and I really like it, so it is my lucky day to be assigned to write about Discord. Here is some of my comment about the presentation. Firstly, I agree that Discord have potential to compete with its competitors (just like its homepage's headline: "It's time to ditch Skype and TeamSpeak."). Discord is better than its 2 major opponents in many aspect such as it is free, it has better security and performance, channel and permission management. That's why it achieve huge success in a short period after launching. Secondly, the presenters also describe some bad things about the app such as no user profile, no search, no video chat like Skype. Finally, the presenters talk about Discord's business model. Discord has focus on a specific type of user: gamer. Many of its features are suitable for gamer such as high performance that make the game run smoothly. Discord can make money from microtransations such as selling stickers, themes, ... but they guarantee that the core features are always free. Moreover, Discord has the potential in other field such as: streaming, recording music or tools for presenters (I think this will need video streaming to be feasible).

I also want to add some of my opinions about the app. Firstly, I really like the simplicity of Discord, you don't need to sign-in or register, just need some clicks and typing, then you can share the channel's link with your friends. Of course it need to add the user profile feature for long-term use on multiple devices. Secondly, Discord's IP and DDoS protection is one of the best. I think Discord is the first voice chat that implement it although Skype recently release an update to improve this aspect as well. Personally, I think this feature is very important especially for professional gamer. I watch a lot of gaming tournaments, and I see that in some small-medium tournament, teams and players have to play qualifier on-line which means they have to play from home or the teams' headquaters rather than playing on-LAN. So I saw some players being DDoS and disconnect in the middle of the game, so it ruin the game. The reason is the most profession use Skype (the old version) to communicate, and some attacker manage to obtain their IP and start attacking the player. So I really like Discord since it make security a priority from the first day of development.

Sunday, August 28, 2016

Week 3

This week I have to rush assignment 2 which is a seminar about a recently launch application. The app of my team's choice is Prisma which is a very cool photo editor application that can turn your ordinary photos into an artistic painting. More interestingly, the technology that power Prisma is a cutting-edge technology in computer science. It make use of neural network and artificial intelligence. Also Prisma's UI,UX design is wonderful and admirable.

Sunday, August 21, 2016

This mod is about parallel computing

Last week is a stressful week. Now I have 2 assignments at the same time which means I have to process them in parallel. My assignment 1 team are still struggle to setup the foundation of the app while assignment 2 team is starting to research on the seminar. Luckily, that I know how to context switch to handle parallel processes :D.

Sunday, August 7, 2016

What I hope to learn in CS3216

  1. How to build real things:
I don't have much programming experience especially on web programming, so I can learn latest tools use by web developers and build my own big product (which can scale to millions or even billions users). I will also have a chance to tackle real programming problems from designing to implementing.
  1. Entrepreneurial thinking:
To make a product success, programming is important, but other aspects such as marketing, user survey, quality assurance are even more important. By working on a real product with teammates from other disciplines, I can learn more about non-programming aspects of developing an electronic product.
  1. Teamwork:
I will not and cannot do everything on my own, so I can improve my teamwork skills such as meeting, planning, communicating.