Post STePS catch up -04: Pivot to GFF and STePs

We changed our plan to do the NUS next bus v2 in second week of final project, when we realised that we couldn’t work fast with the people managing NUS next bus. We moved on to Give For Free.

Most of our development effort on GiveForFree was the addition of the payment system, the development of a new user interface and finally a lot of cleaning up of the bugs. The hardest part of creating the new GiveForFree was to get users and onboard charities.

We spammed any and every charity that we could get in contact with. In the end we found that most big charities have plenty of red tape that was making them very hard to work with. We managed to get SPCA Singapore relatively easily, but the others till now we’re still discussing with.

For users, had many approaches

Facebook post boost

We tried to do some content marketing via Facebook (post below), and that managed to get us 100 people to visit our Facebook page we would otherwise not get. While an expensive option, we still felt that it was worth the try, and we could reach people we would otherwise miss.

Posters all over NUS

We went and stuck A4 Posters everywhere we could reach in NUS, and some places we couldn’t. we aggressively targeted the elevators within the halls, and this meant sneaking into the halls, as people who stay in halls are usually those who would have things to give away. We managed to reach a lot of people, but number of actual users didn’t increase

Clocks within computing

We approached Mr. Lai Zit Seng for help on updating the clocks within NUS to promote our website, this had an effect of everyone within computing knowing our project, whether we managed to get users from this we’re unsure, but there was definitely a growth of unique visitors after this.

Local Celebrities

This was a failed attempt as none of the local celebrities replied to us. Perhaps we could have gotten someone if we managed to communicate to their personal account rather than their public account

Talking to people

Approaching people directly was the most successful, especially when we approached those within the arts and social sciences faculty. We avoided the crowded lunch hours as those were the times when people were much more impatient and unwilling to listen. We had a growth of about 200 users during the period where we went to strangers to promote our platform.

In the end we had over 500 users and over 1.5k unique visitors, which was short of our goal of 3000, but we still feel we did a great job, for something as difficult to get users as a charity platform.


Essay Written for GFF fb page

This was an attempt for content advertisement for give for free.

A few users have asked us, why not donate our clothes or preloved goods directly to charity? After all, every little bit helps!

Well dear free-givers, before we decided to start this project, the Give For Free team did have our due considerations in the pros and cons of giving our second hand goods directly to charity and felt that this was worth doing.

Most donated clothes are usually exported overseas. Donating clothes to struggling countries is hurting their local textile economy. Most people do not know that non-profit organisations export the clothes to traders who will then sell them. Developing countries need to industrialise and develop their economy by producing their own clothes and basic goods. Having an influx of cheaper yet higher quality imported second hand goods creates an unfair competition for the local factories, and that leads to falling incomes among the people.

Shipping second hand goods overseas also produce an unnecessary overhead, every item is stored, shipped ,taxed and distributed, using up a huge amount of time and funds that should be going towards other means like medicinal aid.

What charities do need is money. Money to be pumped back into the economy, money to neuter kittens, money to provide food and shelter to animals. While stopping trade of second hand goods in developing countries will not solve their economic woes, your preloved goods are unintentionally part of the problem. So why not put your preloved goods on Give For Free, and if you see something you can make use of, your money will be of more use than say, a microdrone.


this was the advertisement reach

Post STePS catch up -03: NUS next bus V2 hardware solutions

Initially we wanted to develop some upgrade to nus next bus. We felt that people were not happy with the current system, and we could do a lot better as well as explore the hardware aspect that cs3216 can provide.

As I have had a bit of hardware experience, I came up with several ways we could have implemented it.

1. arduino

The great thing about using an arduino-based solution is that we could have full control on the hardware, and the parts could be gotten relatively cheap. The disadvantage is that if we want a cheap solution, we would probably have to do a lot more development and build our own libraries for some of the components, as china-made clones generally have crappy libraries, or are incompatible with good libraries.

2. raspi

A raspi-based solution would be slightly more expensive as there’s no point in using the GPIO to save cost (just use arduino). We would use plug and play hardware which would definitely have better support for development, but that also increases the size of the hardware.

3. android

Finally an android-based solution would be the easiest to implement, as everything we need in hardware (camera, gps, wifi) is neatly integrated into one device, there are countless libraries and support to use these hardware. The cost would be as much as if not less than a raspi-based solution which would be a great benefit. However, we felt that the ‘cool’ factor of the project would drop by a lot.

In the end we decided on the android implementation and I did some programming to do the auto-photo taking function to use for counting the people on board the bus. We had old phones lying around which we could use, and we needn’t worry about incompatible hardware. We wanted our solution to be easy to replicate for the many buses (just get any android and install) and reliable (no need to worry about solder joints breaking)

Post STePS catch up -02: Schoolines UI design thought process

I was the UI designer for Schoolines. Our application front end utilised Angular 1 and Material. We had  a total of 4 views, one for viewing all modules at a glance, one for more details, one for creating and one for editing. Initially we wanted to have “more details” as a drop down to  all modules at the same page, but we felt that having the edit page be similar to the “more details” page to be more intuitive.

For our splash page design I wanted the look and feel of minimalist designs such as the apple website. In order to mimic that, I made sure to use an image with minimal colors, so that the app, which would be the most colorful thing on the page, would be more eye-catching.


The user interface was made to resemble telegram and other messaging applications as we wanted the look and feel to be as familiar as possible. We focused on making it look most like telegram as it had the action button that we used for adding new deadlines, which we  felt would be better than having too many menu options


Overall, while our project was fairly simple, we felt quite happy with the look and feel of our project.

Post STePS catch up -01: Schoolines Ideation

Now that STePS is over, I finally have some time to catch up on blogging.

Schoolines at its concept was something that was born out of our groups frustrations, that is, our professors, at least from level 3 onwards, seem to have some deep hatred of uploading deadlines on IVLE. Even those who use IVLE will sometimes put deadlines on the assignment PDF itself.

To solve this issue, what we wanted to build was a crowd sourced data for school deadlines. We wanted to ensure that the interface would be as simple as possible, and optimised for mobile usage. Our main target audience would be students who need to look up all their deadlines in one convenient place, and can share data with all their other classmates. We also wanted to ensure that TAs would be able to use the same platform to help their students.

Assignment 2 on Periscope

Group 2 presented on Periscope, which is a live streaming app with the tag line “Explore the world through someone else’s eyes”. The concept was developed when founder Mr Kayvon Beykpour wanted to follow the events of the Taksim Square Protests in Istanbul live. He took to twitter, which was and is still the main platform for live journalism, and found it insufficient. He then designed Periscope as a streaming platform intended for a portable solution to stream events live.

From the presentation, it seems to me that the main motivation behind Periscope was to be  a platform for video streaming for news content. It was also mentioned that there was a lot of  “noise” in the content, that is, rubbish content. To me, this is a major but expected step back from periscope’s motivations. As periscope has been bought over by twitter, I feel that they can make use of twitter’s “trending” algorithm to reduce the visibility of “noise” generated by people.

Drummond puddle watch: an example of noise given during presentation


It seems to me that periscope’s main exploration tool was the map view. This resonated with me as my group’s assignment 1’s first concept was based on a map view too. Most of the feedback we received, and I do agree with them was that while the map view looks cool, it cannot provide a whole lot of information. Further research shows that Periscope now has a list view for exploration, which makes for a neater and more useful way to collate information.

Screenshots of Periscope: Note the map view on image 2


Finally, the group’s last gripe about periscope was the comments system. The comments overlaid on the video blocks the view. The first thing that struck me about this was that I’ve seen the same thing before on Japanese gaming streams. Having watched many different types of streams before, I do know that this format for comments have both supporters and haters. Western streamers tend to feel that the comments distracts viewers from content while East Asian streamers (mostly from China Japan and Taiwan) use this method of displaying comments, as they feel their content is less important than the community. Perhaps Periscope can build an alternative way of displaying comments and allow streamers to choose their preferred method.


All in all, I do like the concept of Periscope and the potential it can bring. They do have a target audience that they want; in the “live news” niche. However, right now the community is still young and they are using the platform as an alternative Facebook live. I believe that right now, Periscope should focus less on the technology and instead build their community to make sure their content is in line with Periscope’s vision.  This would make their application stand out instead of being viewed as a Facebook or a Youtube live clone.

Seminar Preparation

For Assignment 2, we have to do a presentation using the pecha kucha technique.

There are some techniques within the pecha kucha format that I’ve been using before knowing they are well established techniques. I’ve always ensured that my presentation decks have minimal words and I never talk about more than 5 sub points in a slide (I’ve noticed 5 is the maximum one can talk in 20 seconds)

To limit the slides to a 20 * 20 format is very new to me. the 20 slides limit mean that I have to make sure each slide is significant enough to warrant a slide and in a way forces me to make sure that I have enough content to actually present on.

Personally I feel pecha kucha is a very interesting concept. It makes presentations short and sweet, and the format is restrictive in a good way. By following the format, you are forced to make sure you don’t over-emphasise too much on one point nor will you under explain other points. The slides restriction also ensure that your deck is not too wordy and difficult to follow.

Deconstructing the idea

Past two weeks we overcame many problems we encountered with graph API, and came up with an okay back end with  an okay idea. However, we felt that our idea wasn’t a pain killer but more of a supplement. And honestly I wasn’t convinced our app was attractive enough, but I couldn’t think up of a better idea.

Throughout the week while trying to rush the milestone, we were throwing around ideas to make our app better. Kai Yi thought up of a great concept that we decided could be the direction we want to head towards. This week, when we decided to implement the shiny new idea, we realized that our original back end and most of the work we’ve been working on for the mid-assignment submission doesn’t really help us towards the new direction that we want to head towards.

We held an emergency meeting yesterday and decided to iron out once and for all which direction we wanted to head towards. In the end we felt that this shiny new idea was better. We would discard about 70% of what we did on the first two weeks, but all of us agreed that we were willing to work harder for a better product that people would actually use.

On the bright side, we have learnt a lot about Facebook api and this new implementation will still re-use skills that we learnt over the past two weeks. This also gives us a chance to clean up on code that wasn’t up to standard (I had one method which nested conditions and loops up to 8 layers deep).

This is a painful move to make but I honestly feel that it is the correct one.

Week 1 thoughts

So the first week has been over. My group have hit our first roadblock, that is, our idea has been hampered by changes in facebook API. As of graph API 2.0, we can only retrieve friends who have “installed” our app.

As a user, I’m glad that apps cannot retrieve my information through my friends, but as a developer, that means that potentially, our app is useless unless all our friends also use the said app.

To solve this issue, our group has decided to brain storm on ways to work around the API, as well as find some other potential uses for our app so that we can attract as much users as possible.

Although this problem is a major headache , I’m glad that we are facing it now rather than later, as it’ll improve the quality of our idea.

What you hope to learn in CS3216

What I hope to learn in CS3216 isn’t any thing technical. I hope that CS3216 can open my eyes and help me in my dream to own my own businesses.

There are times when I face a problem, and I feel that there is a need in the market. During these scenarios, I sometimes get stuck in knowing how to bring my ideas to life, be it in implementation or coming up with a proper business model. In CS3216, I know that there are like-minded people in my fellow classmates who have different capabilities and expertise. I hope that I can learn not only from the lecturers and the TAs but also from my classmates.

Outside of learning, I’m excited of the (tiring and draining) weeks to come. I  hope that I will also be able to help my classmates as much as they can help me.