Thursday, 7 February 2013

about TEAMMATES


http://teammatesv4.appspot.com
This is the open source project currently I am involved in -- TEAMMATES. TEAMMATES is a free peer evaluation and peer feedback system for student teams available online. Having been a contributor for about 4 weeks, I feel that it is always not easy to measure the issues as well as improve the product in the real life. Before you hand on to do coding or debugging or something else related to source code itself, you need to think seriously to balance the tradeoff among series of suggestions. This is what I realize to be essential to learn and I will do my best to make it.

Saturday, 13 October 2012

What Is Knowledge?


   I still remember that in the lecture of this week, one speaker a question: what things you consider as knowledge? That is actually quite interesting and inspirational for us to know what kind of altitude we should have towards learning.
   In our normal understandings, knowledge mostly means the skills especially technical skills. For example, before we enter the university, all the information we acquired in the class were thought as knowledge. As a result, the course grade we got was treated as the standard to judge how rich your knowledge was. But as we have learnt so many different kinds of things after we entered the university, the scope of knowledge is no longer as narrow as we thought before. Communication skills, self-study ability, project management skills and even the principles in life are all the knowledge you cannot learn from lecture, tutorial or workshop but they are proved to be quite essential. In this case, knowledge is more about your understandings for several aspects of the world other than the useless calculation skills or business cases you learn in the textbooks in order to get higher grade or gain more money.
   For the experience I gain so far from CS3216, I indeed have the feeling that knowledge is not restricted to what we can learn from lectures, tutorial sheets, online documentation content or experience shared by skillful seniors. When I do front-end design, design for UI and UX is not the mechanized and tedious coding work but really depends on your life experience, your arts connoisseurship and even your personalities. Good arts connoisseurship results in harmonious UI structuring splendid UI appearance and life experience and your personalities decide whether you can provide the results that users really want under their oral requirements for you. Steve Jobs said that when users propose the requirements for the products, in most case they won’t correctly deliver their desires and that is your responsibility to figure out what are hidden under the surface. Therefore, this design for UX requires a lot on your comprehensive abilities or in another word, knowledge. That’s why we can see that the persons who design the most excellent front-end are not just experts in computer technology but also out-standing in many areas which may seems not to be relevant with design.
   Live and learn. That is not just a good learning attitude. Moreover, it tells us that knowledge exist in almost everywhere in our lives. Living and learning help us discover the knowledge hidden inside lives and that probably will be more important and valuable than what we gain from standard textbooks and trainings.

Wednesday, 3 October 2012

Plan Well before Your Start Working


  For what Lanh had said, I cannot agree more because it is just like that the idea is your blueprint of building and the techniques you master now is the base of your building. How can the building be if you cannot build a reliable base even you have a great blueprint? Then, for the question that whether the idea is important or the execution is important, I have to say this should not be a question because obviously both are important because a good application is always with a good innovation idea and well-handled execution. These two points happen in different phases of application development and they should be given enough attention in each phase.
  For Facebook, what I want to say is the success it has done recently for the transfer of technical focus from HTML5 to native mobile apps. No matter whether this decision is correct or not, the improvements of the performance are quite obviously and falling condition of its share price has been reversed. This gives us a convictive lesson on how should we make good decisions in proper time.
  For Another life, actually this idea went to the wrong way at the very beginning because the team came up with this idea even without seriously thinking clearly about the logic flow and values users can gain from. For fan Gang, actually it is not a bad idea to start from because the logic and usage of this idea is quite clear and straightforward.
  For the decision of whether change project idea or not in the mid-way, my opinion is that the general cost of both decisions should be measured and considered according to the remaining time firstly. In this phase, since the original idea was almost impossible to be well implemented on time, the team should decisively make the decision early to change to measurable ideas.
  After reading through the whole case, in my point of view, there are two major problems for the team. First, they did not evaluate the time required for developing the whole application in the early stage of their project. Second, they kept planning for too many features for each idea they chose to work on without clear understanding of the core features of each. For non-obvious problem, they lacked a decisive decision maker with clear understanding about the whole working logic of each idea.
  They actively met up to discuss about what problems would be faced and gained feedbacks from others. These were what they did well.
  If I was Jeremy on the evening of 24th April, I will try my best to call for all my members lastly to cut down all unnecessary components of our applications to ensure the core functions at least work in some extent. Otherwise, I had to tell Dr. Colin about the situations of my group and waited for his suggestions.
  If one of me team members is unable to deliver, the whole working plan may be changed to be a bit tightly. Besides, I should ask for each member about any further issues they may face in the future which will probably affect the progress of our project and plan well based on these details.
  The key point I learn from the case study is: Plan well before your start working. This is actually a quite common sense but it is always ignored when we start an exciting project. Here planning well does not mean to consider every detail. This will lose the flexibility and probably be useless as things always change as time goes on. Instead of caring much about details, the most important things are the clear logic and understanding of project idea and the techniques and time cost evaluation. These points are the fundamental factors for the application development. If they are not carefully considered firstly, probably what happened to Jeremy will happen for you. 

Analyze For the Improvements of GetHelp!


As what have been mentioned in the excerpt of the report for GetHelp! , the developers have done a lot of improvements in UI design after receiving feedbacks from actual users. To summarize the core point, the mainly point they captured and applied in their improvements finally is to make the app more intuitive and concise. This is quite important for a UI designer when he/she organizes the work flow and functionalities of each page of the web app and actually it is still popular and qualified to be a design rule for web app developers. Therefore, besides the changes had been done for the home page of GetHelp!, actually this rule can be applied to all the other pages. For examples, for statistics page, the display of listing all kinds of statistics down in the page with just text description is quite unintuitive and boring. To improve it, some images which can briefly indicate the content of each statistics can be attached with each statistics and after users enter this page, the images will directly give them a general impression on what does each do. This also makes the page more interactive and easy to use. Additionally, for the project page, there is a decision problem on how you should organize the positions of reply box and the answers list. For part of the users who decide to do a help, they probably want to first have a look at other responses and come up with their own answer then. So in this case if we can put the reply box in balanced position with answers list instead of positioning reply box just in front of the answers list, this will not affect the browser experience of both the viewers and users who just want to reply first.
  Furthermore, as mobile app is so popular now that almost all the traditional websites or web apps are willing to make a mobile version of them, the issues remaining are how to transform GetHelp! into the mobile version. Actually, the answer is quite straightforward: Choose all the essential components in the app and reorganize them to fit the size of mobile phones. I found that the work flow of GetHelp! is quite like Facebook. They both base on an asking and replying mechanism. So here, a possible way of doing transforming is following the style of Facebook mobile app. In details, one page for making a new project, one page for overviewing the helps list, one page to show the answers list and give reply box and one page for viewing the statistic list. However, in this case, because of the restriction of the screen size of mobile phones, it’s inevitable to split the functions in each web page into several pages on mobile phones. So another important point is the navigation functions for all these pages. One good example is the structure of Facebook mobile app, which provides a navigation page and also navigation bar in each page. This helps user to follow the work flow of the app with a good user experience.

Saturday, 22 September 2012

Cloud is Accelerating the World

In the guest lecture of this week, one guest from Amazon gave us some brief introduction about their cloud services and some successful start-up examples powered by Amazon EC2 services such as DropBox and Instagram. Besides his detailed explanations and suggestions about startup work flow emphasizing on business model (actually I did not quite get all the content because business model really requires some background knowledge…. :P), I did some deep thinking about the cloud service.
Cloud computing is really not a fresh topic in recent years, even though most of the people probably do not understand what it is. While indeed it is influencing our lives more and more without our awareness. Amazon may not be the first one to push out this service. But it is qualified to be treated as the pioneer of cloud service. Under the pressure of Amazon on pushing cloud service intensively, great IT companies like Google, Microsoft and Apple have deployed their own cloud services respectively. Therefore, now we can automatically get the PDF files, the videos, the bookmarks and so on from any others devices which support the same cloud. These benefits really leave a deep impression for people on cloud service but they are far from the whole meanings of cloud.
As I know, Cloud computing is a new kind of interactions relations among numbers of clients and servers. In the past, the client side could just passively receive the content sent by server without any customizing ability. As time goes on, the positions of client and server become more and more balanced by the increasing technical improvements of browsers. While for cloud, I will say it does emphasize more on client side, which means that client own more power to control and customize the whole work flow in the internet interactions and services. Furthermore, cloud enables users to “move” the tough computing work to cloud side, which owns huge computing power. In this case, user own huge computing resource by just a bit cost to enable them carry out much more large-scale business without deploying too many hardware facilities. That is what Instagram and DropBox applied successfully and how Amazon EC2, S3, etc. and many other cloud services gain profits. So with the development of cloud service, the structure and strategies of many companies especially IT companies has changed greatly and start-up becomes more and more popular as the investment requirements become much lower.
Therefore, no matter in industry area or society area, cloud has proved itself to be a significant role in current age. It makes a person to be much more “powerful”. It is accelerating the development of the World.

Wednesday, 12 September 2012

Create Value, Not Just Create Apps


         For the lecture of this week, we have met a lot of entrepreneurs (or guys just needing some technical assistance), who came with various project topics from sports, home communication to E-commerce and English education. Besides a lot of projects I was interested in, what I realized to be worth sharing is how we should consider when we build apps. Just in purpose of creating a cool app or creating value for users or even yourself by the app.
         As what the situation showed in the pitching session, web apps have been widely accepted and used in many real life areas. Therefore, apps are not long the “toys” for developers to play with but an industrial style to bring values for people’s lives, business production efficiency, etc. In this case, caring more about the product positioning and user experience of the app are much more important and necessary than before. Only after users can gain values from your app can it be called as a real “app”. That is also why our lecture Colin emphasized once and once again that before you started creating your app, thought carefully on the your whole workflow including the purpose of your app, your target users and the best design plan fitting them.
         Furthermore, as we know, the age that any app you build will probably be popular has gone. That is when apps tended to be quite a few about users were just of high interest about this kind of mobile experience. However, now there are about 800 thousand apps in Apple app store. Intensive competition forces us to think more about the usability and user experience of app, which is user-centralized. So in this case, to create value becomes a new standard principle to judge the success of an app. For example, Flipboard turns out to be quite a successful app. Not only its excellent user interface design, but also its integration of social networking and News media create sufficient value for users to give much more convenience for users to read news and posts. That is a significant point for the success of Flipboard, which is sustainable.
         All in all, apps now have been categorized detailedly to fulfill the needs of different areas. In this case the value goal is sort of easier to settle down we developer has a clear idea about what they want to create. But application homogenization makes it much harder to stand out from the “sea” of apps. Here the one that thinks more about how to create value for users will probably win finally. Therefore, hope in following web development, we can think more about that instead of blindly playing inside ours own colorful word while ignoring the actual value brought to users.

Monday, 3 September 2012

Innovate From Life(team 5 presentation review)


      For the presentation of Flipboard, all in all I think the following three points should be important to mention:
1.      Mind about details. This is the most impressive point I got from the presentation. The choice of font style and color makes it quite nature to view the content of the app as if it is a really magazine. And the particular interface design on mobile phone really improves the user experience a lot. This is not also what good design talks to, but also a sort of idea that will be delivered to all the users, which is: the developer care about their feelings. This will definitely win the users hearts and keep them around the app, which is what Flipboard owns now.
2.      Accept users from multiple contexts. So unlike twitter, Facebook or some News apps, which focus on either social networking or News publishing, Flipboard uses its RSS function to integrate social networking with News publishment and present with their wonderful designed GUI. This is really a way of innovation. As a result, users from both sides will be attractive and this is quite beneficial for rapid expansion of the scale of the app.
3.      Last point I will emphasize on one bad point of Flipboard, which is not caching enough content. For this sort of app which requires online remote update access, caching is always a good and necessary way to enhance the user experience, as offline cases will be more or less inevitable for users. So this is really a necessary point for Flipboard to improve.

Flipboard, as the presenter had said, is nothing new. The successful point of it is re-innovating from exist industry models. Here are two points. First is what I have mentioned in point 2 above. Integration of social networking and News publishment really makes Flipboard stand out of others. This is a good model for seeking new ways to innovate. Second is what I observe from many apps. As we know , the growth of IT industry is mostly rely on the trend that IT technologies are more and more used and in people’s normal lives and influence the people’s living styles. Typically example is the popularity of ebooks. This is actually nothing new, but just free book readers from carrying heavy books and read on device conveniently without losing much reading experience. So does what Flipboard has done. It is just nothing new but “moving” magazines from really one into electronic style, which may reduce some reading experience, but with much faster browsing and updating speed and relative low cost. This is really a kind of good innovation strategy, which is what I mean by the title of this blog. In the future, I believe this will be proved to be effective by many new apps or services.