Just another Blog.nus site

CS3216 – final project

After the last consultation with Colin, we changed a lot of things in our application. We all agreed that making the turbanizer works perfectly with more fun is the most important in our application. We had 2 meetings on the last Friday and Sunday to discuss more and clearly about what need to be done. Ash came up with some ideas like we could use eye gesture to change the turban, for example, when users close their eyes for more than 1 second, then when they open their eyes again, the turban on their heads will be changed. We started to implement the feature, Thanh also suggested that we can add beard instead of just adding turban. Adding beard is quite difficult because we have to detect mouth, lips, nose position clearly, but we will try our best to do this feature.

CS3216 Second week of the final project

The final project has been online for over 2 weeks now. Our progress is not really good, I guess. Thanh and I are working on iOS application, we have been trying multiple framework for face detection, but finally we all agreed to use Core Image. We don’t have UI design yet, so I designed by my own. Piyush has work in his home, so he has to come back India for over a month and will be back Singapore in the first week of Nov. It is hard for us when we only have 4 members, and now is 3. Varun has least experience on iOS development, so we let him do the twitter bot – a bot that users can upload an image, then get an image back with the turbanizers.

We have the first google hangout meeting with Ash and he told us try to focus on making iOS application first, esp real-time face detection, make it fun, then users will use it.

We also have few ideas about making social network inside the app.  I want to create a social network where users can post their images with turbanizers, share facts/knowledges about Sikhism, may be they can make a trend of checking in with turbanizer all over the world. By sharing facts, their knowledges, they can educate other people about Sikhism culture, and that is the purpose of this application.

Other than that, we also post events about Sikhism to our social network, and people can know where and when to join these events. That is what we got for now. We will have a meeting with Colin this Wed. It is hard for us when only Piyush can design but he is not here now, so UI prototype has not done yet.

CS3216 First week of final project

The final project has been running for 1 week and we just had a first consultation with Prof. Our project is about making an iOS application called Turbanizer where users can take a picture/upload a picture and our application will analyse to detect all faces in the picture, add a turban (may have beard..) to these faces. The idea is from Ash who already had a Turbanizer application, but in this app, users have to add turban by themselves. Because we are all busy with midterms, homework, assignments from other modules, we could not meet each other as well as meeting Ash in the past week. We intend to have an demo with UI to Ash by the end of this week and also have demo protype to show to lecturer.

For detecting faces, I am using Core Image, also trying to figure out other frameworks that I can work with to be able to find a framework with the best performance in face detection. My demo now can upload an image and auto detecting faces + adding turban to each face it detected. However, we need to show a real-time one by the end of this week. Hope that we can have a workable demo by this time

[CS3216] Finished assignment 3, preparing for final project

The recess week is gone and the assignment 3 is finally over. It has been a very busy week due to the deadline of the third assignment and learning for midterm tests. It reminded me about CS3217 when I could not learn anything for other modules because of the deadline of the last problem set. Irvin and Thien have been working really hard to completed all must-have and some nice-to-have features for our product. Kent has been working on backend and we faced a lot of problems when started to design database schema and collect data for our application. We want to extend the app after the assignment 3, so it was tough to come up with a good db schema. Fortunately, with his experience in his start-up, it did not take really much time to have a pretty good one. For me, with least experience in web development, I continued working on getting data (modules timetable, events…) from existing sources like NUSMods, NUS Calendar of Events. It was difficult at first place to me since I did not know how to crawl data from a website. With the help from Kent and my friend, I finally figured out a way to fetch all events for a specific date from NUS Events. We also wanted to customize the NUS map to make easily for user to know all places in NUS, so I added NUS-specific places like LT, S, MD buildings and especially COMP1 basement/level1-2 rooms to Google Map (we tried to focus on COMP first). It was not a difficult in term of technical, but it took a lot of time to finish all of them, especially for COMP1 because the Google Map only show 2D map for COMP1 level 1.

It was fun to do the assignment 3 with 3 of them and I definitely learn a lot from them, not only the technical, but also the attitude when we do something.

[CS3216] Assignment 3

Assignment has been released for 3 weeks, our idea is about building a local-based application that shows events nearest to current location of the user. Of course, user can check events at other locations as well. The events will be created by us (admins) only. However, user can create some “happ”, taking a photo of some activities at his location and post to Happ for others to see the activities. I believe it is a great idea and we can extend not only for NUS, but also for Singapore (or other countries). It might become a great application for travellers, help travellers know and join in events/activities with local people.

I am not familiar with web development, so I have not contributed much. My task now is trying to put more NUS locations (e.g: LT, S, E, … building) to our map because we need based places to create and add events to our application.

[CS3216] Week 4: Deadline of 2 assignments

This week we have deadlines for 2 assignments 1 and 2. We presented quite well, but we did not use auto-advanced, our grade is quite low. However, presentation is not all, we have to write blog about an assigned product of a group, which are important points and what is our thought. I recorded all presentations, so it is not difficult for me to write about it. For commenting on other blogs, I just commented on blogs that reviewing about our presented product because it is easier to follow what they were writing for.


For the first assignment, we faced a lot of problems, and TAs told us that we need to make the game more fun. That’s difficult because we have to change to log of logic of the product. However, we tried our best and we all spend a lot of time to figure out what we should to put into out game to make it better. Luckily we finished our product and our final document just nearly the deadline.

The first 2 assignments are done, now we have to move fast on the third assignment. Our team has Kent, Thien, Irvin and me. We are figuring out the ideas for the third assignment and will finish it soon to start doing.

[CS3216] Application Critique: Paper & Pencil – FiftyThree

I have not known and used Paper and Pencil – 53 before, but after the presentation of group 9 yesterday, I have to say that Paper is a brilliant idea and Pencil-FiftyThree is an amazing tool to use the app. Nowadays, the way we learn and take note everything is different, we do not want to bring note book and pen to every meeting, every lesson.Paper has been helping us to do that. However, even if you want to take note in your phone, you still do not want type all of thing. It is faster to write something than typing, and Pencil-FiftyThree came with this purpose . And thanks to group 9 to help us know more about Paper and Pencil. During the presentation, I found that there are few important things that the group has presented and we should know about Paper and Pencil.


  1.  Focus on a niche market first can be useful if there are many competitors making the same type of product. A niche market is a subset of a market on which a particular product is focused. And for Paper, it is focused on target users – artists. As the group 9 presented, Paper first launched in 2012 and quickly grew popular in digital artists with focusing on making powerful, touch optimised drawing tools. With a niche market, Paper did not have lot of competitors, and could saved a lot of marketing dollars, but this market approach is definitely not suitable for a small company that intends to grow up. However, after few time of launching, they put more productive features, note taking interface, Pencil-FiftyThree – helped Paper users to create sketches and designs in a much more normal, natural way. Now they had a competitor – Apple Pencil, but if we compare both of them, Pencil-FiftyThree is much cheaper ($50-$60 compares to $100), can work on all iOS devices (Apple Pencil just works on iPad), with a fat tip, simulates finger and touch sensitivity. It all made Apple Pencil is not really a competitor. That is one of the most important decision, focused on a niche market and then grew up quickly with no competitors.
  2. Design is important, and getting it right can make the difference between a mediocre and an exceptional app. The group also mentioned that the company has 50/50 split artists and programmers. It means that they have equality focus on design, UX and technical quality. If we first heard about it, we may think that this company is really crazy, normally we only need 1 (may be 2-3) designer(s) for an application, but this company has equality between designer and programmer. But if we think deeper, they marketed directly to artists, it is understandable why they are so focused on design like that. We all know that we do not want to have a same thing every time, especially for artists, they want to create a new thing, attractive things, so design for Paper is really important, and may be the most important to make this application successful. Not only for artists, for normal users, we can easily to see many applications have the same/similar designs, so with tactile medium, unique style, Paper easily get more attention from users then other applications.
  3. Focus on emotions when designing products. Try to understand how users’ feel when they use the product is sometimes just as important as the functionality and technical aspects of the product. I absolutely agreed with this statement that the group 9 presented. Why are so many people using Facebook, Twitter, Insta.. today? I think because they want to share their emotions, want to talk with other people about what happened to them, what they like, what they want. Why does Facebook have memories features, anniversary, … it’s all because of focusing on emotions of the users are really important. Paper and Pencil also do that, try to make thing as real as possible. The blending effect of paper is very real. You can use your Pencil to draw something out and blend it with your finger, and then the blending result will depends on the speed of your stroke, just like in real life.  And it will evoke emotion response from users. The company understood that drawing thing in phone does not mean that users do not want to use real paper and pencil to draw, so they have been trying to make users feel as real as possible. Another reason to see that the company focused on emotions is the community – another essential part of 53’s ecosystem. Users, especially artists always want to share what they have done, what they have been drawing, what ideas they have… Paper and Pencil has an unique feature called Mix – a shared place where you will be provided with a semi-constructed template to boost users’ creativity and basically users can draw anything based on this template. With a single template, different users/artists could create different results depends on individuals’ conception, creativity. 

My original thoughts already mixed in these 3 main points that I got from the group 9’s presentation. However, I want to have an additional point about problem when using Paper and Pencil that the group did not mention. The bending in Paper and Pencil is triggering when user drawing or erasing. As I mentioned above, blending is meant to be triggered when you use your fingers on the screen while Pencil is connected. However, blending is sometimes accidentally triggered when Pencil is confused for a finger. This can happen when drawing, or erasing. I think one of the reasons are Pencil has a hard time to recognize (especially for recognizing eraser), that why it recognizes as users blending. Hoping that they will find a good solution for that.


Other thoughts out of the group 9’s presentation:

  1. The application seminar assignment is really useful for us. Not only forced us to have a deep understand about an application that our team is assigned, but it also brings an opportunity to learn more about many real-world/good applications.
  2. The application critique after all of the presentation is really hard but fun. Basically we have to focus on/take important notes all presentations in the class.
  3. The requirement for having exactly 20 slides or less than 7 words is fine for us, but I think the requirement for having exactly 20 secs for each slide is really difficult. It depends on what application we are presenting. Sometimes, audiences also could not get all information.


Finally, hope every one enjoy with this course and have a good products for each assignments/final project. Please give me some comments about this application critique. Thanks in advance :D.


[CS3216] Third week

We have one deadline this week for assignment 2. After the first meeting on Tue, we divided parts for each member in our group, I took the first 2 parts which are introduction about Discord (what is Discord and why should we care about it). Zhi An took the third part, how to implement Discord if we have to, Huangbo took the next 2 parts and the last 2 parts are Van’s. After this meeting we just came back to do our own parts. Zhi An created the slides, yeb a really nice and hard-working guy, and I just changed a few things  in my parts. The difficult problem is we must only have 20 slides, each slide we only have exactly 20 seconds to present, and each slide can not contain more than 7 words. Luckily, we mostly used images for our presentation, and I think it is also possible to present each slide in exactly 20 seconds. I do not have much experience with presentation, but I think I can handle the first 2 parts.

For the first assignment, YouJing and Piyush continued with designing and making UI. YiJiang worked on backend with a lot of works have been done by him. I still continue finding the solution for disconnecting facebook user from our application. It is really a challenge, I asked a lot of people, and most of them said that they did not care about it. If user removed our application from his/her facebook settings, then facebook will send a deauthorise callback url to ping our application. However, as I found on Stackoverflow, sometimes the callback does not work properly. And we might also allow user to disconnect his facebook account from our application.

We will have presentation next Monday, and not just presentation, we have to remember what other groups talk about. Really hard to remember 9 other presentations because we do not know which one will be assigned to. Anw, hope that our presentation will be smooth.


[CS3216] Second week

This week we start to have 2 concurrent assignments 1 and 2. For the first assignment, our last member has been back Singapore and he is helping Youjing to design our product. One of the most important thing we have done is we changed the idea about our application. The application now still allows users to create their own quizzes to ask their friends, but the quizzes is about asking about who users would like to do something (kiss, hug, …) with. Users will invite their friends or choose provided celebrities to make a quiz, and challenge others. That idea come from Piyush and we all agreed that it would make our application more attractive to users. We finished the mid-assignment before the deadline and moved on to next milestones. Our application now can integrate with facebook (uses can log in using their facebook account) and we can get some information like user name/profile or invitable friends.

For the second assignment, we just form a team of four people and have been allocated a Discord as our application to present. We create a channel on Discord to see how it works. We will have a first meeting soon to discuss more about our presentation this week.

[CS3216] First week of the first assignment

The first assignment has been released about 1 week and I already had my team for the first assignment. My team includes YouJing, YiJiang, Piyush and I. We have a lot of ideas for this assignment and after a long discussion, we all agreed with the idea of YouJing about making quizzes for friends on Facebook. The idea is about a facebook user will make a few questions about himself/herself (e.g. What is my nervous habit? A. Pulling my hair B. Sucking a pen C. Biting my fingernails D. Keep walking) and his/her friends are able to view the questions and try to answer them correctly. After finishing answering all the questions, they will be shown the resulting score they earn. Also, there is a leaderboard under each set of questions. It will encourage interaction between people on Facebook. It is also an interesting way to know others better, and we may find someone who has the same interest as us.

After finalising the idea, YouJing started to design the flow of the application and YiJiang started to set up the database for the application. We decided to use Django + Python to build this application. Piyush will be back here by next Wednesday to discuss more about the idea. YiJiang is a really good guy with strong experience in web development, but I don’t have any experience in this area before (I am more familiar with mobile development). I started learning Django + Python with the help of YiJiang. We definitely will finish the mid-assignment submission by Friday before the deadline.

In overall, our team is doing well with the milestones we made for the first assignment.

« Older posts

© 2019 noyethug

Theme by Anders NorenUp ↑

Skip to toolbar