Thursday, 27 October 2011

Need to Stop and Think for a While

My life is really buggy these days.  So buggy that I even cannot figure out what I am doing and where I am heading. I really need to stop and think for a while.

1. CS3216 is not about grades, but all that count are grades.That's a bit mysterious. Honestly, I do think my group is doing pretty good in the final project, except the time management is not well conducted. My group members are all very intelligent people. Hu Qiang has a very clear mind on what direction he should be heading(not only in terms of UI). Yingbo is fast in coding. Aldrian thinks really deep and  comprehensive. I am also doing pretty well in this project. In the first week, we've developed the ePub file handler(Aldrian), REST api(Me), reading page(Hu Qiang) and  the basic javascript functionalities(Yingbo). However, when I look at the final project requirements, it says the prototype needs to be as good as the previous assignments and that counts for 10% of the total mark! I'm very worried though. Thankfully, Prof. Ben gave us one extra week to polish it to a that standard. We worked out the book store/personal library(Hu Qiang), localstorage(Yingbo), Synchronization(Aldrian&Me)&Social integration(Me). All that left for us is debugging. We manage to fix most bugs, but unfortunately it's not that easy to be totally bug free. I thought we can finish the whole thing by last Saturday, but we too optimistically estimated the timing. As local database is never getting any updates, we changed the whole local database into local storage and did the synchronization for the local storage and the server. It unexpectedly takes the whole weekend. The most difficult part for our project is synchronization and logic flow. For the synchronization, thanks to Aldrian who is really an awesome programmer, we finished the sync function without bugs on Sunday night after Yingbo finished debugging the local storage. I personally feel ashamed not be able to submit a bug-free ebook reader to Prof. Ben when he has already given us a lenient extension. The problem that really bugs us is the logic flow. We shall first check whether there is a userID stored in our local storage.We'll also need to check the user's mode(online/offline) to determine whether to fetch from local storage or from the server. Bugs can come all along the way from the html, the javascriptAPI to the RESTful API in the server. When we show the demo on Tuesday, there are still many problems. One big bug turns out to be my fault. The facebook api unexpectedly returns a undefined uid value when the javascript API is called. I fixed it after dismissing but find another bug in my UPDATE httprequest, which supposed to fetch some values using GET method and some using PUT. The bugs are almost fixed now but there still got some problems with the logic. As our API is developed before the UI, a userID have to be passed to perform all the functions. We've got some disagreements on the guests login function which may cause a big problem if a fixed userID is used to perform all the functions as multiple users are changing the same reading history/bookmark/settings, etc.

Really got many things to write, like the IP address in our EC2 instance is not detectable in China. The cover page takes too much time to load and why we developed the upload function but choose not deploy it, etc.

Prof.Ben asked about reading epub via providing the ebook url. That's simple to develop, actually I have found the github code few weeks ago using purely javascript to first unzip the epub and then using iframe to display all the html contents. We have thought through at the beginning of our project. We can choose either to process the ebook data on the client side or process the data on the server. Both way is acceptable. However, we are not fully utilizing the processing power of the cloud if we are relying on the client side to process the data. Another concern is that we'll need to get the standard data to store the book infor directly to our database to allow other people to read and SYNCHRONIZE.

2. Am I suitable to become an entrepreneur? After working with many teams this semester, I gradually realize the importance of a good team is really a critical fact for one's success. For instance, I refused a week team and chose to work in a very strong team for a HyperMarket embedded system project. It turns out that the two teams are going to end up with a very different standard of final results. In a strong team, there will be  leading players who will ensure the quality of a job and control the process of the project. People will all be contributing. However, in a weak team, most people will take the soy source and only one or two team leaders will take the fully responsibility. Fortunately, my CS3216 group is awesome expect we are all tend to be individual thinkers/workers and even the strongest programmer is not sort of leadership type. Communication is important but really not easy. I am playing a leading role in a CS2102 project. Thanks to CS3216, I know clearly about what is expected and how to make the things work. Unfortunately, 3 out of the five team members are weak programmers( Though I'm pretty weak in CS3216, but I can consider to be a pretty strong programmer in CS2102). I am suspecting there will be too few brilliant workforce in the market to work for me if I decide to build my own company. However, after listening to the talk on Monday, I found that teams not seem to be that important though...wondering whether Prof.Ben brought some entrepreneurs which are just too lucky.  I intended to ask a question on the co-funders as well. As I observe, those who have worked for few years tend to build their individual businesses. While those we started their own businesses right after(or before) graduation tend to work with a co-founder. Google/Apple/Microsoft, etc, those great companies seem to follow the pattern of two initial founders, one  CEO and one CTO.  I seem to be more keen to be a CTO, but I personally knows my own technology background is not really that strong. I seem not a CEO type either, lack of good communication skills, convincing decision making skills, etc.Not really likely to become an entrepreneur, unless I can really find a good idea and make it happen then occupy the market ASAP. Hu Qiang and I shared the same birthday, maybe we'll work together someday, but before that we both need to be much more stronger.

HaHaHaHa , Sleep!

1 comment:

  1. I am suspecting there will be too few brilliant workforce in the market to work for me if I decide to build my own company.

    Yep, this is a real problem.

    I found that teams not seem to be that important though...wondering whether Prof.Ben brought some entrepreneurs which are just too lucky.

    No, these guys are good, not just lucky. But note that they are not as big as Apple or Google. To get big, need a lot of good people.

    ReplyDelete