Wednesday, 2 November 2011

Long Long Way to Go

Honestly, our group is doing pretty well in this project. Though we thought we are a bit slow at the pace, we managed to show most of the functions in this week's class. Thanks to all the testing people who have gave us many feedbacks and nice suggestions, our app now has a much clearer logic flow.We kept on changing and changing, from the UI, the javascript implementation to the logic flow. We're still changing according to the feedbacks. The offline reading implementation has been changed three times. Initially we planned to store the latest 10 books the user read to the local storage, that might be good for the user if they want to read the books offline. However,that may consume too much money for them if they are using paid services to download the data. That's also slower for the loading as some ebooks can be pretty big(like 1MB). Then we changed to only download the current book. That's not nice, either. What if the user want to read another book, or else the book is too big(like the Ming Dynasty historical book)? Later we choose to let the user to decide whether to download the book or not. That would be nice for the users. We also developed an algorithm to resize the images of the book covers. Initially, the book covers can be pretty big. The index.html site(book store) was about 1.5MB. That's too big. The social network JS also caused problems. It takes too long to fetch from their servers, the initial site takes 20 seconds to load! We then resized the book cover images on the client side and kept the social network JS in our own site, and changed the Jquery mobile and Jquery to their mini versions. The 1.5MB site becomes 300KB and it takes less then 1s to load in Singapore.
However, we initially used the newest Renren Javascript API to get the access token and  then get the uid from them, which is really fast. However, renren refused to approve our request for not using their standard login method(which is like a fbml xml thing). Now it takes 3-4 seconds to fully load the page, because of renren's standard login widget. It will be even slower if we did not put facebook all.js in our own site. We also find bugs like Jquery mobile tapping is not working on IOS 5, Javascript client cross-domain problem, etc.

UI is the least important thing for programmers, however, the most important thing for the users. Our UI designer Hu Qiang really has a pretty nice UI sense. The ebook is simple and intuitive. I like it. There are still some modifications needs to be done for font size adjustment, book cover adjustment, etc. Users are complaining that the number of texts/page is not well displayed in small devices. Yingbo is already crazy about adjusting the font size after manual adjusting it for a long time. It's not simply multiply some magical coefficients. There is limitation on the ebook format itself, too. Aldrian and I may continue working on it and embed the images inside the html texts(using base64) and maybe add more <p> tags for Yingbo to process.

I'm pretty pleased that our app is getting pretty popular. Today along, we've got 150 new visitors and 2000 page views from Singapore, China, US, and even some from Switzerland, Australia, Belgium, Finland, etc. That's pretty encouraging. We've already got over 500 unique visitors and over 7800 page views which is quite close to Prof.Ben's bottom line(10,000). Honestly, the problem we initially want to solve may not happen that often(synchronize reading history in different devices), For readers like me, it's not that painful as I normally didn't read books on my ipod touch or the browser. I would like to borrow a hard copy book or read on Kindle(which is not harmful for my eyes). But there is a trend that people will have an increasing need for this kind of functionalities as we are getting more devices, people would also like to share with their friends while reading. Mobile, Cloud and Social-- A ebook reader that combine these three things. Yes, I find it quite cool:)))

Comments on other groups. 
Well, I like many ideas presented in the class. For instance,the moral education site, which will really make a positive impact on the society, the public letter sending site, which is pretty cool. Some are executing very well, like the cute 3D animation gaming.The apps are mostly creating values, unlike many facebook apps which basically waste many people's time.  I really feel that we all deserve a good mark for the efforts we have put. I think the way of a forced distribution is unfair though I'm pretty confident my group's app is among the best.

Future planning. CS3216 is really different from other classes. I find that our app really has a good commercial potential. I'd like to put the site in China and examine how well the market can be before the site die. We shall at least make enough profits to pay for our own server, but it would take a pretty long time to reach that goal. I'm not that confident though the product is really really really good. We'll try to figure out some way to prevent the site from dying before we successfully monetize the app.

Need to focus on other courses as well. Thankfully, not many...Good night


  1. Thank you, Prof. Ben. Do you think it would be good if we partner with the book retailers or let the users upload and share?

  2. It depends.

    If you want to partner with book retailers, you will need to deal with the DRM issue.