Recently, we’ve received an increasing number of requests for our mobile video delivery services, which is no surprise when you consider how quickly video delivery to mobile devices has exploded. Ooyala found that almost 40% of online video consumption took place via mobile in Q4, and Business Insider is projecting 73% per year growth in mobile video revenues over the next five years. That said, video delivery to mobile devices remains an incredibly complex problem, involving the mobile applications themselves, subscriber management, content management and processing, hosting, DRM, CDNs, etc. The complexity doesn’t stop there though, as you work through finding and implementing technical solutions to those issues, you’ll also want to consider your desktop, mobile web, game console, and interactive TV distribution architectures.Many of our clients are currently launching or re-launching their video delivery platform, and so are going through the very tedious process of creating an RFP.

Almost a year ago, I wrote a blog post called Best Practices for Writing a Great Mobile RFP. Since then, we’ve received  an overwhelming number of requests for this post in Word format, and have also heard it’s been a very helpful tool for people going through the process of finding a mobile solution provider. To address the increasing number requests for digital video and OTT services, we thought it would be good to create a blog post with an RFP template for this area of mobile too. And soon, we will be developing RFP templates for field sales, field service, and loyalty program applications as well.  If you would like for us to send those to you once completed, feel free to fill out our contact form to request any one or more of these.

Continue Reading Article

Everyone knows filling out forms can be a tedious and mundane task, and doing so on a mobile device can be even worse with small touch areas and multiple fields to input information into. But by adding microinteractions and anticipating user behaviors, you can make form input on mobile a much better experience for your users. Here are a few interaction-design patterns that will go a long way towards getting you there:

Continue Reading Article

Update 4/17/15: I had originally wrongly assumed that AppCompat tinting did not work with  LayoutInflater.from(context) . That’s what I get for not testing my assumptions!


LayoutInflater is a fundamental component in Android. You must use it all the time to turn xml files into view hierarchies. There are several ways to get an instance of one, but it’s not always clear why you should prefer one way over another.

Perhaps the must fundamental way to obtain a LayoutInflater is with

Continue Reading Article


Think you know a lot about Android? Want to test your development skills? Download WillowTree’s Easter egg hunt and get cracking!

This past Saturday, we hosted an Easter egg hunt for developers at the Big Android Meat & Greet, hosted by IDEAA in Washington, D.C.  The hunt took the form of an Android app that you can now download to test your programming mettle. The app includes ten challenges that unlock achievements (“eggs”), each with their own unique Android-related problem to solve. Some of them are easy and can be tackled by anyone. Others are more difficult and may even require you to write your own code.  Seven other eggs are hidden and sprinkled throughout the app, so they’re a bit more challenging to find.  Make sure you are logged in with Google Play Games to earn the achievements.

Continue Reading Article

All you need is 15 minutes with any researcher, scientist, or physician to realize that data is a key component of their work. Spend another 15 minutes with them, and you’ll also come to understand how hard this data can be to come by (especially if the data must come from a human population). It’s because of this, that an entire multi-billion dollar industry exists, running studies, trials, and population tests for anyone with a stake in healthcare.

Apple introduced ResearchKit at their March 9th, 2015 event. While it certainly took a backseat to Apple Watch news for most of their customers, ResearchKit was important enough for Apple to give it a prominent mention during their live event:

What is ResearchKit?

Continue Reading Article

Every 8-10 years or so, a new technology/approach hits the web that fundamentally improves what we can do as developers. In 2005 the term “Ajax” first appeared, followed by jQuery in 2006. In 2014, Facebook made its React framework publicly available for web development, and earlier this year released versions targeting native mobile development. It’s starting to feel like this might be one of these big paradigm shifts as early Facebook React reviews have been incredibly positive…

Facebook React combines a bunch of attributes, most of which have been in some form of usage in various other frameworks like AngularJS, and takes them to the next level to drive real benefits for developers vs. frameworks like AngularJS. The result is the first real leap in web development in almost a decade.

So what problems was React trying to solve, and how does it do it?

Continue Reading Article

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