Saturday, September 30, 2017

My Work - Dropfoods and the integration with Moca payment service

After a month of work, finally me and my team finished the integration between our product, Dropfoods vending machine and Moca payment service. So, now if you currently located in Vietnam and using Moca as your payment service, hence you can easily to buy any fruits, snack or energy drink from Dropfoods with your Moca account.

The development sprint was really fun to me because I can use my knowledge in C# and DotNet which I learned in college to made something that work in the real life. And yes, people now using it.

You would like to know why C# and DotNet here right? Just because we developed our system for the vending machine using WPF.

You can see the captured video below to know how to use Dropfoods with Moca, very handy and sweet. The team will try to deploy this feature to all of our vending machines in Vietnam, and I can see hundred of people using my work. That is awesome.


Friday, August 11, 2017

Android Shared Preference Util

First of all, this is nothing new but for someone who just started working with Android, this util must be useful. You can found the Github contains the source code for this post here.

Let wrap-up about the Shared Preference in Android. According to Google, SharedPreferences is:
if you have a relatively small collection of key-values that you'd like to save, you should use the SharedPreferences APIs. A SharedPreferences object points to a file containing key-value pairs and provides simple methods to read and write them. Each SharedPreferences file is managed by the framework and can be private or shared.
How to create SharedPreferences?

So, this is traditional way to create and persist data in the app using SharedPreferences.

The annoy is, you have to get SharedPreferences every single time you want to touch the data. And, your have to put correct data type for key-value of the pref. That is actually not a good practise and also waste you effort and time. To solve that problem, we can easily write a class file which act as an ultimate SharedPreferences helper for the app.

Better way to implementation with android-shared-preference-util

As you see, we only need 3 lines of code to create a preference and one line of code to retrieve that preference.

Sunday, July 30, 2017

Android Dialog Inspired by Cuberto's design

I came across this design of Cuberto on his Dribble page, and immediately fall for it. And, the idea to implement this design in Android just naturally came in my mind. You, can found the implementation here.

And here is some screenshot and action :)



Friday, July 28, 2017

Android Customized Snackbar

If you never heard about Snackbar, this link could provide you full description about Snackbar. According to Google, the core concept about Snackbar is, that will give feedback about an operation. It will display a short message to notify user or provide an action to let the user response to an operation.

My project at my company currently implemented this feature. We will display a brief message on the top of the screen when ever user finished any operation on the screen. Came up with that idea, I created a customized view which I can re-use in every screens. So, this Github will contain source code that demonstrate how to implement it.

Also, I really want to discuss about this design and the experience that I observe when user came to face this feature when they are using our app. If you take a look into the source code, I hope that you will easily to understand with my implementation(structured in MVP). And, somehow that could help you and I think is good to create your own customized snackbar because you will easily to modify it and implement it in your way.

Better attention

This design put customized snackbar on the top, so 90% that will immediately aware your user whenever it appears to user. The feeling for user when using the app which implemented this design instead of a standard dialog actually have difference looks and feel. From my personal view but I guess some of the others would agree with me that whenever the app throws the dialog into your face, the feeling is a just little bit less comfy, and sometime it is merely storm into my mind "Did I do something wrong."



Login Successfully
 
It is more fun and could make more engagement between the user and your app by implemented appearance/closed animation for the snackbar. Put some shadow and make the snackbar's corner rounded. Swipe left, right or from bottom to top to dismiss the snackbar. These stuff will make your app significant to be unique.



Login Failed 

User may have another action while the app in process and customized snackbar being displayed and it could lead to unexpected result and might be generate error. To handle that case, I think we just need to disbale all touch of the screen. But, in case you want user have cancel-able rights we could implement interaction for it such as button or an icon.


Signup Successfully 

Therefore that will required more space on the snackbar and may decrease the length of the message. I think that is good to have one line placed horizontal for the content of the snackbar. In my observation about this UX, we should have delay time for customized snackbar appearance after the app finished any process, lets your user actually aware what happened and avoid FOMO(fear of missing out).