In The Beginning… Was The Printing Press

An Engineer’s Approach To Storytelling

Neal Stephenson with fascinating facial hair

Neal Stephenson is a Storytelling Engineer, uniquely mashing up his left-brain Engineering and his right-brain Artistry into what might be described as swash-buckling historical comedic post-cyber-punk speculative fiction.

Stephenson understands technology. He comes from a family of Engineers and Scientists, and his hacking toolkit includes Mathematica by Wolfram Reasearch. He wrote ‘In the Beginning… Was the Command Line’ (1999) as an essay on the evolution of computer operating systems.

Snow Crash (1992) was originally designed (that word chosen carefully) as an interactive computer game. The technology to deliver on that design had not been invented, yet, and so the story was re-factored into a linear narrative, and implemented using that popular storytelling technology of the time; the Gutenberg printing press.

Later, in a 2004 Slashdot interview, Stephenson clearly considers the printing press as merely an interim solution to storytelling:

Gutenberg printing press

The novel is a very new form of art. It was unthinkable until the invention of printing and impractical until a significant fraction of the population became literate. But when the conditions were right, it suddenly became huge. The great serialized novelists of the 19th Century were like rock stars or movie stars. The printing press and the apparatus of publishing had given these creators a means to bypass traditional arbiters and gatekeepers of culture and connect directly to a mass audience.

Stephenson extrapolates, accurately. In Snow Crash (1992), he describes the Metaverse as a shared 3D virtual world, in which humans appear as Avatars. Sound familiar?

So we should pay attention when Stephenson extrapolates storytelling technology, which is exactly what he’s doing with his latest project. And because he’s an Engineer, he’s not just talking or writing about the future of storytelling technology, he’s building it.

Stephenson’s latest project is Subutai, a Bay Area tech startup, named after the military strategist and general of Genghis Khan, and focused on building a next-generation storytelling platform.

“The form of the traditional novel is a consequence of the technology of the printing press,” says Jeremy Bornstein, Stephenson’s co-founder and President of Subutai. “We wanted to explore what the novel could be now that it’s practical to use a platform more modern than paper.”

Or as only Stephenson could say, “[This] is what Gutenberg would have come up with if he hadn’t jumped the gun and released 600 years early.”

The Mongoliad - Getting medieval on your apps!

Stephenson is also leading the creation, or perhaps “curation” is a better word, of The Mongoliad, the first story being told using the technology. Stephenson also appears to be setting the company precedent for fascinating facial hair, but that’s probably another story altogether.

Anyhow, Subutai is an attempt to tackle the Napsterization of the printed novel. These days it is a trivial task to download a counterfeit digital copy of Snow Crash from the internet, because its linear narrative fits nicely inside a .txt or .pdf file.

The Mongoliad is not vulnerable to counterfeiting because it is an interactive non-linear narrative, with social networking tendencies, and a wiki and forums and reputation system to encourage a community of readers to augment and influence the story. A freemium subscription model is used, giving some content away for free and charging $10 for annual access to premium content.

No one will ever call my novels bloated again because they won't have the faintest idea how long they actually are.

Subutai also understands that the medium is the message. There is a deliberate blur between the message of the story, and the medium of technology used to deliver it. The story enjoys being presented on a website that is still in glorious Beta, and one wiki page still includes a discussion between founders on how much subscribers should be charged for access to the premium content.

Here’s hoping this blurring of boundaries extends to include the social and community features of the site, and allows the community to truly contribute to the ongoing message of The Mongoliad, and to the medium of technology built to deliver it.

So strap yourself in for the ride. “It’s spring of 1241, and the West is shitting its pants

It will be fascinating to watch this evolve. The Mongoliad, and the printing press.

Posted in mobile geo social | Tagged , , , , , | View Comments

Social Browsing on your iPhone with Safari Browser Extensions

Plug-ins, add-ons, extensions – every desktop browser supports them: Firefox, Chrome, Internet Explorer, Opera and Safari. Third party developers can easily add features to these web browsers to enhance our web browsing pleasure.

But what about the mobile browser on your phone?

Mobile Firefox is the only major mobile browser to officially support extensions, and that is currently only for Maemo and Windows Mobile.

I’ve decided that’s not enough!

According to this man below, the mobile browser that accounts for most of our browsing is the iPhone’s Mobile Safari, so let’s start with that.


Continue reading

Posted in mobile geo social | Tagged , , , , , , , , , , | View Comments

GeoMeme adds Google Buzz to detect real-time geo-located trends

If you’ve been using Google Buzz on a mobile phone recently, you would know that you can choose between two filters to the real-time stream of content:

  • Social – choose ‘Following’ to filter the stream based on your social graph, or social ‘circle’ as Google prefers to call it. You will see posts from your friends, and also some public posts from friends-of-friends if the Buzz filtration algorithm thinks you want to flex your social circle.
  • Geo – choose ‘Nearby’ to filter the stream based on your location, as detected by your mobile phone. You will see public posts from nearby Buzz users, as a chronological list, or located on a map. Most of the value here comes from the stream being updated in real-time.

Now, with the release of the new Google Buzz API from Google Labs, I have added the real-time stream of geo-located Google Buzz content to GeoMeme, my pet project.

GeoMeme detects real-time geo-located trends, now based on millions of daily posts from various Google Buzz and Twitter and MySpace mobile apps.

GeoMeme can detect, for example, that Justin Bieber beats Lady Gaga in New York City.

If you’re curious about Justin Bieber, or about the amount and contents of geo-located Buzz posts, compared to geo-located Twitter and MySpace posts, check it out and let me know what you think.

Posted in mobile geo social | Tagged , , , , , , | View Comments

Social Recommendations For Every Site On The Web

Today Facebook announced that over 50,000 websites have implemented Social Plugins in the first week since their launch.

My favorite Social Plugin is ‘Recommendations’ which lists the pages on a site which have enjoyed the most Sharing activity by Facebook users lately. It’s a good crowdsourced measure of quality.

But I couldn’t find the plugin on any of my favorite sites.

So here’s a handy bookmarklet that allows you to see Social Recommendations for any website, not just those sites which have implemented the plugin. You might call it a Facebookmarklet.

  1. Drag this link up to the bookmarks bar of your web browser: FB-Recommended

  2. Navigate to your favorite site, and click the ‘FB-Recommended’ button to see the pages on that site which are most recommended.

If you are worried about privacy, don’t be. The plugin does not require you to be logged in to Facebook. Here’s the anonymous recommendations on news.bbc.co.uk today. On the site homepage itself, there’s no mention of Gordon Brown’s ‘bigoted woman’ gaff. But that story tops the list of recommended pages:

If you are logged-in to Facebook, the plugin gives preference to and highlights pages that your friends have shared:

This filtering-by-social-graph is hugely significant and valuable, for users needing to filter the signal from the noise, and for Facebook who can apply the same social filtering algorithms to improve their ad targeting.

Enjoy!

Posted in mobile geo social | Tagged , , , , , | View Comments

How to display approximately geo-located Tweets on a map

Most geo mashups such as GeoMeme display Tweets and other geo-located content as points on a map, based on exact latitude/longitude coordinates. Easy.

At the inaugural Chirp Conference this week, Twitter released its Places feature which instead allows Tweets to be approximately geo-located, within a ‘Place’ of chosen granularity; a city, or a neighborhood, perhaps a restaurant or a park.

This is a great option for users who have ‘geo-privacy’ concerns about revealing an exact latitude/longitude.

However, this approach presents a challenge to developers on the Twitter platform: how can approximately-located Tweets be displayed on a map?

Moreover, users need app developers to adopt a standard way of showing these approximately-located Tweets on a map. A consistent approach by developers will help users form a consistent understanding of this Twitter feature, in a similar way that @anywhere Hovercards provide a consistent approach to showing data about a particular Twitter user.

polytweet is a javascript library which displays approximately-located Tweets on a Google Map.

I hacked it together at Chirp, because I will need something like this for GeoMeme, and also to share it with other developers and encourage a standard approach.

Exactly-located tweets are represented by a profile image atop a blue pin.

Approximately-located tweets are represented by a semi-transparent profile image, placed along one of the edges of the Place polygon, at a consistent position so that zooming in and out does not shuffle the tweets.

Here’s an example, with thanks to the Twitter API team for sharing their geo-location. The tweet on the left hand side from @raffi is approximately located:

Hovering over a marker will trigger the display of any corresponding Place as a semi-transparent polygon. Hence the user can understand the area from which an approximately-located tweet was posted:

You can see the working demo at http://bit.ly/polytweetdemo which includes an added bonus of Hovercards.

See the source code for usage instructions and details of how to tweak the style of the markers and polygons.

Enjoy!

Posted in mobile geo social | Tagged , , , , , | View Comments

GeoMeme Wins MySpace Developer Challenge

How exciting! My pet project GeoMeme has been awarded ‘Most innovative use of the Real-Time Stream API’ in the MySpace Developer Challenge.

GeoMeme Wins MySpace Developer Challenge

The awards were judged by Mike Jones, MySpace’s new Co-President, and Ron Conway, renowned angel investor, and David Glazer, Director of Engineering at Google, and Robert Scoble, tech blogger and uber-geek.

GeoMeme uses the new MySpace Real-Time Stream API to tap into the flood of geo-located updates being posted by MySpace users all around the world.

Activity Streams from MySpace are mashed up with tweets from a number of mobile Twitter apps, and located onto a Google Map. Local trends are identified using semantic analysis services from Yahoo.

For example, GeoMeme knows that Rihanna beats Lady Gaga in New York and that Avatar beats Hurt Locker in Los Angeles.

Beyond the discovery and measurement of real-time local trends, GeoMeme also provides a unique view into local activity streams, as a way to discover new like-minded and nearby friends. You can then buy the t-shirt (really, you can!) to share your trends with your friends.

GeoMeme is a lightning fast web app, and is also available on iPhone as a mobile web app, optimized for mobile using Google Maps v3 API. GeoMeme is built on Google App Engine for massive scalability.

And congratulations to the other winners of the Challenge:

Posted in mobile geo social | Tagged , , , , , | View Comments

GeoMeme adds MySpace real-time local trends

In other news, GeoMeme now measures real-time local trends based on both MySpace and Twitter content.

GeoMeme uses the new Real-Time Stream API from MySpace to tap into the flood of geo-located updates being posted by MySpace users all around the world.

MySpace content is mashed up with tweets from a number of mobile Twitter apps, and located onto a Google Map. Local trends are identified using semantic analysis services from Yahoo.

A couple of example GeoMemes generated by all this real-time geo-located content: Rihanna beats Lady Gaga in New York, and Avatar beats Hurt Locker in Los Angeles.

Posted in mobile geo social | Tagged , , , , , | View Comments

Mobile awesomeness, innovation and disruption

The good people at MitchelLake recently asked me to write an article about mobile technology.

So I created a list of awesomeness, innovation and disruption, including topics such as ‘Mobile is big’, ‘Phones are getting better’, and ‘People pay for stuff on their phones’.

Here’s the full article; 10 awesome, innovative and disruptive things about mobile.

Continue reading

Posted in mobile geo social | Tagged , , , , , , , | View Comments

Murdoch should worry less about the Googlebot and more about social media

I remember in January 2000, old media mogul Rupert Murdoch said he was not going to waste his money buying any ‘dotcom’ upstarts. The very next day, AOL bought Time Warner. Not the other way around!

Murdoch had apparently failed to grasp the significance of the interwebs.

However, ten years later Time Warner has regained its mojo and is now trying to offload a spent and jaded AOL. Did Murdoch get it wrong ten years ago, or did it simply take a whole decade for him to be proven right?

In 2009, the mob is rushing once again to the conclusion that Murdoch is losing his marbles, planning to charge for his online content and blocking the Googlebot from stealing it.

Personally I believe that Murdoch should worry less about the Googlebot, and more about how social media is turning his industry on its head.

The problem is that all of those dotcom upstarts have brought us information overload. There has been an exponential increase in the amount of information and content available to us, way beyond the capacity of the human brain to process.

The solution is social media, which empowers us to easily share the content we care about with our friends and contacts, and adds valuable metadata to that shared content, such as Likes or Retweet counts. This metadata helps us filter the signal from the noise, so that we can focus on just the best quality content from our trusted circle of friends.

This works great for movie reviews. People have always listened to the advice of friends when it comes to choosing what movie to watch. Social media simply provides an efficient and scalable way to do this.

The best example of this social filter is currently FriendFeed, although we can expect to soon see something equally impressive on Facebook. Twitter Search could do this even better if only it were possible to search the entire tweet history of just your friends, or a chosen social distance into your social graph, rather then merely search 7 days of the public timeline. I am hoping that the Google Social Search Experiment will enable this sort of social filter when Google completes its Twitter integration.

Back to Mr. Murdoch… Social media also works for the filtering of news content, however it’s more tricky than movie reviews because there is a need for trustworthy fact rather than mere opinion. This is why Eric Schmidt believes that figuring out how to rank real-time social content, perhaps based on a reliable measure of reputation and authority, is “the great challenge of the age“. It also explains why Twitter’s Retweet feature does not allow the original tweet to be modified, because this makes the Retweet count a more reliable indicator of authority.

So my advice to Rupert Murdoch and other media companies struggling with this; worry less about the Googlebot and more about social media. Focus on improving the quality of your content, so that people share it with their friends.

And if your own social media strategy is not delivering any tangible benefits, try moving it from your Marketing department to your Customer Service department. Use social media to listen more carefully to the needs of your customers, so you can improve the quality of your content to the point where a paid online content model becomes viable.

If Marketing and Customer Service argue about who owns the customer relationship, remind them both that thanks to social media it’s actually the customer who owns and controls the relationship with your business. Not the other way around!

Posted in mobile geo social | Tagged , , , , , , , , , , | View Comments

OpenAustralia Hackfest: ‘Mobile + Geo + Social’ slides

I popped into the OpenAustralia Hackfest at the weekend to learn and talk about some of the latest developments in the Gov2.0 revolution.

There are now some quite interesting public datasets available, and the developer community is hard at work turning this data into useful APIs, and building innovative applications to consume the data.

Some of the notable apps to emerge from OpenAustralia include:

  • It’s Buggered, Mate – from the Canberra Hackfest, a geo app to crowdsource the reporting of broken public infrastructure.
  • Suburb Matchmaker – the winner of the Sydney Hackfest, a tool to help you find your ideal suburb to live in.
  • FridgeMate – currently winning the MashupAustralia contest and only a couple of days away from the $10,000 prize. FridgeMate lets you assemble a map of local public amenities to stick on your fridge door. My advice to the Creative Possums behind FridgeMate would be to look at using the Zazzle API so people could buy the actual fridge magnet.

My own presentation focussed on some mobile, geo and social technologies to create location-aware mobile mashups to share OpenGov content with friends on Twitter, friends on Facebook, and *real* friends on a t-shirt. Here’s the deck:

Posted in mobile geo social | Tagged , , , , , , , | View Comments

Location-aware mobile web apps using Google Maps v3 + geolocation

When hiring Engineers, I always look for evidence of pet projects, so recently I thought it was fair to create one of my own: GeoMeme, the fun way to measure and share real-time local twitter trends.

Visitors to GeoMeme choose a location on the map, and two search terms to compare. GeoMeme then measures and compares the number of matching tweets within the bounds of the map, based on public data from a number of mobile twitter apps.

As an example, GeoMeme can work out that ‘love’ beats ‘hate’ in Manhattan:

GeoMeme is a desktop web application and also a location-aware mobile web app for iPhone and Android phones.

Implementing the mobile version of GeoMeme as a web app has some advantages and disadvantages, compared to building native iPhone &/or Android applications.

Native apps are great because they currently offer the deepest integration to the full capability of the phone, for example using device APIs to access Contacts, the Camera Roll, an Accelerometer, or the GPS chip. For some applications, this deep device integration is essential and so a native application is beneficial.

On the other hand, emerging HTML5-based mobile browsers are aiming to standardise integration to such device APIs, starting with Geolocation APIs; meaning that location-aware mobile web apps are now becoming viable. Aligned with this development is the new version of the Google Maps API. v3 has been greatly simplified since v2, and is now optimized for use on mobile phones. Less is more.

The deciding factor for me choosing to build a mobile web app for GeoMeme rather than a native app was development speed. A mobile web app enjoys far greater code re-use from the desktop web version, and it is possible to push regular updates and improvements to users, without having to wait for appstore approval or for users to upgrade.

I believe this need for development speed is common among a good proportion of mobile apps that are still in ‘rapid iteration’ or ‘release early, release often’ mode, so this post is intended to share some of the techniques used in GeoMeme with developers wanting to build their own location-aware mobile web apps.

Let’s build an example location-aware mobile web app called ‘Here I Am!’, for the photographically challenged. The app will present some local photographs (from Panoramio) which can be shared with friends on Twitter or Facebook.

Where on earth is that mobile phone..?

The first job of a location-aware mobile app is to work out where on earth the mobile phone currently is. Unfortunately, at the time of writing, there is still no universally reliable and accurate solution for a mobile web app to detect the location of the mobile phone it is running on. However the following partial solutions can be combined to good effect:

Continue reading

Posted in mobile geo social | Tagged , , , , , , , | View Comments

Scalable, fast, accurate geo apps using Google App Engine + geohash + faultline correction

GeoMeme is a web app (and also a mobile web app for iPhone and Android) that I recently developed as a pet project. It measures real-time local twitter trends.

Visitors to GeoMeme choose a location on the map, and two search terms to compare. GeoMeme then measures and compares the number of matching tweets within the bounds of the map, based on public data from a number of mobile twitter apps.

As an example, GeoMeme can work out that :) beats :( in San Francisco:

A large amount of geo-data is generated by GeoMeme, and so arises a need shared by many geo apps: scalable, fast, and accurate spatial queries, used to select a subset of geo-data for display as markers on a map, or on Google Earth.

:)Google App Engine

Google App Engine is an obvious choice for hosting your geo app. The App Engine datastore is built on top of Google’s BigTable technology which scales very well, and is optimized for fast data retrieval. And it doesn’t cost the earth like some traditional GIS database solutions.

:( Inequality constraint

If you are coming from a background of relational databases, you might think the solution here would be to store the latitude and longitude of all your markers in a database table, and do a simple query to retrieve only those contained within the bounds of the map.

However, the flipside of being optimized for fast data retrieval is that BigTable only allows inequality filters on a single dimension, to avoid the burden of full table scans. For example, the following form of spatial query is not supported because it specifies inequality filters on both latitude and longitude dimensions:

Continue reading

Posted in mobile geo social | Tagged , , , , , | View Comments

Fast map re-location using Google Static Maps v2 + geocoder

GeoMeme is a pet project of mine. It’s a web app, and also a mobile web app for iPhone and Android, that measures real-time local twitter trends.

Visitors to GeoMeme choose a location on the map, and two search terms to compare. GeoMeme then measures and compares the number of matching tweets within the bounds of the map, based on public data from a number of mobile twitter apps.

As an example, GeoMeme can work out that ‘District 9′ beats ‘Inglorious Basterds’ in Manhattan.

As well as offering users the normal pan and zoom controls to move the map around, GeoMeme also introduces an innovative geo-autocomplete control which is powered by the geocoder service from Google Maps v3 API and the new Static Maps v2 API.

This blog post shares some details of how the geo-autocomplete control works, and offers some code so you can build your own geo-autocomplete controls.

1. Based on a partial location typed by the user, obtain a list of possible matching locations:

If the user has already typed ‘San’ into a form field, we can obtain a list of possible matching locations by passing this partial location to the geocoder service from Google Maps v3 API, as follows:

Continue reading

Posted in mobile geo social | Tagged , , , , , , , , , | View Comments

Xumii acquired by Myriad Group

Exciting news: Xumii has been acquired by Myriad Group (SIX:MYRN). We are now part of Europe’s largest mobile technology business with software in more than 2 billion phones.

This is great for Xumii as it means we can take our mobile social networking platform to the next level. And it’s a great win for Australian mobile technology.

Here’s the press release and some of the blogosphere coverage: GigaOM and TechCrunch and VentureBeat.

Posted in mobile geo social | Tagged , , | View Comments

GeoMeme: measure and share real-time local twitter trends

I am pleased to announce the launch of GeoMeme, the fun way to measure and share real-time local twitter trends.

I got thinking about this when a recent Los Angeles earthquake was being measured in tweets per second rather than using the Richter Scale.

Then came the Magnitwude Calculator as a standard way to measure the magnitude of Twitter trends.

[Then came twotspot.com but that domain name was just too damn rude, so it was quickly renamed to GeoMeme.]

What does GeoMeme do?

GeoMeme measures real-time local twitter trends.

Tweeps are located on the map using public data from a number of iPhone twitter apps. When twitter launches its geolocation API, that will be used to locate even more people on the map.

GeoMeme measures and compares how many people on the map are tweeting about each of your two search terms:

The ‘magnitude’ of each search term is equal to the number of unique people tweeting per hour per square kilometer, so it increases when more people are tweeting in a smaller area.

Example: if 100 different people in an area of 10km2 have tweeted about ‘love’ in the last 2 hours, the magnitude is 5.0 (100 divided by 10 divided by 2).

So you can search for ‘love’ and ‘hate’ and GeoMeme works out which one “beats” the other with the higher magnitude.

The default search terms are :) and :( smiley faces which provides a good measure of local happiness, as an example.

Can I use my iPhone?

Sure, or your iPod Touch. Here’s the screenshot:

Give me an example!

Thanks to some early coverage on The Register, Mashable, and Google Maps Mania, and winning Mashup of the Day on ProgrammableWeb, we’re off to a flying start. I’m glad GeoMeme is hosted on Google App Engine for scalability.

Here’s a selection of the most popular GeoMemes so far:

How does it all work?

I will leave the details of how it all works to another post, stay tuned for that.

Posted in mobile geo social | Tagged , , , , , , | View Comments