2012/09/28

End of the second project

After several days of rushing, we finally finished our second project. Just like the first one, there are many features that are planned but undone. Before the execution started, we wanted our product to have all kinds of fancy features. As the execution progressed, we gradually realized it is impossible to implement all of them due to the time constraint.
However, having the time constraint is also a good thing because it forced us to think about what are the most important features of the product and focus on them. It is better to concentrate on a small feature set and do it well than to have lots of features that are all poorly implemented. Also, there is always room for improvement. Without any time constraint, we may keep adding new stuff to the product and the project will never end.

2012/09/23

Mobile cloud assignment

I find myself quite free in last week, which is bad sign because it means I did not spend much time on the project. Unfortunately, the problem is not that I did not want to work hard on the project, but I did not have any idea about what to do. The project idea itself is simple, but as the back-end developer for the project, I feel the details of some features are not very clear to me, which makes it very hard to me  to decide what to include in the database as well as the web api.
There are just a few days to the deadline and currently there are still many tasks need to be done. I expect a rush in the following few days, otherwise we may not be able to finish the project well. We are going to have a meeting today or tomorrow. I hope it will clear all my confusions so that I can accelerate the speed.

2012/09/04

The Guardian

To be honest, I didn't know what is the guardian (the newspaper) before yesterday, so I was actually quite blurred at the start the presentation. Anyway, luckily I was able to follow after one or two minutes.
Just as what the team said, the UI of the app really sucks. It looks like they just want to squeeze all the content and plugins into the page despite whether they really need them. The space available for an iFrame app is quite limited, but they do not even make full use of the space. All the content seems to be squeezed at the middle and therefore the home page is very long although there is not really much content.
Another point that I'm interested in is the privacy issue. I was surprised that there are no privacy options in this app and all the things you do in this app will be immediately visible to your friends. For me, this is totally unacceptable, but yet, there are 2.7M monthly users. Nowadays, it's almost common sense that the privacy issue is tricky for people working on web apps. I don't think a big company like Guardian would have missed that. Maybe they just ignored it purposely since most of the users may not notice this issue.
The app also shows how traditional industry like newspaper can make use of social media to improve the communications between they and users as well as between users to users. Comment feature is there for many years, but not so many people are serious about that. By including friends, users are more likely to express their opinions. By including social plugins, users are able to know more about how other people think.
In my opinion, the guardian on Facebook opened a new market, the young, for the company. The originally guardian website does not have much stuff that can attract young people. On the other hand, by utilizing all kinds of social elements, the guardian app targets the young and has proved that is the right way.

2012/09/01

Microsoft Lecture

The guest lecture by Microsoft was quite exciting for me as this was the first I saw how Windows 8 looked like. It's nice to have an operating system that can provide both good desktop and tablet experience. Frankly speaking, I really like Surface and I think I'll get one when it's release.
However, there are still some problems. Although the speaker has emphasized several times that you can install and enjoy the system even if you don't have a touch screen(like most of current PCs and laptops), we all know that the experience of using a mouse is very different from that of touching. Therefore as a system that has some special design for touch screen, it's still not very clear whether users who are not using touch screens will find it inconvenient to use some features.
For Kinect, well, I'm not sure whether it's a good idea to introduce it to desktop applications, but for games, I prefer Wii and PS3 to Xbox. Regarding good game experience, I believe it's not enough to get only visual feedback, which the only thing Kinect games provide. Yes, Kinect looks fancy and for dancing games, it's enough(well, I would say you can dance without it). But for other game types, like action games, I wouldn't be satisfied if let's say in the game I'm swinging a sword but in reality I feel nothing in my hand - the physical feedback is important. Also, currently it's still impossible to perform some complicated without a controller, but the Xbox controller does not fit with Kinect well - you hands are limited when holding the controller.

2012/08/25

Rushing

It has been a very busy week.
Our team has been rushing through the whole week to implement the system. Currently the project progress is not ideal but still okay. The biggest problem we are facing now is that we just realised on Friday what we were developing was different from our original idea and we decided to move back to it. We're still trying hard to modify the system to match the original idea and hopefully it can be done in one or two days.
I also started worrying about the quality of the work. Building a system in two weeks time may be suitable for verifying an idea. However, it is likely that if we want to further develop the system, we'll need a complete rewrite since we didn't spend enough time on architecture design, etc.

2012/08/19

Setting Up

It has been a busy week and probably the busiest first week I have experienced in NUS so far.
There were not so many surprises in the first lecture - I'm a ex-CS1101S student and I know what should I expect from a Ben-style course. However, it has been a great chance to make friends, especially with people from other faculties. In addition, the show-and-tell session was fun and there is probably no similar session in other SoC modules.
Due to the ICPC simulation, I just attended part of the workshop on Saturday morning. When I came back at 3:30, the workshop has already ended. I heard from my teammates that the javascript and ajax part was only 10 minutes long and they didn't learn much from it.

Project Progress
Luckily, I was able to form my team right after the first session and the team has an ideal composition: one business guy, one designer and two developers.
Currently, we have decided the main features of our app and designed a basic database schema to support these features. We also have discussed the user interface and drawn down some pictures. Next week will be an execution week.
Looks like a good start. Hope everything will go well.

2012/08/11

What I hope to learn in CS3216

Many people said I am good at programming. However, life is not so simple: having good programming skills does not qualify me as a good software engineer. To create a successful software, I need to know more about how to define the right problem, how to manage the project, how to choose to right guys to work with, etc.
Being a smart guy, I of course knew these things very early and have read books like The Mythical Man-Month when I was in high school. Unfortunately, I forgot the knowledge I lent from the books quickly after I stopped reading this kind of books - just like coding, to master the skills and have long time memory of the knowledge, there is no better way than learning from real projects. CS3216 provides me with such chances. I heard from a ex-student that the course is all about projects - you got to work on read stuff. With these projects, I think I will have plenty of practice on these software engineering skills: project management, communication and so on. I hope I can make full use of this opportunity and have a good understanding of the skills when I finish the course.