November 14, 2011 Leave a comment

It’s over. Not for the time being but for real. CS3216 was offered the last time ever this semester and Prof. Ben wants a break and to be honest he really and truly deserves it. He has been nothing but awesome this semester and the amount of energy he put into this module is beyond belief. I would really like to thank him for this module simply because it was the only one where I actually attended lectures (and enjoyed it), didn’t have to read any random textbook and most importantly dealt with real world execution which quite simply is way more essential that academic knowledge. I don’t know if I say this enough but I love 3216!

Reflecting back on my first post on this blog, I am quite happy to write that I did satisfy almost all of the goals I set for this module and a bit more.

To improve my programming competence

Certainly am a better programmer than I was, picked up new languages like ActionScript and became better and more comfortable with PHP and JavaScript. When developing applications for the real world you need to be more careful and precise to avoid any loop holes and pitfalls and this meant a lot of testing, trying to break your own code over and over. I also got to work with beta frameworks like jQuery Mobile which had a lot of bugs itselfĀ  and I will always remember the amount of time Sesha and I spent trying to find workarounds just to make sure the app worked well on all browsers. The offline feature in HTML5 is quite cool and although it can’t truly match the experience of a native app at this point in time, its still evolving and am quite confident developers are going to tilt towards making web apps simply because you can deploy it across multiple platforms all at once => more moolah for less code, it just works.

How to apply D-Thinking principles to software engineering

How to make a good UI/UX? Observer people use you app. Prototype and test. Prototype and test.Prototype and test. Give your user nothing but the information about the purpose of the app and watch him use it, sit next to him and observe what mistakes he makes, what he presumes, whether he did what you expected or how he didn’t. This method really works, you will be surprised with the data you collect but this is how you refine your app and deploy the next prototype (with a better UI/UX). The main problem with this method is that its not scalable and you really can’t be doing this with 100+ users like you could do AB testing with google analytics but I did use this method for the first 2 prototypes for MoneySlate and it did help, a lot.

Work with talented designers

Kenneth and Aaron, I have learnt a lot just by observing you guys. I certainly have better taste and sense of design now than I ever did and I would like to thank you guys for that. Aaron, working with you on designing the templates for MoneySlate taught me some neat tricks in Photoshop & After Effects and also made me aware of tools like Kuler, this is knowledge gained on my part and am really thankful for that šŸ™‚

Work on a real life project with the bright minded lot at CS3216 which will possibly lead to the birth of a new software service

This module is filled with highly motivated people and I just loved working with them. Although I didn’t really get to create a new service, I certainly did identify a problem and try to solve it better than the existing apps out there.

The module is all about execution and it really took me through a tough ride, I went through failure after my first report for final project, where we didn’t have a working application and our API was screwed all over and the front end was isolated from the back end but I learnt from my mistakes and pushed myself harder because I knew this was just a battle lost, the war wasn’t over and the important thing was to finish strong and we did..

I can honestly say that I learnt a lot more from this module than I did in my entire time here at NUS and this was the only module where I never really felt bored or questioned, “What the heck am I doing this for?”.

To wrap up, CS3216 -> Best.Module.Ever.

Categories: CS3216

Half way there..

October 4, 2011 Leave a comment

Can’t believe we have reached the half way mark for 3216, it’s truly been an awesome journey so far and most enriching. Also, I just realised I didn’t blog about my first assignment >< . Ok then, I shall blog about both the assignments today!

For the first assignment we decided to do a Flash game and I was like yikes! The last time I used flash was to create a photo banner for my halls website and that experience meant zilch for the kind of work we were about to begin. My share of the fun was to work with ActionScript to bring life to the graphics made by Kenneth, provide a framework for the physics engine and the game to interact with our SQL database and most importantly figuring out alongside Hu Qiang on how to connect ActionScript to the database itself! I knew nothing about ActionScript and so as always I turned to the one website which has never failed to teach me something new – . I watched their ActionScript 3 in Flash CS5 tutorial and halfway through I realised ActionScript is a lot like JavaScript and after some googling around I learned they are both dialects of ECMAScript. Pretty cool huh? Anyways, we spent the following weeks coding together in SOC (yes! we coded together 99% of the time!) and it was quite effective since we could clear each others doubts then & there and most importantly help out each whenever and wherever needed, be it code, water, food or just making fun of Hu Qiang when he facetimed with his GirlFriend šŸ˜›

I really enjoyed working with these guys and I really did feel the comfort in shared suffering!

Right then, lets move on to Assignment 2. We decided to make the “Money Tracker” application that I have been thinking about for quite sometime now.

It all started about a year ago when me and my group of friends started using a google docs spreadsheet to track all the expenses amongst us. It wasn’t a bad way to let others know how much you owe them and they owe you but then it was quite obvious that an app could be made which could so easily make this whole process a lot more easy and convenient. I thought about it a couple of times but simply didn’t find the time to work full scale on it. The only time I came close was in the summer of 2011 while I was interning at Keppel FELS and was faced with a lot of “free” time. So, I started drawing sketches for the desktop browser version of this app but I couldn’t really code at the office, at least not without my boss questioning me, so yeah it really didn’t mature into anything. But here we are now after a few sleepless weeks, some PHP, JavaScript and tons of HTML5 later, the first prototype of the application. It really made sense to make this app on a mobile platform since people like to add their expense then and there when they make it, they don’t want to remember everything, come back and do their accounts. Also, information such as how much you and your friends owe each other is made available in a nice and structured manner. Overall, I think it’s not bad for our first prototype.

Sesha, Aravindh and myself kind of liked the idea and we decided to pursue it for our final project along with Aaron ( who also seemed to like it after we pitched it to him a couple of days ago!). After our first team discussion, we seem to have come up with a couple of ideas on making the UI/UX and the functionality better, can’t wait to get started soon!

Onward to the Final Project!

Categories: CS3216


October 2, 2011 Leave a comment

Ok, Milton Chen, you are the man! Seriously how do you work seven days a week, travel all around and have all this energy?! It is really amazing to see someone with such strong passion driving them, which I believe can only exist when you believe in what you are doing.So kudos to you!

After seeing you demo, I tried out the product for myself – the one on one chat works quite nice with a few seconds of lag and my experience on a poor connection was better than Skype. I wanted to try their multi party calling to see if it works better than Skype since I have been having a shitty time making 5 way video calls to my project mates for my Design School project and our team brought their Team license (at $10/month). It was not as good as we expected but it sufficed, I guess if you really want damn smooth no lag conference, you really do need a private server ><.

I think this is the best lecture yet simply because it was good to hear valuable life lessons from a founder of a successful start up.

Categories: CS3216

External Pitching Session

September 26, 2011 Leave a comment

We had a pitching session by external parties recently, a lot of companies came in to sell their ideas and bag us and to be honest I wasn’t dazzled by a single one of them.

The truth is, they are afraid to tell us too much about what they want to create and this made me lost interest midway through most of the presentations. Also, the quality you expect from presenters in industries was lacking, desperately.

One presentation I did like was Dr Dana’s talk on CPR/AED. He really highlighted a lot of points on how there aren’t enough people who know to help in the case of an emergency and also how they tend to forget their training after a few months. He believes creating a game to train people on using the AED will help and I certainly agree with him. It is good to see such a noble effort.

Conclusion -> Selling you idea is hard.

Categories: CS3216

CS1 : Get Help!

September 19, 2011 Leave a comment

Where is the Application Name?! There doesn’t even seem to be any logo on the top or anywhere for that matter. Although not a serious issue, it would be aesthetically pleasing if there a nice title with a sexy logo along with the menu bar on top.

The menu bar has some slanted icons, whose logos are not so bad, however the slanted text is somewhat of a turn off.

The “I need help with” section is longer than the facebook bar on top which is so nicely aligned with the last slanted icon (Invite), why go and spoil the symmetry? Also, the additional details to input are misaligned and seem to be disconnected from the section above. The first 2 options for “Wh0 do you want to ask?” should be mutually exclusive, must have radio buttons instead of checkboxes.

Red is not a good choice of color for buttons which give a “positive” flow in the application. Red is usually associated with nasty things like errors and warnings, better to change to something more on the green side of the palette.

What are SQL queries doing on the home page? Puzzled…

It would be good to have a search option in the overview page, might prove to be useful if the app gets popular.

To be honest, its not a bad UI to start with and would definitely provide a good UX but for a few changes.

Categories: CS3216

inClass, A Review.

August 30, 2011 6 comments

Let me just start off by saying this is the most terrible application I have every used on the iPad and the team did a good job of explaining why.

Firstly, the UI, its just simply disappointing, there are no use of touch gestures and its completely unintuitive. For example, common things you find in other iPad applications such as flipping a page to turn it or clicking on a calendar task to get a detailed view are missing in inClass. The developers didn’t even bother to conduct any user research to make their interface easy to use, its like they just decided to forget about the multi touch display on the iPad. The truth is, there are many different organiser applications for students such as iStudiez and good note taking apps such as Penultimate and Note Taker HD, but there isn’t a free app which can do both effectively and inClass has a market here, one in which they can easily be crowned king but for a few major improvements.

I think the developers should include an application tutorial where the user is taken through all the features of the app through the use of hints and maybe a cute animated mascot to guide them? This would be better than the groups suggestion of having a video tutorial since the user would be interacting with the interface itself and get more easily accustomed to it.

In the case of an app like inClass, a collaborated approach with educational institutions would be good provided the university has some existing system we can work with – such as the IVLE in NUS but that would make it just another education portal app and not some stand alone app to take notes with. The point of the app is lost, which is to be able to take notes on the go, anytime, anywhere. It would however be quite awesome if we did have a separate app which can integrate with the NUS system and offered some of the cool features of inClass, Note Taker and Penultimate.

In my trail of the app,the only thing IĀ  liked is the audio recording feature for note taking, which is damn useful, especially when you don’t have webcasts or need to blog about a random presentation picked from 11. The lack of integration with dropbox and google docs is something the developers should seriouslyĀ consider implementing since these are services their users (students) depend a lot on.

That’s about it for my review, overall the team presented quite well and I liked their slides, very apt theme (chalkboard)!

Categories: CS3216

HTML5, damn cool.

August 30, 2011 Leave a comment

Microsoft was the guest lecturer for the day and they showed us some cool examples of HTML5.

Check out Semantic Notepad , shows examples of the content tags.

It’s about time theĀ  <video> and <audio> tagĀ  were made part of the implementation, both quite cool and highly necessary.

<canvas> eliminates Flash! Will it be as good and viable? Flash has been here long and it would be quite interesting to see how this battle is fought.

CSS3 media queries is quite an awesome thing, simply put, you don’t need to create 3 different version of the same site, just change the style sheet based on the screen size.

To actually see how powerful HTML5 is, check out these examples in different browsers :

Surprised to see IE9 outperform the rest for the first time ever?! IE9 is able to offload all the graphic rendering to your systems graphics card, Firefox and the rest will catch up soon, hopefully!

Microsoft also gave us a peek into Mango, the next WP7 release. Personally I love their metro UI, its damn smooth and highly intuitive. Did I mention its going to run IE9? Cool right?

Categories: CS3216