Archive for June 4, 2017

Sunday, June 4, 2017

What Really Happened With Vista

Terry Crowley (via Hacker News):

Microsoft badly misjudged the underlying trends in computer hardware, in particular the right turn that occurred in 2003 to the trend of rapid improvements in single-threaded processor speed and matching improvements in other core elements of the PC. Vista was planned for and built for hardware that did not exist. This was bad for desktops, worse for laptops and disastrous for mobile.


The bet on C# and managed code included a strategy that reduced investments in the core unmanaged Win32 layers. I remember long meetings trying to get Windows to commit to relatively minor investments in text and graphics features that Office needed. Pulling these C# components out of the release made it even more obvious that Windows would be going years with very little improvement in core user interface controls for developers (like Office) on their main Win32 API.

Also catastrophically, the bet on Avalon had been paired with a major disinvestment in IE. The IE team was gutted to staff Avalon and IE was left on life support struggling to address the torrent of security issues cascading in.


Avalon’s model was based on this focus to realize Bill’s vision and provide a universal canvas runtime for applications. […] By only exposing functionality at a very high level, they made all their work essentially unavailable to more sophisticated applications (like the Office apps) that would like to tie in at lower levels.

Previously: Complexity and Strategy in Microsoft Office.

Swift’s Evolution

Justin Williams (Hacker News):

The biggest travesty was the “Great Renaming” which touched every line of Swift code I had and burned a week of my life on tedium. In my decade of professional development, I have never had a worse experience. The migration tool caused more issues than it automatically resolved, leaving a manual migration as the only sane path forward. How that migration tool ever made it through QA is beyond me, but I’d have felt better if Apple just said “good luck” instead of offering a half-baked utility.

I like where we ended up after the renaming, but the migration tool was indeed a disaster. I wish I had never tried to use it and just migrated manually.

I realize that the tools team and the Swift team are separate, but its hard to separate the two when Swift’s primary method of development is Xcode. Xcode’s quality as a Swift development language has never been great with its constant indexing, opaque compile errors, not great typing auto-completion, and lack of refactoring support still.

The continuing poor reliability of the tooling has been the biggest surprise to me with Swift. These kind of bugs should be fixable. It seems like the team is either understaffed or more interested in “showy” stuff, as Williams says, than in addressing developer pain points.

Right now it feels like I’d have been better served by continuing on with Objective-C, which is still being improved in meaningful ways, rather than going all-in on Swift.

I think I’ve been well served writing most of my new code in Swift. Though there are still some important things missing, in most cases I find it both more efficient and more fun than writing Objective-C.

How Anker Is Beating Apple and Samsung at Their Own Accessory Game

Nick Statt (via Hacker News):

Steven Yang quit his job at Google in the summer of 2011 to build the products he felt the world needed: a line of reasonably priced accessories that would be better than the ones you could buy from Apple and other big-name brands. These accessories — batteries, cables, chargers — would solve our most persistent gadget problem by letting us stay powered on at all times.


Most Anker charging products have one signature: the PowerIQ logo. Launched in 2013, the company’s proprietary charging standard is now present on nearly all of its batteries and wall plugs. The technology, carried by a small chip inside each charger, identifies whatever device is being plugged in, be it an iPhone 7 Plus, Google Pixel, or an iPad Pro 9.7-inch, in order to detect and deliver the maximum current the product allows. Anker says the technology can shave hours off the amount of time it takes to reach a full charge.


Building this system gave Yang invaluable insight into how third-party selling on Amazon functioned. He discovered what worked and what didn’t, and how entire brands could crop up overnight and fade into obscurity the next day. Anker thrived by borrowing infrastructure from Amazon and relying on engineering and support in China.

I don’t really like the headline, since it seems clear that Apple and Samsung have bigger fish to fry. However, I’m a big fan of Anker, which always seems to offer quality USB products and good service at reasonable prices.

Hacker, Hack Thyself

Jeff Atwood (Hacker News):

The name of the security game is defense in depth, so all these hardening steps help … but we still need to assume that Internet Bad Guys will somehow get a copy of your database. And then what? Well, what's in the database?


After this exercise, I now have a much deeper understanding of our worst case security scenario, a database compromise combined with a professional offline password hashing attack. I can also more confidently recommend and stand behind our engineering work in making Discourse secure for everyone. So if, like me, you’re not entirely sure you are doing things securely, it’s time to put those assumptions to the test. Don’t wait around for hackers to attack you — hacker, hack thyself!

The Art of Writing One-Sentence Product Descriptions

David Bailey (via Andy Bargh):

I wanted to know why some one-sentence descriptions sound like a genius idea and others flop. As I researched how the founders of successful startups presented their products before they were well-known, I discovered something interesting.


Facebook and Uber have thousands of features, yet Mark and Travis elevate a single feature above the others, making the product easy to understand, easy to remember, and, most importantly, easy to talk about.