Tuesday, August 30, 2011

Facebook seminar app review: Night Stand

For some strange reason, Ipad is not shipped with an alarm clock. And third party developers quickly grasp the opportunity to develop alarm and clock apps. Among them Night Stand is probably the most interesting.

It looks good. The clock is nice, kind of makes me want to look at it all the time. If I wake up in the middle of the night, I always know the exact time to make a decision whether or not to go back to sleep.

I think showing the current whether is a good feature. At least it helps me to mentally prepare in case of bad whether even before I wake up. But social integration: is it really necessary? Yes it's true that checking Facebook, Twitter, email is now my first thing to do in the morning. But what's the difference from hitting the back button and going to the real Facebook app? I'm fully wakened up already and conscious enough to remember how to check my Facebook and email. I think it's just a redundant feature that distracts people from the real purpose of the app.

What will happen if the app crushes or my Ipad runs out of battery? I'll be late for school, work, or appointment definitely. It's too risky for me. I would prefer to use my phone as alarm and use this app as a night stand or desk clock.

The voice control is a nice suggestion by the presenters. But wouldn't it be dangerous when you can turn off the alarm just by saying "Shut up"? I don't think people are that lazy to stretch their arms a bit to grab the Ipad :P

Conclusion: Night Stand is a cool app, but it kind of goes too far from what it's supposed to do. My suggestion is that it should stick to be an alarm and clock app. Too many features may confuse users. And lastly, unless the developers find a way to guarantee me a never-going-to-crush app, I'll still be using my phone alarm for now.

Microsoft lecture: The good and the bad

Finish writing this post a week ago but forgot the publish and never realized >"< how silly of me...probably that's the side effect of coding too much...

So here's the one-week-delayed post:
----------------------------------------------------------------------
We had a special lecture yesterday conducted by Microsoft guys. They came down and talked to us about HMTM5, Windows Mobile, and Windows Azure Web service. The topics fit CS3216's this year theme: Social, Mobile, and Cloud, which are the 3 directions that the technology world is heading to.

1. HTML5:
- The good: They really showed us the great potential of HTML5 and CSS3. That's what CS3216 students need to know especially when it comes the mobile/cloud assignment. I'm looking forward to the HTML5 workshop to get more knowledge on all the cool stuff that HTML5 can do.

- The bad: IE! I don't like the way they compared IE9 with Chrome during the HTML5 demos. To me it seems like a desperate attempt to salvage the bad image of IE. I downloaded IE9 to run the SVG girl demo (and the others also). It worked fine, better than Chrome I may say, but then when I switched to onboard GPU, IE9 became laggy. Apparently, Microsoft makes use of of their power to accelerate graphics by GPU rendering, which I don't think is a good approach for a web browser. Seriously I really hope that the browser war could stop. It's a pain for everyone, both users and developers. Browsers, unlike OSes, serve only one purpose - running web applications. So what's the point of having too many of them?

2. Windows Azure:
- The good: Windows Azure is easier to set up and configure than AWS. I haven't tried Azure but my friend, who is an expert on AWS, confirms that it is "less painful". I can't say much for now, but will be able to evaluate Azure when I have my 6-month access (each of us will receive one account right?)

- The bad: The presentation was quite poor. It took 10 mins for the presenter to get his computer into Windows, and 5 mins to open Visual Studio. It gives me a not so good impression on Microsoft developers. I would personally prefer a presentation on Kinect rather than Azure.

3. Windows Mobile 7:
- The good: It's the highlight of the lecture for me. The Windows phone is interesting and new, and it opens quite a lot of opportunities for developers like me. Currently the Windows mobile market is much smaller compared to Apple or Android. We could have a higher chance to survive and make a big impact. I'm seriously thinking about making a Windows mobile app for the final project.

- The bad: The Mango wasn't very stable. It crushed at some times, and some applications didn't work as expected. But that's understandable since Mango is still under development. Hope it'll get better.

Well that's pretty much it. I'm looking forward to Google and Amazon!

Tuesday, August 16, 2011

Flashback of yesterday lecture

I was going to blog last night but then decided to do it after a good sleep (maybe the last one in this semester :P). It's quite a bit hard to recall everything now, but the followings will definitely stick in my head for a long long time:

1. The importance of communication in a software engineering project:

"A group of elite programmers may fail miserably if they can't work as a team"~Ben Leong.

I totally agree! Human beings are biased, and each one of us has our own way of looking at things. We can't communicate well if we keep seeing from our own little eyes. I used to be a very stubborn boy who only cared about what I assumed to be the right thing to do. But I've learned the hard lesson: either open my mind to listen to other people or get left out and fail. Choosing the correct teammates is also important. It's a lot better to work with those who share the same mindset. But it's ok if such people are impossible to find. After all that's the whole point why Prof Ben forces us to form different teams for the 3 assignments. We just have to figure out how to work with each other.

2. Share or not share?


It's a controversial topic. Lucky Jonathan brought it up. I am one of those in favor of sharing ideas with other people. But I only share ideas that I'm implementing or planning to implement very soon. I often have very random ideas while doing other stuff and record all of them down. But of course I can only implement one at a time, and that's the one I share. I keep my other ideas secret until I decide to do them. Personally I think an idea kept secret all the way until launch is not going to do very well. It's a lot easier for other people to spot what is lack in the idea. We never know if we never ask. And if other parties happen to be able to add these missing features to their products, well... we'll be screwed!

3. The role of non-programmers:


Prof Ben pretty much said it all. That's why we have businessmen, designers, and other people here in CS3216. I just want to emphasize a bit more the importance of designers. From my experience working with programmers and being a programmer myself, I can confirm that good programmers can't design! It's because, as Prof Ben said, programmers and designers don't speak the same language. They think very differently. Some programmers may have reasonable designing skills, but they can't compare to a real artist. Products made by programmers alone are often ugly or lack "killer UI features" that appeal to users. For me, I really like working with designers because I can learn a lot from them. Hopefully one day I'll be able to speak the designer's language :)

----
I'm addicted to CS3216 already! I'm taking 6 modules this sem + a part time job, but CS3216 is the only thing I'm thinking about. Don't know whether it's good or bad...

Friday, August 12, 2011

What I expect to learn from CS3216

Only one thing: Learn how to do what I really love!

Before I enrolled in Computer Science, a lot of people advised me to change to Information System or Business / Finance if I want a higher salary after I graduate. I was almost convinced. But after taking CS courses, I realized "What the heck!! This is where I belong!". I love coding and all other computing stuff. I took 2 business modules last semester and ended up using the S/U option for both of them because I was spending too much time, well.. coding. This is what I love and what I'm gonna do.

That's the reason why you see me in CS3216 :) I want to meet people who share the same passion. I want to learn from them, especially Prof Ben, how to follow my heart and soul. I love the quote "If you do what you love, the money comes anyway". We all have big dreams, but dreams without true passion can never come true.

Thanks Prof Ben for offering CS3216 again this semester. I will learn how to suffer with enjoyment :)