Berlindroid: Kotlin Test Robots

Berlindroid: Kotlin Test Robots

Following the announcement at this years Google IO we’ve seen a dramatic uptake in Kotlin and over the last few months we’ve learnt how we can use it to improve and produce clean architecture applications and supercharge our unit tests, but what about our UI tests? In this session, I’ll show you how you can utilise Kotlin with the Robot pattern to build concise, terse and easy to read UI tests...

Embracing Impostor Syndrome

Early on in my career, you could say I had what you might like to call a mentor, we were friends, we still are, and naturally he taught me a few things. Things like how to be taken seriously in the workplace as a young developer, how to deal with office politics, but also something quite significant, which has stuck with me since then. Something that I’ve always believed to be his mantra, to, as he would put it, “fucking own it”....

July 21, 2017 · 3 min · Ash Davies
Developers Alliance: The Next Challenges for the EU Mobile Economy

The Highs and Lows of Developing for a Digital Europe

This event will focus on the state of the mobile economy in Europe. Data shows that the ecosystem is thriving, for the benefit of consumers, business and investors. Such a growing and innovative space needs an enabling regulatory environment to continue to prosper. Come and join us for a discussion with developers and decision makers about the future of mobile innovation in Europe.

Photo by [Digital Buggu](https://www.pexels.com/@digitalbuggu) on [Pexels](https://www.pexels.com/photo/colorful-toothed-wheels-171198/)

Dagger 2: Module Parameters

Last month, I went into detail about how to use the recently released Dagger 2 Android modules, and how you can make your injection code much more concise. Google have gone through a lot of effort to enable developers to use Dagger with very little integration and more importantly on how to use a common injection paradigm without the injection target being concerned with how it is being provided with it’s necessary dependencies....

June 19, 2017 · 3 min · Ash Davies
Photo by [Alog Sharma](https://www.pexels.com/@aloksharma/) on [Pexels](https://www.pexels.com/photo/black-android-smartphone-177707/)

Dagger 2: Android Modules

Many of the articles I write tend to involve application structure or architectural design patterns; and one of the most recurring topics I tend to visit is that of dependency injection. Dependency injection is probably one of the most important topics of modern application development, whilst often overlooked as a necessity, it allows us to build highly scalable, powerful applications and platforms. Dependency inversion works seamlessly with many other design principles and in many ways facilitates them, most specifically single responsibility....

May 1, 2017 · 5 min · Ash Davies
Photo by [Tim Gouw](https://www.pexels.com/@punttim/) on [Pexels](https://www.pexels.com/photo/man-in-white-shirt-using-macbook-pro-52608/)

Effective Naming Conventions

Modern day development can be one of the most tasking professions around, but without a doubt also one of the most rewarding. Amongst the trialling tasks we must go through each day, one of the most arguably difficult necessities is how we name our types. This is partly due to the different naming conventions that come into play when using multiple words, underscores, hyphen, camel-case. Though we usually have code style guidelines to enforce a consistent use, this doesn’t really address the original problem....

April 30, 2017 · 3 min · Ash Davies
Photo by [Daniel Frank](https://www.pexels.com/@fr3nks/) on [Pexels](https://www.pexels.com/photo/empty-cave-287229/)

Effective Dependency Injection Scoping

The concept of dependency injection is a relatively simple one, and can usually be adhered to with a small set of rules when writing your code. Specifically, avoid creating new instances of objects within your classes, and opt to have the instance provided through the class constructor. This allows your class to focus on the key operations without having to worry about the state or creation of it’s dependencies. This means that your class will be small, concise, readable, and most importantly, easily maintainable since it only contains the logic required to perform the necessary operation....

April 10, 2017 · 8 min · Ash Davies
Berlindroid: What the IOException!?

What the IOException!?

Mobile Innovation Day

Europe’s mobile economy is a hotbed for innovation - driving growth, and jobs and enabling millions of consumers to access the world’s information while they’re on the move. What is needed to ensure this mobile ecosystem remains competitive and innovative in the future? What policies can boost the impact of mobile on the wider economy and remove barriers to future growth? Join app developers, business leaders and policymakers at an event to discuss ways to power growth in the mobile economy....

November 14, 2016 · Mobile Innovation Day (Brussels, Belgium) · 1 min · Ash Davies
DevFest Berlin: What's New in Firebase

What's New in Firebase

After this years Google I/O, Firebase was upgraded and become an even more important role in the range of Google services available. Now properly integrated with Google Services, Firebase offers developers much more than than just a database for “personal” projects. The new updated Firebase however has left many developers a bit puzzled on how to properly include Firebase in their projects, how it integrates into Google Services, and how they can make use of the new features available....

November 12, 2016 · DevFest (Berlin, Germany) · 1 min · Ash Davies