Sheba.xyz app: redesigning user experience

Sheba.xyz recently launched the latest version of their app on 26th March 2018, on the occasion of the National Independence Day of Bangladesh. The newly revised Sheba.xyz app frees users from hassle and saves valuable time in Dhaka’s urban rush. With a redesigned user experience, the app is now more user-friendly and intuitive.

Back in 2010, two friends Adnan and Sajib made one of the toughest decisions of their lives – to risk everything for a dream of building a platform where small service entrepreneurs can attain customers and deliver their services all over the city. That is how Sheba.xyz came into being.

Initially focused on operations, Sheba.xyz is now a tech company that connects service providers with consumers via call centers, websites and mobile applications. After launching the first version of the app the company succeeded in getting over 10,000 downloads where regular customers got the option of ordering from forty different kind of services available on the platform.

Sheba.xyz had been investing on improving their app and the investment paid off. From product design to platform design, each stage of the latest app has been well thought of with a minimalist design. Sheba focused on click minimization and now users can order from Sheba in half as clicks as before. With proper user research and consistent visuals the app is now more engaging and interactive to its users.

A team of 70 people at Sheba are working hard to build the largest online service marketplace in Bangladesh, and the company has set a target for the year 2018 – improving user experience. Sheba as a platform is helping the scattered small service entrepreneurs in our country to expand their business and provide services all over the Dhaka. Their latest app is definitely a step forward for the national award winning Sheba.xyz as they start off for their national and international expansion by the end of June.

To know more about Sheba.xyz call anytime at 16516.

Install Nexus 5 Launcher on your Android Phone

I have been waiting for this ever since KitKat was released in October, 2013. My phone manufacturer has kept mum about a possible upgrade to KitKat but with this APK, you can get the Nexus 5 launcher on any Android phone. I currently run Android Jellybean 4.2.1.

Here are the steps to get the new launcher on your phone:

  1. Download the .apk by clicking on this link: download the APK
  2. After you’ve finished downloading the file, transfer it your SD card on your phone.
  3. Go into Settings > Security and check ‘Install from unknown sources’.
  4. Now use a file manager to navigate to the location where you copied the APK on your SD card.
  5. Select the APK and it will prompt you to install the launcher. Go ahead and say yes and sit back.
  6. After installation is finished, press the Home button and you will be prompted to choose the launcher you want. Select the ‘Google Now Launcher’ and tap on ‘Always’ to make it the default launcher.

You have now officially installed the Nexus 5 launcher on your phone. Enjoy!


Posted in Uncategorized

Syncing 2+ Ubuntu Servers with Unison

When running a load-balanced site with 2 or more data servers, it’s important to keep them in sync as I have found out the hard way. Initially, I used rsync (the default sync tool in Ubuntu) but it turned out to be complicated and not the right fit. It was okay to have one of the servers as the master which would sync with the the slave but things got wonky when data was being written to the slave server and changes would not be reflected in the master. Even after setting up rsync on the slave server, things did not quite work out the way I would have liked.

In come Unison. It’s a popular sync software for multiple plateforms including Linux, OSX and Windows. It’s fully open-source and actually uses the rsync algorithm to make synchronising faster. I will be showing you how to install and set up Unison on two Ubuntu data servers to synchronise data between them.

First off, run the following commands to make sure all the package lists are up-to-date.
sudo apt-get update & apt-get upgrade

Install Unison on both servers by issuing the following command:
sudo apt-get install unison

If you don’t have SSH installed, install it along with Unison since we will be communicating between the 2 servers using SSH.
sudo apt-get install unison openssh-server ssh

Next is to generate the SSH keys that the 2 machines will use to log in.
sudo ssh-keygen -t dsa
Keeping hitting ENTER without typing anything when the key is being generated. Open the public key file in Server 1 and add the text contained in it to the authorized_keys file in Server 2. Repeat the step for Server 2 public key. Restart the SSH server to makes the changes take effect.
sudo service ssh restart
Next run the command to test if the SSH connection is working as it should.
sudo ssh://server2.com
If all is well, you should be prompted with the login screen for Server 2.

Now that we have Unison installed, it’s time to tell Unison which folders to synchronise and without the need for human interaction.
sudo nano /root/.unison/default.prf

Copy the following text in to the file and save it by pressing Ctrl+X. The comments explain what each line is doing. You can modify it to your needs.

# Unison preferences file
# Root folders
root = /var/www  
root = ssh://server2.com//var/www

# Ignore some files during sync
ignore = Name *.tmp    ## ignores files with extension .tmp

# When set to true, this flag causes the user interface to skip
# asking for confirmations on non-conflicting changes. (More
# precisely, when the user interface is done setting the
# propagation direction for one entry and is about to move to the
# next, it will skip over all non-conflicting entries and go
# directly to the next conflict.)

# When this is set to true, the user interface will ask no
# questions at all. Non-conflicting changes will be propagated;
# conflicts will be skipped.

# !When this is set to true, Unison will request an extra
# confirmation if it appears that the entire replica has been
# deleted, before propagating the change. If the batch flag is
# also set, synchronisation will be aborted. When the path
# preference is used, the same confirmation will be requested for
# top-level paths. (At the moment, this flag only affects the
# text user interface.) See also the mountpoint preference.

# When this preference is set to true, Unison will use the
# modification time and length of a file as a `pseudo inode
# number' when scanning replicas for updates, instead of reading
# the full contents of every file. Under Windows, this may cause
# Unison to miss propagating an update if the modification time
# and length of the file are both unchanged by the update.
# However, Unison will never overwrite such an update with a
# change from the other replica, since it always does a safe
# check for updates just before propagating a change. Thus, it is
# reasonable to use this switch under Windows most of the time
# and occasionally run Unison once with fastcheck set to false,
# if you are worried that Unison may have overlooked an update.
# The default value of the preference is auto, which causes
# Unison to use fast checking on Unix replicas (where it is safe)
# and slow checking on Windows replicas. For backward
# compatibility, yes, no, and default can be used in place of
# true, false, and auto. See the section "Fast Checking" for more
# information.

# When this flag is set to true, the group attributes of the
# files are synchronised. Whether the group names or the group
# identifiers are synchronised depends on the preference numerids.

# When this flag is set to true, the owner attributes of the
# files are synchronised. Whether the owner names or the owner
# identifiers are synchronised depends on the preference
# extttnumerids.

# Including the preference -prefer root causes Unison always to
# resolve conflicts in favor of root, rather than asking for
# guidance from the user. (The syntax of root is the same as for
# the root preference, plus the special values newer and older.)
# This preference is overridden by the preferpartial preference.
# This preference should be used only if you are sure you know
# what you are doing!

# When this preference is set to true, the textual user interface
# will print nothing at all, except in the case of errors.
# Setting silent to true automatically sets the batch preference
# to true.

#  When this flag is set to true, file modification times (but not
# directory modtimes) are propagated.

We will need to set up a cron task to run Unison automatically every 1 minute. Run this command to open the cron task file and paste the line that follows in to the file and save it.
sudo crontab -e

*/1 * * * * /usr/bin/unison &> /dev/null

Check the /var/www folders on both servers. You should now see that all files and folders are synchronised between them.

Walton Primo R2 Review

I have to admit I was a bit skeptical when local companies started to make phones here in Bangladesh but overtime, I have seen the transformation in the products that these companies are releasing. The major manufacturers are so far Walton and Symphony with each now releasing about 3-4 different models every 2 months or so. Enough of the history lesson!

Shopping for a new phone is hard; even harder when you are a tech freak like me. The slightest difference in speed, design or price is enough to make me start from the bottom of the checklist.

After my short lived stint with an iPhone and then a mediocre Samsung Android phone, I decided it was time I switched to Android for good. The Nexus line of phones from Google got me more excited than the over-priced iPhone 5C or 5S. I wanted the vanilla Android experience and to my knowledge, only the Nexus phones could provide that to me.

It was not until I was browsing for potential phones that I came across all the new models from Walton. There were choices but I feel I have bought the best of them and loving every moment of it with my new phone.


At first look, the R2 looks exactly like the Nexus 3 with some hints of the 4 until you take a look at the back.


The phone is pretty light for its size and specifications. The design is pretty minimalist with only rounded edges and slightly bezeled sides.

Design aside, I look for what’s underneath the pretty facade and this phone packs a punch compared to other phones of the same caliber but definitely pricier than this phone. On first glance, you will notice the big 4.7-inch HD screen which it turns out is Gorilla Glass 2. Never saw that one coming! And for the average users now, 4.7-inch is a pretty sweet size.

[one_fourth]Design aside, I look for what’s underneath the pretty facade…[/one_fourth]

Under the hood it packs a 1.2GHz quad-core processor, although the processor manufacturer is not listed anywhere which seems a bit dodgy to me, 1GB of RAM and the PowerVR SGX 544 GPU.

Other features include Dual SIM cards, 4GB of internal disk space with upto 32GB of expandable memory, 8M rear camera with LED flash, 3M front-facing camera, WiFi, Bluetooth 4.0, GPS, a variety of sensors and a big battery rated at 2000mAh.

R2 Specifications
Some dimensional statistics for the Primo R2

I am  not much of a photography buff but I do occasionally like taking selfies or group shots when with friends or family. The rear-facing camera with LED flash is more than enough for the average smartphone user. Shots during the day are crisp and sharp – all that is expected from an 8M camera. Night shots aren’t far behind either – the LED flash is very bright so low light shots are possible and come out well. The same can’t be said for the front-facing camera. During the day, it works perfectly making those selfies of you look amazing but come night, it doesn’t deliver the bare minimums. Shots are dark and grainy to say the least. You either need to learn to take a selfie using the rear-facing camera at night with the flash turned on or tell someone else to take it for you but that defeats the purpose of a selfie.


When I talked about the vanilla Android experience, I literally meant the fresh-out-of-the-factory state. And Walton made the right move with this phone by not messing up the UI with custom icons and skins (included in other models), which in all honesty is not the prettiest. The most Walton has done here is install some basic applications – a flashlight app, Viber and Adobe Reader – along with the default Android apps.

The R2 comes with Jellybean (4.2.1) installed out of the box. Walton posted an upgrade to 4.2.2 on their forums (http://www.waltonforum.com/index.php/topic,3353.0.html?PHPSESSID=f2s6borfd5ccpp6gjfi18t2u51) although I haven’t heard back from anyone about a possible upgrade to KitKat 4.4. Since upgrading to 4.2.2 requires you to root your device using the tools Walton provides, I don’t think upgrading to KitKat will void your warranty. Finding a suitable KitKat ROM is still in the work. We will keep you updated about that.

Walton R2 screen
The home screen on the R2

The performance of the phone has been nothing but satisfactory up to now. Yes, the phone does heat up a bit when you talk on Viber or Skype for a while or while you play a graphics intensive game but coming from an electrical engineering background, it does not bother me. It’s expected to say the least.

Battery Life

This is an important issue when it comes to buying a phone so I thought I would dedicate a whole section to it. That’s how important it is!

You would think a 2000mAh is not much but I must say I am impressed with the juice on this thing. I have 2 SIM cards installed with one of them being used for 3G data when I’m outside and constantly connected to WiFi when I’m home or at office. Throughout the day I am constantly texting away on Viber or Whatsapp, catching up on the latest news, listening to my favorite tunes, using that break or making use of that pesky traffic jam to complete a level in a game. With all that said, I just charge my phone when I go to bed at night and then not worry about the battery the whole day.

Final Words

This phone has its flaws but it’s over shadowed by the good. For anyone looking for an mid level Android phone comparable to the Nexus line of phones (pre 5 that is), this is the best option. I know some people would argue that Symphony’s phones are the same but cheaper but as I stated in the beginning of this article, Symphony customises their UI too heavily (reasons why I don’t like Samsung or Sony) and I wanted the vanilla Android experience.

And at Tk. 14,990/-, this phone is definitely a steal. Try out the phone for yourself at any of the Walton Smartzone showrooms. They’re everywhere now. You won’t be disappointed.