/ MyThoughts

My Thoughts: Android App Development

I'm blogging because I'm not seeing resources that covers the things I've been asked; or that I've worked out myself (like an upcoming post about maintaining Object Encapsulation).
I also blog so I can google my brain later for myself or to provide my thoughts to others in a shareable repeatable form.
There's not enough examples of Software as a Craft practices, in general, with Android especially lacking. I find that examples and tutorials for Android generaly tend to be abysmal; though there's been improvements over the years.

It's not improving enough.
I want to be able to provide a good resource for people to develop apps in a best practices and maintainable form. I want to help other people be Gardners. I want the world of code to be a beautiful place I'm happy to walk through. :)

As I'm exploring topics and having conversations at work... I need to get involved with some user groups around here... I'm finding that there's definitely an absence of the Craftsperson approach in general; and it seems even worse for mobile development.
What efforts can I do to improve that space?
Blogging is limited. It's ... just not the same. Blog posts are "code snippets" about things. They're not often, and for me not intended to be, a reference guide. Posts are solutions to specific problems; not guides for how to do something big(ger).
I use books for reference material to accomplish larger tasks; not solve immediate/specific problems. Books are references on how to approach things. Theory, practice, anecdotes all mized together.

I have zero books about writing an Android app using TDD or XP practices. For those that know me... know I generally spend a lot on technical books. I recently tallied it for taxes, and last near I nearly spent $2K in tech books (which depending, might be only a few books). I enjoy reading and considering a lot of things.
I go through a lot of books; and have found zero android books which pass my bar for being informative on how to test android... SIGH
I'll mention that this was BEFORE I took the Fred George boot camp; before I've accepted the XP Practices as guiding principles.

All the books I have that are on, or talk about, testing android tend to use Robolectric or Espresso to do the tests.

Espresso for automated UI testing; Awesome!
Robolectric for testing legacy code; Run with it!

To do TDD; these are /not/ the correct tools. These are tools for UI testing; for accouting for code that's tightly coupled with the OS; or for legacy code that's not worth refactoring.
I consider Robolectric a crutch for badly designed code. It helps you get along, but enables bad practices to continue to infect the code. Spreading their rot and smell.

I want to do more to share my drive, passion, and philosophy about how to build a great app. To help promote the practices in an ecosystem and culture that could benefit from a resource like that. The things I learn while driving the practices on myself; I want to share those and enable others to avoid the pain points I've managed solutions for!

While I don't see blog posts as the type of resource that I would like to use for this; I think it needs to exist.
To that purpose; I'm working on outlining a long series of posts; some of which touch on topics I'll have covered already; to provide a "whole flow" experience of what I find the best practices of developing and android application is.

Quinn Gil

Quinn Gil

Seattle Code Crafter. Quinn beats the drum of FAST Agile, Extreme Programming and Object Oriented Design through MicroObjects. He blogs for fun and frustration of exploring new concepts.

Read More
My Thoughts: Android App Development
Share this