Sunday, October 30, 2016
Sunday, March 27, 2016
The minimal setup for Espresso to get up and running
This will be a very minimal demo of how to setup Espresso testing in your Android Project. First, create a new Android Project to demonstrates how barebones it is.
Add this to your app module build file (the one that is
testCompile 'junit:junit:4.12'androidTestCompile 'com.android.support.test:runner:0.4.1'androidTestCompile 'com.android.support.test:rules:0.4.1'androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'your build.gradle should look like this:
Your activity_main.xml should look something like this:
Create a MainActivityTest in your androidTest folder
To run the test right click on MainActivityTest then Run 'MainActivityTest'
Your test should pass like this:
To test if your test is indeed correctly setup change the text in the TextView to something else. You should receive a failed test like this:
If at this point your test still passes you shouldn't be happy that it passed. Something's wrong with your test.
It always help in my productivity to get the latest version of my work environment. Especially if it has speed enhancements. I have already also improved my Android Studio's speed especially when it comes to gradle build. It really adds up to my overall productivity and efficiency.
Friday, March 18, 2016
Hiring an Android specialist is the difference between having a great-awesome app and a buggy-mediocre app.
Some of the specialties you should look for when hiring an Android dev are:
(depending on your app's requirements)
- communication with servers
- working with images
- automated testing
- performance optimization
- handling data
- date manipulations and handling
- encryption handling
- social integration
These features can be implemented and made to look working on your app but you should watch out if they're implemented with best practices in mind that will not cause problems down the line. Most often than not I see clients who want their existing app saved from their demise because of bugginess, performance issues, mediocre design and it doesn't matter if the app is seemingly simple or complex. It was the result of hiring someone who just knows the basics in developing applications in Android.
While my freelance gigs almost/always give me the possibility to be a digital nomad I have come to the conclusion that it's not for me. I haven't tried it yet but in the past 2 days I had played around with the idea. Why not? It looks fun and freeing and.. fun. So, why did I decided instantly that the digital nomad life is not for me? For a number of reasons.
I'll just make an outline here.
I'll just make an outline here.
Reasons I gave myself why the Digital Nomad lifestyle is not for me:
- I work best when my surrounding is quiet. And given the usual digital nomad scenario of working on cafes I don't think I can optimally work there. Although being a digital nomad you can also work inside your transient room where you are currently staying but it doesn't guarantee quietness though unless the place you are staying is a hotel or condo, right?
- I work best when all my workstation is optimally already setup. This means when I wake up I just boot up my laptop and I'm all set. I don't want to need to find a good wifi before being able to work. I don't want to find a good comfortable chair and table before I get to work.
- I want to maximize my time working (e.g. I don't want to think about the best place to eat while working).
- I sometimes have clients that require face to face meeting for requirements gathering, updates, revisions, etc.
- I have a wife and soon she'll give birth to our son :) This will make being a digital nomad more challenging and right now I just want to spend as much time with them at home when I'm not working without the hassle of travelling often that is associated with being a digital nomad.
I guess being a digital nomad is more amenable for digital professions like blogging, writing, etc. In my opinion, it's more challenging for software developers since building software requires more concentration and quiet time, at least it's the case for me. While blogging and writing and marketing can benefit from being a digital nomad by contributing to the creativity of the individual. Yes, I believe, travelling will help creatives be more... creative.
I am not actually saying no to experiencing being a digital nomad. In fact, I am targeting to try it in the near future (when I have settled down on my new client's architecture) and maybe when our son is born and he's already a couple of months old or maybe a couple of years old. But, this I am sure right now, I will only try being a digital nomad for a couple of months and then I'll be back again to our home and settle. Why only a few months? Because with my style in working, like I mentioned above, it will be more effective for me as a software developer. I am just thinking of doing a digital nomad lifestyle for a few months in the future just for the sake of experiencing it.
What I am more welcome with is the idea of being a digital semi-nomad. I think I only made this term up right now. What I mean by this is, to stay in one place working remotely with my wife and son, for a longer time than a usual digital nomad would. Probably 6 months to 1 year working elsewhere. This is more appealing to me than having a full blown digital nomad lifestyle. I am not really into travelling to 1,456 cities in 36 different countries for 6 months. I like the idea of being a digital semi-nomad because I like the idea of really semi-settling into a different place to digest another culture and way of living for 6 months to 1 year or more. For me this is my essence of travelling, and not just being into another place and "visiting" and posting photos and doing stuff like surfing, paragliding, or eating out or whatnot.