I just re-read my first two posts that I wrote for this blog.
Let me start by saying I am really glad that I took 3216. I haven’t been glad with every assignment I’ve done or some of the work I’ve churned out. But on the whole, I am glad I took this class. I have learnt a lot. And I guess a fair bit of it was not what I was expecting to learnt.
Quite a bit of the stuff I’ve learnt was technical. Things like FBML, PHP, mySQL, JQuery and Sencha. Or even things like how to set up version control (which I still don’t know how to do but at least I now know it exists). I think most of these topics would be quite frivolous for the compsci guys but for an engineer like me they’re quite new and I’m glad for the experience. However the nature of 3216 is that you don’t really learn about these things in depth. Because of the short time frames for most assignments, it’s usually just learning enough to cobble together something that works. Which is alright really, because I know enough to pick up the rest on my own. Google is my friend.
Quite a bit of the stuff I learnt was not technical. Like project management. Or how incredibly important finding the right people to work with is. Or a teeny tiny bit about what to prepare before going into a business meeting.
So I’m basically saying I have learnt a lot of stuff.
My second post was titled finish strong. I’m not sure whether I have. The final project is done and I’m fairly happy with what we produced. There were times during the project that I basically felt like ball of jelly. And there were time I felt I wasn’t pulling my weight in the group.
Also 3216 made me think about other things. I’ve always wanted to be an entrepreneur and this course actually has made think quite a bit about what really constitutes value. Angry Birds is probably the most famous mobile game and has probably made it’s developers oodles of money. But I think it has zero value. Most people find it a somewhat entertaining way to burn some time (I find it annoying). Do I really just want to be producing things that help people burn time? I’ve been thinking about what I want to do in the future and I hope the things I’m involved in actually do have value. I think technology really is one of the shaping forces of society and is incredibly influential in shaping people’s lives as well. I haven’t got an answer yet about what my way forward is, but I’ll continue to think about it.
I do truly hate Sencha Touch.
I believe that browser based technology is the future and that almost every app in the future will run on a browser and all our data will will live in the cloud somewhere.
The keywords in that sentence were “is the future”. Because in the present it is incredibly buggy and frustrating and makes me want to break things.
Sencha Touch uses some new fangled thing where it completely does away with HTML and opts for writing out everything in Javascript. It splits up layouts into panels and organizes them in layouts.
The documentation for Sencha Touch is downright shoddy. There is sufficient documentation if all you are looking to do is create a few panels and do some transitions here and there. For almost every tutorial I could find, the entire application is written as a single Javascript file. For larger applications where you want to use a MVC and split your application up into more manageable chunks of code, google-fu brought me a grand total of two proper tutorials. Neither of these work. So we had to piece together a bit from tutorial 1 and a bit from tutorial 2 and spend a ridiculous amount of time staring at the javascript console trying to figure out what was wrong. We did get it to work eventually.
In contrast, when I was looking into Android development, the amount of documentation available online is remarkable. There are entire books written on the subject and very active forums where you can ask questions and actually get answers.
Besides being poorly documented, the technology itself isn’t quite there yet. Things don’t run as smoothly as they should. A comparison between a google map in a native app and our sencha-touch-javascript-object map shows very obvious differences. The native app renders much more smoothly and looks better. So even when the technology does work, it’s still isn’t as good.
Also other limitations of course include things like the resources available to native apps. Native apps can access notifications and send sms-es and make calls and access contacts and do all sorts of other things. A HTML5 app cannot do any of these things. We got around this by using PhoneGap, but this additional layer just slows down the app even further.
I guess the problem with being on the bleeding edge of technology is that you tend to bleed. The upside of all this is that these technologies are going to be big in the future, and getting experience in them right now will be useful. So I have to just suck it up.
“some folks have fallen behind in the blogging”
Yeap that would be me. Mm that’s about 5 weeks of blogging to catch up on. In my defense, I actually type my own diary and I find I’m more honest when I know I’m typing/writing for no one other than myself.
Anyhow, we’ve embarked on a Final Project.
We obviously did not define the project clearly enough when we started because it has sort of evolved on its own as we went along. I don’t think this is a good thing. We started off with the aim of doing a taxi sharing app with a little side dish of taxi booking + some useful utilities.
After we started working on the project and we started looking at implementation and numbers and culture in Singapore and what not we came to the conclusion that taxi sharing would not actually be feasible in Singapore. Which is not a good conclusion to come to in the 2nd week of a 6 week project.
The upside was that we realized we could actually move towards the taxi booking + useful utilities aspects of the project. Taxi booking has been done before, but there isn’t really one that has the additional utilities that we want to implement.
And after another week or so we realized that the best way to go about this would be to partner with a taxi company to produce a useful app. We’ve actually somewhat succeeded in this, but that will be a blog entry for another day.
My plan for catching up on this blog
please don’t forget blogging (II): Our choice of technology aka why I hate Sencha
please don’t forget blogging (III): Our amazing business (ad)venture!
please don’t forget blogging (IV): What I’ve relearnt about group dynamics
please don’t forget blogging (V): What I’ve learnt in CS3216.
And at the end I’ll probably have a post about reflections about the whole of this course.
re·cess [ri-ses, ree-ses]
noun
1. temporary withdrawal or cessation from the usual work oractivity.
2. a period of such withdrawal.
Usability vs Aesthetics
The first thing I noticed about the front page was the ginormous “I need help with” and I think that’s great! If I go to the app I immediately know what I need to do. I need to type in what I need help with, and hit the big red “call for help button”.
The icons are very nicely designed, they’re straight forward and self-explanatory. I don’t like the way they’re laid out, but more about that later.
There were some things on the front page which I didn’t like.
1. The text boxes for deadline, estimated time and location do not line up. It seems like a very simple thing to do to line these up, and it would make it so much more pleasant to look at.
2. The tabs at the top which are at an angle. I see no reason to have them tilted. The rest of the page is pretty much an exercise in horizontal and vertical lines, the slanted tabs look out of place.
Number of options/ freedom given to user when posting a need
1. I understand having the option to post your need to twitter, as it’s pretty much a broadcast service and it would be quite easy for people to drop you a reply if they can help. I don’t quite agree with the SMS option. SMSes tend to be more personal and mass spamming SMSes tends to annoy people. If you already have someone in mind to SMS, just pick up your phone and SMS them, there’s no need for an app. And I have no idea what the RSS option means.
2. Deadline, estimated time, location and description all seem to be useful optional details when asking for help. I’m assuming these are optional and only need to be filled in if you want to.
3. The overview page is sweet. Very clean. Nice big obvious buttons with obvious labels. Only thing that stands out is the slanty tabs again.
Cycle of interactions & incentives
1. I really like how the achievement nicknames are inventive and interesting. I especially like Sizzly Sizzler. System seems very easy to abuse thou. It doesn’t really differentiate how big a fire someone helped out with.
2. I’m not sure if I would be motivated to help someone out for the badges and achievements thou. For a project like this I think I would help someone out if the project was interesting and I had the expertise. Wouldn’t really matter all that much to me whether I go a badge for it or not. A virtual badge at that. Made of pixels.
(Having said that I know how important things made of pixels are in other games and whatnot, just not so much in this one.)
3. I generally think that the cycle of interaction is quite good. I can post my need quite easily. Other people can respond to me quite easily. People can be referred to me. Which is pretty much the basic functions of the app, and they all seem easy/straightforward to do.
Other problems
I wonder if the team faced problems of critical mass. This would be a great app to use if everyone was using it, not so much if it’s just 3 people. The app is pretty much crowd-sourcing, and crowd-sourcing without a crowd doesn’t work.
Other things
Can’t think of any real way to monetize this besides ads. A person says they need help with photoshop, they get an ad about photoshop classes. Or something like that.
Also I really curious to know what happened to the app after the assignment ended.
Mm wasn’t like any other party I’ve been to :P
But I thought some of the ideas were fantastic. One thing that I’ve realized is that I could easily spend the next 5 years just working on the pet projects that I have and I wouldn’t run out of things to do.
And got me thinking about how there are so many incredibly talented technically competent people that want to graduate and get a job and work for other people. To each his own I guess.
Also the second Joshua that presented, the one about music collaboration, he made me feel like a caveman.
Well first of all I must say Milton was a joy to listen to. I cannot remember the last time I watched someone who was so obviously happy to be giving a presentation. His incredible passion and enthusiasm really shone through in the way he carried himself, and I don’t think he stopped smiling for even a moment.
Interestingly enough for a man with a tech start-up, I thought all his little pearls of wisdom were really just relevant to life and not just to starting a company.
1. Try to find three things that you’ve learnt each and every day. I actually have tried to do this, and while three things seems very little, this is a surprisingly hard task. I’ll need to try much harder with this one.
2. Be bored. I’m no stranger to taking Singapore’s (supposedly) first class public transport system. But I usually listen to music or read a book along the way. I guess now I have a third alternative: Be bored.
3. More then what Milton said about his company, I found the way his associates spoke about the company to be really telling about the kind of corporate culture that VSee has built. It’s easy enough for a CEO to be in love with his company, but a little less common for the rank and file workers to love it. The two girls he brought along with him (I can’r remember their names) really seemed to have had really positive experiences with the company. And not many companies can brag about taking wake boarding trips either I guess.
4. Don’t tell great people they’re great. And this one is good advice that I think I already know, and definitely agree with. Most people that are damn zhai know it. And they hear it often enough. I find that people that are damn zhai are often just looking for other people that are damn zhai. So just work towards being damn zhai. Then you can listen to other people telling you you are damn zhai all the time, and not give a damn either.
Having done flipboard myself, I thought that the Pulse News presentation was very interesting.
Pulse news is essentially a news aggregation application that allows users to follow multiple feeds. The UI uses a vertical and horizontal scrolling interface to easily access large amounts of content in a logical manner. The group did a really good job of conveying the ease of use and intuitive UI that Pulse News offers.
Pulse News’ bad features were also well covered. The inability to customize the theme as well as the limited search options were valid points.
The only criticism I had of the group was about the section about possible improvements. I thought the idea of using text-to-speech seemed rather gimmicky. The written prose form that most feeds come in make it unsuitable for someone looking to catch up quickly about the news.
Flipboard and Pulsenews are really not that different products. They are basically RSS readers that have managed to differentiate themselves by having a simple and intuitive UI.
The lesson learnt: People like pretty things, good implementation of UI matter.
It is sometimes an appropriate response to reality to go insane.
I’ll be honest. I don’t think I actually learnt anything in Monday’s lecture. I picked up abit-sorta-kinda-might-be-useful-in-the-future kind of stuff. But most of it was just Microsoft trying to promote themselves. As an actual Microsoft (sort of) supporter, it was quite painful to watch them demo their voice recognition.
Trying to learn PHP, MySQL and JQuery at the same time has messed up my head. I sometimes don’t recognize what I’m trying to write anymore. My code doesn’t compile/run because I declared Javascript variables in my PHP code, and vice versa.
Not to say I’m not learning tonnes. I am. So I shan’t complain.
Page 1 of 2