Stikki and Hauntology

[If you don't know what is, now you know. :-)]

Beta screenshot -- almost there!

Last night, I was trying to sell a very important investor on what Stikki is — namely, my wife Rosalie. (She’s not investing money, but I take up a serious amount of our shared living space and time working on Stikki, so in that sense she’s my first and most important angel.) So I was trying to explain it not in financial terms, but in human terms: at the end of the day, when you get past the business stuff, what is Stikki for?

The first augmented reality app.

I’m fascinated by the idea of augmented reality. Not just the specific technology referred to by that name, but the whole notion that physical reality can be augmented by abstract, arbitrary information. This is not a new idea; it may, in fact, be one of the very oldest ideas. The first king who looked at the landscape of his kingdom and saw imaginary lines marking the edges of it was the first reality augmenter; this concept is the underlying basis of all human politics, economics, and war, and every part of our culture that descend from them, including the very concept of ownership — imbuing inanimate objects and places with metadata that exists only in the collective spiritus mundi. All this newfangled frippery of cell phones with GPS and accelerometers is just the latest wrinkle on the very oldest thinking.

This extends not just to the big sweeping Spenglerian world of nation-states, but to the very personal. Most humans have a concept of “home”, a place where, as Robert Frost once put it, when you get there, they have to take you in. As we navigate our way through the streets of our cities, we are constantly aware of a collectively-derived set of metadata about the places we move through. This is a “good” block, this is a “bad” one; this is a “hip” neighborhood, this one not so much. And we also move through our own personal cloud of data. This is where I saw my first concert; I used to work in that building; that’s the hospital where our child was born and where my grandfather died; this is the place I first kissed him; this is the place where she finally said goodbye.

This is true of every place that humans live, even the most sterile, benighted suburban mall parking lot and the most wretched Third World street corner. We each experience the human landscape in different ways. This may just be a stupid Applebee’s to you, but for somebody else, it’s the place they met their spouse or the place where they came out to their parents. That may look like a dingy old music store surrounded by bodegas to you, but to a hundred amateur pianists and two professional ones, it’s the place where they honed their craft after school on endless etudes with the smell of sawdust and epoxy in the air.

Situationism founder Guy Debord defined “psychogeography” as “the study of the precise laws and specific effects of the geographical environment, consciously organized or not, on the emotions and behavior of individuals”. But the abyss cannot gaze into you without you also gazing into the abyss, and probably taking pictures of it and posting them on Flickr and Facebook. Your emotions and behavior effect the environment too. The passing of one human through a place may not physically change it much, but that passing leaves another mental layer of experience on that place. The entire world is covered a mile thick with molecule-thin notional layers of human memory, and what I want to do with Stikki is make a tool that lets us write it down and store it and share it; that lets me tell you my narrative about this place where, at one time or another, we’ve both found ourselves.

One of the things I’ve thought about, once Stikki is established, is to build plugins or applications for it that will retrieve Wikipedia articles for any given location and display them when you use Stikki there, and maybe an annotation of famous pictures or paintings of that place. And I’d love to see this not just be a straightforward, sober, archival tool, but something artistic: a hauntological remix of all the ghosts of human culture that has been in that place, an aching remembrance of things past, the big and the small, the powerful and the personal.

Does that sound vastly ambitious? Of course. But a nerd’s reach must exceed his grasp, or what’s a Heaven for? And it’s not like I’m known for having modest goals.

I also want to make a living off of the site, of course. That’s why it has ads, and it’s why I’m working on figuring out revenue streams that bring something interesting for users to the table. But I mainly want to make something really cool. I’m hoping you think so, and that you use it when the updated version goes into public beta (which I’m hoping will be this week or next; I’m so close right now, just closing up holes and dotting is and crossing ts).


Thought Of The Day

Contraception is sometimes attacked as ‘unnatural’. So it is, very unnatural. The trouble is, so is the welfare state. I think that most of us believe the welfare state is highly desirable. But you cannot have an unnatural welfare state, unless you also have unnatural birth-control, otherwise the end result will be misery even greater than that which obtains in nature. The welfare state is perhaps the greatest altruistic system the animal kingdom has ever known. But any altruistic system is inherently unstable, because it is open to abuse by selfish individuals, ready to exploit it. Individual humans who have more children than they are capable of rearing are probably too ignorant in most cases to be accused of conscious malevolent exploitation. Powerful institutions and leaders who deliberately encourage them to do so seem to me less free from suspicion.

–Richard Dawkins, The Selfish Gene


Why cloud storage for music is really an opportunity for labels

As anybody who knows me knows, I am profoundly ambiguous about the effects of the network on the music industry — particularly the independent bits of it, such as artists (like myself) who fund, produce and distribute their own music without the benefit of big labels.

However, I am completely unambiguous about the recent explosion of cloud-based music services such as Google Music, Apple’s iCloud and Amazon’s Cloud Drive…unlike Chicago-based indie label Numero Group, who have decided to opt out of Apple’s iTunes Match program, which allows users to pay a small fee to “match” the music on their own drives to existing files on Apple’s servers, saving them the time and hassle of uploading those files, which could easily be measured in the tens of gigabytes or more.

Numero says:

In the coming weeks, many customers and friends will ask us this question: why am I not able to automatically access Numero in my iCloud? The simple reason is that Apple and their major label “partners” have created a reward system that is both incomprehensible in scope and totally out of sync with iCloud’s streaming peers’ (Rdio, Spotify, et al) financial mechanics. As we have been entrusted with an incredible wealth of creative assets, and our primary responsibility is to our partners; the artists, producers, and songwriters that make up the Numero catalog, we feel that Apple’s pittance is an insult not only to them, but every other musician, living or dead, and, if the latter is the case, their heirs.


While Numero has every right to refuse Apple’s program, I think the problem here isn’t simply a label opting out of a service: it’s a fundamental misunderstanding within the music industry of what cloud storage is and how it works.

Cloud storage is just that: storage. None of the music cloud storage providers allow people to obtain music illegally, so far as I can tell: they simply allow users to store their own music collection, some or all of which may be of dubious provenance. But that provenance isn’t the provider’s responsibility, any more than a U-Stor-It place is responsible for making sure that every item a customer stores in their 8×10 storage unit was legally bought and paid for. All of the providers seem to be taking some steps to ensure that undeniably illegal items (such as leaked, unreleased albums) will be blocked from being uploaded, the same way a U-Stor-It would presumably refuse to allow someone to pull up with a van full of bricks of heroin and dump them in their unit. But if a user happened to have, say, a half-pound of China White at the bottom of a trunk they leave in storage, the onus of discovery isn’t on the storage rental business, any more than it’s on Google Music if somebody happened to have an “illegally” obtained copy of my record.

Nor do I believe these providers owe labels and artists money, any more than hard drive providers do, and I think the only reason labels are going after them is because they’re much larger targets than the group that labels consider the real enemy: people who don’t pay for music. (It has also become deeply unpolitic for a record label to treat the people who pirate their music as freeloading thoughtless assholes, whether or not they actually are.)

What labels and artists ought to be doing is working with the cloud providers, because the providers now have a very valuable piece of data: they know what people like, and their sample data is way more comprehensive than that of music discovery tools like and Pandora, because they can see each user’s entire music collection and how they’ve interacted with it, not just what they happen to listen to at work or on their mobile device or what have you.

For example: I’m a Tom Waits fan, so I have a Tom Waits channel on Pandora. Pandora, in return, gives me links to buy Tom Waits records. But each of these ads is a waste of time. Why? Because I already own every Tom Waits record. I’m not going to buy them.

Pandora doesn’t know that, because Pandora only sees what I like, not what I already have. But Google Music does. Google Music knows I like Tom Waits, but it can also tell that I have all his records. It also knows that I have several Elvis Costello records, but not all of them. So it shows me an ad not for Waits’s Rain Dogs, but for Costello’s Blood & Chocolate…something it knows I probably want but don’t actually have. And I’m far more likely to buy that.

More to the point, for indie labels, it can “weigh” my collection and offer me discovery of new/indie music based on an extremely detailed statistical modeling algorithm. For example, I have the Kenny Loggins track “Playing With The Boys” in my music collection, but it’s there mainly to torment people when I DJ at parties. Since I have no other Kenny Loggins tracks (I swear to God), and the play count is fairly low, it’s probably not worth including in a model of my likes and dislikes. But I have four or five Eleni Mandell records; even if I don’t listen to them that often these days, that still suggests that I like Eleni Mandell enough to have several records, and that I would probably like Jessica Lea Mayfield. But I already have both of Ms. Mayfield’s records…so it goes into discovery mode and shows me Lera Lynn instead.

And boom! I’ve just bought Lera Lynn’s record, because it’s right there in front of me, for a reasonable price, and as soon as I buy it it’s in my cloud collection. The barrier to commerce has been lowered so far that it’s probably easier for me to buy it than to steal it.

This actually has more benefit for indie labels than it does for big labels, because a lot of indie music still lies at the edge of the popularity curve: it’s not popular enough to be easily pirated, but by the same token it’s also not popular enough to be easily discoverable. If you want the new Lady Gaga record, you can buy it instantly from iTunes or download it in two seconds from The Pirate Bay, either way…but it’s easier to buy Lera Lynn’s record than to try and find a torrent or even a Rapidshare download for it. (I know, I bought it.) Marrying marketing to the cloud means ads are getting to people who actually want to see them (the most valuable demographic of all no matter what you’re selling) and who are willing to act on them, because they actually represent the path of least resistance.

I hope the indie labels see this opportunity soon rather than railing at the cloud music service providers, which is a wasted and frankly unfair effort on their part, and focus on how this can actually help them — because what helps them helps us, the music-loving audience, by giving us an easy way to find and buy new and great stuff.



An open letter to my mobile phone provider

Dear SimpleMobile Customer Service person,

Hi there!

As one of your customers, I have to ask: why can’t I pay my bill online with my Mac or my iPad? (Even though your site says Firefox ought to work, it doesn’t, at least on a Mac.)

Assuming your bill pay system isn’t made of magic, but a standard HTML form submitted over SSH, there cannot possibly be any good reason to lock out anybody who’s not using these two browsers on Windows. If your system is using something like ActiveX that won’t work on a non-Windows system, then your web development team are either a pack of raving idiots or actual time travelers from 1999 and you should fire them and hire me to build you something that actually works, and also explain to them as you hand them their final checks that there is no Web technology that works solely on IE and Firefox. If it works in Firefox, it works in Chrome, Safari, Mobile Safari, etc. Lots of crappy tech only works on IE, but most web developers avoid these technologies once they’ve progressed past, say, middle school.

In fact, the only technology that won’t work on Mobile Safari is Flash…and if your bill pay system uses Flash, you need to call security and have your web team escorted off the premises after being checked for weapons, because anyone who would do such a thing is clearly dangerously insane.

Whatever the convoluted and inevitably wrong explanation for this situation might be, the fact is that it’s pointless and irritating. I am not going to buy a PC and inflict the horrors of Windows on myself simply to pay my mobile phone bill. Instead, I have to actually go to the store and pay my bill…which sucks when the bill is due on a weekend and the store is closed. (You may ask: if you know your bill is due on a weekend, why not just pay on the preceding Friday? The answer is: I’m an American. Paying a bill even a day before it’s due is an act of wretched cowardice, fit only for Communists and probably French people.)

I suppose there might be some value to irritating one’s customers in this way, but I can’t imagine what it might be. I’m not an MBA or anything, but I’m fairly sure that needlessly antagonizing customers is usually considered a bad strategy. (Then again, you are a mobile phone company, and mobile phone companies give out big shiny awards for Maximum Customer Annoyance to each other at industry conferences.)

I also can’t imagine I’m the only customer with this problem. I suspect that I’m not the only customer who has contacted you about this. Let me assure you that when your customer service person goes down to the nerd dungeon and asks Bob the Web geek about it, and Bob hems and haws and says “Yeah, I can’t really change it, it’s based on the architecture of the server, it’s all J2EE” and then continues babbling geekspeak at you for ten minutes, well…Bob is lying. Trust me. I’ve been building websites since Bob was still trying to make his MySpace page look like The Matrix. I know this to be true, because if Bob knew as much as I did, he wouldn’t have thrown up this unnecessary and entirely annoying barrier to commerce.

So: please fix this problem. Let me pay my bill with cool computers. Also consider firing the fool who caused it and paying my extremely reasonable rates to have me fix it.

(I’m also posting this to my blog, in hopes that the prospect of being embarrassed in front of the seven people and also my mom who read it might drive you towards resolution.)

Cheers, Joshua Ellis


I need help with an algorithm

So I’m finally building out’s advertising system, and I’ve realized I might need some help with a geometric sorting algorithm.

Stikki’s advertising is geographically-based; an advertiser “sponsors” a location — most likely the real-world location of their business — with an ad, and users see that ad if they’re within a given radius of the location. The sponsor selects the radius, and pricing for the ad is based upon that radius. (The value of this sort of advertising, by the way, is that the advertiser knows that the user is within reasonable physical proximity of their business, and is therefore capable of patronizing it.)

So here’s what I have to do; when a Stikki user visits Stikki, their geolocation is passed (but not stored) to an AJAX script which returns the correct ads for that location, and that’s where my knowledge of geometric algorithms breaks down. I don’t know what the most elegant way to determine this is.

I’m currently using a two-pass approximate sorting scheme that looks something like this:

  • retrieve subset of all ads where ad’s latitude/longitude is within 5 kilometers of the user’s current position (5km being a wide enough radius to contain all possible current ads),
  • within this subset, calculate minimum and maximum lat/long for each ad based on ad’s lat/long +/- ad’s radius and see if user’s lat/long is within it. If so, return ad.

But I don’t know if this is the most efficient way to calculate this, especially if/when I begin to get larger numbers of ads — more than 1000, say.

This same geometric algorithm is used to determine if a user is in proximity to one of their “alert” stikkis as well.

Anybody have any practical suggestions/advice for this? I could spend the next few weeks learning about collision detection/sorting algorithms, but I’d rather get pointed in the right direction by somebody more versed in geometric algebra than I am.