Behind the App: the History of AllCast

When was the last time you burned a DVD to watch videos on TV? Or put your laptop on the living room carpet, throw cables around so you can watch videos on the big screen? Thanks to apps like AllCast, this is all out of date .

The ease with which we can transfer media from one device to another has grown rapidly in recent years as low-cost devices like the Chromecast or Roku are becoming commonplace in media cabinets. Created by Android developer Kushik Dutta, AllCast originated as a simple solution for “casting” media from Android devices to Chromecast and evolved for wider implementation.

About a dozen years ago, I remember carefully coded MPEG videos to play them on my jailbroken Dreamcast; it might not have been worth the hassle, but watching my videos on TV was magical when there was no easy way to connect a computer to a TV. Of course, this simple satisfaction of using the big screen is now easier than ever, and I don’t think my Dreamcast poses much of a threat to AllCast compatible devices. We met with Kushik to find out a little about how and why he decided to create AllCast, and what he has planned for the future.

Where did the idea for the app come from? Have you tried to solve a problem you’re facing, or did the inspiration come from somewhere else?

The idea was in the air for a while; there was no obvious Android counterpart to AirPlay. When the Chromecast was released and they provided the SDK, it became a real opportunity. The Chromecast was the first device to make a major invasion of the custom Android ecosystem.

What was the next step after you came up with it?

When the Chromecast team decided to close some undocumented APIs that would allow developers to bypass the API beta blocking, I started researching other solutions. It was mid-2013 and smart TVs that support DLNA streaming began to become more common. I found that Xbox also support DLNA. At the same time, Roku also introduced its own casting solution. I realized that there was an opportunity to create a complete casting solution: users don’t care what is connected to their TV, they just want their media to be shown on their TV. How it works is just a detail.

How did you choose which platforms to target and which to ignore or wait?

I have selected Android and Chromecast as my main mobile platforms. Android is where my existing user base was and Chromecast has sold in the millions. When Chromecast was initially slow to release the definitive API for indie developers, I turned to other targets. I chose not to ignore iOS, but just make sure I have a solid background – I’ve never done iOS development. The iOS crowd is a little more picky. There’s a good chance I would have messed things up if I did it myself, so I brought Jackson Harper on board to build this .

It took Chromecast a while to really be friends with indie developers. Do you think they just didn’t expect the enthusiasm with which people wanted to create their own software and felt safer maintaining a walled garden?

I think both. From my conversations with them, they were definitely caught off guard by the device’s meteoric success. But I also think there were some types of businesses at Google that wanted to keep their toys with them.

What was your biggest obstacle and how did you overcome it?

The hardest part to this day is learning how to handle the user’s home network. Odd router configurations may interfere with discovery. Poor Wi-Fi equipment can interfere with HD video streaming from your phone, and phones have incredible cameras these days. HD video – 20 Mbps on Android. Many Wi-Fi networks, depending on the congestion of other networks and many other factors, are only capable of transferring 3-4 Mbps. And there are an insane amount of people who just use the rough Wi-Fi router that is provided to them by their ISP like Comcast etc.

What was the launch like for you?

The Android launch was insane. Ahead of launch, I ran a “regular” beta with 30,000+ testers. Every time I did a prototype / beta / release, it seemed like every major tech site would be covering it. Tech sites also seemed to like the story when the Chromecast team hit the disable button, stopping the use of undocumented APIs.

How do you effectively deal with user inquiries and criticism?

I actually stopped reading reviews and emails. It’s not great, huh. The Oatmeal’s Making Things comic has a panel that summarizes:

I brought in Ray Walters, an old friend of mine, to tackle problems like this.

Now how do you divide the time between developing new features and managing existing ones?

Ray converts bug reports and feature requests into helpful feedback and lets me know if many users are complaining about a specific issue. I don’t have a process as such. I would say that perhaps 25% of the time is spent on errors and 75% on features.

Aside from simply adding support for more devices, what do you want to see in the future for AllCast?

I have two different ideas in my head regarding directions, but I’m not ready to discuss them yet. One is in the prototype stage and the other is a much larger hardware-related venture (no, this is not an AllCast Stick).

What advice would you give to others looking to take on a similar project?

I’ve talked about this before: there are many opportunities to earn six-figure salaries by attacking projects that are usually not worth the time of a small group of engineers. One person with a wide range of skills can solve this problem economically.

More…

Leave a Reply