Chromecast Can Replace Cables in the Conference Room

(Cross-posted to the Mediafly Blog)

A salesperson and client walk into a conference room. On the wall is a TV with Chromecast. The client switches the TV to Chromecast. The salesperson opens their Chromecast-enabled app, and instantly pairs with their tablet. The meeting starts, and the salesperson presents from their tablet. No wires, no fuss. It just works.

Presentation Man People who run meetings and present are used to wires. HDMI and VGA, along with their adapters for their iPad or Mac. All to connect to a grainy, washed out, off-color projector. Wires have to be passed around between participants. Oftentimes the adapter is mistakenly left behind and needs to be repurchased.

Chromecast has the potential to change all this, and become THE replacement for cables in the conference room.

Chromecast

Opportunities

Chromecast is a $35, 3″ device made and sold by Google that simply plugs into an open HDMI port in your TV. It connects to your Wifi and is controlled by phones, tablets, and PCs. Most technologists think of Chromecast as the cheap HDMI dongle that lets people more easily stream Netflix and a limited, though growing, list of apps. Even with only a few interesting use cases available today, and even though it launched only halfway through 2013, Chromecast has already become the #1 selling connected TV device in 2013 in the US.

Challenges

But to-date Chromecast is of limited use in the office. There are three main reasons:

1. Corporate networks require additional setup

The Chromecast setup phase is challenging for most corporate networks. Chromecast devices broadcast to a specific port to discover available Chromecasts, and they respond back to the broadcaster with “hey, I’m a Chromecast and look like this.” While this works really well on home networks, it breaks down on corporate networks. Cicso has a lengthy technical note dedicated to how to overcome this with their gear, and it summarizes into the following steps:

  • Create a separate wireless network for Chromecast
  • Open UDP port 1900 and allow broadcast on 239.255.255.0
  • Disable peer-to-peer blocking

Without these steps, Chromecast cannot even complete the initial setup phase. And few IT admins will bother to go through these steps to allow the device to function on their network.

2. Guest usage is often impossible

For guests to use it (think: salespeople, customers), the corporate network a.) must allow guests, and b.) those guests must be on the same network as the Chromecast so they can discover the device. This leads to another series of challenges that IT admins would have to solve.

3. Business-focused Chromecast app support is limited

As a Chrome Mac user, I can cast (mirror) my desktop with some effort. But these are clunky if I simply want to present a deck I prepared. I want my presentation tool to natively support Chromecast.

Solutions

First, lets start with challenge #2: Guest usage is often impossible.

Google announced last month that an upcoming update to Chromecast will help solve #2. With the update, Chromecast will use ultrasonic sound to determine if a user is in the same room as a Chromecast. Once that pairing happens, the user can control the Chromecast off their mobile/cellular or wifi network from their phone or tablet, just like that.

Next, challenge #3: Business-focused Chromecast app support is limited.

Google has a beachhead into this already. The Chromecast can cast any tab within Chrome, can cast the entire desktop (though this feature is experimental), and can natively cast Google Drive/Google Docs documents. Immediately, this can overcome the vast bulk of objections of using Chromecast, albeit not very smoothly. Google can solve this further by taking the following steps:

Making screen mirroring extremely fluid, possibly with desktop extensions that don’t require Chrome and are braindead simple
Directly asking/providing incentives for enterprise software companies to add support for Chromecast into their business apps.

Gaps

This still leaves challenge #1: Corporate networks require additional setup as an issue for Google to address. It’s unclear whether Google has a strategy for this, or even cares to try to solve this problem. Historically, Google has not done a good job addressing enterprise needs in what they conceive as consumer products (see their awful support and limited enterprise-focused feature set in Android, as a case study). Moreover, it’s an incredibly hard problem to solve; enterprise networks are often very tightly locked down and often very different from each other.

Other devices?

In a later post, I will lay out where Chromecast sits relative to AppleTV and Roku, its closest competitors with respect to use in the enterprise.

Chromecast ready to cast

It will be interesting to watch how Chromecast evolves over the coming years, and potentially participate in its evolution. We are considering adding support for Chromecast into our products, and look forward to your feedback!

IAM policy to allow full user access to an S3 bucket

Since I wrestle with this about once per month, here is the IAM policy to allow full user access to an S3 bucket.

{
   "Statement":[
      {
         "Effect":"Allow",
         "Action":[
            "s3:ListAllMyBuckets"
         ],
         "Resource":"arn:aws:s3:::*"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:ListBucket",
            "s3:GetBucketLocation"
         ],
         "Resource":"arn:aws:s3:::bucket-name"
      },
      {
         "Effect":"Allow",
         "Action":[
            "s3:PutObject",
            "s3:GetObject",
            "s3:DeleteObject"
         ],
         "Resource":"arn:aws:s3:::bucket-name/*"
      }
   ]
}

The Chicago bike commuter’s list

I bike to work every day I can.  Rain, snow, blistering heat, I try to let nothing stop me. At 3.1 miles each way, the ride is not long. But after riding almost 250 times a year for many years in Chicago’s four seasons (including two Polar Vorticies), those miles can feel pretty long.

I’ve acquired a lot of equipment over the years.  Here is a list of what works for me.

Wear

  • A bike helmet (or ski helmet), always
  • On temperate, dry days I wear my business casual clothes with reflective leg straps I bought at my local bike shop
  • I have multiple series of outerwear for cooler weather:
    • For 50-60 degree days, a lightweight, shockingly orange Reebok jacket with a built-in hood that I found on clearance for $11.
    • For 35-50 degree days, a fleece-lined running coat, light gloves, and either a light running hat or Smartwool liner hat
    • For 30-35 degree days, the same fleece-lined running coat with a thick fleece zip-up underneath, winter gloves, and thick hat
    • For 20-30 degree days, I migrate to true winter clothes. I wear a Marmot ski shell, thick fleece zip-up, winter gloves, and thick hat.
    • For 10-20 degree days, same as above but with a Smartwool liner hat, liner gloves, long underwear, and waterproof/windproof galoshes
    • For 0-10 degree days, same as above but with waterproof liner pants and possibly ski goggles
    • For -10-0 degree days, same as above, but with another layer of gloves, hat, sweater, and thick ski socks
    • For -20–10 degree days, same as above, but ride faster and pray…

Carry

I try to never carry a backpack. Instead, I use an Ortlieb Office Bag QL2 Pannier. It is waterproof, sleek, and has an amazing attachment system. I love it.

Attach

This is mainly for dry weather. I have slight adjustments for wet/windy weather, which I’ll post at a later time.

Amazon Web Services and “cost stabilization”

When deleting a large chunk of data from Amazon S3, AWS struggles a bit with figuring out how much you actually owe.

We at Mediafly deleted ~30% of the tens of terabytes of data from one of our AWS accounts yesterday. One would expect the appropriate cost graph to drop ~30% as well. However, this (obfuscated) chart, output from our installation of Netflix Ice, the excellent open source tool contributed by Netflix, appears as if we outright deleted all content from our S3 bucket.

Amazon AWS S3 costs after deletion

 

Seeing this graph raised some alarms (“oh crap! Did we just delete everything??”), but thankfully the reality does not match what was depicted here. Time will tell when and how that information is updated, however.

Praise and criticism of “The Other IPO Roadshow”

Deepak Jeevan Kumar of General Catalyst Partners wrote a pretty good overview piece on TechCrunch describing his point of view of how to launch a F500-focused enterprise software company. Many parts of it ring true based on our experiences at Mediafly and my previous experiences:

CIO offices in Fortune 500 companies are trained to play it safe. Many companies stick to Oracle, VMWare, EMC and Cisco not because their products are the best in the world, but because no one got fired for selecting one of them.

That’s so very true. Often this is driven by their own experiences, but just as often it’s driven by internal politics. We heard recently from a customer (who was discussing another part of their business, thankfully) “if we don’t go with Microsoft for [terrible product A], our prices will go up on [pretty good product B used somewhere else], and we can’t have that.”

Do not use unpaid PoCs even if you have to wait one to two months to get a paid PoC.

This is very important. Customers that don’t put money behind a proof of concept simply don’t have enough skin in the game. We’ve been on the wrong end of this story before:

  • Prospect says “well, if you have feature X, I’ll be willing to buy then.”
  • You spend days/weeks/months building feature X, in hopes of securing their business
  • You show feature X to prospect
  • Prospect says “Great! Now, if you have feature Y, I’ll be willing to buy then.”
  • Repeat

Customers who are not willing to engage in a paid proof of concept are not worth it, no matter how large.

 

Some parts of Deepak’s perspectives don’t seem right:

Second, power and influence in the early days can come from public silence for enterprise startups (unlike consumer startups). Your competitors, the media and your customers like a game of treasure hunt to find out what you are doing.

In reality, as a “stealth startup”, no one really cares what you are doing. And the last thing customers want to do is to spend time trying to dig to learn your secrets. They are usually too busy running their business.

As you are selling to a select group of Fortune 500 customers, there is no point in announcing to your powerful enterprise tech competitors (e.g Cisco, Oracle, IBM, HP) what you are up to. Convince your design customers first before you open up the kimono.

Again, even if your largest competitors figure out what you are up to, it’s highly unlikely that they will try to usurp your untested, unproven ideas. They are busy running their businesses and executing on their product and company vision, to bother trying to knock you out. Of course, all this changes when you start to generate real traction and, more importantly, win deals from under their nose. But you are not at this stage yet, pre-customer startup.

That being said, I do agree with the general premise that you shouldn’t spend time talking about the product too publicly. But for these reasons. I believe that’s the case because you should be 100% focused on executing on delivering your product to these large companies that are taking a chance on you. Spending time engaging in PR is a waste of your time, as you haven’t proven anything yet.

 

Overall, this article is definitely worth a read for anyone starting down this road.

Not all DRM is bad (and other thoughts)

HTML5 VideoI’d like to follow on my earlier post that HTML5 needs DRM (specifically, Encrypted Media Extensions, or EME) with some other thoughts.

Not all DRM is bad. While technologists and consumer groups disagree with DRM in principle (users should own content they purchase outright) and implementation (DRM is easily circumvented, so why bother?), there is at least one legitimate use cases for DRM: internal content. Oftentimes internal content is meant for a specific person, group or organization, and is not meant for or ready for public consumption.

EME compartmentalizes DRM and brings developers and users back to the web. Today, the only options for DRM’ed video or document playback consist of heavy, closed plugins such as Flash or Silverlight, or closed apps that are entirely off the web (iOS, Android, Windows 8, desktop). Both of these options compete with the web as a platform, and steal developer and consumer interest away. But fencing DRM capabilities into an HTML5-compatible plugin pushes DRM into a background and can help bring development back to the web.

“No DRM” principles can’t change economic reality, but contained DRM can. The Free Software Foundation and Electronic Frontier Foundation push for “no DRM”. One of their many arguments is that DRM doesn’t work. A determined hacker can bypass any encryption or management scheme that exists, with the benefit of time. So why bother polluting standards with DRM? Yes, it is true that DRM can be circumvented with time, but it doesn’t change the economic and legal realities of today:

  • Companies that create content want some levels of assurance that their content won’t be stolen when delivered to third parties, and write this into contracts. No system better than DRM (specifically, encryption and revocation) exists today.
  • Simply providing content that is DRM-free but watermarked is insufficient (not to mention extremely expensive and technically challenging). I will likely write more on this later.

Baby steps to a DRM-free world. As Peter Bright @ ArsTechnica suggests, one of the benefits of EME is to allow content creators to tiptoe into DRM-free distribution, which may lead to an eventual transition to “No DRM”. Expecting them to dump DRM from all existing contracts and approaches without a gradual path to achieve this simply will not work because of the realities of today. And EME can provide that gradual path.

Further reading. Some good, thoughtful* articles on the pros and cons of this decision:

 

* Thoughtful compared to the “I hate DRM! Boycott Netflix!” one-sided nonsense that pervades vocal tech commentators today.

HTML5 video needs DRM

HTML5 VideoNewTeeVee covers the Free Software Foundation’s (FSF) boycott of Netflix for supporting digital rights management (DRM) technology through HTML5 video.  While I understand that the FSF takes a very hard-line view of software freedom, their push into requiring content freedom is absurd.

They state on their blog “all DRM software relies on keeping secrets.. from the user, so that users cannot design their own method to modify it.”  You know what else relies on keeping secrets from the user?  SSL. This is the same technology that makes your browser use the encrypted https protocol when navigating to, say, banking websites. If users “design their own method to modify it”, banking websites would detect tampering and shut down your communication. So shouldn’t this argument apply to all encryption technology in general?

Conversely, let’s say that they get their way and DRM gets stripped out of the HTML5 spec entirely. What happens then? Content producers will have to continue to rely on expensive, private video technology/DRM stacks such as Microsoft Silverlight and Adobe Media Server. This continues to justify the technological advantage that these non-free software stacks have vs. HTML5, and further removes the ability of open standards to displace these stacks. Put another way, it moves free software in the opposite direction.

Thankfully, from FSF’s blog post it seems like Netflix’s proposal is winning.

We at Mediafly are rooting for DRM making its way into HTML5. I’ll cover that in a future blog post.  Hint: not all DRM is bad.

 

Surprising discoveries about newborns

As some of you know, my wife recently gave birth to a boy and a girl.  Now that they are three months old, I thought I would share what I find to be some surprising discoveries over these three months.

  • We have so little free time now. Before, maybe 4-6 hours a day. Now, maybe 0.5-1 hour a day.  This issue is compounded by all the visitors we get.
  • When I used to get home, I would immediately pull my laptop out and work with it for hours. And again in the morning for an hour or two before heading to work.  Now, it is rare that I have a chance to even pull out my laptop until the morning. Conversely I use my phone much more often, as it’s easier to check/write email while feeding a baby.
  • Infants make noise all the time while sleeping. Combined with our white noise machine, it sounds like a forest in their bedroom at night.
  • Poops are often surprisingly, violently loud.
  • Gas results in a lot of screaming.
  • Cleaning their face and neck doesn’t annoy them, like it does toddlers. But it must be done often, as they are constantly dribbling milk and spitup down their neck.
  • They don’t associate physical annoyance with crying. E.g. if I accidentally dropped an empty bottle and it hit their head, they would just look around. Meanwhile, a toddler might decide to cry at the same action.
  • Each day feels like groundhog day. Feedings consist of prepping bottles, feeding, changing diapers, swaddling, cleaning bottles, and prepping for the next feeding. Doing this for both kids alone requires around 90 minutes. And since the kids have been eating every three hours in this first 6 weeks, things have become very repetitive. After 12 weeks, we have gone through this cycle almost 600 times.
  • I will wake up about once a week with a jolt and throw the sheets off of me, thinking that a baby is in bed with me and he/she is stuffed under the blankets or under me. Unlike normal nightmares which wash over me in 2-3 seconds, it actually takes me 10 seconds or so of frantically looking around before I realize that that didn’t happen.
  • It took 8 weeks for us to finally feel comfortable enough to leave the house and feed them in a public place (and that 8 weeks was partially due to Chicago’s crappy spring weather). It was hugely liberating.
  • They really hate when you try to put on sleep sacks, which are tight at the neck and tight at the bottom.  Both areas of tightness really pisses them off.

How I spend my day

I was asked by a member of our Chicago startup community to detail what the day-to-day life of the CTO looks like at Mediafly. I thought I’d share how I spend my time, summarized in this graph:

Where I spend my time

As you can see, my role pulls me in a lot of different directions. Often, what I believe I will be doing at the start of the day turns out to be completely wrong by the end of the day looking back.

This graph doesn’t state much in isolation.  More interesting is when I pair this with where I want to spend my time (assuming Mediafly is no more than double its current size):

Where I want to spend my time

As we grow, I want to spend less time troubleshooting client issues, and more time with the product, with prospective customers, with my team, and writing and speaking.  Put another way, I want to spend more time being externally focused and be able to further rely on my team to make things happen.

 

The following notes apply when reading this:

  1. This is how I spend my time. It is not meant to be prescriptive, and It will almost assuredly differ from how you spend your time in the same role at the same company.
  2. I am the CTO of Mediafly, a high-growth enterprise mobility software-as-a-service company. We turn enterprise content and data into compelling mobile experiences. We have approximately 25 employees and contractors, the bulk of whom reside in engineering and services.
  3. My experiences and time allocation will differ from the CTO of a consumer-focused startup, established enterprise software company, or internal IT CTO.

I plan to update this post over time as my thoughts evolve.  As always, feedback is welcome!