Wednesday, 28 September 2011

Kind of Familiar with Sleeping Late

I was very excited to write sth last night after Monday's class. However, I was stuck with a bug in the previous assignment and thus lost the passion to write this blog.
Here I am today, to write some thoughts down before my passions gone.

About Project Management.

1. Idea First or Team first?
I agree with Yingbo that it really depends on the projects. If the timeline is as limited as CS3216, team definitely goes first. It's very dynamic to polish the ideas and make them work later. But for very large projects, ideas should not be easily changed, then teams would have to go next.
I experienced the team first approach in the first two projects. It works perfectly fine. In that approach, everyone actively contributes and there are no hierarchies or non-negotiable conflicts in the team. Though there may be unequal workload distributing problem due to merits of different people in the team, people will be dynamically switch their roles when they finish their jobs. Idea First would be good, too. But it world be too hard to come up with an architectural blueprint and foreseen the potential of the ideas. Worse still, people may not be that strongly believe in the ideas. I also kind of agree with the American friend that good team can  work things out even the initial idea is not working.

2. What if someone cannot finish his/her work on time when he/she committed that before?
As I have mentioned in the class, it's really his/her responsibility to finish that. But if he/she really cannot, he/she should inform his/her friends asap to seek more helps.

About Peer Evaluation

I was pleased as people gave me many positive comments. My friends also give me many suggestions which I feel very good and beneficial. Honestly, I myself knows many negative sides of myself. For instance, I would rather hurt someone in order to pick a strong team. I sometimes am very selfish. I didn't code that efficiently and nicely. I learnt pretty slow and even sometimes impose on other people when a mistake is made and Icannot fix it, etc... I appears pretty nice, but that might be the impression to others. That might not be what I really am. Like Leon told me, he appears very confident and smiles a lot, that's because you have to be confident to make other people confident. If a patience goes to ask for a drug, and you tell him/her in a very in confident manner, how will he/she feel?

About MS interview

I had a phone interview from Microsoft US for internship last week. My lousy English makes the interviewer pretty painful. I encountered one question from the interviewer: He is at level 15 of the building and he want to know what's the temperature outside the windows. There is no internet, etc for communication and no thermal device for temperature reading. How can he know the temperature outside?
I gave an answer by boiling water and recode the timestamp and then convert the timing to temperature. Not good lah, I think he may not understand me at all. ..Finally get rejected.
As Yingbo said long long time ago, what really important is passion and the talent to make the passion work. It's not really opportunities that determine how high a human being can reach, but the talent and passion to make it work. Not so many people can have both two elements. I think her thoughts are pretty persuasive. Too tired, need to sleep.

Good night!


Monday, 19 September 2011

Case Study 1

Fig1.Home page(create new help)
I think the team's goal of making it super easy for users to post helps is really good. However, this page involves too many checkboxes and privacy issues that on the contrary increase the complexity of posting a help. For instance, how can you calculate the reliable people? The criteria we assumed in our algorithm may not match the user's mind. Neither can we assume that all the friends have SMS and other information included in their profiles.   It's also very sensitive to post to all friends' walls. In our first assignment, we tried that and the whole news feed will be filled with the same content. That's very annoying. The checkboxes also have some overlaps. Say if one selected "all my friends"+"reliable friends", same people will be informed twice or even more times. That's even more annoying. Furthermore, the additional "needs quick help" option makes it even more complicated. The text input of estimated time seem useless to me for a quicker help.

Fig2. Overview page
I think it's good. It enhances users interactions and it is engaging. There is a budge reward for the contributions. One thing to point out is the button design. Can differentiate a bit on "refer to a friend" and "help him" and change the button colour(can use CSS gradient and use a milder colour).

Fig3. Shouldn't be duplicated Prof profile pics shown on the same table, should eliminate duplication.
Refer to a friend(only one friend, no option for choosing friends? May use some autocomplete plugins to allow users to select whom to refer to). It seems that everyone can click on the "help her" button without actually really help the person out. There should be some confirmation mechanism to allow the probablers to know whether these people really helped or not.

Awards: I think instead of award by the app, they should allow people who received help to award those helpers. That will be more interactive and engaging.

They may have problems figuring out how to award people, how to fit the needs for users to change pictures, etc.

Sunday, 18 September 2011

Random Stuffs

Long time no blogs.
Record some random stuffs here.

1.Monday, entrepreneurer's share.

VSee-- a successful online conference provider.
CEO:Milton--a computer scientist graduated from Stanford and UC Berkley.
Ideas: It's hard to promote your product, even it's a good one. I know from Milton that many great people have tried to do video conferencing but failed. The technology is really challenging but Vsee survived. I admires Milton a lot, for his perseverance. It's really hard to imagine that  one can hold this belief for so long(five years) when there is no sign of getting profits. I know it's not about making profits(at least for Milton), it's really about creating values and making a difference. But how can one survive in this REAL world without worrying about his/her essentials? By essentials, I mean the basic needs for food, living, etc. without relying on other people's help. Well, maybe those who are just too rich to worry about those stuffs or those who are too poor to think about it will find it not a problem.  But I am neither of those kinds of people.

I happened to be doing a video course sharing website with some of my friends. With the help of HTML5 video tag, the website is pretty easy to build. But one big problems arises--the expense. A typical 2 MB bandwidth site can only allow less than 10 people to watch the site simultaneously if they need a good watching experience. The expenses can be as large as tens of thousands per month if we are getting more videos. A even larger problem arises if we want to open this website to China's market. We need to pay an extra million RMB for getting a license to do video sharing business in China--as it is sentenced by the government that Video Sharing is a strictly constricted area because it may contain "bad" contents. Chances are getting worse when our original contents are easily copied by other people on the web(In HTML5, you can right click save video:( ). The cost is too big than we can imagine.Unfortunately, the product is not really good. We had to give up on the project even it may benefit a lot of people and really create values...

For Milton, I think it is really his strong belief that make him hold for so long. He believes that his company is making a great product( I think Vsee is really a great product, too) and the product creates values and really makes a big difference to the world. Maybe I will have a similar strong feeling when there is really something I have built that may impact the world . But not yet so far...

Some interesting shares by Milton:
Be bored for 5 minutes per day. Getting bored makes people more creative. Haha, I'm a bit bored tonight.
Ask 3 things you have learnt every day. It's a bit stressful, but the true thing is that we really have got a lot of stuffs to learn.
Reading famous people's biographies. It seems very true that most successful people read other people's biographies and benefit from them a lot. Well, shall try to read more unless I'm one of those supermen who get other people to read their biographies...
Adverse thinking. We can try to change some small tiny things everyday to make our minds more active. Well, I seem already know this trick from another book.
Good suggestions are never tricky, they need to be practised.

2. Win8
I watched the win8 Keynotes the first day it launches on Tuesday night and downloaded the Developer Preview the very second day it releases. The UI is pretty good. One amazing thing is that MS has made it so much easier for the developers on the app development, especially for web programmers. But one really bad thing is that MS has evilly made the metro style web app associated with IE and you have no way to associate it with other browsers. Unfortunately, my Win8 crushed the very second day I installed it, probably because it has got a SmartScreen antivirus check on the OS layer and my thumb drive has brought some strong virus to the PC... Have to shift it back to Win7, sign.

3. Assignment 2.
Did the RestFul Api thing. It seems to me a http request+moc url ,not very special if the authentication is not involved. Our project is using a facebook login to authenticate users, that seems conflict with the authentication aspiration as OAuth will not be involved in the process when users data is not stored in our database. Have to think about other ways, but facebook api seems to be the best authentication option we have got so far. I shall move on to work on the UI, it might be pretty challenging for a non-designer.  My team mates are astonishing people. Kenny is very proficient with CSS and other client side stuffs. Leon is a purely Linux user with a deep understanding of programming, though he's a pharmacist. Qing Wei is very careful- thinking guy who will get a task into a very detailed level. I enjoy working with them, except I myself have some difficulties digesting their ideas. Thus I wrote a Google docs document after every meeting. That helps a lot as I get better knowledge of their thoughts and I generate my own thoughts, too.

4. The pitch session.

Ideas I find interesting.
a. The promotion card. To reduce your wallet size by moving unnecessary cards to a mobile phone app. It will not only benefit the retailers who pays money to make these cards, but also benefit the users who carry promotion card but only use it for 1-2 times/day. In a hardware perspective, it is not secure to put different card infor into one single card. A phone app would be good, but prevent it from cheating is not easy.  A QR code may help, but the stores may have to equip a reader in order to read these data in a secure way. Another way is through the Internet or Bluetooth--to minimize the hardware constraints of the retailers. This can be done, but hard to be nicely done.

b. The management system for private doctors/pharmacists/etc. There is definitely a big market over there. Pretty interested, but this project may not be suitable for me as the pharmacists terms are just too complicated for me to understand.

c. The Card Game. This can be done on local-networks(as Prof. Ben mentioned about the Majiang Game), but I've got no idea on our it can be done yet. Maybe some IOS guys know something about the it.

d. Taxi booking. Leon says that many people are doing it, but just no successors yet. Maybe it depends a lot on the Taxi companies, they cannot ensure that everyone will get satisfied with the service as customers may not get their requests approved as there might be too many people requesting for the same cab.

e. HDB game. The first idea comes to my mind is to adopting Unity-a cross platform game engine. We may need 1-2 designers to draw 3D models, one for javascripts and one for game logic design/DB sth... Those steps are pretty hard(game design) and very time consuming(3d modelling). May not make any difference to the world.

f. My own thoughts.

1.All About Sales

As Milton has mentioned on Monday, sales people brought a great great value to a company. It would be very profitable if we create a site that offers great sales people to sale products for a retailer. I came up with a business plan: We make a SalesPerson website that allows retailers to offer a deal on the website, if the deal was successfully made by a sales person(a user registered on our website), the retailer need to share 20% of the total income to our website and the website can share 80% of the income to the sales person who actually makes the deal happen. That is to say, the sales person is actually like a part-time employee of our website and we make profit out of every successfully deal the sales person has helped other retailers.  Even if the sales person buys the deal himself/herself, he is like paying 16%(1-20%*20%) less than the usual price for a certain deal. This website then benefits 3 groups of people: the retailers(they may not be able to sale some items by themselves), the sales people(they can get money on the deals they help made and they can receive discount if they buy the deals themselves), the website(we make money by the successful deals these sales people contribute). That would be so great,why not have a try!

2. I'd like to build a module review website in China. I've got some knowledges on RestFul Api, and I believe module review can be pretty beneficial for the students and may have a very big market over there. I may do it this winter holiday. By the way, for the final project, are we allowed to work in for module review site introduced on last Friday's session individually?

3. Inspired by Prof. Ben. A lot of great things can happen on the Win8 Platform,e.g., RSS readers, Location based services, etc. Anyone wants to try on that?! I'm pretty familiar with C#, and tell you a truth, the Win8 Visual Studio IDE is really great. You can write pure javascript/html/php/css/sql like the way you usually do. The only trade off is that that would be a native metro style app on Win8 System and the browser is IE. Pls contact me if you are interested.

Tuesday, 6 September 2011

Ideas Worth Recording

Today we had our pitching session in LT19. Prof. Ben invited many speakers from the industry to share with us their ideas. Some of the ideas are really interesting and worth recording.

Personally, I like the idea of Cliquefund, a new investment idea that focus on impacts rather than profits. It sounds like a non-profit charity funding, also like an angle with no technology support. I think the idea would be beneficial for the people or companies who receive the fund, most likely startup companies, but may not be fair for the investors. This idea will definitely make a good social impact, but I'm really doubt whether this idea will actually become reality as the monetary really depends on the investors, whether they are money-oriented or not. This idea reminds me of a facebook app named Causes, which makes small portion of money out of the funding people raised for a social problem. There are nice people around. Hopefully some investors are that nice, too. How Cliquefund makes the investment, that really determine whether the company's destiny.

Another idea I found interesting is the automated external defibrillator(AED). I didn't realize that this kind of company can be a very good example for location based services until today's pitching session.HTML5 geolocation can actually have a great implementation in such a way!

The third idea is about module review. I think there can be a pretty big market in universities in China for module reviewing.

Some other projects are nice, too. is cool. Some projects are not that clearly stated. Not that interested in some "too-local" projects.