An Emerging Android UI Pattern for Contextual Actions

April 25, 2013 § Leave a comment

Tjerk's Tech Blog

When showing a ListView on Android, there are often more actions associated with a single list item. Providing access to these actions in a simple manner is not easy. This article provides insight into how this problem was solved in the past.

Consequently it explains an emerging UI pattern which provides a much better solution. And last-but-not-least, an open source implementation, which you can use in your Android project.

Important note: I did not invent this pattern, it is already used by some high quality Android apps, such as the new Spotify app. Which initially gave me the idea to implement it myself.

Older Approaches

Some different approaches where used in the history of Android (1).

  • By long-pressing on the list item.
    • This would bring up a context menu, where the user can choose the appropiate action.
  • By swiping the list item left or right
    • After the…

View original post 450 more words

Hello world!

January 29, 2011 § 1 Comment

Welcome to This is your first post. Edit or delete it and start blogging!

A New Start

January 11, 2010 § 2 Comments

Today is CS3216’s first lecture. Very glad to meet a group of passionate and interesting people. Prof Ben’s teaching is always the best, plus a bonus: the PRO lecture slide. Nice packaging!

Last year when I do the show and tell, I am completely FRESH. In comparison, I seems to have learnt a lot of things.  The seniors have given lots of feedback about the modules, xiong, friendship, dream and fun. They are very true and new people will find out the excitement soon. Good Luck!
I want to say more about my friends taking this class. They are Xia Lin, Bin Yu, Zhe Zhou, Wang Chen, Ying Chao and Ye Chen.
Xia Lin is a good singer. You can ask her to give you a performance during Chinese New Year. 😛 We took Scheme together. She can be a programmer and designer.
I’ve known Bin Yu for a long time, but become very good friends after she joined CS3216. She has some experience in software industry and is a skilled programmer and tester.
Zhe Zhou is a computer himself, as other friends like to say. You cannot get any output without giving any input. He may looks a bit shy but he is the kind of diligent programmer that gives people surprise. 
Wang Chen, good at swim, dragon boat, Chinese calligraphy, sculpture, drawing, story telling and making stupid mistakes (I promised him not to say too much about this. :D) I thought I know him very well but I was shocked to know he applied for this class. The reason he says is he doesn’t feel he learnt any thing so far and he wants to know something. I have done many projects with him and he is really a good teammate.
Yin Chao, the 7 module guy. We lived in the same hall when I took CS3216, so he knows the workload he is going to have in the coming semester. Last year, he took 7 modules and played a leading role in our hall’s Chinese drama and remained CAP 5. Don’t be afraid to work with him. He can study only one day before the exam and get a good grade. 🙂
Ye Chen, I know him because of Dota. Many guys had a bad time being beaten by him. Actually, what makes the guys most upset is he doesn’t spend too much time practice. His gaming strategy is outstanding. He is supposed to be my Dota tutor but I cannot find enough interest to play games. 😛 He appealed one more core module last semester so that he can have more time for CS3216. This is called STRATEGY.
Overall, I am very glad to see all the smart people in CS3216. I had a good time today. Again, the lecture slide is impressive.
Looking forward to your killing apps!


May 9, 2009 § 1 Comment

听起来很不错,但事实上是一点也没轻松。考完最后一科ssa抓紧时间跳入泳池游了1000+米,然后直奔com1 overnight。大家都觉得我们彻底没救了,假期熬夜的频率比上课时还高。没办法,一个山寨的团队要把一个山寨的东西放到一个山寨的平台上,任重而道远~ 这么多专业的人都对山寨市场感兴趣,看来主席当年的人口战术真是造福子孙。

往返于油池和com1之余还得收拾行李搬家。本来是可以住原来的寝室,但为了强迫自己仍掉不用的东西,还是换了一个block。三箱书,两箱衣服,一大堆预科无聊时买的东西。行李轻了不少,心里感觉也很爽,but I still need some guys to help when I move to RVR next sem~~

林希,明天就去美国,开始她早上ice cream 晚上 svn+skype 的生活了,enjoy it!

YM的牙,忍了那么久,还是治了吧。我都有一颗烤瓷,没啥丢脸的 =P

ZC,看样子假期会是另一个reading week。不过感觉他的睡眠系统已经历练出来了,走上了一条不归路……


诶,发现写中文的速度回到小学写作文的级别了,有空还是要多练字。 {今天收东西时发现毛笔被蚂蚁啃了 =( }

Talking about YouTube – LOVE STORY (Taylor Swift) meets VIVA LA VIDA (Coldplay) – Piano Cello – …

April 30, 2009 § Leave a comment

CS3216 Final word

April 15, 2009 § 2 Comments

It is so encouraging to read people’s final blog. Everybody learns A LOT from this course. Still remember the sentence Prof Ben told us in the first lecture? What does not kill you makes you stronger. Now, we all survived and we all did a fabulous job in delivering the application. Congrats!

The same as cs1101s, Prof Ben’s last lecture is always the best lecture, cause it is not rocket science but LIFE.

What have we learnt?

1. HTML, PHP, CSS, Ajax, ActionScript, SQL, Mysql, Flex, Microsoft Visual Studio, WPF

Four month ago, I knew absolutely nothing about them. Now I can use them to create something. The more important thing behind these acronyms is the courage and ability to learn new things. It dose not matter how experienced you are in programming. For everything that you need to learn, just learn it. It’s no big deal.

2. Project plan and teamwork

For the first project, my team did not deploy a fully functional application because we did not plan well in advance. Our dream was too big while our ability and time was very limited. Nevertheless, we learnt from that and applied the lesson to our final project. Entity, bean, service, logic layer, presentation layer, seems we have already covered many topic of my future courses.

After a proper plan, execution is the key step to GET THINGS DONE. Here, I must thanks my dearest team members. Without you, I could do nothing. It’s all right we are all freshmen. It’s also OK none of us knows anything about web programming. No matter how steep the learning curve could be, we can conquer that for sure.

3. Networking or fluffy

For every problem I could not Google a solution, we will try every possible way for help. Tutor, senior, PHD, friends, maybe the next call will give you some clue towards the solution. Actually, Zheng Yang, the person who contributed a lot effort in our project, was met in accident. I just explained the problem and did not expect any breaking idea. Later, it turned out that he became an unofficial team member and stayed overnight with us for many days. Don’t believe? It’s true.

Despite the people around us, those who are far away in China also offer lots help. Xiaonei engineers were very kind and help during the authorization and post-authorization of our application. For some xiaonei bugs we reported, they solved them very quickly. The same as our application, xiaonei platform is still young. There may exist some problems but things are getting better day-by-day. Here I also want to thank our twelve thousands users for trying My Campus. The application itself is still very basic. We have many plans for it and we need more time to implement them. For the 3000 universities that do not in our application for now, we will add them once we finish our final exams.

All in all, networking is not that hard. Computer science students can do it well. The only thing to remember is to make friends with your boss, make friends with your clients and be sincere.

How do we a difference?

We make a difference on ourselves. One sentence I said in the first lecture was “ I know nothing now but I hope I can make something when I finish this course.” I fulfill my wish and I believe everybody shares the same feeling with me.

We make a difference on some one around us. It is very encouraging to hear form my friends that they wish to take this course given that they already know how many times we saw the sunrise while doing the project. Everything is possible. All you need is a little bit courage and effort.

Don’t work

Agree, and one more sentence, don’t study. When I was taking the theory test for my driving license, everybody in my testing group majored in management except me. Does China really have so many people to manage? Some parents would be very proud if their children study a popular major but what is the point in that? Can law, medicine, bioengineering guarantees a happy life? Some of my juniors are still worrying about course difficulty, teaching quality, job opportunity and average salary when choosing a major. Actually, they do not need to care about those figures unless they admit they are mediocre.

There is always a choice,

And you don’t know what comes next. For the final project pitching party, I did not prepare anything to pitch initially. However, on the spot, I caught the gut to introduce Xiaonei platform and it turned out to be a very popular topic on that day. What’s more surprising. It gave birth to my first business in life. My tutor was a little bit worried because the contract is due at the same time with my final exam. It’s OK. I can handle that and I really don’t know what will come next.

Final words

Great thanks to Prof Ben, CS3216 tutors, CS3216 students, Zheng Yang, Feng Xuanti, Su Zhan, James, Chun Lin, Zi Han, Xiaonei development team, My Campus users and who help us throughout the whole process.

The learning curve

March 13, 2009 § 1 Comment

What if this lecture was held when the semester just started? Would it be helpful for our first assignment? The answer is yes; at least our code would be more organized. But I feel this kind of skill can only be learnt through experience or failure. Once you know the pain, you start to avoid that. When we were reflecting on our fish project, we could see the consequence of not obeying some of the software engineering principles. We did not have a folder structure, so it became very messy when the number of files increased. For the coding part, we did not write comment as a habit, which may be hard for others (yourself as well) to read your code and debug. Another problem was the division of job and workload. Designers could be very busy at the start but had nothing to do near the end. For programmers, each person was working on a certain part i.e. database, facebook api. There was no overlapping of jobs and it became very hard to us to help each other. These were the main problems of our first assignment. I do not know how many of them could be avoided if we learn software engineering in the first hand. One of my friends said that you can never fully appreciate the software engineering unless you dirty your hand. I agree. It might be a good idea to teach us these things after we have some experience. Otherwise the lecture could be forgotten quickly.

So what do we learn? Abstraction, modularity… Apart form the basic rules in coding; we overlap each other’s job to minimize errors and debugging time. Before we start coding, we spent a LOT time in designing modules, database schema, logic flow. It is hard. Now, I can preview the pain of the coming CVWO project. =0 But once everybody is clear about the process, life becomes much easier. =P

For scrum, it is useful for us to estimate the process. But sometimes, it is hard for us to estimate the workload cause we do not know how much time it takes to learn. Different from normal projects that milestones are cleared quickly at the beginning, our group has to spend much effort in learning. So it is slow at first and speed up later.

These are the things we learnt from our experience and the lecture. Still very naïve, but we are trying our best to get smarter. =)