Tuesday, 28 January 2014

Experimenting

The past week involves mostly on experimenting, somewhat similar to the experimental learning concept mentioned in the Lean Startups.

The readpeer project finally went on test by real users and we gathered feedbacks to polish the system based on real situations. Xiaoli and Prof went for meeting in Hangzhou early last week and I'm the only one who dealt with bug fixing+ web service api development+operation.

Early in the week, one senior(CTO) from Visenze(one of few real technical startups) in SG emailed me to join his company. Actually I was supposed to join his company after graduation instead of the Prof's company for a better exposure/involvement to a tech startup. However, I confirmed to Prof to make readpeer a product-standard one before moving to other projects. Now my role is almost fulfilled but I start to realize that it's not just about production design and development, but more about operation and continuous grows.  Even the functionalities and design works have fullfilled doesn't mean I'm done with the project. There are plenties of other stuffs. I told the senior that we are validating the idea and developing mobile apps right now, so I'm not ready yet but can talk to him by end of February. Kindly, he emailed me some suggestions: 1. when the product goes on public, operation(运营) becomes more crucial. 2. Do focus on one mobile platforms instead of both iOS and Android to reduce the opportunity cost. 3.when the idea doesn't work, quickly switch to other directions for validation. The suggestions are really frank.

Let me share more about the readpeer idea dispite that the Prof strongly disagree exposuring ideas to others. It was firstly about academic reading and annotation. However, we consistently seek for potential unique way out to make the system workable in real business. We started to explore the possibility of novel reading four months ago, later finding out we are not special enough to distinguish ourselves.  Then we narrowed down to script reading, which then evolve into mini movie production. The mini movie production idea can be found here: movie. readpeer.com. However, the Prof wrongly assumed that people will easily create music/posters/photo annotations out of their intrinsic motivation+some money awards. The result turned out that the cost is too high to generate such kind of highly time consuming annotations.  The first few days of market testing turned out that people are not annotating given the instructions that they have to attach originally created posters/music. In another word, this idea is Invalid. However, the Prof seems to be happy to see 10+ unique visitors coming to the site while that's certainly a bad number. Though we still haven't started really marketing the site, I started to wonder about the business model. It is impossible to make into a business if we continue believing that extending user base will be a business way out. At least, the market doesn't fit Singapore if we are targeted to people who read original created scripts and making annotations purely out of interests. I started to realize it's a business problem instead of a technical issue.

If I were only a normal employee, that would be none of my business if the business doesn't make sense. However, I guess I'm responsible enough to remind the Prof of the potential dead ends. There are possible way out like selling sub systems to enterprise customers. We will have better competitive advantages when the mobile app goes into play.

For this week's diet, I'm doing good, eating only fish vegetable and toufu, thanks to Prof.Ben's reminder. I hosted a young couch surfer yesterday and today. Unfortunately, he bought me a cup of milk tea in Chinatown last night and my stomach hurts until now...

Saturday, 18 January 2014

Polishing

I stayed in my friend Zhixing's place after polishing the last CS3217 project together with Jingping last night. We plan to publish the small app on App Store to gain some experiences as individual mobile game developers. Hopefully we'll launch a neat version for girls around the Chinese New Year.

The past week is pretty joyful, mostly on debugging and feature/UI polishing. I helped solve a crucial bug on Android TextView text selection. I also polished the website reading page JavaScripts to improve the user experience. The basic web service api also started to get developed. Last Saturday, I attended a design thinking workshop by the OrangeHive. Yangyu and I made a creative logo in the workshop and  that was an interesting experience. 

The iOS app for readpeer is getting great. Most iOS development is done by the junior, Zijian while I sometimes help solve some bugs when he encounters problems. Zijian is getting self-motivated and happy playing with iOS development. That is really great! We are expected to come up with a prototype in a month and then seek professional designers for UI polishing. It is lucky that the idea didn't die as a MVP but really going to become a product for people to use. The web client is launching next week as an experiment for market testing and bug reporting. Busy days are coming.

Another good habbit I started to form is to eat less pork and do more physical exercises every day. It is surprising to get the feedback from my peers that I looked thinner only after 1 week's time.

Too many good things happen this week and no bad news worths recording for now. Stay alert.

Wednesday, 8 January 2014

Getting Better

I started to feel more enthusiastic when the team began to have new people. We started to build Apps and I've got the chance to learn new things again!

A year 2 junior, Zijian decided to learn iOS and joined the team for internship. He is smart and quick in learning the materials. I suggested him to take CS3217 concurrently with the internship and thankfully he got the course admission. Another year 3 junior, Weiran also joined the team for internship on Android development. However, he is a bit weak in programming. Fortunately, I helped motivate him by introduce an online Android lesson on Treehouse. He now became interested in Android development. I've got some design books for him as well since he is interested in design and we've got to push him to be a tech designer. Last two weeks, I've built two simple beginner level android app running on my nexus 7. I also helped Zijian solved an important bug in his pageviewcontroller in IOS. That was a pretty good progress.

However, my real coding skills didn't really get improved in the past few months. My codes still look pretty dirty and full of bugs. Thankfully I started to learn from better programmers on maintaining high code quality. In the web project, a postdoc I worked with is an" Obsessive-compulsive disorder(OCD) patient". Well, she is not a really patient, but she is quite a perfectionist. That's actually pretty helpful for maintaining the code quality. Most of the time, my codes cannot meet her standard. Besides her, I also worked with a professional designer in Beijing and a physics PHD in Chinese Academy of Sciences who is so good in front-end programming. Their self standards are so high that I became more confident in delivering an industrial standard product.

In the web annotation project, I solved two tech problems: 1. text range selection and highlighting 2. pdf to html support. The first problem is crucial for consistent annotation data storage between different devices. That's not an easy task. I've tried a lot of ways to solve the problem. Only the current approach is considered as quite elegant. The solution relies heavily on an open-sourced javascript dom library. The second problem is also very important for academic readings. We've tried pdf.js at the beginning. However, rendering a whole document in the front end would be two expensive. Thus we changed to process the pdf doc in the backend. There was a very elegant open-sourced pdf to html project named pdf2htmlEX which will reserve every detail of the pdf document. However, it turns out to be even heavier for rendering. Thus we shifted to a lighter converter. These two major problems were solved primarily due to the help of open-sourced projects. 

Honestly, I personally don't agree with Prof.Tung in some product design ideas. I would like to eliminate unnecessary features and keep the features as less as possible, while Prof seems to overvalue the technical difficulties and would like to add too many features. I worked with the Beijing PHD on the rails version. I'm in charge of the backend and he the front end. That's a fairly good partnership. 

It was my 5th year in Singapore last December. I wrote two blogposts on Douban where no audiences read. http://www.douban.com/note/322980285/, http://www.douban.com/note/324381741/. I started to think about the past and the future. Things are quite unpredictable. It's useless to worry about future. I've got to move forward.


One problem on faith. I've always wondering about who Jesus is. In another word, "Is Jesus God?". I know from most Christians that they think Jesus is God(100% sure). And it is a fundamental basis for Christianity to recognise Jesus as the Son of God, the God and the Holy Spirit. To be a Christian/Catholics, that should not be doubtful question. There is no percentage of faith. It's either 100% or 0%. However, when I firstly read the Bible, I see Jesus as a holy man. He himself didn't explicitly claim himself as God. Words which can possibly infer his godly nature would be 1."Words become flesh".2. "I and father are one". However, these are also not strong enough to support the claim that Jesus is God. Indeed, Judaism and Islamism don't recognise Jesus as the Lord. Even some miner branches of Christianity like Jehovah's Witnesses consider Jesus's status lower than the Lord. This group of people are called Cults while their understandings are not so wrong from their own interpretation. Unfortunately, one of my friends who come from Church of Hope pitched me about his understanding. He believes that Jesus is just an instance of a so-called Son of God's class. He said his church members all believe that Jesus is not God, even not Son of God. I heard him pray in the name of the Holy Son instead of Jesus(He said Jesus is a flesh of the Holy Son, but not really God. If he is 100% God after raising from the death, his hand should not have scars). Well, I never think in his way, but I started to doubt about the credibility of the so called true believers. If they themselves cannot agree on the key beliefs, how can  they consider themselves as true Christians and others as Cults? What if they are Cults?!

Good Night!