Sunday, April 18, 2010

Lesson Learnt

Time flies when you are enjoying it. It’s probably the fastest and the most fruitful semester I have ever experienced. 3216 is no longer just a module code but a number I will remember in life. I’m so thankful to be in this class, exploring the real world, learning from great lectures and killing projects, sharing the suffering with many wonderful pain suckers, and eventually growing up.

In the blog entry “What I hope to learn from CS3216”, I wrote, “Think higher, do better, and become stronger”. And now it’s time to check.

Learning and Thinking

I doubt if I could find a better class in NUS to teach me learning and thinking. Frankly, I didn’t expect I would learn this from a module. I thought I would only gain this ability through myself exploration. It turns out, in deed, I’ve learnt to think more, think harder, and keep learning. Thanks prof as an excellent guide to help me enhance this ability in a short term. You teach me how to fish, the skill that I will use in life to be able to survive. And the rest is for me to practice more in order to succeed.

How did I learn?

1. Lectures

2. Projects

3. Spamming on Facebook, Buzz and Google Reader

Lectures are pretty good. Those guest speakers are really impressive. Some lectures attracted me more than others. This also helped me to figure out what I like and dislike.

I definitely learn most from projects. It’s always important to dirty your hand. Learn from experience. Learn from practice. That’s the best way.

The extra learning material is from social network XD. I’d like to say: Prof, it works, and it helps. J The only problem is I read very slowly. L

Do Better

We have done 4 projects in this course. The best memories come from them. XD

1. Facebook Application: BoomzCart

It looked like a huge project as I was quite blurred at that time. No web app experience, no technical skills. But there was one thing I believed: we could learn and we would finally make it.

So started from zero. We learnt whatever we needed. W3Schools and Google were our best friends. A lot of technical skills were learnt from this project. It’s really a great warm-up exercise. It pushed you under pressure immediately at the right start. It’s also like problem set 3 in 1101s - After the first suffering, the rest pain became normal. And gradually we knew how to enjoy it.

Special thanks to Justin!!! You are a good program lead in our team. We could not do so well at the beginning without your guide. (I still remember that day you took MC to join our work hahah!)

2. Facebook Seminar: MarketPlace

This project was a break after the first one. It’s the most relaxing and quite interesting project. We could simply do a presentation according to the requirement. But we chose not. Joshua got this awesome idea to make a video presentation. Therefore, we got the chance to try something different: making a fancy story, drawing simple pictures and taking 400+ photos to make them move!! That’s really cool experience. I enjoyed it a lot. XD

3. Google Wave: Bubble Man

Prof always told us, “Code less, and think more.” Well, this what we did for this project. I have to say, bubble man was just a backup. We actually came up with a greater idea. But unfortunately we were unable to do it given the short time + CNY + recess week. I think not just our group, others may also feel they could do better if it’s not during [CNY + recess]. But there are still groups who’ve done a great job, e.g. YourBrainStormer. From this project, we learnt “ideas are cheap, execution matters” from our own example.

Nevertheless, I think we still did a good job. Two groups camping in Sheares Hall Block C lounge was also fun!

4. Final Project: PeopleBAWX

“一份耕耘,一份收获”We put most efforts in the final project, we definitely learn most from it.

First of all, I guess I won’t touch Visual Studio at all if I’m not doing this project. And I would probably miss the chance to explore the powerful WPF. And it’s quite cool to build software from scratch. My point here is, always be open to accept new stuff, learn something different, and judge in the end.

I don’t want to mention too much about the technical stuff. But I want to highlight the UI design part. It’s useful to analyze the user behavior when you are doing UI design. People are not like you. Don’t expect they follow your rules. You must create an environment that makes them feel comfortable and controllable. And each event designed must fulfill their expectations. I think this applies for both desktop and web applications.

Another thing I learnt from final project is Team Dynamic. People in this class are all very nice to work with (thanks all my project mates XD). But different people have different working styles. Sometimes it took time to get used to each other. Sometimes there might be misunderstanding. Sometimes you got confused and lost motivation. These are the problems that may affect a team’s performance. But they can be easily solved through better communication. Even talking random stuff can help build up the bonding among team members. Think less about you and me. Think more about WE as a team so that those small “bugs” can be fixed easily. It’s also important to keep the motivation. We, as a team, must believe in what we are doing. Having a clear plan, assigning tasks properly and updating each other frequently helped us to keep in mind the big picture and always know what to do next. We sometimes fell behind the schedule. Therefore, we needed to catch up quickly or change the plan accordingly. These are the lessons learnt along the way. I think it helps future projects as well.

Anyway, our project has not ended yet. It seems we still have a long way to go, and a lot more to learn! Jiayou guys! Let’s do better!

Become Stronger

Do I become stronger?

Yes, because CS3216 failed to kill me. I survive, and I grow.

Since this is the beginning of our journey rather than an ending, let me set “what I hope to learn” for next semester. Next time, I hope I can be more confident, effective and responsible.

Thank You

Thanks to our evil prof Ben for not killing me but teaching me lifelong lessons instead. It’s really great experience!!!

Thanks Mr. Goh J You are the poorest but the best TA in NUS. Thank you for taking good care of us!

Thanks tutor Yanjie, Su Yuen, Jason and Yuen Hoe for the workshops and projects help!

Thanks my friends Zhaocong, Wangsha, Xusu, my dearest neighbor ZZ, and many more for supporting me!

Last but never the least…Thank you, my lovely classmates! We together make the legend of CS3216! :P

Monday, February 22, 2010

External Pitching Session

External Pitching Session

According to the forgetting curve, what we can remember from last lecture, which is two weeks ago is really a little :(
Based on audience memory curve, what we most probably can remember is the beginning and ending of a presentation :)

The pitching session was quite good as it provided us with the chance to connect to external clients. I did learn some concepts which I didn't think about before. and I was also enlightened by this "learning is about making connections"


Before the presentation, I expected it would be mainly about 6wave games. It turned out to be like a summary of our FB seminar: a very systematic game design and market analysis, covering a lot of points I remembered from FB seminar :) Based on the research, they conclude three parts: Game design, Go to Market, and Localization. Well, I'm not keen on game design. Instead, I'm more interested in the other two.

Go to Market Strategy - Be the first to get there.

we keep saying ideas are cheap. If you get the BIG IDEA, get it executed as soon as possible. I believe many successful products are not just one man's idea. It could possibly be the idea in other people's minds as well. The difference is the former becomes a millionaire and the rest stay unchanged. The reason could be: they fail to work it out; or unfortunately, they are just late. "Be the first to get there" so that the entire market will be yours at initial stage and you can fully take advantage of it.

that's not enough though. and life's not easy at all. It's tough to maintain the Competitiveness for the long-term development. Keep moving forward to become better, large marketing budget is needed to support long-term development. and many other stuff need to deal with. I shall find more.

[Module Review]

I used their facebook application when it was first launched. I would like to say it's a great idea as I still remember I was pleased to know such a new app. I thought it would help me to choose modules based on many reviews provided. but after a long time, I didn't find many useful postings especially for SOC modules loll. so I left it. It was nice to meet Module Review again in our class, and to know its developer Jace who's with passion and sincerity for his project. During his presentation, I was thinking could I do something better during my uni life? could I make a little difference when I'm young? I think Module Review sets a good example for us. Yes, we are young. that means time and energy. We have time for trial and error. We have the passion to seize every opportunity to pursue our dreams. So we need to think hard, knowing what we really want to do and then manage to do it.

Saturday, February 20, 2010

Case Study 1: GetDone!

I actually like the UI in terms of their structure. intuitive, easy and fast for use as their initial idea stated. The problem may be the graphic design: not attractive enough. My first impression: the main page got blue (FB color and some options), red (new Project and Call for help button) and yellow (badges/profile/Stats/Invite tabs) color. does not look like a whole, rather, looks like many small Ads.

I think the main problem is the arrangement of Overview and other four tabs on the top. I feel like they put the most important page less attractive than others. Users would try to click badges/profile/stats first before they finally realize overview is really the Overview of all projects instead of an application overview lol.

New Project Page (main page)

Asking for help is the initial attraction for users to install this application. As I've said, first page is very intuitive, fast and easy to use, fulfill the main purpose of this application: get things done!

it's actually easy to post a new project by just clicking new project button. after posting helps, users more concern about the responds they receive. say if you are the user who post 5 requests for help. what will you do after posting? come back and check frequently if someone gives your a hand. the more frequently used page would be the overview page. So, I think they may change overview page as the main page :P

For the content of New Project page: overall is good. Simple is beautiful. I never expect a list of questions to answer. For "Who do you want to ask" part…the category is not effective in my point of view. "Hide it from someone specific"? hmmm..why? the task is to give the person a surprise? you don't wanna bother him? you think he's useless?
If I'm the user, I hope to know who may be able to help me :D Then, maybe there can be one more option to specify what kind of people I'm looking for.

Project Page

For the helpers and friends referred. would that be better if they state some more details like why and how can they help to get my things done! so that when I shortlist people to approach, I got some reference to see if they really can help.
btw, err..why there are three Prof Ben's famous pictures appeared in helpers and probables? technical bug?

Statistics Page

The person who has helped doze the most fires doesn't mean he is the most helpful one for me. The stats won't help me in most cases. Instead, I would be more interested in the stats about my friends who are easier to approach.
The Most Resourceful stats seems more useful. The networking gurus can help me to find helpers I really look for!

At this point, I just came up with an idea. Maybe.. I mean perhaps they can have one more option to categorize the projects at the project posting page, so when I search for helpers I can specifically search those who help to solve most problems under certain categories.

Badge idea

Good incentive to encourage users to help others - Mr.Good Samaritan and The Great Guru :)
but..I find a bit funny to have Sizzly Sizzler and Fire Breather. it's not easy to be a Good Samaritan as you need to really put effort to help others, while trying your best to be a top fire starters is rather easy! keep spamming lol. I didn't say it's a bad idea though. It would be a good user interaction instead. popular people always get attention :) In order to get attention from your friends you can just start random "fire" and wait your friends "wish you good luck" (if HonestyBox can become popular by posting random questions, so could GetDone! succeed in a similar way :D)

Saturday, February 6, 2010

3216 from my neighbor's view

hahaha I was surprised my dearest neighbor seriously wrote this blog for me. It was just a random request during my first project as I was busy coding and dun wanna blogging during that time. And yesterday when she came back after shopping, she wrote this *assignment* for me. I was soooooo touched and really appreciated that. And I'm really thankful I can have so many good friends around me. Lots of thanks :P

this is for my neighbor's CS3216 module blog series...

It is nearly 3am in the morning and I am still awake. My friend sent me a nudge on MSN, “What are you busy with?” Oh yes, what am I busy with at this time of a day? Writing a blog instead of doing my homework or rushing for lab report or writing papers. But why?

Well, it is a long story, so please be patient and bear with this poor story-teller who obviously does not have any idea on how to tell a good story.

First let’s go back to a few days ago. After a sinful supper on Monday night, XL asked me to write up a blog for her CS3216 module. As her good neighbor and friend (which I definitely am) and knowing her CA includes a series of blogs, I agreed. But I never really started writing until today. There were several reasons. 1) As a student from National University of Stress, I do not have much time during weekdays to think about how to start writing this blog 2) I thought this was her random idea and did not take it very seriously. But when I asked her to go out with me last night and she said “No”, I suddenly realized I should seriously write something and got the idea what I should include in this blog. So here it goes.

Anyway, everything went “wrong” when my dear neighbor decided to take this legendary killer module CS3216. At first, she was busy dealing with the endless emails. Ever since the semester started, or is it even before the start of the semester, her life as a “night owl” started. As far as I know, or at least this is what she told me, she went to bed at 4am every day. The few times I know she went to bed earlier than I did (including today), I can count with one hand. Well, if she went to bed at 4am and woke up at noon, things might not be so bad. However, the fact is she asked me to wake her up every day at 8am for breakfast (although there were a few times she cannot get up so I have to go for breakfast alone). You might be wondering what she is doing till the late night/early morning? Playing with Facebook, I would tell you. Yes that is what the CS3216 gang did for their first project. They formed the project group as soon as the first lecture and started brainstorming, discussions and programming, etc. As for XL, all she talked about ever since Week1 has been about her project and the amazing people from this module (that is why I know a lot of the people by their names, like Prof. Ben =D). Sometimes she stayed in COM1 doing the project for the whole night; sometimes I can hear her calling another friend at late night for consultation; sometimes I saw her and her project mate (Biyan, who is also a friend of mine) working so hard in her room. Compared to the old XL I know, this XL lives a totally different life of which 90% is about CS3216. Then 5% would be about singing for SHaca and Geyao in hall and the last 5% goes to the other modules she takes. There are a lot I can say for the changes in her life but I need not mention because the CS3216 gang would understand and nod their heads.

I remember when we were trekking on Mount. Kinabalu in early January, XL said “This is the last time in this semester I can enjoy life as much as I want”. This, according to the things that happened during the last few weeks, is sad, but true. I of course do not have the right to judge anything nor can I change anything, yet I want you to know how hard she works and how much effort she puts in. As far as I know (of course from XL), everybody taking this module, be them programmers or designers or marketing talent, has their goals and is putting as much effort as XL does; everybody seems to suffer (more or less) yet enjoy this module.

To end up this lengthy blog (so that I can go to bed), there is one more thing I would like to share. Just as I am writing this blog, a friend of ours, knowing I am writing this, commented “XL is that kind of persons who always do addition in their life so gradually they live a more stressed yet enriched life. Nonetheless in the end the stress is gone but the enrichment is always there.” I cannot agree more, and I know the CS3216 gang is all like that. Jiayou for you guys!

Thursday, February 4, 2010

Facebook Seminar Critique - HonestyBox

Honestly speaking, I don't like most of the facebook applications lol. But truthfully, those applications are good platforms for users to build social networks. HonestyBox is one of such applications, which are mainly based on users interactions.

Here's my summary of the presentation based on their slides and what I remember:

1. Why should we care about this application and why it can be popular

well, the group answered this question from both user and developer's views. Among these points, I think the most important reason is that users "want to ask sensitive questions to their friends". In other words, they like to play this HonestyBox because they are actually caring about what their friends think of them. And look at those default questions, e.g. "what do you honestly think of me?" "what do you think of my personality?", you probably won't ask such serious questions to your friends in real life. but you can easily spam your friends by clicking HonestyBox.

if your question itself is random, then the entire interaction is just to help you to reconnect with your friends and enhance the bonding within the network.

if you seriously asked the question, then honestybox becomes a psychological game:) once you've asked the question, what kind of answers do you expect? Some friends may also take it seriously and give you sincere answers; but some may just randomly answer the questions and play fun with you. Hence, you need to tell which are their real thoughts, and which are just for fun.

I'm not sure if it is true, but I believe that most of users will say they play honestybox for fun, while subconsciously they are expecting the *real answers* from their friends. That's the fun of Honestybox, a game between true or faulse among your friends :)

2. What is nice about HonestyBox?

Anonymity. I agree on it. Honestybox will become less popular without anonymity. anyway, your friend won't know you said that, you can just post whatever you want. Don't have to act the yes-man, saying all positive comments on your fiends. Frankly, I would like to hear more negative comments from my friends so that I know where I should improve more. And you may feel even happier to hear good things about you from anonymous friends :D

I think 1 and 2 are the core features of HonestyBox. Simplicity is beauty. I would like to use this small application if it just like that. However, HonestyBox is more than that. it makes life complicated :( This is just from my user's point of view. On the other hand, as a developer, I can truly understand why they put those additional features to help spread the application, make users to play it frequently, and more importantly -- make money!!!

The point system is acceptable. Usually the point system or level system will make users play more as it sets a target for users to gain more points. Then what can I do with these points? Buy profile backgrounds? buy Avatars? or Bribe your anonymous friends to tell you who they are! I can't see anything attractive to me from buying profile backgrounds or buying Avatars lol. but they do attract a lot of users. These features remind me of the biggest online chatting company in China -- Tencent QQ. QQ is originally a only chatting software like ICQ. They then added a lot of additional customized features in the software. For example, users can go to QQ shopping center to buy clothes and choose different hair styles for their virtual images. After Tencent launched QQ space, users can further customize their space by buying various profile backgrounds and other decorations. The payment is similar to HonestyBox. You can pay by home phone or credit card. Surprisingly, a lot of users enjoy decorating their virtual images and QQ spaces. It turns out that it's an alternative way of making profits because people want to be special even in games:)

So, what can we learn from HonestyBox and QQ? Customization. Give more options for users and let them feel special. That's also the idea of BoomzCart (hahahaha advertising now). If BoomzCart is just a platform for users to buy and sell stuff, it's no difference than another Marketplace. What we are trying to do (though not fully implemented) is to let the users to manage their stores. As the seller, you are the one in charge of you own store. Maybe we can also add features to let sellers to decorate their own stores and choose their own advertisement :)

P.S. Sorry friends, I was busy with my performance in past 2 days and forgot the deadline was actually Feb 2nd. My apology for being late.

Monday, January 11, 2010

Yes, it starts

Just came back from my first cs3216 lesson and took a shower. It's a new day alr.
Though have been told how fantastic and amazing cs3216 was, I'm still impressed in the first lesson. There was this moment when prof talked about the key figures in 21st century: IT & Energy and how ppl gonna fight for energies, Star Wars came to my mind lol. I felt like we were Jedi being selected and gonna make a big difference for this planet. >.< Then I realized that YES, it starts. Once start, you cannot stop it. Truly the module itself won't make the difference for us. How big the difference would be and how are we gonna figure it now really depend on ourselves. I'm also glad to meet so many talented and enthusiastic dudes. I'm quite inspired by them. I'm just looking forward to working with them. so go ppl, let's getting started!