Monday, 26 September 2011

Blog, my real thoughts

I've just received the peer appraisals. Normally I wouldn't read stuff like that. I mean, way I see it, judging people is.. not very nice. You wouldn't know what the heck is going on in some one else's life unless you've walked in their shoes. But what prof mentioned is also right, the most important thing we should learn about is ourselves and this is the best opportunity to do so.

Actually, a big part of it was because I was afraid of what would be in there. I mean, I do have a vague idea of my weaknesses, and having someone else throw it at your face is not something I exactly look forward to. Well after reading them, I was really blown away. I definitely learnt alot from there. Thank you all that wrote in it, I'll definitely make an effort to work on the points I was lacking. As for the good points, I "tried" not to read it but something really interesting caught my eye and I couldn't escape it. That little part really did brighten up my day. Thank you (whomever) very much for that! Even though you prolly didn't mean it lol

This past week finally concluded our mobile app. I'm really excited about this and I totally enjoyed every moment of it. I would like to think that this app was really quite nicely done, and I'd really like to thank my team members from the bottom of my heart. Qing Wei came up with a prototype even before our second meeting and that really got us fired up. I used to think, you can't be an engineer and a designer at the same time. Not that well at least. Shaohuan definitely proved me wrong there. Lastly, biggest thanks to Leon. This guy is simply the unix god. I learnt so much from this guy.

At some point, I got really disappointed with this course. I thought this course would have lectures covering technical stuff, with tutorials each week to help pick up a skill. So at some point I got really bored and foul. I thought it was a mistake to have enrolled. Well, turns out I did make a mistake - I thought I wouldn't learn anything but really I am learning so so much. I just didn't expect it, because it wasn't directly from the prof. Learning from peers. There are so many significant advantages. You can argue with peers, win and convince them how wonderful your ideas and methods are (hardly in my case), or lose and be blown away by amazing methods they use, at the same time learning about the weaknesses of your own. It was especially the case for my team, where all four of us were considered programmers. 

This method of learning is definitely my first experience and I must say it is a.m.a.z.I.ng. Can't say I'm enjoying it but it's definitely worthwhile. Also, though it sounds like I'm trying to curry favor, I think only a brilliant person can come up with a brilliant method like such.

So this week's lecture is about the 2 case studies. The first one was on the emphasis of GUI and apparently the first team supposedly did a 'bad' job, and we are supposed to criticize it. How 'kind'. I must say that I really admire the two people that presented. Chin Su Yuen and Kent Nguyen (it rhymes). Standing in front of public audience and opening themselves to criticism like that. I know I wouldn't be able to do that for sure. I don't like people rubbing in my sensitive patches but that's just me. I personally think that the GUI was not that bad?! Okay what..! My BTDT seems to pale in comparison.. Oops.
Then again I was never the designer type. All the while, I was looking more at the implementation and that is really really well done IMO. It really pains me when they said they decided to reduce from 20 over features to just 4 simple features, just to make it more 'design fit'. If I were a programmer on that team, I would be really heart broken. And the fact they could redo the app in 24 hours shows how amazing the developer team is. IMHO, design is something really objective. If too much stuff and features means bad, then what about IVLE? (I'm not saying IVLE was done badly)

Case study two. A business guy for a leader is something that I definitely won't agree on, even if I am the only programmer. It takes more than just talk and business sense to be a leader.  There's a reason why 2LT needs to go through 9months of hellish training to get commissioned. It's for a very good reason. And if a business guy leader were to come and tell me hey why didn't you get this or that done, I'd be really pissed lol. When something doesn't get done, help them, or if you can't, don't make it worse. That's the policy I follow.
Always solve the problem at hand first, then worry about other stuff later. One of the phrase I felt strongly against was where it said "serene and I were so....., the programmers just couldn't deliver" - or something like that. If I were that programmer and if I had been working my ass off to receive something like that, I would pop. The person who wrote that just showed me how selfish a person he is. Wow.

Well I feel that I'm getting more agitated on that topic so i'm gonna switch. My macs acting up again, damn it's only 3 months old. Argh.
There were some good points too I picked from the presentation. Team first or idea first? I hadn't ever thought that deep into that, but it's interesting. How it works both ways. But for me it's pretty much team first. It's like prof said, like marriage. Ideas can be developed much easier than bonds IMO.

Sunday, 18 September 2011

Get Help

Wow I didn't know such an app existed? I totally agree with the problem they envisioned. We may have hundred(s) of friends but we won't know who to look for when we need help. Neither do we know when a friend is in particular need of help on a certain issue. A friend in need is a friend indeed.

I thought the screenshots of the initial version looked pretty decent. It was quite a bunch to see, but I felt that there weren't any really unnecessary stuff. There were a lot of functionalities implemented which is pretty cool. As for user experience, I like how easy it is for a user to create a new project request. What could have been done perhaps was to separate the process into stages so that the input fields wouldn't be so cluttered. Otherwise, the design was okay, if not perhaps needed some improvement.

One of the functionalities was to let users choose the audience for the request. The implementation would have been difficult, and the developers must have took a great deal of time in getting it to perfection.
Its definitely needed and they have done a good job implementing it. However sometimes too much functionalities might not really mean a good thing. People like choices, but dislike choices. Especially when the choices are not self explanatory. Like: what is "Post to all my friends" and yet, "No! show only reliable people" ? probably a glitch lol.

I guess the way it works is that it sends a feed to your friends' walls when you push a request. That would be a problem because its hard to monitor walls sometimes and important information would easily slip us by when we do not pay attention at the particular moment. So i guess the developers decided to implement SMS feeds, but wouldn't that turn out too costly?

Perhaps a really minor issue would be the alignment of the input fields. I believe the improved version would have been much more appealing.

Overall, i feel the UI was the one that pulled the score down. Too much words, and the uneven sizes of words and icons makes it look rather unappealing. The idea behind the app was really great and could have brought in so much more social interaction. But even good ideas might not work out. It seems nowadays that its either of the 2: it snowballs and you can't stop it even if u want to, or it never gets enough popularity ever. 

Wednesday, 14 September 2011

Here and now

Oops its been like 3 weeks since my last blog. I totally forgot about this.

A lot has happened this last 3 weeks, FB app was finally over and we are onto mobile apps. From FB App, I realized how easy it was really to integrate an app with Facebook lol. So now for every new project I do, I tend to set up FB utilities first. Even if I don't use any information, allowing users to login and see their own info is already pretty awesome. At least to me it was lol, until I learnt how to do it. And Google analytics, its so easy why not.

I'd probably spend some time after the term to explore Twitter and Google+ APIs, since that seems to be the norm for all websites now. And maybe yahoo and bing analytics(if it exists).

Also, working on this app has given me an experience like no other. All through out school, I have never worked on a project like this, or worked on any project in this manner. A project that is actually to be launched and seen by the public. And the deadlines, whew. It was thrilling. In between, we had some good times and some bad times. Our group grew closer, i felt. Spending so many days and nights coding (sometimes through the night). We shared the pressures of the deadlines, and the fulfillment in the completion.

We did have some rough times as well. To my group members if you're reading this, I hope we can get over it as theres nothing personal to it.

Its been about 2weeks since we kicked off on mobile apps. The feeling is quite similar. I realized that creating a mobile application is really not so difficult. I used to download sample programs on objective-c to try and understand them while i was trying to explore on my own, but lol. I didn't realize that creating a mobile app can be as simple as using a webpage. So thats definitely a huge takeaway! Also, I've been experimenting on the free frameworks and I realized that most required functionalities can be implemented rather easily. The really important thing here is the idea and well, I hope our idea works out.

Another thing I've learnt so far is on REST API. I spent 3 whole days thinking about its implementation. Like how to create a clean URL. Implementing SQL queries is not difficult, but how do you make it RESTful? In particular, how does one create a clean URL interface for quering like graph api does it? I searched for days for the answer!!! And got nothing.
I was finally shone the light by Eldwin (thank you man). This, i wouldn't have learnt if not for this course.
Who would've thought it was a hidden url-redirect that maps a clean URL to a ?var dirty URL? I don't think i'd ever think of that lol.

A couple of days ago we also had a rather distinguished guest over. Milton Chen, CTO of VSee, came down and shared with us some of his experiences, as well as his video conferencing software. At first glance, he really didn't seem like much(sorry). And the app, well - its just another video conferring tool. Until he said it was running on 3G. That got me. I don't do video conferencing a lot, but I know how unsmooth it usually is, even with a good broadband. My team did VNC Viewer for FBSeminar, and to be absolutely honest, VNC Viewer was terrible. The delays make me never want to use it ever.
So when i saw VSee and how smooth it was, I realized the difference. This wasn't just ANOTHER video conferencing tool.

Also I've heard of CISCO telecasts and their amazing clarity, its as if the other person is right in front of you. I've also heard of their exorbitant rates. So I'm looking forward to when VSee brings their telecast technologies to NUS.

The stuff Milton shared, well i only managed to catch a few points. Particularly one that struck a chord was when he said we can't achieve everything. Go back and think of a few things that you always wanted to do, and think about not doing them. You'll be fine, was what he said. Hey, I agree with this. Not because I am a slacker (i really am) but because its true. I mean, Milton himself, a workaholic, is saying this. The underlying message is not to discourage, but really more like, i feel, to learn to give up certain things in life. It's absolutely necessary. Like they say, aim for the stars so you land on the clouds. You can't have everything in life. Of course, if you don't fight then you would have nothing (i know that, were you gonna say it? :) ).

Then the talk got a little... hmm, touchy? Relationships and stuff.. lol

Alright, better get back to working on app.