Very Busy days... still have 40+ days. I should tell my juniors never take too many projects like cs3216, cg3002... just now hear other groups casher says "pi ka qiu", means their voice works. While we just start building it. Maybe we need to start camp earlier.... CEG Camp~~ DSA lab
Compared to CS3216, we still have a lot of stuff to do... ah move on...
Thursday, October 18, 2012
Tuesday, October 2, 2012
Case study 2 Team Dynamics
- Lanh said, “It would be really bad if we have a great idea but are unable to execute it success- fully”. What are your views? Which is more important - the idea or the execution? Why?
2. What have you learnt about Facebook so far?
Facebook is a popular social network platform allover the world except China. The art of social network is its user base. Developers can build may kinds of apps on it. They are easy to growing and getting more users. Also we can get some information from facebook api instead of user importing everything.
3. Comment on the ideas for Another Life and Fan Gang.
4. Should the team have changed their idea for the Final Project mid-way or stuck to their original
idea? Why, or why not?
Maybe Another Life is a 'good' idea, but it cannot finish by deadline. So this idea may not so good. It is like a small Second Life which requires a lot of drawing also programming. It is quite brave to generate this kind of idea since it really needs too much skills and times. One problem is they should plan well their workload. They said they are all year 4 and have many other projects. Then there is no point not spending much time to finish this big project. Fan Gang looks quite simple and redundant since facebook already exists interest tag. So this idea may not look so attractive as Another Life. Actually these stuff should be thought clearly in the first week like Technical available or man-power. But I still think they should continue their Another Life. Maybe plan the execution again and choose high value low costs and high value high cost work to do first.It is important for people to do something they really want. If change to Fan Gang, people may not work well without passion.
5. List the major problems (obvious and non-obvious ones) in faced by the team? How could they
have done differently and better?
Work allocation and teamwork corporation. First the work allocation is not so clear. But the work could not be so clear if everyone only aim to finish his own part and complain why it is not work, my part is ok and so on. The goal of everybody in one team should be let the whole system work. We must corporate each other and connect each piece of code. One suggestion is they can sit together and code and first implement the layout and backbone to connect each others` code. Then implement their own feature.
6. What did the team do right/well?
This team actually did a lot of discussion and thought of many issues. Also they did some consultation which may be helpful for them. Last, there still one person not giving up in the team.
7. What would you do if you were Jeremy on the evening of 24th April (and the deadline for the
final project submission was the next day)?
Actually it is so sad for him at that time. Maybe the only thing he can do is to continue with some IT friends to finish as more as possible by deadline. Do not give up until the last second.
8. How would you handle a situation where one of your team members is unable to deliver on the
work he/she promised because of personal problems?
First we need to make sure the attitude of that person is positive. If he is very active only quite busy last few days, it is ok we help him finish the work together. But if the attitude of the person has problem, redo the whole plan. Also we need some buffer for each person. It is important to plan well the execution. Do not make it the last day of assignment.
9. What, in your opinion, are the key learning points from this case study?
Before execution, plan well the whole project.
Try to understand each one in team and get well with the relationship and teamwork.
We need to learn how to solve accident in team project and change our plan dynamically.
Case Study GetHelp!
1 Usability vs Aesthetics.
First, user interface is greatly important for software engineering since this is the main part to connect users and our apps. A good user interface does not mean colourful or complex, it should be very clear and user friendly. The biggest problem of this GetHelp app is the main page. Too many options and confuse user a lot. I really don`t know what to do first. And the overview page, I think user should see some popular or related posts in their main page. This is really similar to my first assignment: Eureka~
May be the color of the buttons should change to consistent to facebook color theme. Another problem is the new project button. It is not very easy to find it and it may not need to appear in every page.
So I think some features need to remove from the main page. Make sure user can easy get what they want and they know what they are doing.
2 Number of options / freedom given to user when posting a need.
I think the problem is still too many fields to fill. It should only show the most important and required fields and hide other fields to a more info option. For me, the most important fields are only deadline and topic like: "can someone help me finish the final assignment by tomorrow?" And the people options may be too complex, I think only post to all / post to friends is ok.
3 Cycle of interaction & incentives (Are the elements of the app engaging?)
I think the main method of incentives is the statics. People may be happy seeing their ranking up when they help others or post helps. But this may not work. As we thought in Eureka, we thought if someone ask and answer questions, there will be more people ask and answer. Also a ranking system may engage them. But there may exist many ways to achieve the same stuffs like google, baidu. We need something they don`t have. I think we must focus on only small point first. It is hard to be very general at first. We need some user base from this small group then extend the functions using this small group people to engage more people. So my suggestion is to focus first like only in NUS. I know one example is an app developed by students in top University of China called "Xue Zhang Bang Bang Mang". It is about some junior sister can ask question and senior brother can help them. And this is rally popular in SOC since I have the same experience...
4 Other problems you think
In this kind of app, I think the matching is also quite important. How can a user`s problem to be solved efficiently. It must appear in the feeds of people who can solve it or who can easily search it. Some string parse and natural language processing and also a search engine should be done to support it. Only the product can really help people solve problem will become popular.
Monday, September 17, 2012
The Third Assignment: mobile web application
In this week, we started coding our third assignment. 24 hours in a day becomes not enough again...
Our idea is to support chat with people based on geolocation. Actually this idea comes from some popular apps which using geolocation as the main connection among people. Not like traditional chatting apps which shows a list of friends, it will show all the nearby people in a defined region based on the google map. So people can chat with people nearby. Since people may have more information to talk with people nearby, this app can provide a platform for people to chat.
Since this app only have two more weeks to develop, we started very fast and tried to do work more efficiently. We met every evening and finished to some basic key functions. In the processing of developing this app, we really learn a lot of stuffs about mobile computing. First is what kind of app should be built on mobile? This app must need some feature based on mobile device. Also it is my first time to use mobile UI. It is really cool since we can use some easy API to build a nice looking user interface. Moreover, I implemented a geometry algorithm to support the location detecting. It is the first time to use algorithm in school software developing. A good algorithm really can solve problem easily.
We still have a lot of tasks to do. And other modules assignment, quiz, midterm all come. Ah, go working hard. What can not kill me makes me stronger.
Tuesday, September 4, 2012
Facebook/iPad Apps Seminar
Assignment 2 goes so fast but we had a nice experience on Monday`s lecture. All nine groups shared bright ideas and did excellent and interesting presentation. My assigned project to review is BranchOut.
BranchOut is a Facebook application designed for finding jobs, networking professionally, and recruiting employees. Some points during presentation impressed me a lot.
First is the idea of this app. Actually I think it is a common idea when developing a Facebook app or on other social network apps. We add the power of social network on existing applications. Like BranchOut, the main function about jobs finding is just an interface of Totaljobs.com. Users can do simple search and click apply to redirect to Totaljobs website. That website is a good functional job matching platform. BranchOut moves that function on a social network platform to allow user share their working information with their friends. This fully use the feature of social network: large user base. User can know more about the companies` requirement without applying the interview. This will bring social communication to simple job finding.
Next, one good feature about this app is that you can know your friends` working history, and people can endorse others through this app. The main purpose of building stuffs should be benefits the users. I
think this is a good feature which can help some users get useful information about their desired jobs.
Also this is the power of social network. On the other hand, companies also can get benefits from this app. Based on users CV or profile, they can get all people who match their requirement. It is much easier to find people on social network platform.
In my opinion, this kind of app is quite popular since it is hard to find a good job now. It is easy for user to know all his/her friends working history and lists of jobs company offered through this kind of apps. For branchOut since it is an interface of Totaljobs by huilding social network on it, it should build entire key function of Totaljobs. Compared to Totaljobs it lacks a function for find the correct person who match their requirement most. So why not user direct use Totaljobs which has more function than branchOut. However to let more people use this app, some evidences of reliability of information and keep users privacy safe must be added.
Anyway, we can learn this kind of idea when we are building stuff. Since people are main concern we can add social network in our applications to get more user base and communication between users. Of course, this is not enough for an app to be successful. It must support entire functions to ensure good user experience and reasonable commercial benefit.
BranchOut is a Facebook application designed for finding jobs, networking professionally, and recruiting employees. Some points during presentation impressed me a lot.
First is the idea of this app. Actually I think it is a common idea when developing a Facebook app or on other social network apps. We add the power of social network on existing applications. Like BranchOut, the main function about jobs finding is just an interface of Totaljobs.com. Users can do simple search and click apply to redirect to Totaljobs website. That website is a good functional job matching platform. BranchOut moves that function on a social network platform to allow user share their working information with their friends. This fully use the feature of social network: large user base. User can know more about the companies` requirement without applying the interview. This will bring social communication to simple job finding.
Next, one good feature about this app is that you can know your friends` working history, and people can endorse others through this app. The main purpose of building stuffs should be benefits the users. I
think this is a good feature which can help some users get useful information about their desired jobs.
Also this is the power of social network. On the other hand, companies also can get benefits from this app. Based on users CV or profile, they can get all people who match their requirement. It is much easier to find people on social network platform.
Then commercial
potential is quite weak for the app, since various business models for social
apps do not apply. It does
not have in-app
purchases. Also lack
of distinguishing features is causing a loss of users. Since the main function is from other source, users actually can choose that source to get their purpose. I go through Totaljobs and find there are more feature than BranchOut. More professional people may use that one. Social network has good advantage of large user base but it also needs lots of users. So if not much people use BranchOut, it will keep losing users. So BranchOut needs to retain its user base. Some advices are getting more detailed jobs and detailed user information. Also it needs someway to ensure the reliability of information and user`s` privacy.
In my opinion, this kind of app is quite popular since it is hard to find a good job now. It is easy for user to know all his/her friends working history and lists of jobs company offered through this kind of apps. For branchOut since it is an interface of Totaljobs by huilding social network on it, it should build entire key function of Totaljobs. Compared to Totaljobs it lacks a function for find the correct person who match their requirement most. So why not user direct use Totaljobs which has more function than branchOut. However to let more people use this app, some evidences of reliability of information and keep users privacy safe must be added.
Anyway, we can learn this kind of idea when we are building stuff. Since people are main concern we can add social network in our applications to get more user base and communication between users. Of course, this is not enough for an app to be successful. It must support entire functions to ensure good user experience and reasonable commercial benefit.
Saturday, September 1, 2012
Week3
This Week is still an amazing week. Too many stuff to do that I always put my blog at the weekend.
In the lecture time Microsoft gave us an interesting show about Kinect which shocked all of us. Actually I think they give us an idea about HCI will become a focus in tens of years. It really can change people`s life by human interactive device. Another interesting stuff is the coming Microsoft Surface. It really looks cool. It may start to change from laptop to pad. I quite like this kind of device and if it works well, definitely get one~.
Of course, the most impressive stuff in this week is still the project. we need to finish all thing in this week. Everyday looks the same, get up=>go to lecture=>code=>sleep. Three weeks I haven`t start my other module...(Include CG3002 CEG camp).
But good news is our apps looks working better~. It really give us more happiness after we finished the project with no regret at all.
At the same time, I need to prepare the second assessment. Actually I did too little stuff and thanks to my nice teammates who really do work very fast. ^_^ Hope to have a nice Monday next week about 10 hours class.
Although the life is so busy, it is just a start. Assignment 3 already comes.. :( We haven`t finished assignment one and two... Quote from Prof Ben "That`s life".
Of course, the most impressive stuff in this week is still the project. we need to finish all thing in this week. Everyday looks the same, get up=>go to lecture=>code=>sleep. Three weeks I haven`t start my other module...(Include CG3002 CEG camp).
But good news is our apps looks working better~. It really give us more happiness after we finished the project with no regret at all.
At the same time, I need to prepare the second assessment. Actually I did too little stuff and thanks to my nice teammates who really do work very fast. ^_^ Hope to have a nice Monday next week about 10 hours class.
Although the life is so busy, it is just a start. Assignment 3 already comes.. :( We haven`t finished assignment one and two... Quote from Prof Ben "That`s life".
Friday, August 24, 2012
Week 2 -- One does not finish, Another one starts
This is just like a old chinese word "一波未平,一波又起“. The first assignment is in busy time, but the second assignment comes quietly. This is really not a good news since we need to do two projects in parallel. ( I am learning parallel computing.... :) ha ) We finish group forming just after the lecture and we need to review three apps next week. Pick an app this weekend and hope to have a nice experience in second project.
Second Week -- Busy Week
This week is a really busy week since our group did most of the coding this week. I learn new technology and revise what I learned before and doing coding. I learned jQuery, ajax... and the best stuff is learnt from my teammates. Since we have a very strong teammate, to understand his code is another way to learn web development. Now we almost finish our basic function, there still left a lot of work to do. Hope can sleep during weekend ...
Thursday, August 16, 2012
First week of CS3216
First lecture:
The first lecture is really amazing as this well-known legendary module. We have chance to know all the classmates and many seniors who are really 'famous' in my mind. And it is the first time to have a class outside a classroom~ and making 'noise' outside another lecture. What an unforgettable lecture!
Although the lecture time is relaxed, the following work is quite heavy. Forming a group, having a meeting, learning programming and Facebook api...
My learning and working:
First thing is Facebook app can test on our local host. Canvas url should be 127.0.0.1 Then we can try some Facebook GraphAPI code or FQL on it.
Since I am not very familiar with javascript and jQuery, I am learning them refer to some examples online. jQuery is really nice~
Design the schema using MYSQLWorkbench. That software is quite easy to use.
Two common security problem: SQL injection and Cross site scripting.
Some easy way to fix them:
mysql_real_escape_string() can solve the SQL injection problem.
htmlentities() can solve the Cross site scripting problem.
Thursday, August 2, 2012
CS3216-What I want to learn???
What I want to learn from cs3216
1. How to build real software that can facilitate people`s life
I have been
learning programming for 2 years so I want to build some applications can be
used in people`s life instead of only on my computer. In cs2103 or other
project module what we build is main about the course requirement. While in
this module, we can build what we like to achieve our childhood dream. For me,
like many other boys I like playing games like War3, Diablo. So I want to build
next generation great games and cs3216 is the start point of my dream. This is
the main reason for me to take this course.
2. Learn the latest technology about software engineering
In these years,
IT world grows so fast that a lot of new items attract us like cloud, win8
metro, html5. So I really want to learn these new technologies in cs3216. I
think I made a correct choice and I will get a lot with self-learning and the
help from Facebook, Microsoft staff and our lovely tutors and Colin ^^
3. Improve my communication skill and teamwork in team project
Since I did
several team projects, I found teamwork is really important. I want to improve
my communication skills with different group members from different countries. Also
team programming is totally different from individual programming, so I can do
more practice in cs3216 about team programming.
4. Practice my programming skill
Basic
programming is the core of a programmer. So I need to keep coding to improve my
basic knowledge of programming. Also I want to implement some algorithms and
patterns I learnt outside class.
5 Improve my business thinking
To make a
product, we need to make them successful; they must satisfy users` needs and
build something they want but not exist and something they even don’t know they
want. So I need to learn how to get a perfect idea during this course with
other people from faculties.
Subscribe to:
Posts (Atom)