tag filter:

15 Feb 12

The machine’s view of time, if nanoseconds were seconds permalink
Let's talk time scales real quick. Your computer's CPU lives by the nanosecond: most CPUs can get a few things done in each nanosecond – mostly simple math and comparisons. To make this easier to grasp, suppose you're the CPU and instead of nanoseconds, you live and work second by second. For clarity I'll keep this metaphor to a single-core of a single processor. You can hold a few things in your head (register). Not more than a dozen or two in your active memory, but you can recall any of them pretty much instantly. Information that's important to you you'll often keep close by, either on sheets of loose-leaf paper on your working desk (L1 cache) a couple seconds away, or in a one of a handfull of books in your place (L2 and up cache) which is so well organized that no individual piece of information is more than a dozen or so seconds away. If you can't find what you're looking for there, you'll have to make a quick stop at the library down the street (RAM, i.e. main memory). Fortunately, it's close enough that you can go down and grab a book and get back to work in only ~8 and a half minutes, and it's enormous, some are thousands of times the size of a typical strip-mall book store. A little inconvenient, until you remember that this library has a free delivery service, so it's really no bother at all so long as you can still find things to work on while you wait. But the local library mostly just stocks things on demand (which is fair, your bookcases, worksheets, and even the dozen or two facts you hold in your head are mostly the same way). The problem is that when you need something that's not there, it can take a while to get it. How long? Think Amazon.com in the age of exploration. They send out an old wooden boat and it could be a week, could a month, and it's not unusual to wait 3 years before you hear a response. Welcome to the world of hard disk storage, where your information is retrieved by making plates of metal spin really fast. Many metric tons of sweat have been spent making this as fast as possible, but it's hard to keep up with electrons flowing through wires. So when someone says that Solid State Disks are awesome, it's because they're able to turn that slow, unpredictable old sailing ship into a streamlined steam-powered vessel. A good SSD can often make the voyage in less than a week, sometimes in little more than a day. It can also make many thousands more quests for information per year.

10 Dec 11

Things I don’t like about Twitter 4 for IOS permalink
Don’t pay attention to what your users ask you for, pay attention to what they are trying to achieve.

8 Dec 11

Map Clustering Algorithm permalink
Founder’s Hell: Competitive Horror permalink
You start with an (obviously) great idea. You go hunting on the web, trying to find people who are in the same business, possibly the same idea. You find maybe one or two similar services, but come up with great ideas on how to differentiate almost immediately. Things are looking good, let’s roll! A while after, it’s more often than not a TechCrunch post, you read an article about a company doing something very close to what you are working on. You feel somewhat motivated, but also stressed out, they’re ahead. What if they are soon known for being the go-to-place for what you wanted to offer? Time to speed up, you add features, you move faster, you long for early reviews/previews/beta-testers. Feedback is scarce, and not very insightful. You would pay for good feedback. Then, huge investment announcement for this random company you never heard of, they just got shitloads of cash. You, well, you still have your lousy personal bank account, thousands of lines of PHP code and a dream. As days go by, your hyper-excitement fades out, maybe it’s not a good idea after all, maybe it’s a waste of time. You release a tiny preview, nobody cares. So my idea isn’t good enough? Minutes later, your feed reader delivers new depressing updates. Huge investment, everyone’s in it, from Ron Conway, Adreessen Horowitz to Dustin Moskovitz. Panic creeps in. It’s been a long time, the end of year one is approaching. Profit? A few hundred, maybe a few thousand dollars, maybe nothing. And to make matters worse, someone releases a product, with hundreds of thousands of users. Complete nobodies, how could you miss them?? And they do what you do, but they do it really, really good. They have cash, they have an absolute stunning design, the right vision, they are fucking nice on their website and if you weren’t competing against them, hell, you would post that idea all over the internet because it rocks.
It’s Insanely Hard to Make a Kick-Ass iPhone App permalink
Focus on people, not products permalink
People don’t buy products – they buy the benefit.
Google Circles and Path 2.0: How good UI design cannot fix a broken solution permalink
When I open the app in the morning I tell it that I’m awake just so I can see what the weather is going to be like today.

29 Nov 11

iToast for iOS permalink
If you develop already for Android, then you know what it is so you can skip to the next section. For the others of us: a toast is a spécial way to display 'non intrusive' message to the user. Those message are displayed on a configurable place on the screen and they disapear after a configurable time interval. The way they appear is similar to the way the Growl app (on mac do). A toast is a view containing a quick little message for the user. The toast class helps you create and show those. When the view is shown to the user, appears as a floating view over the application. It will never receive focus. The user will probably be in the middle of typing something else. The idea is to be as unobtrusive as possible, while still showing the user the information you want them to see. Two examples are the volume control, and the brief message saying that your settings have been saved.
WhirlyGlobe for iOS permalink
WhirlyGlobe is an interactive 3D globe toolkit for ios. It handles the rendering and data manipulation side and strives to maintain a constant frame rate. It's pretty and it's quite good. It can be used to display a few data points on the earth or as a center piece for an earth based app.
OCMapView for iOS permalink
Simple and easy to use clustering mapView for iOS.
JTRevealSidebar for iOS permalink
An iOS objective-c library template for mimic the sidebar layout of the new Facebook app.
iRate for iOS permalink
A handy class that prompts users of your iPhone or Mac App Store app to rate your application after using it for a while. Similar to Appirater, but with a simpler, cleaner interface and automatic support for iOS fast application switching.