Bug hunt. Bugs in real life – Sleepbot.

In these series of short blog posts I intend on showing some bugs in applications I use – web or mobile and how I got them. This week’s winner is – Sleepbot.

One thing I need to say – I don’t try to commercialize anything, I don’t try to get credit for anything related to those apps, normally they are free to download and I am just documenting what I’ve found from user/tester perspective. I normally wont dive into what heuristics and methods used to find bugs, because I didn’t used any, they just showed up at some point and I was aware enough to catch them.We can make some important conclusions though, which will be valuable for us as testers.

What is Sleepbot?

Sleepbot is a mobile application which is used to track your sleep and wake you up in its lightest phase – when it’s most likely to wake up easily. It has Android and iOS version and I encountered a couple of issues on the Android version with the Samsung S5 and Android Lolly. Here’s the official site of the app: https://mysleepbot.com/

Issue #1: Add alarm keyboard hides “Ok” and “Cancel” buttons.

Basic view sleepbot add hour


Sleepbot add hour main view-keyboard

Sleepbot main view landscape

This is a classic usability issue, in fact it’s one of the most common that a “bug hunt” for when I am performing testing on a mobile device. Very often when you change orientation while having open keyboard there are problems with information being hidden or important navigation buttons like enter, back, ok, submit, etc. As you can see on the screen shots, the “Ok” button isn’t visible in portrait mode, while it appears in landscape. It might have been intended this way, I figure out it might be quite hard to make these buttons appear, due to their dimensions, but there had to be a way, to provide the user with an option to close the keyboard or at least a scroller to scroll down and reach them. So, I changed the orientation of the device to landscape and we come into:

Issue #2: Value in the hour picker gets duplicated on change of orientation.

Yes, it’s not a mistake in the screen shot, it actually clones values on change of orientation. It’s not only that, but it has a pattern of doing it – it always copies the minutes value in the hours, so if the time is 20.21 and you change from portrait to landscape or landscape to portrait, you will get value 21.21.

 Key takeaways from bug hunting Sleepbot.

Of course, there’s couple of other issues, but I only picked the ones that had some visual presentation – for blogging’s sake. So, what are the things we need to remember from the issues found here – one very important part of mobile testing is changing orientation. And it’s not only the case if the app supports two orientations. Sometimes the devs leave a screen or two without locking the orientation for testing purposes, sometimes just by mistake, sometimes stuff like these pop up. It’s important to remember simple trick that might expose some problems:

let’s say you have screen 1 and screen 2:

  1. Go to screen 1 and memorize what you have there.
  2. Move to screen 2.
  3. Change orientation.
  4. Go back to screen 1.
  5. Verify what you see is correct.
  6. Repeat that transitioning all screens.

I guarantee you that some really weird stuff will appear while doing this and it’s almost certain. I hope this post will be helpful and useful for you.

If you liked it, don’t forget to comment and share with your friends. Thanks 😉


Linux foundation starts new free course along with EDX

Linux foundation and EDX are releasing the course called “Introduction to Linux”. images

The course was paid until now and this is it’s first start as a part of the EDX and it will be totally free.

According to the description the course will start in the third quater of the year and will cover basic knowledge over the three main OS Linux families.

The goals of the course will be:

  • Indtroduction to Linux’s three biggest OS families.
  • Good knowledge and ability to interact with Linux from both graphical and command line perspective.
  • Various techniques commonly used by Linux devs and admins.

The course will be mentored by Jerry Cooperstein – a PhD working in Linux since 1994, developing and delivering training in both kernel and user space.

If you would like to register for free, you could do it here: Introduction to Linux

What’s Linux:

Linux is light weight open source operating system, commonly used in big scientific projects, servers and complicated software architectures. Linux is in the hearth of one of the most popular mobile operating systems – Android.
I have a lot of reasons to beleive that Linux will reach even further as one of the main competitors in the game industry since the release of the Steam machine and Steam OS – a fork of the Debian distribution.

Good luck guys and thank you for the great intiative.

A few thoughts in the last hours of year 2013

Normally I’m writing technical articles in my blog or at least try to keep them as technical as I can, but since it’s the last day of the year I just wanted to summarize what was important for me during the last year, what  would I take with me in the next year and what would I leave behind, what did I learn.

Whoa, it was quite a journey this year, but I could honestly say it was the most exciting and productive year for me until now .

It started pretty awesome because in January I’ve met my wonderful girlfriend Bilyana and we’re together since then having our beautiful love and mutual understanding and happiness. I hope this stays forever.

I did some awesome choice by starting my career as a software quality assurance and by this getting myself involved in the technical renaissance that is constantly changing human’s life and society. There’s still so much to learn for me out there, but yet – the small piece of knowledge that I obtained only during this year gave me such a boost, that it changed radically my understanding on everything and I will keep that trend in future.

Of course, one of my favorites is I got back in university since I dropped out for about 2 years and to be honest – I don’t feel sorry about it, because now I feel myself stronger and more confident on why I am doing it.

There was a lot of problems during this year, too, but I’d like to leave them in the past. I only regard obstacles we have as stairs – the more we overcome the higher perspective we have on our lives.

Here’s some important stuff that I learned during this year:

  • The most important is Love yourself – and I will paraphrase Buddha – you can look for the one to love you and respect you for your whole life, and you will fail if you don’t love and respect yourself. Do the things you love, make sure you have at least one day per week to do something that makes you, ONLY YOU, happy. Doesn’t matter what, it could be something silly, mine for example is playing video games, or reading an interesting book, or just watching Discovery channel for hours. Doesn’t matter since it makes you feel good.
  • Don’t stop learning life is a never ending adventure and you are never old enough, or wise enough to have a good excuse and stop improving. I believe one of the most vital stuff I learned around technology is – it’s not the most important thing to be a genius, but to adapt fast and to be ready to do it again, and again …
  • Leave all the thoughts about what you don’t have and what you might had, thoughts like this will bring you a heart attack, a much more healthier and effective way is to just create plan how to achieve it, to put your energy in something creative.
  • Keep track on your goals, make sure you know them – I know this sounds silly, everyone would say “I know what I want from life, I know what to focus on” and I’d say no, you don’t.  Everyone says “I want to live well, to be healthy, to have a nice job, a nice car, and so on..” and this is true, but too abstract. You need to set concrete goals to yourself and pursue them constantly. What I’ve done – I made a list with 10 things I desired most in the next year and guess what – 10 out of 10 plus, the so many bonuses I gained by just being happy and confident that I reached my goals.
  • And last but not least – share your knowledge with others – this is where true mastery hides and this is where great minds are born. Sharing knowledge literally means “I have this advantage over you by being more experienced or anything else so I share it with you, so we have equal chances, and from this point I will compete you, to prove I’m better”.

Well, that was it for me for this year, I hope all of you will forgive me, if I went too off topic and I hope it was valuable for you too, to read it.

I wish myself to have the ones I love always around me, to be healthy and have a little bit of good luck. Anything else I can do by myself. Let’s get this next productive year started.

Wish you all the best, have a Happy New Year


Improve your lame security part 1: Browsers

Padlock on keyboardI’ve had enough, I’m tired of reading people’s nonsense about how they got “hacked” so they had to switch their Facebook account or Skype or whatever. As a person involved in the IT area I feel it like an obligation to give some directions to people who probably take their first steps in working with new technologies or are just not so interested. I will start a small series of articles focusing on some common mistakes users make that expose their privacy to a risk.

First thing to say:

“It’s not the 80’s, nobody says “hack” anymore”

This was a line from the last Iron Man movie and it’s true. Face real life, no one really cares about your Facebook pictures or messages or whatever except your ex or probably some other dumb f**k. People don’t use rocket science “hacking” tools to break into your privacy, and hackers are not programmers nor mad geniuses, normally they are just script kiddies that know how to use some system’s weak sides against its users OR someones dummy-ness against him.  In fact the so called “hackers” infiltrate in your account through the front door, using your own key, called “password”. Here’s one common case of hacking yourself by not knowing.

Not knowing your browser.

This is a serious issue, browsers have default settings to remember history and passwords, you may say this is convenient but in fact it’s a curse. I will give example for two popular browsers – Chrome and Mozilla Firefox. If you have one of these and you saved some passwords, try this:


Write down the following in your address bar: chrome://settings/passwords. The result – a page showing your account and password, highlight it, click “Show” and there is your pass as it is. See, no rocket science involved.

Password in chrome


They even have a menu item for it, so it’s even easier, just go to “Options” > “Security” > “Saved passwords”.

What this means is, anyone with physical or remote access to your PC could pretty easy find your passwords, and it’s not a hack, it’s part of the browsers features.


Browsers have a set of malicious default settings that you might want to review to improve your security:

  • Saving browsing history, passwords, location and so on – you really don’t need this, they don’t improve your experience in any manner.
  • If you use a PC occasionally and it’s not your own, make sure that if you log in anywhere you use private browsing session – this is easily set – Ctrl + Shift + N for Chrome and Ctrl + Shift + P for Firefox. Private browsing session means, no data will be saved locally on the PC, once your session is closed, and this is not depending on current browser settings.
  • If you want to save passwords there is a lot of good tools, that store them in a hashed database on your PC and pass protect them. One awesome open source tool for this is http://keepass.info/
  • And of course, don’t let strangers poke your PC physically, otherwise you’re just asking for it.

Well I hope this will light up the dark at least a little bit. Check out some more security tips in the next part.