Archive for January 11, 2017

Wednesday, January 11, 2017

The Inside Story of BitTorrent Inc’s Collapse

Jessi Hempel (via Hacker News):

But transforming this technology into any kind of business has proved elusive. By last spring, BitTorrent had already endeavored to become a media company, twice. There was BitTorrent Entertainment Network, launched in 2007, which was a storefront for movies and music that made no money and shut down a year later. And then there was the BitTorrent Bundle, launched in 2013, which was a competitor to iTunes and Amazon that let artists distribute their work directly to fans at a fraction the cost. In 2014, the company even announced plans to produce its own original series, a scifi show called Children of the Machine. But by early the next year, BitTorrent had given up on this strategy, too.


The latest chapter of BitTorrent’s saga begins in earnest in 2015. By then, many of the company’s executives and directors were exhausted. They still couldn’t agree on a path forward for the company. Some people believed it should double down on its technical business, building products people loved. They’d developed a product called Sync, for example, which was a decentralized version of Dropbox. Others wanted it to be an entertainment company, striking deals to send content to those people. With no focus, the company had reached an impasse. Earlier that year, BitTorrent had laid off nearly a third of its 150 employees.


Perhaps the lesson here is that sometimes technologies are not products. And they’re not companies. They’re just damn good technologies.


In early 2016, Resilio Inc. was spun out of BitTorrent Inc. to bring the power and resilience of distributed technology to the modern enterprise. Resilio started with core BitTorrent technology and hardened it for commercial use while adding the centralized management and control required for modern IT.

Previously: Replacing Dropbox With Resilio Sync.

Bringing Wide Color to Instagram

Mike Krieger (via Craig Hockenberry):

In other places — like when initializing a CGContext for other drawing operations — it’s common to use CGColorSpaceCreateDeviceRGB when creating a CGColorSpaceRef. This will create an sRGB colorspace on most devices, and we’ll lose our wide color information. Most of the initial work for wide color on Instagram was tracking down everywhere that this color space was hard-coded.

Instead, we can see if our screen supports wide colors (using UIScreen.mainScreen.traitCollection.displayGamut), and if so, use CGColorSpaceCreateWithName(kCGColorSpaceDisplayP3). Again, we found that creating a wrapper that returns the appropriate colorspace for that device was helpful.


Instagram uses OpenGL for most of its image editing and filtering. OpenGL isn’t color managed; it operates on a range (say, 0.0 to 1.0), and it’s up to the output surface to determine what colors that actually maps to.

The good news is that this meant we had to make very few changes to make our GL pipeline wide-color compatible. The biggest change was to ensure that when we extracted pixel buffers from our GL surface, we were using the appropriate colorspace before converting from a CVPixelBufferRef to a CGImageRef.

I can see the Instagram logo in their canary image even though my Mac doesn’t have a P3 display.

Tony Fadell’s Stories About the First iPhone

Dave Lee:

Apple had many of the best brains in the business, but until that point it hadn’t ever made a phone of its own.

And so Fadell planned a fact-finding world tour to meet experts and check out research labs of telecoms experts.

It began with one manufacturer in Malmo, Sweden - a trip which ended with all of their bags, notes and equipment being stolen from their cars while they were inside a restaurant having dinner.


“Until you can agree with us you can’t come back in this room,” Fadell recalled Jobs saying to pro-keyboarders. “If you don’t want to be on the team, don’t be on the team.” The disagreements soon stopped.


“I thought, ‘We must make this work with a stylus’,” Fadell remembered. ”Because we knew it was right, even though Steve was making a philosophical point initially saying you can just use your finger. We knew there will come a day when you’re going to need a stylus.

“We did it without his knowledge, it was behind the scenes. He would’ve ripped my head off.”

App Extensions Are Not a Replacement for User Automation

Sal Saghoian (via Federico Viticci, Todd Ditchendorf):

Let’s imagine that Apple decided to combine their engineering resources to form app teams that delivered both iOS and macOS versions of applications.

In such a scenario it may seem logical to retain application features common to both platforms and to remove those that were perceived to require extra resources. Certainly Automation would be something examined in that regard, and the idea might be posited that: “App Extensions are equivalent to, or could be a replacement for, User Automation in macOS.” And by User Automation, I’m referring to Apple Event scripting, Automator, Services, the UNIX command line utilities, etc.

This is pretty much what I feared was Apple’s thinking.

Based upon the information presented in this overview, it is clear that App Extensions do not provide the same abilities and functionality as the User Automation technologies of macOS, and objectively should not be considered a comparable replacement for them.

Previously: Tell Us Your Mac Automation Stories, Thank You, Sal.

Update (2017-01-12): John Gruber:

I’d prefer to see iOS gain serious automation capabilities — even if it’s an altogether new technology. But I’m dreadfully afraid of a future where MacOS is devolved to iOS’s state, with no supported automation technologies.