Friday, March 20, 2009

software enginnering

I know I am late for so many posts, but as Prof Ben says it's better late than never so I shall blog about Software engineering principles,


Software Engineering = Programming + Process + People

this is what I really brought home,

software is not that hard core actually, it's not only a science, but also an art,
and it takes time to acquire this skill.

programming is a science, it is something logical, how to code well and how to do the correct things , is a science which can be learnt, it can be taught .

process is how to get the project done, i feel that this is more of an art than science ,
you need to be experience to understand what are each of your team member's weakness and strong points, and try to make the best out of your team.

People is the most difficult part of the whole software engineering process,
handling programming is much more easier than handling people,
programming is so certain and predictable, each time you make a mistake,
there's a debugger that tells you what is wrong,

but for handling people , there's no debugger that tells you what have you done wrong,
it's up to you to figure out yourself, and everyone is different to determine what is the best strategy for everyone is really very difficult.


I have truely learn a lot from my groupmates Justin and Weiman about handling people and the process to get a project done,
thier presentation and the methods used were really an eye opener for me...

Sunday, March 8, 2009

Get help 2

I had miss the last lecture because I had a midterm that I was not confident with the next day,
so I had skip class to prepare for the midterm.

but after reading my classmate's post
I regretted for missing the class, because it seems so fun, all the topics discussed were so meaningful to us, especially when we are planning for our final project.

after reading all of my classmates posting and reading the case studies , I had some comments that I would like to share.

Team dynamics

after reading the case study about team dynamics and from my friends' posting,
I feel that team dynamics would be the most important thing that has contributed in our VC application,

the UI, the design,
the art , the programming and other stuffs, it can be learnt and can be done,
but only if everyone working on it are aware of the possibilities that can be done,

the people must have the correct mindset, only would things get working, that is why before working on the job, work on the people first.

and my former boss always said that 90% of the time he deals with people, only 10% of the time he deals with technical stuff.
it so true in the world outside, human problems are always the most difficult to solve.


I am so glad we didn't have any problems within the team for varsity chronicles,
the team dynamics just worked perfectly well, and it was a major problem solved without any pain.



user interface design

after some reading , it is quite true that the design must be designed from a human point of view, this is what we engineers are lacking of , after so much time coding in assembly language,
I found out that how much lacking am I coding in a way that is easily readable and elegant.

and the way we design things are just that we assume the users to know everything we think they should know, that is why my facebook assignment 1 and WPF are quite user unfriendly.
but it was lucky for me that I had so many group mates to complement on my weakness.

and I also found out that design skills was what I am lacking, so I had learn much from my group mates about planning and implementation and task assigning. not only human wise but also coding wise and implementation wise.


about Prof ben's quote:
“Programmers with people skills make the best Project Leaders.”

I personally would like to agree with this statement, because I aspire to be a project leader later in my life.
because technical skills and human skills have to go together to make a project successful, if you have human skills but nobody to work for you, then your human skills would be useless. if you have technical skills but you can't possibly learn everything under the sun, so you would also need to seek help from other individuals to get things done.



I am going to graduate this semester and I hope that the things I learnt in this module would really bring me further pastures where I have never been before.
working together with all these talented people has really broaden my eye sight, this is a great module i think.

Sunday, February 15, 2009

Get Help --Case study

When I first read about Get Help, I thought that it was really a great idea, to get people from every where with different capabilities to help each other to do different things.

The app seems quite nicely designed, but there are some design mistakes that I have spotted, and I would like to give my humble opinion about it.


1.)user interface suggestion

the first issue I thought that did some damage in the design was























as we can see, in every page of the app, there was this link where you can go to other applications easily, but why would we want to have our users to go other other apps?
perhaps all the other apps were done by the same group? then it would make some sense.


The other thing I thought that is harming to the app is that the navigation is too near facebook's navigation bar.




this may also cause some confusion for some users, because sometimes people may accidentally click on the wrong button and jumps out of your app.
I think that the developers might have eventually move their navigation bar to another place.




I also thought that the estimated time textbox is quite ambiguous, because what do users mean by estimated time? is it the estimated time of completion? or estimated time need to help you? perhaps more elaboration would be good...









For the Over View page


I thought it was good to have a reject button on every person's request,
so that if you have a request that you cannot help , and don't know anyone to refer to,
you can just reject it, so that it does not clogs your user interface, by having users to always scroll down , if they have a lot of request for helps.




2.)Application design issues

a.) dilemma on putting content on the canvas page.

"
The team wanted to make it super easy and fast for a user to post a project and hence they put it on the very first page the user sees itself"

some apps may put content on their canvas page, because they would like the user be able to experience all the functionality of the app as soon as the user logs in. But sometimes this may cause a back fire, because without introductions about the app , the users are first bombarded with so many commands and functions the first time they log in. This may cause the user to feel lost.

I will suggest that the developers make some transitions gradually, and slowly bring the users into the app, the form filling also can be done gradually, through some transitions , so that the user would not feel lost or feel being bombarded with information.





b.) Setting the home page as the new project page.


not all users would like to create new request for help. for this app, the majority of users would be looking to help people, so by making overview page as the home page would be a better idea,
but perhaps the developers made project page as the home page to encourage people to create projects so that more people will use their app. Although this rationale may sound convincing, but irritating users by directing them to the new project page everytime they log in, just isn't worthwhile...



c.) "Fire breather" is it necessary?


while i agree with the developers that people should be affirm when they have helped a lot of people by giving different badges but....

would you like to be affirm when you create a lot of request for help? would you be seen as someone who is too dependent on help from others?

i think that it maybe a double edged sword , some people whom likes attention maybe encouraged to post more request for help, but to some who are shy, it maybe a deterrence to get them post request.






d.)The Reward system



do you really need badges when helping people? or should there be another kind of rewarding system?

for me i propose that :

for example the person whom receives help can draw a very nice thank you card in graffiti and paste it on the helper's page for recognition instead of badges, why because I feel that each person that has helped me, I would want to let them feel that they are appreciated, so instead of a badge which is common to everyone, I would like to give him or her something special.


let's give an example, for example when you want to give to charity, would you want to give it anonymously or have your name written on the recognition board?

different people will have different answers, recognition is good, but sometimes overdoing it may , do more harm than good....













some thoughts about the existence of this app


the existence of this app is for 2 reasons i think , the first one is for people whom genuinely need help with something that they don't know,

and the other fun part of it is to show people how funky are you in coming up with ideas
,

and with this funky idea it may spark people to interact and hence achieve the purpose of having social interaction among people in your app.

and both of the 2 themes doesn't go together well....one is more of genuine help and the other is to show off your creativity to gain fame....




the system that is currently implemented will work well if the app is to cater for people whom are going for social interaction but for people who are genuinely seeking help, they may find this app design not so suitable.




firstly, people whom really need help are often really serious about it,

but the apps on Facebook seems like a casual one, where people can discuss , make jokes , chit-chat, earn badges, play with statistics.....

imagine you are asking help with WPF assignment which is due tomorrow, then still got people chit-chat , pushing you around to other people....and try to earn badges.....


secondly the rewards system is by earning badges,

for people who really put in their effort to help someone
, wouldn't a badge just be too simple?
I would think that if the developers were really out for people whom really need help, a special kind of reward for every help should be implemented.







I would propose that the developers :


graffiti thank you cards

can actually team up with graffiti and let the users draw thank you cards in graffiti and post it on the helper's wall...

this will let the helper feel more appreciated.


the second think I would propose to the developers is

testimonials



do you remember Friendster?

there was this thing called testimonials...where you can write a testimonial about your friend...
i thought that the testimonials would also be a good reward for your friends. you can write notes about how have they help you....





problems faced by the group

I would think that the problems faced were that the app was design for such casual use, they would find it hard to really attract people whom genuinely need help.

that is why i have proposed some solutions above...







conclusion


this first version of the app is already very well done, just that the 2 themes weren't very compatible. I feel that the app will be very successful continued being developed.










Monday, February 2, 2009

Facebook seminar application critique

I would like to discuss some of my thinking about the presentation for the Geo Challenge app.

Overall I thought that was really a great presentation done by the group , the presentation was easily understandable and clear. The issues discussed was quite relevant and meaningful, and I hope to share some of my insights here.

So now I would also like to discuss 3 points that was brought up by the presenters that really caught my mind.



1.) the talk about the serious gaming aspect.
(how well has it done as an educational app)
As we know there are many educational applications around, but not many are successful,

because when you try to be educational, the chances are that your app is going to be dull and

rigid, those people out for fun and action wouldn't fancy your game, but if you are targeting at

audiences that are out for fun, it's hard to still try to be educational.



but this app is exceptional, this is because of the layout and design of the game, where they make it so that you would like to compete with your friends, and hence make the educational game competative. the inner design was also very well done , that they fit the whole theme into an airport scenario where you have to guide tourist around with your knowledge. That makes users like me have a sense of knowing what I am suppose to do.


the ultimate success of this app in this educational field is that the developers have launched it in the correct platform that is facebook, if this app was launched as a desktop application, and without competition with your friends , people would never want to play this game for more than 1 time. so I guess the success of this app was not purely on the features that were programmed into it, but also the platform that is was launched.




I guess the same applies for singapore context for education also, some people would just study very hard in order to beat others in thier studies because it gives them a sense of achievement. if there is no one to beat, most probably the students here would just slack and do nothing.




okay, just some analogy,back to the app, so the app teaches us that for an app to be successful, it doesn't only depends on the feature or the nature of the game, the targeted audience and the platform plays a major role in it too.


so as the presenters have said: it is the educational nature and massage spreading ability of this app that would make the ministry of tourism want to buy this application or advertise in it. So it means that the app has already established itself as a great educational tool.

the app has been thus very succesful not only it's niche field, but has also manage to attract users who are not keen to learn to actually enjoy the learning process.

Conclusion :
it takes an 'good' lecturer to put to sleep students who are keen to learn.
it also takes an great app to make people who are not keen to learn , actually striving to learn.
so both are is called unconcious learning.
because you have to learn unconciously...
and judging on their progress in instilling unconcious learning into people, they have been a great app.



2.)
the second point I would like to add on is
the point about the idea of integrating the theme of a certain company into the main theme
of the game.

in which the presenters gave an example of herbal something,
it was where the whole theme was actually pink in colour. and with herbs lying all around.

I thought that it was really a great feature of this app. because it has many opportunities for commercial advertising.

a great issue about making games is that you must know how to put your advertisements to where they belong, so normally developers would just put it at the side or at the bottom to make it non-instrusive.

but is it the only way?
actually the best place to put your advertisement is in your content of the app, to push it even further, you might even want to think of your app not as an app but as an advertisement.

this is not a novel idea , many movies or games have done that, for example

transformers : making one of the robot transform into a volvo car (correct me if I am wrong),

money no enough(Jack Neo) : selling mei zhen xiang bak kwa in the movie.



but something that is worthwhile to commend about this app is that
according to what the presenters have shown us ,although it is not a novel idea, it was done in a very well manner, it doesn't seem too abrupt that may agitate some users,
and some users may even like the theme and begin to like to product the company is selling,
so there are many companies outside that are willing to pay money to create this type of awareness.



3rd point

the 3rd point I would like to discuss is that, the idea of making Geo Challenge into a mobile phone game, I personally think that it is a very good idea.





as the presenter has mentioned, given the nature of the game, where it only involves simple clicking, this would make a good candidate for mobile games.

and given that the next generation of 3G phones technology, people can even go online on thier mobile phones, this would make the app easier to access. and hence attract more users.

but now I would also like to post back a question to the presenters of Geo Challenge.

since we have agknowledge that the success of this app is because it has been launch on facebook , and it manage to tab on the users of facebook, making them wanting to compete against each other, so after you port it over to the mobile phone platform, would you still think that the app will be as successful as before without the users of facebook? if yes , how would you justify it? if no, how would you try to think of ways to resolve this issue.


please correct me if I am wrong in any way, and please leave some comments for me


Thank you very much,


best regards
Yu Han







Sunday, February 1, 2009

some random stuffs and The Dream Team

finally i got some time for myself from this hectic cs3216,

and now I shall blog something .. I would like to say..

as it goes, assignment 1 is finally due , and all the apps of all the groups are already up on facebook,
and everyone's app is of such high quality that I am really humbled, it was really an eye opener to see what my class mates are capable of.



there is also an app that is quite commendable that i felt personally, that was spree kingdom,
because I have also heard from hui hui that khoa finish the app programming by himself, I
was really impress with the programming and AJAX and so on..(I think they were the only one with AJAX). and the design was also very nice and neat. the team did really well..



Fish Vegas was also very impressive, I think they did it with flash and something called flax,
the features were very nice , and neat , the user interactions was done it an elegant manner and most importantly
the art and animations were really killers. it really impressed me the first sight I saw it.
the team was also very hardworking ,how I know? because I saw them camping overnight in SOC almost everyday. haha =)



the other team did very well too...(don't be angry if i didn't meantion your app)
for me ..I think all the teams deserve an A+. hopefully evil prof Ben will be so forgetful and forget about something called the 'curve'. haha=)




but after praising others, let me come to the what I really want to say today, what I really want to do today is to praise my team. (because you must praise others first if you want to praise yourself)


I would never ever dare to boast that our app is the best app, but I would definitely boast about my team because I think that we are the best team around.

the 4 of us were like from different worlds united by a common goal To Make a great app that would impress everyone.


Initially during the team forming period , I was without a team and was looking for a group to join
after reading about kian boon's post about their app idea, It struck me that this must be the group I am looking for in this class. this must be the reason for me taking this course. to make an app like this with passionate people like these..

some complications arose after it, but we manage to form a team finally.

the team was really a good mix of talent, because if we were an island, doing things by ourselves we wouldn't had gone anywhere, but it was because we had different talents and had learnt how to complement each other with our talents , our app had been *permit me to say* very well done.

because of the attitude of the team, this was really the best team I have ever met in my NUS life,
it was the spirit of we-can-do-it-ness that made us extraordinary, and we learn many things together. when we met some problem we were willing to learn and change . and when some one's workload was too heavy, the others would try to help out *excluding the art part =( *

and it's our passion that has made the workload not stressful at all. although it was very tiring

the mixture of talent for our team was just nice. and we complement each other well..

haha, I am not good in expressing myself with words, and the post seems to be quite random,
But the most important thing is that

I really think that our team is the Dream Team. =)
to my team mates, I really think that all of you are really very talented, it has been my pleasure to work with you.

I am starting to feel that cs3216 is really a good module....

Tuesday, January 20, 2009

lecture 2

yeah...finish the 10 aspirations already!!



opps...i think i am late posting for my second lecture...


Microsoft talk

forgive me for being skeptical, but maybe i was expecting something different...

I felt the the whole lecture was about Microsoft advertising for itself, I was expecting to hear about the technology they use, how they program, what type of chip set were they using for xbox, what are the technical issues underlying , but in the end, i only hear all the advertising and crapping about thier products...

I can watch that on TV too....why do I need to come?



I hope I don't sound too rude...just that I am not good in expressing myself in words...
I was just disappointed that the talk did not meet my expectations(i thought that since this is a NUS class, I do hope for more teaching and explaining).

I guess that engineers just have different interests...

Dear readers,
please don't think I am so hard to please..because in reality I am really very easy going...



*Disclaimer : I don't have anything against Microsoft, in fact I prefer Windows than Mac,
and I am very grateful that they volunteered to teach us, just that I was a bit disappointed it didn't meet my expectations, but perhaps it was good for other people, if they are looking for something different from me, but well at least the talk did not suit my taste....

okay, despite some lamenting and complaining, I really do look forward to learn fun stuffs from Microsoft, I am sure that they have already prepared a great lesson for us.

Thanks , Apurva , Ian and Pratibha, you all have done a great job =)

Monday, January 12, 2009

lecture 1

why I am here blogging? haha, because it is graded,
this is the first time where i will be graded for blogging.
the seniors said that is will be a superb module, and hopefully this would be a good start.
but i guess if the lecturer asked you to testify about the class, you wouldn't tell the truth even if it is the worst module right?
hope everything goes well, haha...

the lecture today was okay, but too bad i didn't get to meet much people,
just that I don't know can I really make it for all the workshops,

the most shocking person that i think i met was hui hui i think, she fractured her chin, and brought her gun for presentation.

okay, enough of proving that i have been to the lectures.

too bad i had to leave early for a wedding dinner.

that's all for the first lecture...

p/s
okay, prof ben if you are reading at this , I don't really think that you look hideous in that photo,
and your baby was quite cute.

to my frens, look forward meeting you all next lecture...