CS3216 The journey officially ends!

So STEPS done! Report exempted thanks to Colin (y)(y)!

It was so pity that I could not join STEPS as I had to go to Thailand for a competition. At the end, my team did not get a prize. However, we did our best and got good feedbacks. I am so proud of my team.

About me, I learnt a lot from this modules, both technical and non-technical skills. My technical skills have improved a lot. I get to know NodeJS, Android, deployment flow, etc. More importantly, I have seen lots of talents out there, with lots of cool ideas. I suddenly feel that I am so small. However, that is not the inferiority; that will be the motivation for me to try to improve myself more.

In the end, I feel so thankful to CS3216, to Colin and to all of my classmates (eps my teammates) for making a great semester with me. Best lucks for the finals btw 😀

CS3216 – The journey is going to end

So reading week has come already. Time flies just so fast. The Quick-Desk Android app is quite OK now. All basic features are done. Now we only spend time fixing bugs as well as modifying the app such that it will be easiest to present @STEPS.

About STEPS, we had a draft of the clip and the poster as well. But there are a lot of things more to discuss. As the app is about sales things, we have to modify it a little bit to be easier for students to understand. Decorating booth also need to be discussed, about the gifts, dress code, etc.

It is a little bit sad that I can’t join STEPS this semester, as I have to go to Thailand for a competition (ACM ICPC). However, I will try my best for preparing for the STEPS and will be encouraging my team remotely during STEPS 😀

CS3216, Final Project – Knowledge learned & Problems encountered

So it has been a few week since my last blog. Because it’s final project so we get more time to work, as well as more things to code. A coding phase may last 2-3 weeks, so now I am going to summary what I have learned and the problems encountered for the last some weeks.

For what I have learned, of course it is Android development. But this only makes me hate Java more. As I feel that I can do the same thing in iOS with much less code. However it is well-structured. Everything is in flow, i.e. Fragment, Activity, Adapter, etc. This is something like 2-sides blade, it makes the code well-structed but makes it very long also. More than that, I also learned how to work in a big project with more than 1 team :)), from working flow to how to manage the work (project management, .i.e Trello).

However, as the work depends too much on PearComms, it takes time for me to verify somethings. And I am not working directly with server-side team, so every time I got troubles, it takes time for a verification. And some times I got bugs in server side, so it took even more time waiting.

I know this is unavoidable. So I just try to minimize the dependency on server-side team. By creating dummy data, staging APIs, etc while waiting for them to fix bugs / clarify me.

The project are still on progress. I will try my best for the rest of the time.

Week 7 – Final Project

Week 7 has just been passed and the final project has just started as well. For the final project, we have been going to work with PeerComms on QuickDesk. This is an Android app but includes some server work. So we divided into 2 teams: one develops the Android app and one builds the server to provide the restful APIs.

As everyone was busy with midterms, we haven’t really started coding. So we learnt about Android / Go first then we try to code fast from next week. More than that, as the project is under a company, I have learnt how they manage the product very well. We have completed a detailed wireframe and used Trello as the project management tool. Everything will be updated carefully on Trello so everyone can follow. I feel that this is going to be a wonderful experience for me.

Week 6 – What you hope to learn in CS3216?

Well assignment’s due is coming soon. This week is extremely hard for us as we got the first comment of Colin: “What the heck is this”. We were wrong on calculating the workload of this product. It is much harder than we have thought. And it is even harder when there are only 2 developers in the team. We used to plan to reduce the functionalities of the app. But somehow that would lose the original idea: ‘Give more get more’. That is something we really do not want.

So, all we could do is just to try our best. We had a really sleepless week. And fortunately all the functionalities have been done on Sunday. All the work now is just to improve UI/UX and to fulfill the milestones. For me, I learnt a lot in this assignment. As there are only 2 developers in the team so I had to tough front-end also. The Flux architecture, React.js, etc they all used to be new to me. However, now I have an overview on them and could use them confidently.

Week 5 – What you hope to learn in CS3216?

Week 5 came fast and we started the assignment 3. For assignment 3 we have only 3 people, so it is quite difficult at brain-storming. So it took some days for us to finalize the idea. Thus we started coding a little bit late.

Unlikely assignment 1, we had Rahij doing all the stuffs such as skeleton, deploying, etc. For this assignment I had to do that. So lots of trouble with that as I have not done that before. I had to re-deploy for quite some times. But finally everything is ok.

Only about 10 more days and the app is still in beginning state. So we are speeding up to complete it. I think we can finish it in the next 3-4 days hopefully.

Week 4 – What you hope to learn in CS3216?

Finally assignment 1 & 2 have been done. This week was so hard for our assignment 1 as we need to change quite a of thing, from designs to technical things to fulfill the aspirations. By the way we got bugs also, and even worse we only knew when Colin said about that 🙁 So it took quite a lot of time debugging. For example the like button did not work at the first time. Then it took us some days to figure out that it was Facebook’s problems (or Amazon we dont know) as the DNS did not work. So we had to change to IP address for the like button.

About assignment 2, it was quite interested for me. I used to think that it was ridiculous as exact 20 slides, exact 20 seconds per slide, etc that was something new to me. I had never seen something like that before. So we got lots of fun every rehearsals as we need to calculate the exact time for each slide. Finally I felt it was the exact thing for developers 🙂

Now it is time to come up with Assignment 3. Let’s do it 🙂

CS3216 – App review on “Medium”

Well the assignment 2 has just passed. I was working on Slack but now I am going to review on Medium.

The presentation of team 8 gave me an overview about Medium. Basically Medium is something between Twitter and Blog, so it is called Medium :)). This is a platform where people can share the ideas and stories to the world. To be honest, I have never used Medium; so after the presentation I came back and took a look at the real application. Then I listed 3 main points in the presentation and some of my thoughts about these points.

  1. Team 8 stated that Medium is focusing on the content. I am totally agree with this. Obviously the purpose of the app is to share the ideas and stories to the world so the content should be the most important. They even have a team for picking good articles. However is this really good? Each person has his own taste on reading and this hand-picking seems to be too subjective. For me I am not very interested in reading, so I still believe in articles with more viewers. But for who is very interested in reading, this way may increase the quality of the articles? This is still controversy I think.
  2. Team 8 also mentioned about the design of Medium. It somehow focuses on the simplify to highlight the content. However, they also said that the over-simplification may cause Medium to lose many first-time users. I am not very agree with this. In my opinion, simplification is good. The problem lies on the design of the app, not the simplification. First time I visited the page, it hurt my eyes as the the page was too bright and it was mid-night. So for this problem, I recommend the same simplify with another color scheme, maybe blue or dark theme (not so dark) that create the peaceful. Just imagine that it is a peaceful autumn afternoon, you are sitting with a cup of coffee/tea and there is a very beautiful scene with river, tree and singing birds in front of your eyes. Is that too perfect time for picking a book/article?
  3. The last point I want to mention is user experience. I really like the highlighting text. So that you can note down some good sentences that you want to remember. More than that, you even can share it if you want and interact with the writer. The interaction between the writer and the reader is indispensable for an app like Medium. And it supports this interaction very well. Reader can comment on each sentence of the article.

Overall, there is still lots of things need to discuss about Median. But it is still a very good place to read, write and share your thoughts to the world.

Week 3 – What you hope to learn in CS3216?

Week 3 has just ended and the deadline for assignment 1 is coming.

This is such a very bad week for our team after Colin gave us the comments on the current product. The UI is terrible! This seems to be unavoidable with a team of 4 back-end coders. And we started to read more about designing, how to choose the color, make animations, etc. And somehow the UI now looks quite OK. It is not perfect, of course; but quite good for 4 back-end guys.

For me, I learnt some very cool css animations (for me). I feel that is very interesting as I have not touched that thing so much.

I was so happy with that. Once more week with this assignment and we will try our best to make it as perfect as possible.

Week 2 – What you hope to learn in CS3216?

Week 2 has been gone so fast. Our team has completed a basic web application.

We are lucky to have Rahij in the team as he completed the skeleton so quickly and created a work flow in BitBucket for us. So that we could start the work soon and code independently.

For me, this week I mainly take the responsibility for the UI. Designing has never been my strength so it took me quite a lot of time recoding. However, I learnt quite a lot of something new, such as git stuffs, node.js, jade, css tricks, etc. And I am very happy with that. I will try my best to learn more and improve the application more.