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 in the public domain, 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

Recently, I published a blog post about the importance of teaching clients your design process. But why should you have a design process at all? What makes a good one for that matter? And what does the design process at WillowTree look like?

Why Do I Need a Design Process? 

A design process is absolutely necessary for every project you work on. Here are three very important reasons why:

1 – It Sets Clear Expectations

When you share what the design process looks like with your client, it allows you to establish realistic project deliverables and deadlines together. Your client will know exactly what to expect from you and when to expect it, eliminating needless miscommunication later.

Continue Reading Article

Animating Views and Fragments has been a staple of developing beautiful, immersive Android apps since the start. With each new version, Google has added a variety of improvements to the animation framework to make adding thoughtful animations more straight forward.

Animating views, animating scenes of multiple views, and animating properties of views is much easier than it used to be. In the past, a major pain point of animating Android apps was always Activity transitions. We could animate the entire activity transition and views in each Activity, but it was another story to animate shared UI components between Activities. Now, Android 5.0 Lollipop has solutions for just that, with the Activity Transition API.

Continue Reading Article

I had a conversation with a client the other day that caught me a little off guard. He was interested in a brand new app for his company, and we got around to talking about what he could expect from me during the first week of the design phase. His first question for me was, “I can see some awesome designs by the end of the week, right?

Understandably, he was concerned with what the app would look like, what colors would be used, and how big the logo would be. Now keep in mind, this was a completely new app that didn’t exist yet. I sat him down and explained that visual design is only one part of the app design process, and I’d need to do a lot of work before I could think about what it would look like. I explained that the other part of the process is behind-the-scenes work that ultimately informs every aspect of the app’s visual aesthetic. And that this part of the process is why we are called user experience (UX) designers, and not just designers at WillowTree.

To him, design was all about the visual aspect of the app. Is this a misconception? Absolutely. Can I blame him for thinking this way? Not for a second. To almost everyone, design is what makes something look good and not much more than that. It’s all about the pretty colors and fancy photography that help make a product look attractive. That’s what we’ve all been taught since we were young.

But outward-facing design is only one side of the coin. The other side of design is in-depth research, user interviews, creating user personas, and wireframes. It’s all about understanding the product, who it’s for, and what problems you are trying to solve for the product’s users. Without exploring and learning about all of this, there’s no way to know if the final product will be successful or not.

As…

Continue Reading Article