I'm on a Delta flight equipped with GoGo in-flight wireless, and they
have an interesting campaign going on: free Twitter for all. It's a
pretty slick campaign, but I think it raises interesting net neutrality
issues because, in essence, Twitter is paying for preferred access.

Personally, I'm ok with it: I don't have any problem with an internet
carrier creating a "fast lane" that either side of the connection can
pay extra to use, so long as the lane is made equally available to all
comers, on the same terms.

That's not to say that all advertisers are required to accept
advertisements from all organizations — I'm not excited about it, but I
wouldn't outlaw GoGo from accepting an ad for the Catholic Church on the
GoGo website while refusing an ad for atheism. As a publisher, GoGo can
choose what message to put on its own website, even if that message is
discriminatory.

But as a communication medium, GoGo shouldn't be allowed to grant free
access to websites hosted by the Catholic Church, while simultaneously
refusing the same deal to an atheist organization.

I understand it's a tricky and totally arbitrary line, but I think
content-discrimination should be legal (to enable free speech), while
communications-discrimination should be outlawed (to prevent restriction
of free speech).

I think too much of the NN debate is wrapped up in thinly-veiled
anti-corporate fearmongering (the little guys need to be protected from
the big guys!!). Even if it's a fine goal (and I don't think it is), it
doesn't seem to have any Constitutional or free/fair-market basis that I
can see.

Net neutrality shouldn't be about mandating equal performance, but equal
opportunity.

I'm curious what you think?

-david

Advertisements

avg(exception) = nothing

March 25, 2011

I’m on this mailing list where everybody is suddenly raving over this new book “The Information“.  Amazon describes it as:

In a sense, The Information is a book about everything, from words themselves to talking drums, writing and lexicography, early attempts at an analytical engine, the telegraph and telephone, ENIAC, and the ubiquitous computers that followed. But that’s just the “History.” The “Theory” focuses on such 20th-century notables as Claude Shannon, Norbert Wiener, Alan Turing, and others who worked on coding, decoding, and re-coding both the meaning and the myriad messages transmitted via the media of their times. In the “Flood,” Gleick explains genetics as biology’s mechanism for informational exchange–Is a chicken just an egg’s way of making another egg?–and discusses self-replicating memes (ideas as different as earworms and racism) as information’s own evolving meta-life forms. Along the way, readers learn about music and quantum mechanics, why forgetting takes work, the meaning of an “interesting number,” and why “[t]he bit is the ultimate unsplittable particle.” What results is a visceral sense of information’s contemporary precedence as a way of understanding the world, a physical/symbolic palimpsest of self-propelled exchange, the universe itself as the ultimate analytical engine. If Borges’s “Library of Babel” is literature’s iconic cautionary tale about the extreme of informational overload, Gleick sees the opposite, the world as an endlessly unfolding opportunity in which “creatures of the information” may just recognize themselves. —Jason Kirk

I don’t know about you, but I can’t piece together anything meaningful other than “Wow wow wow!!!!!”

I’m really curious to hear if anybody who reads the book actually changes their opinion on anything as a result.  I fear a lot of these books just have “something for everybody” such that you walk away feeling stronger in your belief no matter what that belief is.  Sorta like MSG: it makes everything taste better, without having any flavor by itself.  I’d love to hear somebody say “I’ve held this passionate belief my entire life, but as a result of reading this book I’ve changed my mind.”

Somewhat related, I spoke at a conference recently, and the other presenters had these really incredible, well-researched, inspiring presentations.  But I realized afterwards that a major problem with so many of these broad trend analyzes is they lack statistical relevance.

For example, I find everybody talks about Twitter, Facebook, Google, and a half-dozen mega names — and then draws inferences based on them.  But that’s equivalent to “averaging the exceptions”, which just isn’t a valid technique: the problem with outliers is they’re *outliers* and by definition defy the baseline trends.  They are too few and too different to be summarized in any meaningful way.

Rather, I think these business-fad, pop-psychology, averaging-the-exception techniques just create hysteria and excitement where perhaps none is really warranted.  Even if they’re 100% “accurate”, they’re so incredibly imprecise as to be non-actionable.  Said another way, even if you’re totally right on predicting the wave, if you can’t say with any certainty the time and magnitude when it will hit, it’s not worth getting excited about.

Don’t get me wrong, hysteria and excitement are great ways to sell books or promote products.  But as the people being sold and promoted *to*, it’s in our interests to take these fantastic claims — each of which seems increasingly fantastic with increasing frequency — with a corresponding amount of skepticism and composure.

iPad is a Handbag

March 23, 2011

I’m here at the Kynetx Impact conference (come see me talk tomorrow at 11am!) learning about the “live web” through a series of keynotes.  One of those keynotes will be moderated by Robert Scoble, and he happens to be sitting 5′ to my left as I type these words.  A few minutes ago I was labeled a “curmudgeon” (I didn’t know that word was used anymore!  but I managed to spell it right on first shot, so go me) for being an iPad skeptic.  Robert took it upon himself to explain to me why the iPad is so incredible… and alas, it didn’t take.  But while he was trying, I think I learned *why* I’m an iPad skeptic: because it’s primarily a fashion accessory, and I’m not fashionable.

Now that’s a bold statement.  (The first one, not the second.)  You might say “but it clearly has better workmanship than any competitor!” and “it does all sorts of genuinely helpful things!”  And those statements are definitely true.  But the same could be said of a haute couture handbag — many of which cost vastly more than an iPad despite doing so much less.

I’ve been toying with this notion for a while, but it really rung for me as Robert was trying to extol the virtues of the iPad — clearly incredulous that I wasn’t blown away. 

He brought up an app that shows a ton of videos in a huge virtual wall: an impressive work that looks super cool for browsing random videos.  But I never do that; I probably look at a video sent to me by some friend maybe once a week, probably less.  I’d never ever sit down and just randomly browse videos.

Then he brought up Wolfram Alpha, showing the periodic table in an amazingly gorgeous, exquisite way.  But I haven’t needed a periodic table since high school.

Then there was the cool news reader, this neat app for learning fiddles, etc.  All of them are really neat, fantastic executions of their concept.  Executions that simply couldn’t be done on any other device — executions that are made *possible* by the iPad.

But their incredible executions of concepts that range from mildly to totally uninteresting.  Given that, I just couldn’t get excited about them, and that was clearly not the reaction he intended.

At this point we highlighted that I’m incredibly far off the edge when it comes to my habits.  I don’t watch TV, I don’t have a car, I work more or less continuously, and when I’m not on my absurdly-small laptop I’m drinking wine with my wife and walking my beagle.  I carry a Palm Pre (which replaced my Sidekick), I use Verizon Broadband (and Ricochet back in the day), etc, etc.  He said “you make me look mainstream”.

Given all that, it’s possible that I’m just so overworked and socially deficient that I simply cannot conceive of this value that is universally recognized by everyone else.  It’s possible.

But I don’t buy it.  I think a more simple explanation is that I’m simply not fashionable.

I think when most people see an iPad, they see this incredible world of possibilities — and they want to participate in that world, even if  
they don’t personally use those possibilities in any meaningful way (or even if many of those possibilities don’t actually exist yet).  And I actually think that feeling of participation is akin or even equivalent to fashion.

For example, Robert said Android wouldn’t compete with iPhone until it had 10,000 *good* apps.  But then he acknowledged that virtually everyone is always playing Angry Birds, or one of a tiny set of other apps.  So I don’t think the 10K app collection is important because people actually use those apps.  I think it’s necessary to create this image of endless possibility — without that, the suspension of disbelief that’s so critical to fashion just isn’t there.

Similar to fashionable clothing.  A common theme is they always use the best materials, the highest quality stitching, the most exotic product placements and high-class endorsements, etc.  I think all of these are necessary to create this image of supreme quality that justifies a 10x purchase price (or 10x brand loyalty) despite only being marginally better in any measurable way.

Indeed, when I look back on my extreme product choices in the past, they actually *were* the best.  I was doing email and browsing real webpages on my phone in 2002.  I had wireless broadband in 2000.  Compared to any Mac laptop, mine has a longer battery life, higher resolution screen, a smaller form factor, and built-in Verizon Broadband, etc.  They were genuinely better than the other options at the time, but those options just weren’t fashionable.

But my point isn’t to tout my awesomeness (though I could do that all day).  Nor is my point to say the iPad isn’t awesome (it is), or that tablets aren’t superior to laptops for certain use cases (they are, though in far fewer cases than is usually claimed).

Rather, I’m saying the iPad — like any fashion accessory — isn’t nearly awesome as people say it is, and most of its differentiating value over other tablets is simply the strength of Apple’s brand in telling a story of infinite possibilities, most of which don’t actually matter, and many of which don’t yet exist.

I haven’t seen this mentioned anywhere, but see screenshot below.  I was curious when PayCycle was founded, so I searched “paycycle founded”.  Google apparently saw enough similarity in the search results that rather than just giving me the links, it gave me *the answer*. Especially interesting because not all of the answers were right (eg, the second search result is clearly wrong).  Pretty amazing!

-david
Founder and CEO of Expensify
Follow us at http://twitter.com/expensify

Everybody knows obesity is a problem, and that it's inflating medical costs that are gradually bankrupting our nation.  But I think most people have a misguided sense that obesity is the result of fast-food using poor-quality ingredients and somehow tricking people into eating them.  For example, I saw this article on BoingBoing talking about the uproar over the high calorie count in McDonald's new oatmeal.
Basically, it has "as much sugar as a Snicker's bar and as many calories as a hamburger".  That sounds really alarming, but it made me wonder: how many calories does oatmeal normally have?  What could McDonald's have possibly done to take something good and make it bad?  So I did some research on oatmeal, only to eventually find that the BoingBoing commentators had done a lot more.

To make a long story short, the McDonald's oatmeal is totally fine.  The oatmeal itself is mostly normal, and most of "extra" calories really come from them adding a bunch of dried fruit (which is hardly an atrocity) and adding brown sugar and cream by default (which is commonly done at home anyway).  So… false alarm.

Again and again I think people overreact when it comes to the "quality" of fast food.  Yes it's made fast and in high volume, but even with the freshest possible ingredients on hand I think the results would come out looking, tasting, and nourishing about the same.  For example, In-N-Out arguably uses the freshest ingredients of any fast-food burger joint, and to compare:

McDonald's hamburger = 100g serving size, 250 calories, 9g fat
In-N-Out hamburger = 243g serving size, 310 calories, 10g fat

(Incidentally, the standard In-N-Out burger comes with a spread that adds another 80 calories and 9g of fat.  But I'm going with the mustard/ketchup option to compare more equally to McDonald's.)

So the McDonald's burger has 2.5 calories/g, while the In-N-Out burger has only 1.3 calories/g.  But both have about the same fat.  What gives?  My sense is the difference has nothing to do with the quality of the ingredients, and everything to do with In-N-Out putting heavy, water-filled veggies (lettuce, onion, tomato) on while McDonalds doesn't.  I don't have the data in front of me, but I bet if you took all the veggies off the In-N-Out burger (or added an equal amount of veggies to the McDonald's burger) — basically assembling them the same way — you'd get largely the same results.

In other words, both use more or less the same quality ingredients, with essentially the same nutrition, despite McDonalds being demonized as the culinary antichrist while In-N-Out being some kind of organic savior.

In my opinion, the problem with McDonald's (or any other fast food chain) isn't that their food is so much higher calorie than if you were to fix it yourself.  Rather, the problem is they cater to a customer base who is actively looking for high-calorie, high-fat food.  Said another way, given a fully-stocked kitchen (and the willpower and expertise to actually cook), I wager most people would basically fix something as bad or worse than McDonald's, intentionally.

This is somewhat reinforced by this study that suggests that NY's "label the calories as big as the price" plan is failing to produce results.  I'll admit, I thought the plan was a good one, and I'm disappointed it didn't work.  This suggests people know they're eating crap food (even if composed of reasonable-quality ingredients), but simply don't care.

So where am I going with all this?  I think the solution can't just demonize the quality of fast food ingredients (because they're fine) or emphasize how many calories people are buying (because they don't care).  And it's not enough to highlight the long-term effects of those decisions; those are already pretty apparent and non-motivational.

Rather, we need some way to identify people who are on a bad long-term path and create short-term consequences.  And by "we need" I mean "given that our country is being bankrupt by vast medical insurance programs with out-of-control cost increases driven by health epidemics such as obesity, taxpayers should demand" that something be done to prevent people from taking actions that leave us on the hook for massive medical bills down the road.

Similar to how people with good driving records and safe-driving courses get lower insurance premiums, I think we should do the same for Medicare/Medicaid.  Create programs where people can earn better care by making healthy choices.  Granted, healthy people need less medical care so it doesn't make sense to give them *more* of it as a reward for needing *less* of it.  But what if healthy people got tax credits and prioritized non-emergency care.  Shorter waits, nicer rooms, more choice.  Everybody still gets the same quality of medical attention (for better or worse), but people who actively maintain healthy lifestyles are rewarded with status, convenience, and comfort.

Furthermore — and this is the most important point — it should be made very clear to you which "service tier" you're in at all times, creating an *immediate* positive consequence for healthy actions that normally only have long-term effects.  So everybody who does nothing is lumped into the "standard" tier; you needn't do anything special.  But you should be constantly encouraged to upgrade to the "premium" tier by just demonstrating healthy decisions.  How exactly that is done is obviously a big question, but some ideas:

– Get credit for healthy-eating, healthy-lifestyle training courses
– Demonstrate participation in preventative care programs
– Get regular checkups to certify you haven't been abusing drugs
– Wear an electronic patch that measures caloric intake and expenditure
– Join a gym and hire a certified trainer who reports activity to your doctor

And so on.  Every problem has a ton of complications, don't get me wrong.  And it'll be a horribly political process to decide what's "healthy".  But perhaps something like this can start to gradually steer us in the right direction?

Admittedly, that won't be enough.  Not even remotely close to what's needed to actually get things under control.  But it might be a step in the right direction of preparing people to resume individual accountability for their health given we probably have little choice but to vastly scale back coverage (perhaps starting with reducing end-of-life care, which is estimated to take roughly 30% of Medicare's budget), followed by probable rationing of key medical resources.  (Read here for a hyperbolic freakout session about kidney rationing, which obscures a few good ideas under a heap of total garbage.)
Ultimately, I'm all for reducing government involvement in a lot of things.  But it will mean *reducing*, not eliminating.  I think we should provide a *minimum* level of universal healthcare, recognizing that it's simply not possible to give maximum care to everybody.  And we should eliminate barriers that prevent private insurance health plans from operating at maximum competitive effectiveness.
At the end of the day, very expensive or end-of-life treatment is a luxury for the rich, just like helicopters and fast cars.  Whether we like it or not, that's just the way it is.  But like helicopters and fast cars, they're terrible investments on which only the rich should waste their money.  Instead, we should focus on expanding coverage of inexpensive, early-life care to everybody because it's an investment in society that's returns dividends to us all.  And that's what the government is there to help us do.
-david

So Egypt has its internet back, but I still can't figure out precisely
what was gone when it was gone. Can you help? So far as I can determine:

– Cellular service was only shut off in regions (eg, at the sites of the
major protests) while left on elsewhere in the country.

– Landlines continued functioning everywhere.

– I've seen no sign that domestic internet was affected. For example,
it's possible that all homes and businesses still had live network
connections that simply weren't resolving DNS, or perhaps *were*
resolving DNS internally. It's even possible that local DNS caches were
resolving completely normally — even for international domains —
except there were no routes to the IP addresses to which they resolved.

– Indeed, even if all ISPs turned off all broadband everywhere, there
would still be large pockets of functioning LANs (universities, housing
complexes, hotels, etc).

– The consequences of total domestic internet blackout are very severe.
I don't see any sign that government and critical services run their
own network (though the military might), nor any sign that the internet
was selectively disabled for only individuals and businesses while
sparing hospitals, police stations, power plants, etc. Furthermore, I
haven't heard that any critical services lost domestic internet or
telephone access, even though I imagine that would be a very interesting
story if true.

I think understanding what actually happened is important such that we
can plan and act in a way that is optimized for the real world, rather
than a (potentially) unreasonable worst-case scenario that never
actually occurs. I'd love your help in fact-checking the above
assumptions by providing evidence (links) to the contrary.

Regardless, none of this really changes my core thesis, which is that
whatever solution built must:

– Somehow become very popular and widely deployed *before* the event,
requiring substantial "added value" even when the internet is accessible.

– Define "added value" in terms that the average person cares about,
which is *not* anonymity, security, privacy, etc. Rather, it needs to
be speed, convenience, reliability, and so on.

– Take an approach of "adding to" rather than "replacing" whatever
more-popular alternatives are already in place (twitter, aim,
bittorrent, skype, etc) so as to ensure users sacrifice nothing by using it.

– Take best, simultaneous advantage of whatever resources are available,
at all times. If there is BlueTooth, use it. If there is a functioning
LAN, use it. If there is a functioning sitewide/domestic/international
WAN, use it. And so on.

– Anticipate the imminent failure of any of these methods at any time by
proactively establishing fallbacks (eg, a DHT in case DNS fails, gossip
in case the DHT fails, sneakernet in case wireless fails, etc.).

– Require no change in user behavior when one or more methods fail. So
the interface used to tweet, fileshare, make a call, etc — all these
need to work the same for the user (to the greatest possible degree)
irrespective of what transport is used.

– Work on standard, unaltered consumer hardware (no custom firmware, mod
kits, jailbreaks, etc) with standard installation methods (app stores,
web, etc).

– Be incredibly easy for people to use who aren't tech-savvy. This
means spending 10x more time testing and refining the usability of the
system than actually developing sexy esoteric features.

I really do think this is a relatively easy thing to build (at least, in
a minimal form), using existing hardware and proven algorithms. I'd
suggest something like:

1) Start with an open-source twitter application. Google suggests this
one, though I haven't personally used it:
http://getbuzzbird.com/bb/

2) Add a central server, just to make it really easy for nodes to
communicate directly. (We'll replace this with a NAT-penetrating mesh
*after* the much more difficult task of getting this popular and widely
deployed.)

3) When you start up, connect to this central server. Furthermore,
whenever you see a tweet from anyone else using this client, "subscribe"
to that user via this central server. (Eventually you'd establish a
direct connection here, but we'll deal with that later.)

4) Every time you tweet, also post your tweet to this central server,
which rebroadcasts it in realtime to everyone subscribed to you. Voila:
we've just built an overlay on top of twitter, without the user even
knowing. All they will know is that tweets from other BuzzBird users
for some reason appear instantly. And the next time twitter goes down,
all tweets between buzzbird users will continue functioning as normal.

5) Then start layering features on top of this, focused on making a
twitter client that is legitimately the best — irrespective of the
secret overlay.

6) For example, add a photo tweeting service. Publicly it'll use
twitpic or instagram or whatever, so all all other users will see your
photos just fine. But buzzbird users will broadcast the photo via this
central server, faster and more reliably than the other services, as
well as locally cached for offline viewing. Repeat for video, files,
phone calls, etc.

7) At some point when you've established that people actually like and
use buzzbird with its very simple and fast central server, THEN start
thinking about P2P. (Seriously, do NOT think about P2P before then as
it'll only slow you down and ensure your project fails.)

8) To start, keep the central server and just use it as a rendezvous
service for NAT penetration. So still centrally managed, but with
direct P2P connections. Then when you come online, you immediately try
to establish NAT-penetrated direct connections with everyone you're
following. This of course immediately presents you with challenges: do
you need to connect to *everyone* you follow? If only some, which? Take
these problems one at a time knowing you can always fall back on the
central server until you perfect it. In other words, the goal is to
remove the central server, but you can take baby steps there by weening
yourself off of it.

9) Similarly, add BlueTooth, ad-hoc wifi, USB hard drive sync (aka
"sneakernet"), etc. These would all be presented to the users in terms
of real world benefit ("Keep chatting while on the airplane!" "Share
huge files with a USB flash drive!" and so on.), while simultaneously
refining the tools that they'll use during a partial or total internet
blackout.

10) Eventually when you've figured out how to move all functions off the
central server — the nodes start up, establish direct connections to
some relevant subset of each other, build a DHT or mesh network, nodes
that can relay for nodes that can't, etc — the last function will be
"how does a newly-installed node find its first peer?" This is called
the "bootstrapping" problem, and is typically done with a central
server. But it needn't be done with *your* server. Just use twitter
for this: every time you start, re-watermark your profile image with
your latest IP address (or perhaps put it into your twitter signature
line, or location, or something). This way the moment you do your first
tweet, everybody who sees it will try to contact you (or some subset, so
as to not overload you). Then you can turn off your own central service
and just use twitters.

11) When the "dark days" come and twitter goes offline, your nodes won't
even notice. They'll continue to establish their DHT with whatever
subset of the network is interconnected, relay for each other, etc. If
the internet is totally gone, your users will use bluetooth, wifi,
sneakernets. They'll be ready because you *trained* them to survive on
their own *before* they needed to, rather than just handing them a knife
assuming they'll know how to use it when the time comes.

Really, the biggest challenge in all of this is whoever gets to step (6)
will immediately be acquired by Twitter for an enormous sum of money.
But hopefully that person will, with their new-found wealth, continue on
to (7) and beyond.

This is a doable thing. One person motivated person could do most if
not all of this. Is that person you?

-david

Egypt appears to have cut all internet connectivity with the rest of the
world in an attempt to quell its use in organizing protests. The only
reason this makes any sense is if the tools used to organize the
protests (Twitter, Facebook, Gmail, etc) are hosted outside Egypt.

To this you might say "Let's just host protest-organizing tools on
servers inside protest-likely nations in anticipation of them using this
strategy again." But that won't work because odds are the government
would just seize all protest-organizing servers within their borders.

So the only protest-tools that will continue to work reliably are those
that continue to work without access to the outside world, without
relying on locally-hosted servers, and *without even relying on the
internet at all*. It's a tall order, but here's how I'd do it.

1) Recognize that this service needs to be used in the good days, such
that there is adequate distribution already in place when the bad days
happen. THIS IS THE HARDEST PART. I say this in all caps because this
is why no meaningful system like this exists today: the people most
likely to build it are too obsessed with esoteric technical problems
than solving the issues that actually matter in the real world.
Asymmetric, anonymized, mesh-distributed, onionskin-routed communication
doesn't mean anything if nobody uses it. So before even thinking about
the technology, we need to think how to make it relevant to users who
*aren't* protesting (yet).

2) At an absolute minimum, it needs to be no worse than then existing
alternatives. So if it's going to replicate Twitter, it needs to be at
*least* as good as Twitter, otherwise everybody will use the *real*
Twitter (until it's turned off by their local neighborhood dictator).
On way to be better than Twitter is to actually be better than Twitter.
Good luck with that. Another way is to just make your tool post to
Twitter. I think that's a much better idea: if this tool (let's call it
"anoninet" just for kicks) offers some Twitter-like functionality, it
should be completely compatible with the real Twitter in the
99.99999999999% of situations where the real Twitter is actually
available. Same goes for Facebook, Flickr, etc.

3) Ok, so anoninet's primary value in "good times" is starting to take
shape: it's a one-stop-shop to post to all your social networks. So you
install this thing, type in all your passwords (You could store them
locally in some encrypted keychain decrypted by a master password, but
that's the sort of technomasturbation thinking that obscures real-world
requirements; in reality just store it unencrypted because those who
don't care don't care, and those who do should really just encrypt their
whole hard drive), then you can post status updates, photos, videos, and
everything will automatically go to the right place. Indeed, before you
even think about making this into some sort of resilient
protest-enabling tool, you should make this the best possible
social-network posting tool. (Because if it's not that, then nobody
will have it installed when they want it most.) I'd suggest emphasizing
how this thing works even with unreliable internet, essentially letting
you queue up everything locally and it does background uploading as the
network becomes available. Similarly, it downloads everything locally
for offline reading. Odds are your protest-likely environment has
shitty internet to start, so this feature will likely have immediate
value. Add in really good support for USB-connected devices (cameras,
videocams), and basically present it as the single best way to do social
networking in a nation with shitty internet.

4) Step 4 is to succeed with step (3). Don't even think of anything
else until you've done that. Seriously, it's a waste of your time and a
disservice to your users. (3) needs to be totally nailed and immensely
popular before anything else matters. I'd say something like 10% of
your target population needs to be using it before you consider continuing.

5) Once you've got huge distribution of your client-side
social-network-optimizer, then you can start to raise the bar. Because
it's targeted to environments that have expensive and/or unreliable
internet, P2P starts to sound interesting. Throw in a network-localized
DHT and build out a distribution network that "rides" on these other
networks. So every time they post to Twitter, Facebook, Flickr,
YouTube, or whatever — they're also posting to anoninet. And when
another anoninet is reading your Twitter stream, somehow they detect
each other and rather than getting the data from Twitter (for example),
they get it directly via some localized P2P connection. Present this to
the user as faster, more reliable, and cheaper than getting it from the
*real* YouTube.

6) Quietly encrypt everything and tunnel over commonly-used ports.
Don't talk about this, just do it. Users don't care until they do, and
by then it's too late.

7) Ok, so at this point we have wide distribution of a very popular
social networking tool that uses a localized P2P mesh as an optimized
fallback to the major global tools. Its major advantage is it works
over networks that are slow, unreliable, or expensive. This'll save you
in the Egypt case; these users would continue using the tools they
already use, to talk to the people they already talk with, and
everything will continue functioning as normal. They won't be able to
talk with the rest of the world, but they *will* be able to talk amongst
themselves, which is the important thing. Furthermore, because it's all
P2P, there are no servers to seize, and because it's all encrypted over
common ports, it's indistinguishable from all other encrypted traffic.

8) However, if this had existed in Egypt, odds are Egypt would have just
shut down the internet, period. If a dictator is willing kill you, odds
are they wouldn't blink at turning off your email. So how to make this
work without internet? The answer is: make it incredibly easy to batch
and retransmit data like Fidonet back in the day. So when shit is
*really* going down, you whip out your favorite 4GB, 32GB, or 640GB USB
drive and just sync your local repository (remember how everything was
conveniently cached locally for fast offline access?) with the device.
Optimize it to sync the most popular content first, basically ensuring
that the most intersting/important message is also the most widely and
redundantly distributed.

9) Finally, this needs to spit out an installable copy of itself to
whatever removable media is available. This way when the shit starts to
*really* go down, as people realize the true value of this system it can
spread fast to the people who need it.

Voila. A tool that supports communication amongst protesters even in
the face of total internet blackout. Some other random thoughts:

– Ideally it'd piggyback on existing credentials. So when you install
this thing you don't need to think "I'm creating a new account".
Rather, you just install this thing, type in your Twitter username and
password, and whatever giant asymmetric keypair it creates internally is
just some nameless thing associated with that Twitter account. (And you
might have multiple.)

– This thing needs to broadcast itself via existing networks in a
totally transparent way, so if we're both users and I read your Twitter
stream, I should know you're also a user without you ever telling me.
The first way that comes to mind is this thing could watermark your
profile image with maybe a digital signature (or perhaps just jam it
into some sort of extra field in the image). Then when I follow you, my
client sees the watermark, reaches out to the DHT, sees that you're
signed in (or not), and establishes a NAT-tunneled P2P connection directly.

– Social networks are particularly good for this sort of architecture as
they map well to the "publish/subscribe" model. This works easily on a
P2P network (you register yourself with the DHT by name and
keyword/hashtag, and then when you post there everybody who is
"following" you or a particular hashtag gets your data), as well as
create an implicit "value" metric for use when synchronizing data in
"sneakernet mode" (publishers/hashtags with a high follower count are
assumed to be more valuable and thus beat out less-popular content).

– This sort of system actually isn't that useful to terrorists,
criminals, drug-dealers, and so on because it's designed for mass public
communication (not indvidual private communications). Granted, nothing
in this protects the individual from being targeted, but that's an
entirely different problem. (And I wager one that could be layered on
top of this in a straightforward manner.)

In all honesty, this isn't that hard a thing to build. One dude could
do it. I could personally do it, and know several others who could as
well. But I'm busy. Hopefully a better person than me with more time
on their hands will pick up on this and do what needs to be done. The
world will thank them for it, though its dictators won't.

-david
My blog (including this post) is at http://quinthar.com
Follow me at http://twitter.com/quinthar