We're hiring!

We're actively seeking developers and designers for our Ann Arbor & Detroit locations.

Agile Leadership with the Leadership Agility Compass

Lately, I’ve been reading Leadership Agility: Five Levels of Mastery for Anticipating and Initiating Change by William B. Joiner and Stephen A. Josephs. It’s been an interesting read and has me thinking about my leadership style and where I need to improve.

However, just like any book you read, you’re only going to remember a portion of the material since there’s so much to digest. Enter the Leadership Agility Compass.

Leadership Agility Compass

Leadership Agility Compass

Read More »

Posted in Growing as Makers | Leave a comment

Evil Android Styling

I love writing applications for the Android platform, partly because I find that there are a lot of very nice abstractions in the Android APIs. One of my favorite features is how easy it is to style the platform widgets.

If you haven’t worked with Android styling before, I’d like to introduce you to some of the key concepts by having a little fun and breaking as many design guidelines as possible in a one-page application. We’ll create rounded rectangles, borrow iOS patterns, and promise to apologize afterwards for being “evil”.

Our Application

I’m going to use a very simple application with just two activities. The first one includes a few stock widgets, and the second activity includes the same widgets, with our non-Android styling. You can clone the application repository from Github if you’d like to play around with the code. Read More »

Posted in Android | Leave a comment

Develop Smoothly with the Right MacBook CPU

If you’re a developer shopping for a new MacBook, choosing a CPU can be confusing. Apple always gives you a handful of different CPUs options, all with different specs and prices, but it’s very difficult to understand how your development experience will be affected by this choice.

You can put thought into the other options that Apple lets you customize. For hard drive capacity, it’s easy to check the amount of space you’re using on your current machine and decide on a hard drive size for your new machine. If you’re comparing two different screen sizes, you can decide if you’d rather have a cheaper and lighter machine or a larger screen.

You can’t do that with CPUs. For instance, the latest round of 15″ Pro Retinas (released in late 2013) gives you three CPU options: Read More »

Posted in Developer Tools | 3 Comments

5 Awesome Lesser-Known Chrome DevTools Features

Your development tools are important: good tools allow you to write and debug code effectively and quickly. For web development, I am constantly finding new things to love about the Chrome DevTools, which is available in every Google Chrome browser. It supports inline HTML and CSS editing, JavaScript breakpoints, viewing network calls, and many other things.

Here are some of my favorite lesser-know features of DevTools. Read More »

Posted in Developer Tools | Tagged | Leave a comment

Developing a Mobile App? Some Numbers You’ll Need to Know

Are you thinking about developing the next great mobile app? When creating your business strategy you’ll want to know:

  • How many potential app users there are?
  • What platform you should develop for?
  • What apps have the greatest reach?
  • What apps generate the most revenue?

The mobile app market is evolving quickly, so the answers to the above questions change frequently. In this blog post, I will report the most recent numbers, and also provide links to resources that you can use to stay up to date with the information you need. Read More »

Posted in Mobile Apps, Planning Your Project | Tagged , | Leave a comment

Social Weight, Needy Devices, & the Need for Continuity – Key Takeaways from O’Reilly Solid

Source: O’Reilly Conferences

I recently returned from the inaugural O’Reily Solid, a conference focused on the intersection of software and hardware. It was a fascinating event — I can think of few other places where you could find dancing robots, modular circuit boards, smart power tools, and airborne wind turbines under the same roof as such diverse and revolutionary talks as designing interactions between connected devices, collaborative UX for the internet of things, and the future of fabrication.

Needless to say, I had a great time and learned a lot. With this post, I would like to share, in no particular order, some of my main observations and takeaways from this conference. Read More »

Posted in Evolving the Industry | Tagged , | Leave a comment

To In-source or to Out-source? 9 Questions to Ask Potential Teams

This post is revised and republished from Carl’s blog at Crain’s Detroit Business.


How should you build your next innovative product or service? One major consideration is whether to do the work inside your company or outsource it. I’ve identified some key dimensions of this problem to help you think through your choice. I’m assuming you have a project large enough to need at least a small team of people, that the stakes are high for you and your company, that time-to-market matters, but is not the overriding factor and that your company is large enough to have employees to consider using. Read More »

Posted in Choosing Your Team | Leave a comment

Battling Rails Translations with AnnoTranslate

Localization is a complex matter in software development, and it is usually put off as a clean-up task at the end of a project. Content translation is usually contracted out and performed by non-developers, so there’s also a technical gap to overcome.

After battling Qt translations for months on a previous project, I created the AnnoTranslate Rails middleware stack plugin to ease the burden of the developer/translator interfacing and workflow in Rails apps.

Providing Context for Translators

In small-scale Rails apps, providing context information to translators with little-to-no domain knowledge can be painful, but it’s do-able in an ad-hoc fashion. As the breadth and amount of content grows, a more structured workflow is warranted, which leads to the desire to automate the tedium. Enter AnnoTranslate. Read More »

Posted in Ruby on Rails | Tagged , | Leave a comment

Space Matters – Workplace Design Insights

Screen Shot 2014-06-19 at 4.06.39 PM

Space matters. And Atomic Object Grand Rapids is at the front end of an exciting workplace redesign to enable the human activity in our old building.

Recently, my colleague Matt Fletcher pointed me to a great book: Make Space: How to Set the Stage for Creative Collaboration by Scott Doorley and Scott Witthoft. This book is a wealth of creative workplace design ideas and is organized around “Tools,” “Situations,” “Design Template,” “Space Studies,” and “Insights.”

Along with lots of nuts-and-bolts, DIY design ideas, the book offers excellent perspectives on some of the important lessons of workplace design. Here are the “Insights” that most resonated with me as I head into the redesign of AO Grand Rapids: Read More »

Posted in Workplace | Leave a comment

Problem Solving at 200 Feet


About a year ago I started rock climbing, and before I knew it, my approach to software development had changed. You see, rock climbing is predominantly made up of engineers, which I believe has to do with the problem-solving nature of both activities. But it’s more than just that. As I learned how to rock climb, the way I approached problems quickly changed. Read More »

Posted in Growing as Makers | Leave a comment