What I’ve Learnt

Having the first and last lecture in the same room gives a nostalgic feeling. During the last lecture, I kept thinking back about the activities we had on the first lecture. And sitting inside the room knowing that it is the last lecture give me mixed feelings. The amount of time and effort I put into this module greatly sums up more than any other modules and ending this course should relieve all the torture but the experience and fun I had kept me holding back. Nevertheless, there is a saying ‘all good things must come to an end’.

Before taking this module, I have heard a lot about it, mostly on how painful it will be. I have a few friends persuading me not to take it at all cost and they even think I’m crazy to take it as a UE. Despite their words, I went on to take it and I didn’t regret it. Only the strongest will survive.

I believe I have achieved all the goals I mentioned on my first post. On my first post, I talked about learning how to integrate stuffs and come up with a complete product that is good enough for mass consumption. With LetterstoAmanda, I’m proud to say I have accomplished that. It’s not going to end there like every other module projects but it’s going to reach far around the globe and it’s never going to stop. I also love the fact on how this module forces you to work with someone you didn’t work with in your previous assignments. It really pushed me out of my comfort zone and work with people that I wouldn’t have the chance otherwise. This fulfilled my second goal that is to meet different people.

Team Dynamic
What keeps the assignment submitted on time are a good team. A good team are the ones that do their part and help the other teammate when he/she us having trouble. A good team has the same vision and never say die even until the last minute. A good team has strong determination that pulls us through any obstacles. And I have found a good team with Zul and Eugene. Despite being the smallest group in the class, it didn’t hinder us. We put in extra effort and came up with LetterstoAmanda.

Making Others Believe In What You Believe In
I would like to thank Eugene in telling me to watch the video of ‘How Great Leaders Inspire Action’. I never though it’s going to work until I saw the reception at our presentation. I’m totally amazed by how rephrasing and adjusting the order can change your product totally. It turns out that the golden circle really works. It takes practice and I’m trying to apply it some of the presentations. =)

Painful Training
This workload of this assignment is just crazy. The assignments, presentation, blogs and surveys are just never ending. This is the only module that made me stay in school until wee hours not for one day but a couple of days. All these might sound painful but I see it as part of the training. What doesn’t kill you makes you stronger. I have learnt to set realistic goals and start early as there are other modules that need to be taken care of. At least the assignments have real world implementation and it shed some lights on what’s the market trend now.

Parts and Parcels of Life
The setback of assignment 2 troubled me for a while. Be it the idea or the execution, it doesn’t matter anymore as I realised human do make mistakes. What’s important is how we pick ourselves up and move on. If I would to cling on the failure and never accept the mistakes, I will continue to fail. The world is not going to stop spinning. Get on with life.

As a matter of fact, I don’t really like blogging. I hate writing. However, seeing the comments and number of viewers I get really makes my day. I would like to thank all the readers for reading what I typed. With that, I end my last post for CS3216. =)


Leave a comment

Posted by on November 14, 2011 in CS3216


Nothing to Lose

We make choices everyday but how many of them really make a difference? This question may be subtle to most people. However, what really change a person life are the choices he or she made. For an average person, this might not be a concern to them. However, it matters to me.

I have a lot of crazy ideas that I wanted to execute. Over the years, I tried pitching the ideas to my friends but was turned down by their “bo chap” attitude. I have a  friend who is taking the same course said he prefer to work part time doing odd jobs with guarantee payslip than wasting time taking the risk in creating an app. I have a few other friends who have the same reply and they are all Singaporeans. This really bothers me. Are Singaporeans really “bo chap” or they not risk takers? Seriously, I would rather create stuffs that will be use by many than work for many. I have worked enough odd jobs and I don’t want to do it anymore!

What’s holding us back probably is due the fear of failure. This thought is evitable in most young Singaporeans which mainly attributes to the way we are bought up. We are afraid to leave our comfort zone. This makes me ponder.

I took a step back and think about it. I have nothing to lose. I am only in my early twenties with no liabilities at the moment. But what if I fail? Well, I have nothing to lose in the first place, pick up and try again.

Start now or never.

1 Comment

Posted by on November 1, 2011 in CS3216


My Take on jQuery Mobile

When I first saw the demo of jQuery mobile I was super impressed. Every buttons and gesture feels like a native app. Elements such as the header and footer gives it a strong sense of iOS feel. One couldn’t tell the difference if they didn’t see the address bar. However, after coding HTML 5 mobile apps for assignment 2 and final assignment, the flaws of jQuery mobile starts to surface.


1. Bad documentation
Even thought jQuery mobile is developed on top of jQuery, they have very bad documentation. Most of their documentation is demo of the features they have with little details on how to implement it.


2. Page transition
For a page transition to work, jQuery mobile will load the contents inside the DOM of the targeted webpage into a container. In other words, dynamic scripts will not be ready as only the contents inside the DOM will be retrieved. When transverse to other pages, jQuery mobile styling will be lost and we will need to reapply the styling on to the new content. When we thought we have solved the problem, another problem arises. It doesn’t reflect the new styling and only the solution is to fix it by clearing the whole page. This fix brought up yet another problem of a white screen flash when users navigate the pages. We have yet to find a solution but we will continue looking.  It’s the tradeoffs that we have to pay for using the effects.


3. Persistent footer
In creating a user-friendly environment, we added the footer that acts as the navigation bar. The footer will automatically update its location and stick itself to the bottom of the screen. The footer works our well when tested on the computers. However, it’s a disaster when we tested it on the mobile phone. A typical user will swipe their fingers and expect an immediate feedback. But since the footer is not part of the OS, it will update the position on the go. And since we have to clear the page every time we load, there is a jitter lag of the footer as it reclaims its lost position.


4. Platforms
Building an HTML 5 mobile apps open it access to a wide range of phones. This may sound like a good thing but the different browsers on different platforms perform differently. What works on a platform may not work on the other browser. A style that works perfectly on Chrome didn’t render properly on Firefox and even worst on IE. As a developer, we have to pick the best elements that work out well on the popular browsers.
In short, the technology is just not mature enough to be widely adopted. There are still a lot of stuffs to iron out.


HTML 5 mobile app is the future but not now.

Posted by on October 25, 2011 in CS3216


Reflection on Assignment 2

I was totally taken aback with the grade of assignment 2. I thought we did reasonably well but it turns out not so. I started reading the comments and mistakes complied in the .dat file. To be honest, I’m quite furious and disagree with the comments given at first. However, after cooling myself down, I realized the mistakes that we have made.

User Testing
The mistakes are minors and could have been rectify if we have done some user testing. For instance, we assumed that users will know what condition 1-10 would mean if they used IVLE used book forum before. However, there might be users that never use IVLE used book forum. I also assumed the users will key their contact info into the description box. Unfortunately, description box and contact box are two different things. A design must be apparent for the users to distinguish and understand. The UI needs to be tested and validated by real world users.

Our Idea
I believe there is a need for this app. I believe there should be a place where students can buy books with control. Control where students get to sort the books base on price, condition and edition. The peer grading are very constructive. Most of them are supportive of this app. But, we could have achieve more if we have build something that is more initiative than safe. After reviewing all the apps from assignment 2, I felt that Books Venue is kinda safe. The UI are standard and the idea is similar to the forum. In short, it’s like giving a facelift to the IVLE forum. Clearly, this is not enough. New elements need to be put in that will really leverage the technology and advantages of the mobile platform.

User testing is a must. Assumptions needs to get validated. Safe is not safe.


Posted by on October 19, 2011 in CS3216


Case Study 1: GetHelp!

When I first read about this app, it reminds me of Yahoo! Answers! The idea is pretty similar but Yahoo! Answers! is a standalone website that is integrated with the Yahoo! users and this app is dependent on Facebook users.

I’m suppose to analyze the screenshots and uncover what was the problem faced. However, it’s very tricky to tell if the design is usable or functional just by looking at the screenshot. It will be base on our assumptions that it will work out the way it’s meant to be and it might not be an accurate review. Still, since the app is no longer on Facebook, I guess I have to make do with what’s available, screenshots.

1. Home Page

The icons are beautifully designed and clearly represent what it meant to say. However, the buttons are a little too slanted. I think the new project button should not be red in colour. Red is normally associated with not available, cancel or busy in terms of internet context.

I think there are too many options for the users to choose. This app is suppose to make life easier for the requester, hence I don’t see the need to provide more detail information. Since they are developing for Facebook, I think they should exclude other social mediums such as rss, twitter and sms. It’s like flooding every possible means to get an answer and it’s quite unpleasant. The checkboxs are checked for both “post to all your friends” and “no, i want to pick & choose reliable people!”. There is a conflict between the selections.

2. Overview page

The overview page is showing too many feeds. And i think friends can only see the latest request and the rest left hidden. It will be good, it they have pages or category to sort out the feeds into something more manageable.

Search is a must for a app like GetHelp! If the feeds are not organized and there is no search, it will be hard for the friends to help.

3. Project Page

It needs to have a status button to indicate if the person’s help is answered. This will prevent future friends clicking on a request that is answered and they go and help friends that still need helps.

4. Statistics Page



Badges are a good way to reward the users. However, I prefer the the way Yahoo! Answers! deal with statistics. The requester can vote for the best answers given by all users. By voting the best answer, the person that answers the questions will rise in it’s percentage in terms of best answers. In this way, everyone will know about his reliability of providing answer. More incentives need to be given.

I like the consistency of the top navigation bar throughout the app. Still, I believe the flaws with the app is due to the short time-frame of the CS3216 schedule. Everyone can design an app within a few steps, however designing a good app is another story. To build a good app from my perspective requires deep planning. In short, this app have it’s potential but with the low support group, it’s very hard to survive. I will rather go for Yahoo! Answers that will provide me with more professional help and with a larger user group.

Inexperience in UI design
From the 1st assignment, I see that most of the groups including my group does not have a good UI design. It could be due to the team formation. However, I think the main reason is that most of the groups have little experiences in terms of UI design. One key factor of Apple’s sucess is because of the good UI and it is only possible with lots of trials and errors. A good app without a good UI will restrict the people from trying out the app.

Leave a comment

Posted by on September 17, 2011 in CS3216


Vsee Talk

3 Things
This is the second time I been to his talk. The CEO, Milton is an interesting guy. Apart from selling what his company does, he gave us a life lesson talk too. I still remember the part of reflecting 3 things you learn everyday from the previous talk. I tried it for a couple of days and eventually I gave up. This talk came in as a reminder to me and I seriously hope I can start doing reflections everyday. One have to be hardworking enough to learn new stuffs and this method will let you learn new stuffs without you feeling the pain.

To be honest, I hate boredom. Stoning for one whole day without a purpose makes me feel terrible. Well, Milton mentioned about aiming for boredom and breakthrough in thinking. To me, it’s more like when a person is relax, your subconscious mind will start working. And it’s always that subconscious mind that throws out the perfect idea.

I always find sales to be more attractive than programming. The rewards are so much better. Basically, if you can sell, you will get the bucks. It also about hardwork, the paycheck and commissions is determined but how much effort you put in. The more effort the more money. Well, this is if you are successful in all your sales but it still beats sitting down in front of the computer and drawing a fixed monthly salary. However, I’m not a good salesman and I don’t think can one either.

Not forgetting, find a good partner.

Leave a comment

Posted by on September 13, 2011 in CS3216


Pitching Session

Last Monday was the external pitching session. Various companies came to sell their idea to attract us to collaborate with them. However, I’m not particularly interested in anyone of them. While a few of them tries to tell us as much as possible for what they expect and wants to build, the majority of speakers are holding back about their ideas or too provided little information to interest us. I understand that due to their company policy it may be forbidden to say out but how can you pitch if your audiences are not buying or convinced about your idea?

Some comments on the different parties.

I feel that Module-Review was once a good website before they decided to revamp it and included all the tertiary schools in Singapore. Reviews written by students were gone after the revamp and the current website didn’t gain back all the lost comments. Hopefully, they can do something to encourage more people to comment. Anyway, they talked about the future expansion of integrating such as lecturers review. I think they should be more focus and work on the current website. After all, it’s called module review not campus review.

Dr Dana Elliot talk on CPR/AED is interesting and informative. With so many AEDs mounted onto the wall in school, it finally make sense of their purpose and functions. Although, I can’t operate one now, i hope that i can in the near future to save life.

Pitching is not easy.

Leave a comment

Posted by on September 13, 2011 in CS3216