Tuesday, November 15, 2011

What I have learnt

A few days ago while I was doing the NUS teaching grading survey, I was surprised that I had more to say about CS3216 than any other modules. Of course, mostly good stuff!! Looking back at the semester, I always jokingly tell my friends "I'm kena sold to computing".

True story.

During poster session
This is the semester that was initially filled with uncertainties and later on transformed into a systematic deadline-based curriculum with small excitements in between.

Uncertainties: I doubted myself when Prof Ben said, 'every sem there're 1 or 2 students who drop the module'. I thought I would be the one cause I'm not that confident in my design skills and honestly speaking I don't know what's gonna come my way. But, I persevered and immediately during the first assignment, I kind of got the hang of it and began to trust what I do.

Systematic deadlines-based curriculum: After staying back in school for the first lecture of cs3216 on my first day of school, i kind of saw the truth about this sem: work work work. During the first few weeks of the sem, I created a list of deadlines for all my modules and to my horror, there seemed to be at least 1 deadline every week! It's like I've been pre-programmed into autopilot mode and all I do is to act like a robot and do projects super consistently, 1 submission after another. I liked the torture actually. At lear I know I've been working hard and even if I can't score well in exams, I know I did not waste any time and learnt a lot.

Excitements: These happens after each submission and every each feedback. Honestly, getting praised for our hardwork is really an awesome feeling. However, the sad thing is, not many modules use peer grading and we don't even get to hear complimentary words from lecturers. I like how we are requires to give comments to each other's works and sometimes, I get confidence boosts from reading the comments! Also, at the same time, I learn a lot from other teams and their projects!

All look so happy! 

What I have learnt:

1)  "definitely, some basic programming skills!"
Yes through the various workshops in the starting of the sem. Subsequently, i was lucky enough to experience some very basic coding in one of my other NM modules where we had to learn how to use Processing to create interactive games. Later on, during the final project, I could understand the big skeleton of the system my team built. I could have explored more on my own but i just didn't have the time due to crazy deadlines from other mods as well. I've gotten a few recommended self-learning sites, i hope to make this holiday meaningful using those. 

2) "more about UI/UX design"
Definitely. What i have done was all evolving around UI design! And i really learnt quite abit on how to design for programmers to use. Also, through UAT with target audience, i learnt that we should always bear this in mind when designing: always think like a user. 
Prize presentation. LOL
3) "how to work well in a team"
Or, should i have said 'how to work well with programmers'. It's real tricky at first cause generally, what they are looking for and what i think they look for are really different. Best take home point: design systematically. Cause we always gotta save each and every clickable element in .PNG file format with the correct size. 

Kids are just so adorable.
To sum things up, I really enjoyed he module. I can easily say its the most fulfilling module I've taken. Thank you Prof Ben for giving me the chance to take this module in the first place! :D I'm honoured to be one of students from the last batch.

10 year down the road, what i will remember about cs3216 are the friendships forged, the night that we stole beanbags to sleep on in utown, crazy laughing sessions at com1 at 1am, the unfinished fight for com1 mayorship on 4square, and many more wonderful moments like this...

Tuesday, November 1, 2011


Wow. all the groups presented awesome stuff.

I really liked 'Letters to Amanda' cause it's really meaningful and the simplistic design is a boomz. Awesome sauce (Joshua style).

Other than that, I would like to talk about working with external companies. Both satisfying client's needs and satisfying proj requirements are IMPT, so whats the issue here. Actually, there isn't much a issue, but we are somewhat dependent on another company(that is not our client) for the graphics, audios, videos, used for app. So this kinda determines our progress for the app. Also, the time taken for whoever that need to get back to us regarding our queries is super long and not standard, so its really hard for us to gauge and plan.

Prof Ben told my group that we should still take charge of the project and produce results. We shouldn't be lagged because we don get the materials from them. Then, i was thinking, sometimes, we can't act on our own because we are building something for someone and we don't get the full decision right. Features we propose, also need to be approved by them. Of course, we could just build the ideas and then let them review later when they get back to us. Or build it with our self-created graphics then change it later when the professional ones are done later. We may just have to change the system again afterwards if they are unhappy with it despite us thinking the features are cool and awesome. I feel it's like a waste of effort if we are unsure whether will they be really put into use or scraped later on. That was what i felt back then.

Also, I know that even though client may not like the new features we did, it is ok to satisfy proj requirements because eventually people are subjective. One can like our idea, another may not. This is like a never ending dilemma - whether to satisy proj requirements and create something with less pro materials or wait for client's approval then proceed. So hard to strike a balance...

But of course I completely agree to Prof Ben now. We should not be hindered, especially by problems we claim to affect us but they actually don't.

So, my group got tog and discussed and we are ready to go ahead with new ideas and features. Gonna implement them and then propose to client. It's similar to 先斩后奏 in the sense. HAHA. Anyways it's all about the learning process!!!

Thursday, October 20, 2011

Some updates

I didn't attend Monday's lecture cause i was kinda under the weather. So i will do some updates on project and stuff.

Final project is pretty different for me as compared to the previous 2 projects. I'm not doing much designing now but i'm focusing mainly on the UX/UI review. Last time, i had to come up with the content for critique and prolly get feedback from others and now, i get to critique designs and bring the app out for users to try. Through that i will be doing vigorous QAT and observing how different people uses the app differently and noting down feedbacks. I realise this is something that i like to do cause in 2359 media, i've done QAT for an app and i find it interesting. 

Everyone behaves differently, but it's wonders how a specific good design bring out a same set of actions from users. For example, a button, how do we know its a button and how do we know it should be clicked on. Good designs make their buttons obvious lets say using embossing and color gradient. How can we make an app that is intuitive to kids who might not have prior iPad experience? Things we really need to ponder about. At this point of time, i wish i'm doing a parttime job at some kindergarten then everyday can interact with kids!!

Wednesday, October 12, 2011

For Million Eyeballs!

Just to zoom into 2 points i really like.

Acceptable Response Time: 
According to Fiona Nah's study,  everyone has a 2 seconds tolerance for loading time of webpages. TRUE. I'm really sick of those websites that does not show all the graphics and text properly within 2 or 3 seconds. Users may leave the website asap and switch to other websites as loading time is the most basic from of UX, and the very first interaction with a new website we encounter.
User satisfaction is achieved when experience exceeds expectations.
* Do better than your competition
* Do better than your users' expectations
CSS Sprites:

Using CSS sprites, we can redue the number of image requests. By loading a big image containing all the different images in it, CSS can simply call out for different individual images within it later on .


Image from this pretty cool tutorial

I guess this method is also pretty simple on the designer side, we just have to simple put everything together and save on a single .png file? awesomeness!

Sunday, October 9, 2011

Final projjjj

Hey peeps, 

It's blogging time again. It's really the hell week. or i would say WEEKS. I just had to rush out a photo collage design for critique session and present at the end of the class. I started doing at the beginning of the critique and i uploaded the work and presented at the end of the class. Mentally stressed up ttm. Following lect which is now, i realised i didn't do the survey for mobile assignment!!! So had to rush out again. (sorry for doing it so late, really >..<) 

Anyways, sometimes i look back to the previous 2 projects, i nvr had to rush til the last minute cause it seems designing always happens at the beginning of the proj and programming stuff are at the back. Even when rushing, our pro programmers will be the ones suffering. Of course, let's not talk about trivial documentation which can be done fast fast when writing inspiration comes. I wish i can do more for the group. Somehow no coding background is really unfair to other members... Moreover, for final project, i wont be doing much designing except UI/UX review. 

My final project team have 4 members, Hoang, Wayne, James and me. We decided to go ahead and work with 2359 media to create a interactive storybook iPad app. the content will be for a really nice cartoon with awesome graphics that is going to launch on Disney Channel Singapore. (shall leave out the name for now cause of NDA)

So it will mainly have elements like storytelling, video showcase and games. And all of that will appear as a continuous episode. Simple swiping can bring kids through the different scenes with karaoke-style subtitles. This is followed by video playback that shows part of the cartoon. Lastly, we will try to incorporate interactive games in between the episode! We came up with several awesome ideas for games and i really hope they can be implemented! Kids will be brought into a whole new world when its complete. hee. 

The app will have really awesome cutsey graphics which i believe kids will love!! My role will be doing QAT with kids and reviewing the UI/UX to make the app super intuitive. Prof Ben already gave us some suggestions during the consultation last week so we are going to work on that. However, i have to say, we don't really have complete control of the project cause we are working with external parties so it will take abit more effort for our ideas and suggestions to get through. The difficulty for us would be the coordination part, within group and with external parties. I'm learning :D.


Monday, September 26, 2011

Case study L.


Lesson 1: Too many choices = confusion!
Check on what users click.
By observation. Look at Google Analytics. A/B testing.

Lesson 2: Users need guidance
Be explicit.
Step by step instruction to get user input.
Warm and personal rewards.

Creating context from user interactions.
Notifications for different actions to get more people onboard.

Focus user interaction at key features. 
Give them 1 key thing to do and make them do it well then increase features.

Interaction Diagram
Draw out the simple design. Show how from one page brings users to another page. And draw all all possible routes.

UI is not UX.

Team Dynamics

Ideas first OR team first? 
TEAM for me. Working with smart and understanding people will create give good results. Ideas will sprout. If you are working on other people's idea, it's likely that ownership and commitment will be lesser. Cause it's someone else's baby, not yours..

Vote to make decisions OR strong leader?
Best if we have a team of strong individuals who are versatile enough to be leader or follower. Of course all have to compromise.

Empathize vs Escalate.
Teammates unable to deliver on the work he promised because of personal problems, how? I would first empathize, and help abit if i can, but if it carries on, gotta rethink the scope that we are trying to do. Cut down features would be inevitable.

Know your team!!
I agree!! It's definitely good to get to know groupmmates and know what they like, their passion and their areas of expertise. Will be easy for workload distribution and of course the funny funny things we do during project meetings to spice up stressful atmosphere.

1 thing to mention. I really enjoyed working with Kenneth, Joshua, Hoang! They are all so funny! We sang and went crazy together on those no-sleep nights in com1. I like this kind of team dynamics, relaxing but serious when needed.

I'm like merely summarizing the whole lecture. But I really find the above mentioned points really important! Ciao~