2010年9月22日星期三

转:找不到北

看了很久前收藏的一个flash很有感触,也不自觉地被那音乐带动起来,想要有所做为。可惜一直不知道那段音乐的出处。


以下转自"找不到北.swf" :

I heard a lot of sounds

我听到了很多的声音

The sound is like crickets

他们像蟋蟀一样

At midnight one night

在静静的夜里

They were tweeting at full volume

拼命的叫着满腹的理想

These noises make us feel energetic

让人觉得很有精神

I don't want  to be a dragonfly

just bending over to watch

我再也不愿像蜻蜓一样俯身观望

I want to join them

我深深的期待着加入其中

As the saying:" I don't want to leave this world:

正如那句话所说:"我离不开这世界

because  I can always dream"

因为有梦"



2010年4月18日星期日

CS3216 is the BEST

The first time I heard of the module is in the open house introduction of SOC. I was quite impressed at that time. However I chose ECE because it's more general. Till now I still believe it's a good choice. The next time I heard of CS3216 is from Zhao Cong, the impression of the module suddenly became awe-inspiring. And his recommendation convinced me that the module is worth taking though he has suffered a lot. The young like challenges. Like all the other classmates, we take the module to explore our potential.

After taking the module, I really learned a lot. It's not just the technology of web programming which we can always learn if we want to. It's about People, Dream, and Common Sense. Though I haven't found where my real passion is. I am more ambitious than before. I know more of my ability. I also see my shortcomings more clearly, thanks to the the peer appraiser part. In this class, people are all talented in different fields. So we have a chance to learn from each other and know some people outside our own faculties. There is really a big difference between people from different faculties in terms of  how they think and analyze problems. While doing projects we learned how to work with different people better. About common sense, it's easy to see as an outsider. But if we are involved in making a products, we cannot see it clear. So we have to try to think as an outsider. Another solution is to listen to more feedbacks. Besides, I also learned a lot from the case study provided during the course. There are so many sad stories with a beginning full of ambition and hope but ending full of  sorry. I hope we are not the next one. To avoid this from happening, we must have a better execution which we didn't care much before.

About the future, finals are just one week away, mugging all the reading week is necessary. After that is a long holiday, let's see whether the GFW will block me from facebook. If unfortunately I'm not able to cross the wall with reasonabyle speed, I will try something else other than facebook applications. Good luck to all my CS3216 classmates in the future. And thanks a lot to all the teaching staff. 

At last Good luck to CS3216.

2010年3月21日星期日

Some thought about Web performance

Web performance sounds very trivial to me until last week. The workshop yesterday is quite impressive and easy to understand. Though some of the techniques are a bit too high-end to us to apply for the final project. I got the basic knowledge about why we want to improve web performance and how we can avoid making bad User Experience.

If an web app is not popular at all, no one cares about how fast it is. But if it's really popular, then people will have higher requirements on it. And it also saves a lot of money. As I'm just a beginner of building web apps, I rarely considered about the web performance before. That results in a lot of waste in resources, rubbish can be found here and there in the codes. The page looks fine, but the errors hidden behind the page slow down the loading process. And the users will be left there looking at the blank page without anything to do. I can understand that people are lazy and impatient when browsing web pages, that's why they usually open several tabs at the same time. Now the users have so many options that they won't wait for your page to be loaded. If they lose their patience, they just close the page and open another one, there is always a alternate way.

The workshop also remind me of something else besides the web performance. As henry said ,"if there are a hundred thousand users who use your app, then saving 1 second for each user means you save a day accumulatively. It sounds amazing, but I thought it is not so amazing for me. Because there are so many other staffs are consuming my time, and that is much more than the 1 second. Most of the waste of time are caused by the so called explosion of information. I think most people who are passive in life are drowned in the information like me. If we passively receive the information,  it will result in a lot of time wasted. So I must change my habit and live more actively.

My browser crashed just now. Thank god, the blogger saves my draft regularly. This is also an example of good User Experience.It saves us much time and make life easier. Ten years ago if we would lost some data while processing, most will take it as the fault of their carelessness. But nowadays that will be a fault of the application or system. We should be more careful doing our final projects now, users are more critical than in the past.

2010年3月20日星期六

Google Wave Assignment Review

It has been too late to write about GW assignment already. But never mind, I'll just try to memorize and summarize some important things those I've learned during the assignment.

At first the challenge is its conflicts with the happy chinese new year, the cny is abrupt to the module schedule. It ends up I neither had a good holiday nor learned much in wave api. That is a common mistake I've been always  making. Maybe I should learn to focus on things more so that I don't get disturbed by other things.

The second thing I learned from the assignment is that google is really becoming a giant in the software world. Maybe not only software, we are also having Gphones in our life now. And so many amazing web services are provided by google. As a beginner of gmail user, I'm trying google doc, google code,google app engine as well. I'm really pleased to have so many userful services which I have missed for the past time. Well, luckily now I can proudly to say that I'm the first groups of people who are using googlewave. I think this product is very promising. The extensible widgets make it so much usability and fun. And the powerful API is the basic reason why the widgets can be versatile. Now giant google is still growing fast. I just can't wait to see how it will change our life in future.

The last thing is that I have to admit that I really contribute little in the whole assignment. Now I look back at it, I felt I lost some chance to learn new things. I should have not put limit to my self, I should keep reminding myself that I can do "that". I've received the email recently about google summer of code. It's a pity that I am not able to take it this holiday. But I'm sure I will strive for the next chance.

Lots of things to achieve and strive for, that's what university should be like.

2010年3月3日星期三

Late blogging: Case Study 2: Team Dynamics

After reading the whole story of VC team, I am very sorry for the unexpected end. At first I thought the team very promising. They have talented people, good designer, experienced game developers. Though there is a lack of programmers, it's not big problem. If there is a problem, that may be the underestimation of technical difficulties of some implementations. And  for a team with such a big ambition, the school time is of course not enough for them to implement it. So their decision to extend to the vacation time is sensible. But it also leads the problem of commitment. The problem appears to be the inconvenience of the meeting and some other individual issues. I think the main reason for the lack of commitment is the lack of stress and wearing down passion. It's very common for people to slack when there is no enough stress. So to gain the power to do something difficult, we need great passions. For the team, I think they are a bit too ambitious at the first time,that may be the reason why they lost the confidence and passion after a few months' struggling. Fortunately, their great effort put on the project are not in vain. They gained experience, friendship,and some technology.

 To learn from the case. I have the following things in mind:

Usually, we are not lucky enough to get the best configuration of a team with four people. So we have to optimize the existing manpowers. Unlike the VC team, our team lacks designer. That may be a big problem. Even we get some help from our friends, we can't ensure their full commitment. Especially that our project is a game, so the graphic is a main aspect which attracts users. So we have to either find some designer who can commit fully with us, or make our game concise and strategical. If the VC team had predicted the difficulty of dealing  with all those real-time and flash thing, they may rethink their design. I think a good facebook game don't have to be real-time. It depends on both the teams programming strength. So with so many artists and experienced game designers, they have the ability to design some attracting game even with just some texts and images.

And about the commitment. This may be the hardest part. At this time, all project dues, mid terms, experiments are coming one by one. We are waken up with the message that we have some other modules to learn other than 3216. And the passion seems die down a bit after the first two projects. That is the time to make the difficult choice. But do we really have choices? It's already decided when we decided to take the module. So we should just try to focus on everything and keep stressed till the end of the sem. And no one know what will happen after that, maybe we will be extremely successful and start a new journey or we just go back to normal life without success. Anyway we learned a lot in the process, and also from those talented people we met. Anyway I hope there will be no regrets left and the vacation should be a new start.

2010年2月21日星期日

Project Case Study: GetHelp!

The idea of the project is quite clear. It aims at solving problems by taking advantage of social network. Because the developer originally wanted to make it as functional as possible they didn’t pay much attention to the User Interface and the User Experience of the app. This pushed the application to an extreme. Though the application became very direct and functional, some other drawbacks occur as a trade-off. The graphics are quite good enough for a text-based application. But some parts of the UI look very unharmonious in the application. The interactions and incentives can be improved to be more attractive. Now let’s look at some details of each page.

 

Home page

The page is quite direct and functional because it is also the “new project” page. But some users may feel confused by the home page. The concept of a home page is like a root which can direct to any other subpages. But this one is more like a sub page instead of a home page. Though it looks more direct and functional, it indirectly limits the users’ actions at the same time. Users may feel nothing to do at the first time. When a user installs the app for the first time and look at the home page, he or she may be confused about what the application is about. After they finally figure out it’s about asking for help on-line, they may still have nothing to do with it(assume they do not need any help at that moment). Thus the first impression of the application may be ruined by the home page. I think there is better way to do it. Instead of putting the new project page as a home page, they can put the overview page instead. It is functional and structurally reasonable. For new users it provides them examples about what the app does and for old users it is a quick access for offering help. If we change the over view page to the home page, then there is no need to put a link at the head of the canvas page. Instead they can put a logo on the top left hand corner which links to the home page.

 

New project page

Since the top left hand corner is reserved for the logo, the button of the new project page can be put on the top right part of the page with the same style of the other buttons. And the color of certain buttons should change, though the red color makes it more eye-catching. It will destroy the associative perception. About the options of creating new projects, the users are given enough freedom to customize the specifications. It’s good to put all these options on the page. But the UI is still not perfect. The additional details look a bit messy.

 

Overview page

As I recommend, this should be set as the home page. There are some other problems with the page. We can see a few tabs at the right hand side. These tabs are more like filters of the application “news feed”. So the tabs are a bit too large as “filter tags”.

 

Project Page

Again, the red icons are a too distracting. Anyway, the basic logic is clear. Users will be very clear what to do with a project posted by others. But I didn’t get the meaning of the button “help her”. If clicking on it will just add the user’s name under “helpers”, then it’s useless. Or there is certain authentication process behind. And the “helpers” area should be improved. We can make the main contributors (the fire starter will decide who contribute the most) stand out so that the users will be encouraged to help more. And to make the app more interactive, the actions performed to the projects should be reflected directly at the page. Such as stats of how many people viewed, helped or wished a good luck on this project.

 

Statistics Page

The idea is to encourage user to help more and finally increase the app’s ability of solving problems. But there is a problem there. People usually don’t care about who have helped most and who started the most fires. The ranking works on most games, but it may not work here. Because people came here mainly for solving problems, not for competing offering helps. So it’s a bit useless. Anyway the title like "fire breather" is cool. If the title can be reflected with the owner's name anywhere in the application, it will be useful. To give more people the chances of getting a title, we should set a few titles with different levels (not just one for the Number One).

The idea of badge also helps little, because each badge can only be published once in certain time. So I’d recommend putting certain hot stars’ profile pictures on the home page of the app (somewhere visible but non-disturbing). There will be certain titles for them, like most helpful person, most helped person and so on. Then the app becomes more interactive and engaging.

 

To conclude, the application should be designed with more consideration of UI and UE. There should be a limit when chasing for quick and functional features. And certain elements should be improved to make it more interacting and engaging.

2010年2月2日星期二

About Texas Hold’Em Poker

I'm glad to learn about so much famous facebook applications during the seminar yesterday. Most of the applications are hot for a time and some are still in top 10 of  facebook app now. Texas HoldEm Poker is one app among them. 

It is not the first time I heard about the application yesterday. I myself have played it once for curiousty. I skiped the tutorial and played it straight away. But I found that it is not a simple game. So I went through the tutorials and picked up how to play it soon. The UI looks a bit complicated. Users need to play it for a while to get familiar with functions of each button. Though the UI looks a bit confusing, it is really awesome. It is built with flash, graphics are polished, and layout is well designed. I think this is because of the background of its company. Zynga has been a big company with so many successful apps in facebook.

From the presentation, I learned more about the game and some key points for building successful  facebook applications.

1 A simple model to develop games on facebook is to bring some classical multi-player games and combine it with the facebook's SNS property. If the game is interesting enough and the multi-player interaction is fully revealed. Then it can easily get success. It's important to use the great advantage of the facebook's SNS property. For developing facebook game, we should remember that the more competitive and interactive the game is, the more addictive it is.

2 The Cheat Issues and Gambling encouragement. As the presentation showed the cheat discourage the fair players. So this should be more effort on banning those cheaters. But this will also result losing users those who like to cheat with friends. For such a game, the chance of playing with friends is one important reason for some users to play. Without it game is really boring, because the gambling is not about the real money, I they can't get excitement or enjoyment when playing the game. This may also result people pick it up by the game and go gambling in their real life. And that is not what we want to see. So while developing a game, we should not only thinking about earning money, we must have a moral sense so that the game will not be an origin of sin.

3 Opportunities. The presentation inspired us by introducing the famous Poker game. I found that there are so much fun games have not been developed yet. I think those classical games will lead great success if the excution is excellent enough. Some similar classical games are much expected by many users. Because many classical games are already popular all over the world, so there is no need to do much advertisement. And players even don't have to learn the rule through a tutorial. With these advantages of the classical game, the opportunity for them to own a place in facebook is quite big.

My original thought: 

Bringing a classical game to the facebook platform seems a shortcut path to success. Actually there are few things to think about. First, how to add some elements to rejuvenate the old game and make it unique. This is important because other developers may also found the potential of the existing game and compete with you. The best way to keep users from leaving is to make the game by adding some creativity. Second, the social networking property and virality of facebook should be fully used to make the game fit the platform. The key of combining games with facebook is to make the game more fun by using the existing facebook's social network. We should think hard on how to spread the games effectively by using feeds and invite mechanisms.  Making  the game more competitive and interactive is the best way to make players addictive to the game. So certain features and mechanisms must be used to enhance the such characteristics. By the way, to make a difference by developing applications on facebook. We should care more about meaning of life. At least we should never make users do meaningless things or even worse.


2010年1月29日星期五

First Assignment Ended!!!

That was a tough experience. Though we devoted most of our time to the FB assignment. The outcomes are not always proportional to the effort. There must be something wrong...about the first assignment, there is a misunderstanding of the goal. It's supposed to be a test of ideas, a practice to familiarise ourselves with the process of building facebook app, and also an opportunity to back up our knowledge of web programing or designing. Without  keeping all these goals in minds, sometimes we focused too much one thing, and urged quick success too much.

In this case, our team focused too much on the technology but ignored some other aspects. At first, the idea is not so eye-catching. Campus Sale focused on second-hand market place in campus. The problem is that there are already so many other mature platforms (like ebay, amazon, singapore has hardware zone,V-R zone). Even facebook has its official app "marketplace".  After investigating the marketplace on facebook, we found the such app is not so popular in facebook(rated 3,many negative feedbacks). It can be interpreted in two ways:1 the marketplace like app cannot get popular under facebook  2 we got a chance to defeat the poor "marketplace" app. Though the second assumption seems impossible, anyway we still take it to start our first assignment. At first I really disagreed with the idea, but I cannot come up with  any other good ideas. I am also not persuasive enough . So our team agree on the Campus Sale at last.

Actually I thought we really had a chance to make it popular though the chance is small. I read most of the feedback of the facebook marketplace, there are complains about the UI, some bugs such as the app can not remember user's loacation. I believe we can do better in terms of  user experience because we are users ourselves and know exactly the what functionality users need. But another big problem is advertising, it's too hard for us to buid our user base. We see that even the "marketplace" is granted the title of facebook official, it can hardly shake the foundation of tradtional  second-hand forum or ebay. So the problem is too big. Even we have friendly UI, and powerful functionality, we still have to advertise and wait for users to change their habbits otherwise we cannot survive.  Just now while I am writing this , I recieved a notification from the facebook marketplace, they are encouraging users to post listings to get a chance to win a "nexus one".  Ya, they are improving. So now I completely gave up..I want a nexus one!!! 

Ok, it's time to forget about it. Anyway we learned a lot of basic skills during the first assignment. Like PHP, Html, API and some Javascript. We also missed some key points while programming busily. Like how to promote and advertise our apps, how to handle user's feedbacks. Our teamwork also has some problems. The communication and coherence should be improved. The schedule is also implicit. It's a bit like water fall...that's why we submit it a bit late. Maybe it's because we are not familiar with the whole process at the beginning. Hope we can do it better next time.

Well, our app's main functions all work quite good (maybe has some minor bugs). Cheers to our first FB assignment. Visit it here pls: http://apps.facebook.com/campus_sale/

2010年1月16日星期六

11 days left!!

The first week has become really different from the past. When others are still enjoying the good time without tutorials and labs, we are doing our first assignment. Now we only have 11 days left. It's really a big challenge. I really dun like staying up. But sometimes we have to make the choice. In this case, I give up my sleep time for the CS3216. Also I have quited some CCAs so that I'm less stressful. "Once you do something, do it well", I can't remember who said this or what the logic is. But I intuitively believe this. Now I give up the CCAs so that I can focus on something.

About my core modules, I am a bit worried. The tutorial began next week. So fast!!I wonder whether I have time to do tutorials. The module topics are very boring, but they are the base of ECE. It's everywhere in our daily life. Anyway, I will try my best to keep pace with the lectures.

Although there are so many stress. Group working is fun. There are a lot to learn. The progress is really like the blind touching an elephant. But I believed that one day, we will be able to sit on the elephant and master it. 

Another good news is that I can have a good sleep now. Cheers to the Sunday. Tomorrow will be better.

2010年1月10日星期日

What I hope to learn in CS3216

The new semester is about to start tomorrow. It will be a busy semester. It is said that the module is really a killer module. But since I chose it, I must do it well.

One challenging thing for me is about how to manage time. I've been used to wasting time for the past three semesters.  Maybe this module gives me an opportunity to get rid of this bad habbit. As prof Ben said in the module blog, learning this module "is about learning how to take risks and work outside our comfort zones".  This sounds like a kind of sports training, athletes keep taking challenges against the limit of their physical ability to get stronger. I'm not sure how far away I can break through, but the experience is what other modules can not offer. No matter what the result will be, I will be clearer about how much latent energy I have and I will be much stronger after taking this module. 

Besides, as an EE student, I'm also willing to learn the promising WEB2.0 technology. It's both cool and practical. Though great effort must be put to master the tech, I believe that it's worth.  

At first I'm attracted to the module mainly by the cool projects made from this module, but gradually I realized that there something (besides the technology thing) more important to learn, like teamwork, learning at everytime and everywhere, and how to learn things in a very short time, etc.

To conclude, I'm expecting to learn a lot in this module. What I could do now is to try to adapt to the busy sem soon so that I can be ready to go and explore the unkonwn journey of CS3216.