The social network as honeypot

Like a lot of people today, I’m completely delighted by Maciej’s post “The Social Graph Is Neither” over on the Pinboard blog. (Pinboard, by the way, is one of Stikki’s big influences; if we’re the Arcade Fire, they’re that really crappy period in late 80s music when Jeff Lynne was overproducing post-relevance albums by Boomer icons. Okay, maybe that’s not the best analogy, but you get my meaning. Or maybe you don’t.)

For someone who’s building a nominally social web app, it may surprise you to learn that I actually deeply mistrust social networks, mostly for the reasons Maciej lays out: the lack of human ambiguity in defining relationships, the irritation of having to go and sort out all of your friend lists and such every time a new network pops up; but primarily, for me, it’s the deep knowledge I feel in my bones, every time I’m on Facebook, that I am not the customer; I am the product being sold.

There are two measures of any and every social network’s value: the value to you, the user, and the value to whoever is actually writing checks. Rarely, in this age of “free” services and content, is this the same person.

You and I find Facebook valuable because we can do…well, because we can do all the stuff we think Facebook is for, like inviting people to parties and posting pictures of our cats and engaging in gleeful schadenfreude as we see how fat our exes have become. But that’s not what Facebook is really for, of course. Facebook is a honeypot that offers you something tasty (parties, cats, the vicarious enjoyment of an old flame’s struggle with morbid obesity) in return for the opportunity to sell all of your data to someone else: what bands you like, what shows you watch, what clothes you excitedly post about buying (OMG I just got the hawtest Manolos!!!!).

There’s a lot of talk about privacy and the lack thereof on social networks, but I don’t think “privacy” is precisely what we mean, at least in the traditional sense. Nobody who posts every detail of their life on Facebook is particularly concerned with privacy as it’s commonly understood; what we’re really worried about is not that our personal information is out there in the world, but who’s seeing it and who’s using it. We want everybody to see our party pictures, but we don’t want anybody to run a pattern recognition algorithm that figures out who’s in the pictures, what brands they’re wearing, and files it away for future reference. We want to talk on Twitter about our new toys, but we don’t want to get fifty spam tweets on how to win a free iPad just because, y’know, I just happened to use the word “iPad” in a goddamn tweet when I was sitting at Starbucks last Thursday morning. For example.

I also deeply mistrust anyone and everyone who tells you that this is fine, it’s just the way things are now and if you don’t buy into it you’re a dinosaur and Old Media and yadda yadda yadda. Never, ever forget that most of these people benefit somehow, directly or indirectly, from the social networks. Their reassurances are as meaningless as those of 1950s TV network executives telling their audience that no, of course it’s fine that Johnny watches TV from the time he gets home from school until the time the test pattern pops up and the national anthem begins to play! That’s just how kids are these days! What are you, a Communist?

As someone who is developing a social app, this is something I actually devote a lot of consideration to. I tend to take the long, wide view on things, and one of the questions I ask myself whenever I try to do something new is: is this a good thing to do? Not just for me, but for everybody? Am I making something that’s useful, or am I just adding to the bullshit in the world? I don’t always follow this precept, but I always at least ask myself the question. Call it self-important or naive if you like, but that’s the way I think.

Stikki is a commercial venture, which means it ought to make money. In order to do that, I have two options: 1) charge people for it, or 2) let people use it for free and figure out another way to make money from it. I have, so far, chosen the latter path, for all the obvious reasons — people don’t pay for stuff on the Internet, yadda yadda yadda.

However, this puts me in a quandary: how do I make money off Stikki without selling out my users? And I have devoted more mental CPU cycles to this than almost anything else as part of creating Stikki.

My first and most important decision was this, and this will stand as long as I am in charge of Stikki: I do not give my sponsors any personally identifiable information about my users. Ever. If a sponsor wants to know what you’re stikki-ing, they can look at your public profile just like everyone else. I do provide sponsors with a lot of usage metrics (mostly geolocational, like where their ads are actually physically being viewed from), but none of them can be directly traced back to you. I plan to do a good deal of data-mining and things like keyword matching (i.e. the sponsor ads you see are based on the content of your stikkis), but it’s all automated and anonymous and leaves no breadcrumbs for unscrupulous marketers to follow.

If Facebook had done this, it never would have left Zuckerberg’s dorm room, because — quite frankly — Facebook’s entire business model is based on selling its users out. But I’m not Facebook, and for Stikki sponsors, the value of a consumer is not who they are but where they are. My model is not competitive with Facebook’s, it’s totally orthogonal, with a totally different sponsor/advertiser target audience. There’s a lot to this, and I’m not quite ready to share it all yet, but I think I’ve managed to side-step a lot of the privacy and personal marketing issues entirely while still providing immense value for my sponsors.

I’m gambling that sponsors will understand that, when they see the way Stikki’s sponsorship model works. These are new ideas, and people have to get used to them. But I’m confident that they will. And if I do succeed, I hope that other people will start trying to find ways to benefit both sides of the equation — the people who use the networks, and the people who pay for them — without selling either side down the river.

Posted in Random | Leave a comment

Stikki and Geolocative fiction

One of the things I want to play with is using Stikki as a repository for geolocative fiction. What does that mean? I don’t actually know. I’m thinking of fiction that’s inherently attached to a place; maybe it’s meant to be read in that place, maybe it evokes that place. Maybe it can only be read when the reader is physically present in the location the story is attached to.

All the best stories are about places, and how people move through them. (A great recent example is China Mieville’s The City And The City, which I highly recommend.) I’d love to see someone run with this idea — even if it’s just me.

But I’d really love to see what you do with it. :-)

Posted in Uncategorized | Leave a comment

Loading dynamic content in jQuery Mobile with jQuery’s .load() function

So I’m in the middle of building a mobile version of Stikki (not an app, just a mobile-formatted web view), using jQuery Mobile to build the UI. I was having no end of trouble dynamically loading content via jQuery’s .load() function. Generally, this isn’t the way you’d do it in jQuery Mobile — you’d use changePage or loadPage. In my case I needed to load the content after the main page loaded, because of course with Stikki I’m doing geolocation: the page loads, retrieves the user’s location, and then loads a list of stikkis based on those parameters. I was able to load the list of stikkis…but they got displayed as an unformatted list, not a jQuery Mobile-formatted widget list. The function to use is .trigger('create'). You call it once your content has loaded. So, for example, if you wanted to dynamically load something into the container loader, you’d do this:

$('#loader').load('somepage.php',function(){
$('#loader').trigger('create');
});

That way, once the content from somepage.php is loaded into loader, jQuery Mobile will format it properly.

I hope this helps somebody else not waste a few hours trying to figure this out!

Posted in Random | 2 Comments

Stikki’s API now supports KML

I added support for KML to Stikki’s API today. Don’t know what that means? Then you’re not a geolocation nerd. Basically, it means you can retrieve stikki data directly as KML, which is the XML flavor that Google Maps, Google Earth and a lot of geolocative apps use to describe geographic stuff.

For example: the map below displays the 100 most recent stikkis on a Google Map:


View Larger Map

This makes Stikki much more useful for people who want to roll their own geolocational apps. We’re using KML 2.2, the most recent version, and the feed validates. So if you’re a KML geek, you’ve got a new source of data to play with!

Posted in Announcements | Leave a comment

Nearby Wikipedia Entries is live!

If you look at the Stikki timeline today, you’ll notice a cool new feature: Stikki now retrieves any Wikipedia entries that are geocoded to a nearby location and displays them in a sidebar list!

This neat little feature is courtesy of the GeoNames service, which rocks out completely!

Posted in Announcements | Leave a comment

Geolocation Problems

I’ve gotten a few reports since the launch today that geolocation is failing for some Stikki users. Instead of getting their precise location, Stikki retrieves another location entirely — usually somewhere a few miles away. I kept running into this during alpha testing, and the good news is I think I know where the problem lies. The bad news is, I can’t fix it.

To get your location, Stikki uses the geolocation tool that’s built into most modern browsers (with the exception of Internet Explorer 8 or earlier). This lets you use Javascript to retrieve a user’s current latitude and longitude. It does this by trying three methods:

  • GPS, if your device has it, which returns extremely precise coordinates;
  • Wifi hotspot triangulation, which uses Google’s database of wifi hotspot locations (gathered via their Street View program, presumably) to figure out where you are based on the hotspot you’re using and nearby hotspots; this returns relatively precise coordinates, usually within about a hundred meters of your actual location in my experience;
  • IP address location mapping, which only returns the city you’re in, and often even that’s wrong.

So what’s happening when Stikki gets the wrong location for you is that the first two methods are failing for some reason. If you have a laptop, you probably don’t have GPS, and if you’re using the wifi triangulation, your wifi hotspot probably isn’t in Google’s database for some reason. Instead it’s just getting your city — or rather, the city that your IP address is associated with. In my case, when this happens, Stikki thinks I’m at the corner of Flamingo and Las Vegas Boulevard, because presumably that’s the geographic center of Paradise, Nevada, the suburb of Las Vegas where I live. In my friend Shea’s case, Stikki was reporting his location as being at City Hall in his town…which is what Google apparently thinks is the official “location” of his city.

Unfortunately, I can’t do anything about this. The geolocation API is basically a black box — you can ask it to give you coordinates, but you can’t control how it does this (aside from enabling high precision on coordinate retrieval, which Stikki does…if that precision is available). Nor does it tell you how accurate the returned coordinates are, so Stikki has no way of knowing whether or not you’re actually at those coordinates or even near them.

In my experience, sometimes refreshing your browser works. Moving to another wifi hotspot works too, though that’s obviously a really irritating way to make Stikki work. If anybody knows of any other way to fix this, please let me know. It’s lame, I know…but this is part of what happens when you build tools that use bleeding-edge technology.

Personally? I’m old enough to still be excited that it works at all. :-)

Posted in Issues | Leave a comment

Welcome to Stikki beta 0.5!

Stikki beta 0.5 is live! After months and months of writing code, rewriting code, redesigning the interface a gazillion times, and generally busting ass, we’re finally at beta!

Notes: there are still several features to be implemented, such as media uploading (so you can add images/audio/video to your stikkis), the ability to make stikkis local-only, and the ability to create friend groups to share stikkis with.

There is a working API, which you can find at http://api.stikki.me if you want to integrate Stikki into other services. We’re working on an official iOS app right now; our mobile development partner is currently moving from NYC to Boston, but we anticipate it’ll be available Real Soon Now.

So check it out! And please be gentle: while there are probably bugs/problems everywhere, remember that I’ve built this entire thing myself from scratch. :-)

Posted in Announcements | Leave a comment

Stikki sponsor stats — what would you like to see?

As Stikki approaches public beta and we’re building out the sponsorship system, we’d like to reach out and ask you — if you were to decide to be a location sponsor with Stikki, what sort of metrics/feedback would you want to see?

Currently, a sponsor will be able to see simple stats on ad views, including the (completely anonymous) location of users whose visit load the ad, as well as clickthroughs on the ads themselves. But Stikki’s ad model is different than the usual clicks-based web systems: we’re trying to drive customers to your real-world place of business, not simply to click on your ad. We’re closer to physical billboard advertising than banner advertising. So measuring metrics is slightly trickier…even if, in the long run, we think our ads are more valuable for you in the long run.

One answer is that advertisers can offer specials/discounts to Stikki users, which will help determine the conversion rate. Or even an option like “Send us a #stikki message on Twitter and get 10% off!” sort of deal.

So how would you, as a theoretical or (hopefully) potential sponsor, like to see in Stikki’s sponsor metrics?

Posted in Uncategorized | 3 Comments

Ah.

Didn’t realize my friend Warren Ellis had tweeted it. So if you’re a Warren fan, hi there! And no, we’re not related, even though we have the same last name and are both grumpy profanity-spewing writers who occasionally wear ponytails, occasionally walk with canes and perpetually frighten children and small animals.

Posted in Uncategorized | Leave a comment

By The Way…

I recognize some of the new usernames on here. If I know you and I didn’t invite you in my initial batch, please don’t take offense. I just asked on Twitter who wanted in and sent out invites that second. I love you and adore you and want you on here, for sure. :-)

Posted in Uncategorized | Leave a comment