Google have a neural network that takes a photo and returns a location

Google have trained a neural network that can determine with better accuracy than humans the geographical location given an arbitrary image; from the MIT Technology Review:

That’s impressive work that shows deep neural nets flexing their muscles once again. Perhaps more impressive still is that the model uses a relatively small amount of memory unlike other approaches that use gigabytes of the stuff. “Our model uses only 377 MB, which even fits into the memory of a smartphone,” say Weyand and co.

That’s a tantalizing idea—the power of a superhuman neural network on a smartphone. It surely won’t be long now!

That is indeed tantalizing, and while this trick is in some ways a gimmick, it’s a great part of an intelligent system. The hard part about this is to compose these skills into a system than can use the right skill at the right time, analyzing an image for location when needed, finding the shortest path when needed, seeing the trend in data structures when needed, etc.

Microsoft support Apple in the right to privacy

After the Microsoft CEO and founder expressed at best lukewarm support for Apple’ defense of the right to privacy, Bloomberg report that they’re going to stand with Apple on encryption in a big way:

Microsoft Corp. will file an amicus brief next week to support Apple Inc. in its fight with the U.S. government over unlocking a terrorist’s iPhone, President and Chief Legal Officer Brad Smith said at a congressional hearing Thursday to discuss the need for new legislation to govern privacy.

Good for them. This puts them on the right side of history, in my opinion, and I hope it’s enough to sway our government. The US government should be a leader here, because other nations will consider what happens here when making their policy.

Microsoft Acquires Xamarin

Xamarin is a cross-platform development tool that’s built on Microsoft-sponsored technologies, here’s the announcement:

As part of this commitment I am pleased to announce today that Microsoft has signed an agreement to acquire Xamarin, a leading platform provider for mobile app development.

In conjunction with Visual Studio, Xamarin provides a rich mobile development offering that enables developers to build mobile apps using C# and deliver fully native mobile app experiences to all major devices – including iOS, Android, and Windows.

This is a massive power grab from Microsoft, and could be leveraged to put them back on top. Consider that Microsoft have a way for developers to take iOS and Android codebases and ship it on Windows 10 using a compatibility-layer approach. If you look at their offerings on competitor’s platforms, you might think they’ve taken a “if you can’t beat them join them” approach, but it’s becoming more and more “if you can’t beat them become them.”

Apple introduces Podcasts Connect

A couple days ago, I received an email from Apple regarding podcasts, which announced a number of new features that the iTunes service has for podcasters, including:

Introducing Podcasts Connect
Podcasts Connect is the primary place to manage your podcasts on the iTunes Store. Here you will be able to validate and submit podcasts to iTunes. You will also be able to manage availablity once your podcast has been approved.

Get started using Podcasts Connect.

Right now it just lets you manage your shows, and it is much better than the older webforms I had to use to set up my podcast. An exciting development for anyone that wants to get into podcasting, because it’s now easier than ever. I hope this includes analytics one day, it could be a huge boon for podcasters that want to attract advertisers.

The March 2016 issue of Hacker Bits published with yours truly

A couple weeks ago, Ray Li of Hacker Bits reached out to me asking to reprint some of my writing in the periodical. I clicked around the site and found that it’s a beautifully typeset publication, check it out. Here’s a synopsis:

Wow! What a month! We just put the finishing touches on the March 2016 issue of Hacker Bits.

The issue line-up is a great mix of startups, programming bits, opinion pieces topped off with a DIY camera article!

The Walking Dead S06E10: "The Next World" Review

Spoilers ahead. After the madness and gore of the mid-season premier, The Walking Dead picks it up a couple weeks later when things have quieted down a little bit: it’s safe to rebuild walls, take care of the baby, and begin thinking of getting some more food. I have a hard time watching The Walking Dead, admittedly, because when things are going badly for our ragtag team of zombie killers, I feel sad about it. And when things are going well for our protagonists, I don’t get comfortable because I know it’s coming.

Such was the case with the first major plot point: Rick and Daryl leave together to go scavenging. It was an entertaining vignette, full of snappy dialogue and interesting developments, but before we get to that why the hell did they leave as a pair. Seems to me with the impending threat of “Negan”, which Daryl knows about and has presumably told Rick about, deserve a little more precaution. Certainly a level of precaution above and beyond blasting music while revving the engine, as Daryl rightly objected to. Further, when your hauling what is perhaps the single greatest find left around due to the “law of averages”, you do not use it to tow a soda machine, especially when you’re being hunted.

This brings us to the next plot point: Jesus. Rick and Daryl have seen some terrible things, they’ve done some terrible things, and well, it’s gotten to them. I’d have to imagine that if The Walking Dead were real, which I seem intent on treating it like it is, that they’d have killed Jesus on the spot, no questions asked. Perhaps it shocked them, perhaps they’re still hesitant to kill strangers, and perhaps either of these possibilities will turn out for the best, but the fact remains that Rick and Daryl colossally messed up in letting Jesus do what he did. Having said that, he’s a terrifically interesting character and I look forward to the content of his talk with Rick in the nude.

Much of the other vignettes of the show were built around the theme of family: where Maggie tried to convince Enid to be a part of the gang, where Carl and Enid try have fun in the wilderness like the good old days, Spencer having to confront his undead family to join a new living one, and Michonne becomes closer to the Grimes than she’s ever been. While I found the pacing of these parts a little prolonged, I enjoyed just hanging out with the bunch without too much fear that all was going to go awry.

“The Next World” was a balanced episode which leaves me excited for the future: Jesus the scoundrel fascinates me in much the same way the lead of “Negan’s people” in last episode did, #Richonne feels totally right and I caution them against getting too happy because I want neither of them to die, and the worry of Negan hangs over all of this.

Bill Gates on Apple v. FBI

Bill Gates weighs in on what he thinks about the Apple v. FBI showdown with regards to the San Bernardino massacre:

“This is a specific case where the government is asking for access to information. They are not asking for some general thing, they are asking for a particular case,” Gates tells the Financial Times, disagreeing with Apple CEO Tim Cook that the FBI’s request would create an iPhone backdoor.

How shamefully wrong. If this were in fact just a singular request for information, the FBI would not have done it so publicly, they would not have invoked the All Writs Acts, and if I’m to speculate a bit, they would not have purposefully sabotaged their chances at legal access to the phone’s information. What more, but the Wall Street Journal is reporting that the FBI already have twelve iPhones they would want Apple to compromise.

Certification of apps for Apple platforms

An app which allows users to pirate apps snuck onto the App Store by changing the UI based on a user’s locale, location, IP, or something akin. Macworld:

A Chinese iOS application recently found on Apple’s official store contained hidden features that allow users to install pirated apps on non-jailbroken devices. Its creators took advantage of a relatively new feature that lets iOS developers obtain free code-signing certificates for limited app deployment and testing.

Coincidentally, Apple have released some news a couple days ago of an upcoming certification renewal:

How will customers be affected by the certificate renewal?
Customers who have purchased and installed iOS apps, tvOS apps, or Safari Extensions will not be affected by the certificate renewal. Users running OS X El Capitan (v10.11 or v10.11.1) may receive a notification that your Mac app is damaged if it utilizes receipt validation to request a new receipt from Apple. They can resolve this issue by restarting their Mac or updating to OS X El Capitan (v10.11.2) or later.

It seem I’m not the only one that finds certification, provisioning, and code signing confusing …

As a side note, I ran into this bug this weekend.

GitLab 8.5 released

The open-source GitHub competitor GitLab has shipped a new version of their software which, among other things, has light project management in the form of a feature they call “Todos”:

GitLab is where you do your work, so being able to get started quickly is very important. Therefore, we’re now introducing Todos.

Todos is a chronological list of to-dos that are waiting for your input. Whenever you’re assigned to an issue or merge request or have someone mention you, a new to-do is created automatically.

Then when you’ve made a change, like replying to a comment or updating an issue, the to-do is automatically set to Done. You can also manually mark to-dos as done.

I bet GitHub are really feeling the heat. I’ve long thought it silly that many projects have their source code and their issues/milestones/bug-tracking separate. I’m very impressed by GitLab, and the version control for my next project will be between them and BitBucket.

Smartwatches out-shipped Swiss watches

What relationship does the smartwatch have with the traditional watch and is it anything like smartphones and “traditional” phones? Here’s Jacob Newman reporting for Macworld on how smartwatches out-shipping traditional watches:

Traditional watches aren’t likely to go away, as there will always be some appeal in a timepiece that’s simpler, more dependable, and not at risk of obsolescence. It’s also unclear if high-end smartwatches like the $10,000-and-up Apple Watch Edition can truly compete with the luxury Swiss watch business. Still, the explosion in smartwatch shipments shows how much opportunity exists to reach people who don’t care for mechanical watches, and should serve as a wakeup call to the big Swiss brands.

The watch market is complicated because you can win a $1 watch in a carnival game and some watchmaker’s cheapest watches are $100,000. The point is that while I would never wear a traditional watch for utility (because my phone tells time, of course) and I’d never wear a smartwatch for fashion (because even though Apple are trying, it’s still a nerd’s toy), I think many people share this experience (but feel free to express dissent here). Both of these points are diluted by two facts, however:

  • a mechanical watch at the same price range as a smart watch will likely last forever, giving it way more utility in one crucial metric; and
  • Apple are pushing the Apple Watch as a fashion and luxury device.

Perhaps this will hurt Apple in the long run as fashions change and people realize their $20,000 Apple Watch is only good for a year (or maybe that’s a benefit for people in that stratum of wealth). However as market leader and beautiful-product-maker they’ve really led in setting the fashion of technology in the past, so perhaps it will not hurt them.

High-end watchmakers shouldn’t fear encroachment from smartwatches because people don’t buy a $10,000 watch for its utility: much like Apple fans are often mocked for by fans of other products, with high-end mechanical watches, it’s about the brand.

Apple Pay launches in China

Apple has launched ApplePay in China:

You can now support Apple Pay for your customers in China, providing an easy, secure, and private way for them to pay using their China UnionPay credit and debit cards. Apple Pay lets users buy physical goods and services within your app without having to enter payment or contact information.  Learn more.

The O2O market in China is massive, and if Apple release a Venmo-like service for Apple Pay, this could change the way people do business.

Stand with Apple

Tim Cook has published a heroic defense of American’s right to privacy in the face of a court order Apple has been served by the FBI:

The government would have us remove security features and add new capabilities to the operating system, allowing a passcode to be input electronically. This would make it easier to unlock an iPhone by “brute force,” trying thousands or millions of combinations with the speed of a modern computer.

The implications of the government’s demands are chilling. If the government can use the All Writs Act to make it easier to unlock your iPhone, it would have the power to reach into anyone’s device to capture their data. The government could extend this breach of privacy and demand that Apple build surveillance software to intercept your messages, access your health records or financial data, track your location, or even access your phone’s microphone or camera without your knowledge.

Apple is doing this because this is the right thing to do: there may be not a lot a stake in unlocking this particular phone, but the precedent that the government wants to set is clear. There’s a lot of excellent journalism you can find on this topic, and I may publish a round-up post with some analysis later. But for now, I want to be absolutely clear about my support for Apple and my condemnation of any technology company which doesn’t stand with Apple on this.

Where there's no software problem: betas

Writing about Apple software quality woes, Michael Simon makes some really good points in his latest piece for Macworld. There’s something really problematic about the opening paragraph however:

Twice over the past month I’ve had to erase and restore my iPhone. Both times were related to an attempted install of the iOS 9.3 Public Beta; instead of upgrading my phone with Night Shift, secure Notes, and better News, I got stuck in an endless Apple logo loop that required plugging into the dreaded iTunes and wiping my drive.

Craig Federighi and Eddy Cue were recently on The Talk Show with John Gruber and argued that because more people are installing the software on day one more than ever, that this is one of the challenges that Apple has to contend with with regard to software quality. That was nonsense because it’s Apple themselves that are releasing more than ever, being more aggressive with upgrade prompts than they’ve ever been, and arguable seeking more users than ever. What Simon has to say about the betas being an indication of software quality is equally nonsense because they’re betas: the fact that his install failed is actually what betas are supposed to do. It’s fine that these problems crop up in the betas, the problem is that they also make it to the final build.

The Walking Dead S06E09 "No Way Out" Review

Spoilers ahead. In the mid-season premiere of AMC’s The Walking Dead, the writers killed off characters with story left to tell, protected characters who have met their narrative end episodes ago, and wrote in at least one absurdity. Let me explain.

But before I get started, I must admit I’m never sure what to expect from The Walking Dead. Sometimes it appears to be a critique of our culture, sometimes it feels  like a soap opera, and sometimes it’s clearly a unrelenting gore-fest. Zack Handlen of The Onion’s A.V. Club has a similar conundrum:

My problem, I think, is I keep expecting The Walking Dead to have a consistent narrative philosophy. I don’t mean in some kind of high-minded, “what does this all really have to say about America?” kind of way. I just want there to be a point behind the misery and death and seemingly endless stream of gore.

Perhaps it’s a strength of the show that it can take on different tones. In any case, here’s what I mean by the wrong characters died.

Negan’s people

Whoever played the character which accosts Daryl, Sasha, and Abraham was awesome. The delivery of his lines was menacing and comedic. The voiceless goons around him I won’t miss, but I do think it’s a shame he met such a quick end. However, if the show is willing to kill of a character this good early in the Negan storyline (I haven’t read any comics), I’m excited for what’s in store. Especially considering that whoever this Negan is is unlikely to take too kindly to having his people blown to bits: that was a declaration of war.

It’s still a shame he died however, and for a reason I think many fans may disagree: it was Daryl who should have died. For a crew of on-guard and in-control goons to not realize Daryl disarmed their buddy and then have him grab a rocket launcher is very unlikely. The reason it happened is not so much that Daryl has narrative potential left or because it’s a likely occurrence (not that this matters much in a zombie apocalypse TV show), but because Daryl is a fan favorite and it makes a great opening. It was stupid, but man was it a surprise and wholly entertaining (a theme which is repeated later in the episode by Daryl again).

Jessie and her family

The Walking Dead is mainly the story of the Grimes family, and so when Pete (i.e. “Porchdick”) began fighting with Rick and Rick began flirting with Jessie, the ensuing death was inevitable. The decision to stop Pete was a morally tough one for Rick because while it was the right thing to do, it would strain his political capital with Alexandria. It was made even more morally murky because of his feelings for Jessie, which themselves were hard because of what happened with Lori. One of the ways that Rick could grow as a character was to learn to love again, and this is what was interesting about the Jessie storyline, especially considering the relationship Rick had with her children with Pete.

Unfortunately, I feel, this all came to a screeching halt within the first five minutes of the mid-season premiere, where the rest of Jessie’s family meet their end. Her youngest son, Sam, absolutely was going to bite the dust, Carol assured that very early in the season. Ron, however, had a tense but interesting relationship with both Rick and Carl, and I’m sorry to see that end. I’m surprised to see Michonne so unrelenting in ending the life of a teenager, just like Carl, as well. I would be shocked if this doesn’t have an effect on her later.

Ultimately, I at least don’t think Jessie should have died: it cuts short would could have been an amazing way to develop Rick’s character, and she had a lot of potential in her own right. Her brutal coming-of-age in the bloody murder of a Wolf to defend her family showed that she had strength and resilience. I find it much more likely that other Alexandrians would have died than Jessie’s dying, and I think it would serve the plot better to get rid of some of the less tough characters that clearly haven’t grown like Jessie has.

Carl

The younger Grimes is the natural successor to being the narrative center of The Walking Dead. In this episode, we see this fact cemented as a plot armor which keeps him alive despite being shot (albeit accidentally) in the face. I don’t follow the comics, but I understand that he received a similar injury there. However, despite my being a bit cynical about his plot armor, I appreciate how this happening to Carl grew other characters: first, Michonne really shows her love for Carl by first murdering someone his age to defend him and then giving him a kiss of the forehead before leaving his side to kill some zombie; secondly, Rick’s soliloquy to Carl on his son’s almost deathbed was incredibly moving.

Denise and the Wolf

I don’t know how this fits in with the rest of the story. Both Denise and that Wolf has interesting character development left, especially considering that the Wolf validated Morgan in the end by saving Denise despite it resulting in his being bitten. Here’s Vox’s Todd VanDerWerff on Denise and the Wolf:

The Wolf’s eventual death is particularly notable for the way that the spirit of trying to save others filters out first to the Wolf (who turns back to help Denise when she’s almost certainly dead) and then to Denise (who offers to save his life). Ultimately, Carol shoots the Wolf, and he falls prey to the horde.

I think really who should have died here was Carol. Sure, she has some conflict left to settle with Morgan with regards to the KILL KILL KILL philosophy vs. the “all life is precious” point of view, but I don’t think there’s as much there as there was in seeing how the Wolf could turn out to actually be good like Morgan said or to ultimately validate Carol’s attitude. Carol went from being an abused wife to a distraught mother to a vicious survivor, but I’m just not sure there’s anything left for her. Her takedown of Terminus was almost comical in its ruthlessness, and I don’t think there’s much left for her to do.

Glenn

Bryan Bishop at The Verge has some spot-on analysis of what’s wrong with Glenn’s story in this episode:

But then, for some inexplicable reason, Glenn started going a little nuts, and (apparently) decided to sacrifice himself even though he could have easily kept running. After all the nonsense last year, it looked like Glenn was going to die after all — just a huge, flaming middle finger to the audience. But THEN! In came Sacha and Abraham, miraculously saving Glenn with a hail of automatic weapons fire and a goofy one-liner. TWD managed to take an already cheap, eye-rolling moment and make it even cheaper.

With this in mind, I don’t think that unlikeliness of cheesiness of this sequence is the biggest writing crime here, but rather it’s putting Glenn in such a silly situation so soon after the dumpster fiasco at all. In my opinion, it would have been better to have this part of the story be mostly about the reuniting of Glenn with Maggie, which we don’t really get to see because of all the silliness. The look that Maggie gives Glenn, with the audience knowing that she’s pregnant, was absolutely heart wrenching, and this was cheapened by an unnecessary action sequence in an already action-packed episode. So while I’m glad they didn’t kill Glenn, if they’re going to keep putting him in these situations, they should just do it.

Daryl

I said at the beginning of this piece that Daryl should have died in lieu of Negan’s snarky associate, and I think that Daryl’s actions later in the episode only validate this further. Sure, it’s damn awesome to pour gasoline out of a big tank, fire a rocket into that gasoline, and sit back while all of your zombie problems are burned away. Cinematograph-ily and narratively, this was a welcome and exciting surprise. But practically, what a joke: Daryl pours valuable gasoline onto a lake and then proceeds to fire rocket into the lake when literally a match would have sufficed.

The reason this happened is obvious: Daryl is played out as a character. He started as the wild and unfriendly but good-hearted survivor, and we really saw that good-heartedness grow and develop over the seasons. Throughout, he always had little to say but did let his actions speak for him. But because his character has nowhere to go from being good and “cool”, the writers have had him become more brooding and more “cool”. While he’s a fan favorite, I think that his “awesomeness” in the latest episode only goes to show he has no more story left to be told.

Perhaps I’m wrong, though, and all in all, I wholeheartedly enjoyed the latest episode.

Machine Learning in Swift: Linear Regressions

I’m going to implement a simple linear regression algorithm on a data set which maps square footage onto housing values in Portland, Oregon in Swift. With this algorithm, I’ll be able to predict housing values given square footage. For this exercise, I’m going to use pure Swift and keep my only dependency as Darwin. If you want to skip right to the code, here’s a Playground .

First, I’m going to need to define a point, with $x$ and $y$ values. If I were using CoreGraphics I could make use of CGPoint, but I won’t add that dependency and there doesn’t appear to be a Swift Point, which I find a bit surprising. Because Swift value types are much more efficient, I’m going to make my point a struct.

struct Point {
 var x: Float
 var y: Float
}

Great. Now I’d like to define a collection of points as an object so that I can perform operations on it. I’ll use a Swift Set because my data isn’t ordered.

typealias Data = Set

Unfortunately this is where I run into my first problem with Swift: my Point cannot go into a set because it’s not Hashable; and to be Hashable, the struct must also be Equatable. So let’s do some stuff to make the compiler happy:

func ==(lhs: Point, rhs: Point) -> Bool {
 return lhs.x == rhs.x && lhs.y == rhs.y
}

extension Point : Hashable {
 internal var hashValue : Int {
  get { return "(self.x),(self.y)".hashValue }
 }
}

Now that I have all the preliminaries done, I’d like to define an extension on my new custom Point type which adds all of the functions I’ll need to perform a linear regression.

extension Data { }

This causes my second run-in with the Swift compiler: it seems that constrained extensions must be declared on the unspecialized generic types with constraints
specified by a where clause. This means that instead of using my custom Data object, I’ll have to use Set and constrain the Elements to Point structures. Let’s see what happens:

extension Set where Elements : Point { }

Unfortunately this also does not work: the compiler is complaining that I’m constraining Elements to a non-protocol type Point, which is true. I cannot quite tell, but it seems that this feature may be coming in a future version of Swift, along with the following syntax (which also did not work for me this time):

extension Set where Generator.Element == Point { }

In any case, I’ve now found the winning combination to get the functionality I want while keeping the compiler happy: a PointProtocol which defines an x and y, a Point struct which implements PointProtocol, and an extension on Set where the Elements conform to (the admittedly superfluous) PointProtocol:

protocol PointProtocol {
 var x: Float { get }
 var y: Float { get }
}

struct Point : PointProtocol {
 var x: Float
 var y: Float
}

extension Set where Element : PointProtocol { }

Now it’s time to implement the derivative values I’ll need to plot a linear regression on my Set of Points. With Andrew Ng’s first three lectures fresh in my mind and a little help from Salman Khan, I came up with the following implementation:

extension Set where Element : PointProtocol {
 var size: Float {
  get { return Float(self.count) }
 }

 var avgOfXs: Float {
  get { return self.reduce(0) { $0 + $1.x } / self.size }
 }

 var avgOfYs: Float {
  get { return self.reduce(0) { $0 + $1.y } / self.size }
 }

 var avgOfXsAndYs: Float {
  get { return self.reduce(0) { $0 + ($1.x * $1.y) } / self.size }
 }

 var avgOfXsSquared: Float {
  get { return self.reduce(0) { $0 + pow($1.x, 2) } / self.size }
 }

 var slope: Float {
  get { return ((self.avgOfXs * self.avgOfYs) - self.avgOfXsAndYs) / (pow(self.avgOfXs, 2) - self.avgOfXsSquared) }
 }

 var yIntercept: Float {
  get { return self.avgOfYs - self.slope * self.avgOfXs }
 }

 func f(x: Float) -> Float {
  return self.slope * x + self.yIntercept
 }
}

I have been trying to find a way to generalize the averaging functionality and pass in just the value I want to use in the summation, but I have yet to find a good way to do that.

Now that I have all the tools I’ll need, it’s just the matter of plugging in some data and running the regression:

var data = Data([
 Point(x: 2104, y: 400),
 Point(x: 1600, y: 330),
 Point(x: 2400, y: 369),
 Point(x: 1416, y: 232),
 Point(x: 3000, y: 540)
])

for var i in [0, 1000, 2000, 3000, 4000, 5000] {
 XCPlaygroundPage.currentPage.captureValue(data.f(Float(i)), withIdentifier: "")
}

This creates a beautiful graph in Xcode’s Playground which reveals to me the profound insight that a house with 0 square footage should be worth $267,900 in Portland, Oregon. More interestingly, at the 3000 square footage mark, just like we might expect by cross-referencing with out original data set, my linear regression shows the house should cost $522,146. Take a look for yourself:

Screen Shot 2016-02-14 at 1.06.43 AM

 

Watch apps worth making and the enterprise

Everyone, even Apple, still seems to be trying to figure out what people want or need to do on their wrist. Prominent WatchKit developer David Smith muses:

What doesn’t work is easiest to say. Apps that try to re-create the functionality of an iPhone app simply don’t work. If you can perform a particular operation on an iPhone, then it is better to do it there. The promise of never having to take your iPhone out of your pocket just isn’t quite here yet. The Apple Watch may advance (in hardware and software) to a point where this is no longer true but the platform has a ways to grow first.

In response, Federico Viticci:

[…] As I tweeted yesterday, my favorite Watch apps aren’t trying to mimic iPhone apps at all. If the same task can be completed on the iPhone, I don’t see why I would try on a smaller, slower device.

Something you might not hear elsewhere: I’m rather interested in the possibilities of fleets of watchOS devices in enterprise. I’ve heard of a real, albeit crazy, case of a company deploying a fleet of iPhones that workers wear on their wrists to inform them of certain events as they happen. Of course, the Apple Watch would be perfect for this, but it’s been billed and tooled to be such a personal device, I don’t think the platform is quite ready for enterprise needs like multi-user of deploying many of them.

But perhaps one day.

Sync is still hard

Sync is still hard. Versioning documents, resolving conflicts, and issues of connectivity still cause every cloud storage solution trouble. Even for high-profile software like iCloud and Dropbox. Consider that Federico Viticci just tweeted:

Just lost 1.5k words I had prepared for tomorrow because I wanted to try iCloud sync instead of Dropbox this week.

In response, Manton Reece writes that iCloud is too opaque:

I hear that people love iCloud Photo Library and Notes, and that the quality of these apps and companion services has significantly improved. That’s great. (I also think that CloudKit is clearly the best thing Apple has built for syncing yet.)

But to me, it doesn’t matter if it’s reliable or fast, or even if it “always” works. It only matters if I trust it when something goes wrong. Conceptually I’m not sure iCloud will ever get there for me.

This is absolutely right. I used to be “all-in” on Apple’s software when iPhoto was around, because I could back up the managed folder and still access that data in a directory structure that made sense to me. I migrated to a Dropbox and Adobe Lightroom based workflow because of performance, reliability, power, and predictability. Perhaps Photos is simpler and more convenient for most consumers, but it just is too risky and too opaque for me.

This discussion reminds me somewhat of why Marco Arment and David Smith use their own Linux servers instead of BaaS.

The smart-home's future

The “smart-thing” pattern is coming for all of our stuff: homes, cars, toasters, and more. Still, the smart home still is too confusing and expensive for many consumers. Dan Moren writes for MacWorld:

My home is dumb.

Part of the reason is that I don’t have a house—I have an apartment, which I rent. That limits the investment I can make into smart home technology: No rewiring thermostats or installing smoke detectors for me.

But the other part of it is that right now, the smart home industry is disjointed, fragmented. There are a ton of disparate gadgets and more competing and wackily-named protocols than I can shake a (smart) stick at.

I disagree. The Phillips Hue (and it’s “Friends of Hue”) program seems to me to be a popular standard, and it works very well. Apple’s HomeKit and Siri-integration works very well as a hub. And while I also rent and cannot touch my thermostat, there are plenty of consumer fire-alarms, scales, AI-assistants, locks, and blinds that work with iOS. In fact, because of the difference that Dan alludes to between a “smart home” and a “smart room”, I’d argue renting makes it easier and cheaper to get into home automation.

The biggest issue with the smart home is the price and the “long upgrade cycle” on things like locks.

Creative professionals and the Apple Pencil

The iPad Pro was reviewed by Amanda Summers on Medium, titled “A UX Designer’s Review of iPad Pro”:

We are confident in saying we are able to sit down with iPad Pro and Apple Pencil and create something just as good, if not better, than sketching traditionally using pencil and paper.

Apple Pencil feels completely natural in our hands. There’s no latency and the shading and pressure points feel all too real. The palm rejection technology works great, allowing us to rest our palm on the screen without worrying if it will mess up our drawing.

This is the most consequential review I’ve ever read of the iPad Pro, all of the reviews which came out on the first day were mostly to the tune of “Yeah it’s a big iPad, and the Pencil is cool but rather expensive.” If creatives are successfully using professional grade software to get real work done, this is an excellent sign of the potential of the platform. I do wonder though: is this a good sign for the form factor of the iPad Pro, or is it a good sign for the utility of a stylus on tablets generally? I suspect the latter, and we’ll see what Apple have to say in March about it.

Unrelatedly, I found the article’s placement and production interesting as a published piece. It’s under Amanda Summers’ name, but it’s “published in” her employer’s “organization” entity. I suspect that what MindSea Development get from having their employee’s publish to Medium is status and marketing, and it’s yet to be seen how Medium will make money from this.

Twitter is in fact changing the timeline

Twitter is changing their timeline to be algorithmic instead of chronological, rather like Facebook did some time ago.  Matthew Lynley reporting for TechCrunch:

Twitter today is unveiling a new Twitter timeline that shows tweets at the top that the service recommends, instead of the most recent tweets. They’re designed to be the best tweets that users may have missed based on what Twitter thinks you care about. […]

All this comes on the heels of a massive backlash against the move, which was first reported by BuzzFeed, in the trending topic aptly named #RIPTwitter.

If you don’t like changes a service you do not pay for makes, you don’t have any recourse other than leaving. I encourage you to do so.