Recently, a friend of mine asked if I would take a look at an app he was developing. He didn’t have much design knowledge and needed advice on how to make the app better, and how he could create the best user experience possible. After talking with him more and taking a closer look at his app, I helped him make some basic design changes that will go a long way towards ensuring a positive user experience. Helping my friend made me think about others who might be struggling with app design, from developers and new designers to clients trying to learn how to communicate more effectively about design.

In today’s post, I’ll go over some basic tenets that make up the foundation of good design, drawing examples from my experience as a mobile UX Designer here at WillowTree. These principles should help you create the best user experience possible in your app, but they’re also applicable in many other areas of design as well.

Continue Reading Article

In the world of test automation, Selenium Webdriver has become the standard tool for testing web applications. Selenium’s success comes from its multi-platform support, ability to test across a wide variety of browsers, and it’s free. For the most part, you can write your tests in the language you feel most comfortable with, but it is a good idea to use one that already has a test framework such as: Java, C#, Python, or Ruby.

Testers often automate their first test cases with relative ease. You find the web page elements, you click or type as a user would, and then you assert something is true or false.

Continue Reading Article

It’s black and blue. That’s what Taylor Swift says. If that’s not enough for you, that’s also what the actual product listing says.

But what does Android see?

Using the Palette API, we can programmatically determine the colors of the dress. Spoiler alert: blue is definitely one of them. So if you’re on team black and blue, you’re probably feeling pretty good right now. And if you’re on team blue and gold, that’s not a team. Here’s the Very Scientific Method that we used (source code and a debug APK):

Continue Reading Article


A while back, the singular Roman Nurik released an open source live wallpaper called Muzei, which showcases famous works of art on your Android home screen and provides an API to integrate other image sources. Many aspects of this app immediately struck my fancy, but the first was the sleek and fluid logo shown when a user opens up the app.

Thanks to Muzei being open source, anyone can see how the drawing of this logo is accomplished. The util package contains most of the magic, with AnimatedMuzeiLogoFragment, AnimatedMuzeiLogoView, LogoPaths, MathUtil , and SvgPathParser being our classes of interest. Here’s a brief description of what these classes do:

Continue Reading Article

So, you need to automate, and you have never written a line of code before or it’s been a while. Fortunately, this isn’t a problem. The Helium API gives you simple commands and straightforward documentation to help get you started. It all begins and ends with Selenium, and if you need quick results this is the way to go.

One of the benefits of Selenium is that you can pick from a few languages to work with. I decided to go with Python, as I was familiar with it, and it’s easy to pick up if you don’t code often or at all. You’ll find it’s actually more difficult to setup your development environment than it will be to get your first script running.

So let’s get started…

Continue Reading Article

What are the key cost drivers of developing a mobile app? How do you determine whether to build an app for iOS, Android, or Windows? These are a few of the questions our CEO, Tobias Dengel, tackled in a recent interview with Clutch, the leading source of online mobile app developer reviews.

“I think if you’ve got to pick one platform [for a consumer app], we typically recommend iOS, just because it’s going to do better out in a consumer-facing environment, unless the app is a prototype kind of test app. Then, we recommend Android. For Android, we don’t have to go through an approval process with the App Store, and that approval process can take one to two weeks, and also there are just constraints around that. In Android, we can get something out, and tested, iterate on it, and figure out what consumers want much more quickly.”

Continue Reading Article

Mobile applications today are increasingly interconnected and data centric, relying on back-end infrastructures to provide the information displayed within the app. With this level of connectivity comes increased complexity. Slow or spotty network connections can have a large impact on the performance of these connected applications. To alleviate slow user interface experiences, the iOS team has increasingly leaned on using Apple’s CoreData framework. Apple’s framework allows us to store and persist network response data to lower the number of network calls that are necessary as a user navigates through the application.

In the past, we utilized several open-source libraries to ease the integration of CoreData. Over time, however, these libraries have either become more complex than our needs required or have not kept up with the pace of iOS changes. To solve this problem we created our own library, WTAData. The goal of WTAData is to provide a simple and straightforward set of utilities for interacting with CoreData.

Continue Reading Article

When designing apps (not just web apps) state ownership should always be clearly thought out. Should this button widget know if it’s locked or does the parent decide? Should that modal know if it’s rendered or does some other part of the app decide?

State ownership woes are pretty apparent if you choose React. Our team spent a great deal of time investigating the best methods for carrying out the best implementation, and we learned a few crucial lessons along the way. To demonstrate this, we’ve created a hypothetical alert implementation. If you follow WillowTree’s blog, you may know that we covered alerts in our Backbone Mixin Series. In today’s post, we will revisit this in light of state ownership in a React application.

Continue Reading Article

We are happy to announce that WillowTree has been named a 2015 Washington Future 50 award winner by SmartCEO Magazine. The Future 50 awards program honors the 50 fastest-growing, mid-sized companies in the Washington region that have experienced outsized growth based on a combined three-year average of revenue and employee growth figures.

“We are honored to receive the 2015 Future 50 award from SmartCEO Magazine,” said Tobias Dengel, CEO of WillowTree. “Over the past three years, we’ve focused on growing a team that’s comprised of the best mobile app developers and UX designers in the country, so clients know they’re working with a partner that has the expertise needed to help them leverage mobile in ways that are critical to their business success. The growth we’ve experienced has also allowed us to further hone our deep expertise in mobile platform engineering, media delivery, and field solutions for enterprise clients like AOL, GE, and a leading beverage company in the US.”

Continue Reading Article

I’ve spent countless hours researching and designing the project I’m about to present to our client. I sent out the meeting agenda listing specific items I’ll cover during the meeting, and reviewed project deliverables. I’m also ready to share sound reasons for every design decision made so far on the project.

Our client just dialed in. Even though we aren’t in the same physical location for today’s meeting, I’m walking around the conference room just like I would if I were presenting my designs in person to them. As I walk around, I create a narrative for the client using personas and scenarios to describe exactly how my designs meet the project’s needs. The developer I’m working with is taking detailed notes, allowing me to focus on what I’m saying without having to worry I’ll miss important client feedback I’ll need later. 

As soon as the call is over I review the meeting notes, and send a recap email to our client summarizing what we discussed, as well as next steps for all parties. I’m confident I did everything I needed to do to ensure my presentation on the call was successful.

Continue Reading Article

In the past year and a half, there have been at least thirteen significant changes in the mobile space that alter the way we design and develop mobile solutions. In 2015, we expect to see even more. While there is no way to know exactly what will happen with mobile in 2015, we’ve got a few ideas and predictions to share, as well as some ‘To Dos’ to help you prepare for mobile this year.

1. Mobile as a Platform

A decade ago Steve Jobs famously positioned the Mac as a “digital hub,” a kind of entertainment platform with peripherals like the iPod. Today, the smartphone is that hub and a number of innovative new technologies are acting as its peripherals. We’re seeing Android move onto your wrist, onto your television, and into your car. With Android Wear, Chrome Cast, Android TV, and Android Auto, you’ve got one unified operating system (Android) behaving similarly across devices of all shapes and sizes. The best part is that these separate platforms are designed to be extensions of your phone, so existing Android users will be naturally at home in these other environments. Similarly, Apple’s Watch and Apple TV function primarily as extensions of your iPhone.

To Do: Reset your consumer and enterprise-facing digital strategies to use the smartphone as the primary center of communication, and other devices (e.g. Apple Watch, Android Wear, etc.) as additional media delivery platforms associated with the phone.

2. Productivity in Unexpected Places

This year we’ll begin to see mobile make its way into more and more processes that may not traditionally be thought of as areas ripe for innovation. For example, mobile devices and applications can be used on manufacturing lines to measure productivity, and to reduce time spent getting data into the hands of plant managers to help them make effective decisions. Almost every process in every company can be streamlined using mobile.

To Do: Think about key processes in your company, what their target…

Continue Reading Article

The ability to write high-quality bug reports is an essential skill of software testing professionals everywhere. Apart from descriptive summary, precise steps to reproduce an expected behavior, test environment, priority and frequency; attachments such as images, videos, and log files all act as excellent supplementary materials in a good bug report.

For desktop applications, screen recording software tools like Jing are often used, but screen recording tools for mobile applications are not widely known about. Here are some tips and tricks to create great screen recordings for devices running Android and iOS:

Continue Reading Article