Archive for July 9, 2013

Tuesday, July 9, 2013

Dropbox Chooser, Saver, and Datastore

Marcus Wohlsen:

With its new Chooser and Saver options — the first of a planned family of features the company calls Drop-ins — developers can make Dropbox the “open” and “save” windows in their apps. (For now, the Chooser is available for iOS, Android, web, and mobile web. The Saver is just available for the web and mobile web to start, with other platforms to follow).

Here are the blog posts about the Chooser, Saver, and Datastore.

The Datastore API provides a new model for storing and syncing data beyond files. When you use datastores, you don’t have to build a complicated sync engine from scratch — you can add the power of Dropbox into your app in a snap!

Unlike with iCloud, there is a Web interface where you can look at your tables and rows on the server to help with development and debugging.

Unsustainable Productivity

Chris Adamson:

Moreover, what if Apple got serious about purging dead apps? There are already apps that don’t even run in iOS 6 — my kids are bummed that Jelly Car 2 crashes at launch on iOS 6, and it’s appalling that Disney Mobile still offers it for sale without fixing it — and it’s likely that more will break in iOS 7. And many of those that don’t break will look like ass on the new OS, particularly those that tried to create their own UI elements to resemble the earlier iOS appearance.

Apple likely wouldn’t want the PR hit of the number of apps in store going down instead of up, but it would likely be healthy for the app ecosystem as a whole for Apple to eject apps that don’t target iOS 7 by, say, this time next year. Apple already has minimum requirements for updates, but that practice overlooks abandoned apps.

Kit FUI

Kit FUI (via John Gruber):

Fantasy User Interfaces, Fictional User Interfaces, Fake User Interfaces, Futuristic User Interfaces. Regardless of what the F stands for, they all represent the same thing, the user interfaces and heads up displays found in many popular movies and television shows.

[…]

Kit FUI is an IMDb-like database that makes it easy to find screenshots, videos and the designers of these FUIs.

Why Mobile Web Apps Are Slow

This whole long article by Drew Crawford is worth reading, but here are some interesting nuggets:

The thing is, JITing JavaScript was a 60-year old idea with 60 years of research, and literally thousands of implementations for every conceivable programming language demonstrating that it was a good idea. But now that we’ve done it, we’ve run out of 60-year-old ideas. That’s all, folks. Show’s over. Maybe we can grow another good idea in the next 60 years.

But at any rate, what I can tell you, from publicly available information, is that Apple’s claims of 3.8x faster whatever does not necessarily translate into anything useful to you. I can also tell you that if I had benchmarks that refuted Apple’s claims of beating Chrome, I would not be allowed to publish them.

What this chart says is “As long as you have about 6 times as much memory as you really need, you’re fine [with garbage collection]. But woe betide you if you have less than 4x the required memory.”

There are also some good comments on Hacker News.

Mutability, Aliasing, and the Caches You Didn’t Know You Had

Andy Matuschak:

I’d like to propose that these kinds of implicit caching problems occur all the time, almost whenever you pass mutable data around a typically stateful imperative system. Consider: “The Register button should be enabled when the user enters an email address and a pair of matching passwords.” or “The text field displays a formatted string produced by [insert date math] on the submission date.”

Twitter Architecture

Todd Hoff:

It happened gradually so you may have missed it, but Twitter has grown up. It started as a struggling three-tierish Ruby on Rails website to become a beautifully service driven core that we actually go to now to see if other services are down. Quite a change.

Twitter now has 150M world wide active users, handles 300K QPS to generate timelines, and a firehose that churns out 22 MB/sec. 400 million tweets a day flow through the system and it can take up to 5 minutes for a tweet to flow from Lady Gaga’s fingers to her 31 million followers.

On NSURLConnection API Design

Ole Begemann:

The original goals for NSURLConnection still show in its API design today. Contrast this with a modern networking library like AFNetworking, which has been designed from the start with web services in mind. Consequently, it handles HTTP 4xx and 5xx status codes as errors and comes with an extensible system for dealing with different response types like XML, JSON or images.