social networking

Posted by Don 10 Jun 2010 at 08:26PM

One of the first signs that told me the Internet was an unstoppable, world-wide phenomenon was when I saw a URL on a box of cheerios.

While shopping for jeans last weekend I saw written on a tag on a pair of pants "follow us on twitter at @blah, friend us on Facebook". I've seen enough of that to believe that social networking will also become an unstoppable world wide phenomenon. Its been consuming my world for two years now so I look for outside verification that its wider than my tech-centric world view.

After watching two revolutions, a line can be plotted from these two points. Another point along this line is wearable computing. Heads-up displays in sunglasses. Continual location tracking and body/environment monitoring. More pervasive and subtle forms of reputation on the Internet.

For years and years, AOL was successful in selling dial-up internet access long after DSL had arrived. The future was spreading itself out to those who get it on the second or third or four generation. 'standard' social networking, twitter and facebook, will continue to expand and their influence will grow.

Innotech Notes

Posted by Don 06 May 2010 at 12:20PM

Mobile App Store Panel

How to protect your app built on an "open" platform from getting squashed. Squash example: twitter buying a mobile client and repackaging it as the twitter-branded client. Have functionality across multiple platforms. Example: App that supports twitter, and facebook and etc.

My Q: in-app purchase support in non-iphone markets? Ans: Not yet.

Mobile apps are a gold rush. We're in the stage where people are showing up in San Francisco asking "where do I dig?". Pickaxe dealers are doing well.

Web App vs Native App

Mobile OSes are diverging (brought up in previous panel). 4 releases of Android. 2 releases of iPhone OS. MeeGo. Symbian. Windows Phone 7. The web as a platform is converging on HTML5. Webkit browsers are taking over. Firefox and Microsoft are committed to HTML5 compatibility.

Monetizing a native iPhone app is simpler due to iTunes familiarity and already established credit card info.

Social Journal Maker

Posted by Don 05 May 2010 at 04:38PM

I was at the backspace cafe one Friday morning before the usual GeoFriday. I run into Beverly F. and talk about the potential for Facebook Credits. Facebook sells 'credits' for a dime. Facebooks apps offer games and services for those credits. The app owners redeem those credts back to Facebook for 7 cents. Facebook has 400 million users and its own currency.

So we brainstormed for a bit and came up with the Social Journal Maker. I put together enough guts to say hello. Literally. Just hello. http://apps.facebook.com/sjmaker/

The *idea* though is that the app gets access to one's newsfeed history and formats that into a PDF. The first 5 pages are free and costs a credit a page after that or something. Beverly's relative has a somewhat related business of making stuffed toys using cloth with sentimental value such as a loved one's old jeans.

Whats Worth Doing

Posted by Don 20 Apr 2010 at 09:42AM

The what I work on post was also partly trying to answer the question of what is worth doing.

The most obvious and not necessarily useful answer is to provide Maslow's Hierarchy of Needs for all beings. What I like to do is build projects on the Internet. But does that have enough meaning? Providing housing and clothing and a clean environment is a basic need. There are other needs, higher up the chain, that are important too. When someone has the basics one can move on to increasing compassion and understanding between people. Conflict resolution.

Economic improvements is an area of interest. Why does housing cost what it does? Is there another financial construct to provide privately-owned housing? Co-housing has introduced 'village' concepts into the Feudal private ownership system we are used to.

that's all I got for now...

Open Source Projects 1

Posted by Don 20 Apr 2010 at 09:36AM

Every action should have a public result. That's one thing that makes open source powerful. The lines of code are not hidden away, but available for inspection. They have uses one could not predict. I'm trying to solve a problem with this effort. At the same time that effort can be used by someone else for their problem, or even demonstrate what I can do to other interested parties.

Every time I work on a closed source project, my effort has a fraction of the impact it could.

Requiring a public or user-facing result is also useful for building features of a webapp. One interpretation that I find interesting is no administrative interfaces. An admin page does not have a user-facing benefit. Let consensus make those decisions. If you have an analytics page, let that be open to users. Want to delete users? Have a red-flag mark button. If an account gets more than X flags, dumb down the account to a read-only mode.

A webapp I worked on recently was closed source and I felt like an unnecessary gatekeeper. Other users would find bugs in the system and had to wait on me to implement and deploy them. At least with open source they could read the code and submit a patch. Then they'd have to wait for a review and deploy.

Which got me to thinking. A wiki has an edit button for content. What if there were an edit button for code? That would be an interesting sandbox, to see what edits people make. If you know of such a system, please post a comment. The code for a page would have to be mostly self contained.

Twitter Annotations and Events

Posted by Don 16 Apr 2010 at 07:19PM

Twitter is rolling out annotations for each tweet. An annotation is a user-specifiable extra bit of free-form data for each tweet sent. Annotations could be used to mark tweets that describe events – a future time and place. Twitter clients could treat these tweets in a special way.

An example tweet is “The sunny weather necessitates a lunch tweetup! 12Pm at waterfront park.” While I have though about how to build an event record from just the wording of the tweet, it might be simpler to have the twitter client allow for a place record and a date record to be inserted into the annotations.

Ok I'm going to step back and talk about the old-school or pre-annotations style of event creation anyways. If @ means user and # means hashtag, then another symbol should be used for place. This is especially likely now that twitter is building a database of places. Lets say * because it looks like something that might mark a location on a map.

The tweet in this style might read “The sunny weather necessitates a lunch tweetup! 12Pm at *waterfrontpark.” Twitter clients could sense that a tweet with a time and a place signifies an event, with the rest of the tweet being used as the title of the event. I thought about using % to signify a title but it gets too syntaxy and there is no good way to support spaces. Let me jump back to the world of annotations. While writing a tweet there would be extra UI elements in the client to add a date, place, and maybe a title too, as metadata for the tweet. This would require a new version of each twitter client to add this functionality.

Now that the hard problem of getting event information into the tweet stream is addressed. The benefit for the readers can be described. Picture tweetdeck with its various columns. Now picture a new column for upcoming events. There are a class of events that are short lived, casual, and created quickly where I dont want to create an upcoming.org event and tweet the URL. I might do that for a large event, but this twitter event creation is for quick meetups. As I am reading the tweetstream throughout the day I would notice events showing up at the top of the column dedicated for events. I dare say such event invitations are important enough to garner their own column.

One could go further with using the existing tools and designate an event hashtag. I could use the current tweetdeck and add a search column for #event. The example tweet would be “The sunny weather necessitates a lunch tweetup! 12Pm at waterfront park. #event” While this is barely adequate if the #event scheme is adopted, I think there is enough to gain by having programmatic understanding of the event to justify the two systems presented earlier. A programmatic understanding could alert me 15 minutes before any event started. A GPS enabled twitter client could alert me if I am near an in-progress event. An aggregation site could harvest these event announcements for whatever reason.

Stuff I Work On

Posted by Don 15 Apr 2010 at 10:45AM

The projects I currently work on or plan for or think about.

    • SwipSwap
    • Value proposition: Easy group contact-swap.
    • Use case: A meeting of ten people, "one button" swaps everyone's electronic business cards
    • Length of involvement: Dec 2009 - ongoing (5 months)
    • Unique aspects: BonJour neighbor discovery
    • Business Model: mobile app market sales
    • Taplister
    • Value proposition: Building community around local bars and the beers they serve.
    • Use case: Find which bars are serving your favorite, hard-to-find beer
    • Length of involvement: Dec 2009 - ongoing (5 months)
    • Unique aspects: wiki-like editing of a bar's tap list
    • Business Model: targeted banner ads, mobile app market sales
    • Jyte
    • Value proposition: Collect community opinion and add reputation to an OpenID
    • Use case: Poll the Internet with "Are red M-n-Ms better than yellow?". Give "candy" cred to users who leave interesting comments.
    • Length of involvement: Feb 2010 - April 2010 (3 months)
    • Unique aspects: OpenID centered in 2007. Very usable voting mechanism
    • Business Model: unknown
    • Geomena
    • Value proposition: Automatic geo-positioning
    • Use case: Using only wifi, where on earth am I?
    • Length of involvement: Aug 2009 - ongoing (9 months)
    • Unique aspects: Wiki-editable, couchdb
    • Business Model: For-profit spinoff with extra analysis for more accurate positioning
    • XFN Spider (currently broken)
    • Value proposition: Build a social graph
    • Use case: Study individual pdx tech members / group analysis
    • Active months: March 2009, May 2009, Jan 2010
    • Unique aspects: graph storage
    • Business Model: none
    • IceCondor
    • Value proposition: Continuous location tracking
    • Use case: My friend is 10 minutes late, are they parking or still at home?
    • Length of involvement: Sep 2008 - April 2010 (19 months)
    • Unique aspects: android client
    • Business Model: monthly subscription
    • EveryoneDelivers
    • Value proposition: Crowd-sourced delivery
    • Use case: I need this package delivered to work for $5
    • Length of involvement: Mar 2009 - Dec 2009 (10 months)
    • Unique aspects: crowdsourced replacement of traditional business
    • Business Model: per-delivery fee for the lister
    • DailyWireless.org
    • Value proposition: Wireless industry news
    • Use case: Whats going on in the wireless telecomm industry?
    • Length of involvement: Mar 2002 - ongoing (8 years)
    • Unique aspects: Sam Churchill
    • Business Model: direct-sales banner ads

Many other project ideas are on the ProjectIdeas wiki page.

The Airship Effect

Posted by Don 09 Apr 2010 at 09:10AM

The Airship Effect is being ready with a supporting product/service on the day a major company announces a major project/service. When iPhone 3.0 provided Push Notifications, Urban Airship was ready with a product for developers to more easily support push notifications in their app. Its selling pick-axes to gold rush miners and mobile app development is definitely a gold rush.

Two upcoming products that have caught my attention:

  • iPhone 4.0, Game Center, summer 2010
    • Friend network
    • MatchMaking
    • LeaderBoard
    • Achievements
  • Facebook Location Support, f8 developers conference April 2010

What sort of supporting services could be made for these?

WebFinger and XFN me links

Posted by Don 21 Mar 2010 at 09:47AM

Walking through the Hammer Stack is now easier with these two ruby gems: redfinger and xfn_stone.

The email address has won the contest to be the universal identifier for a person. So lets start with mine: don.park@gmail.com.

irb(main):001:0> require 'redfinger'
=> true
irb(main):002:0> f=Redfinger.finger('don.park@gmail.com')
=> #Redfinger::Finger subject="acct:don.park@gmail.com"

Now we have a handle on the starting URL for XFN discovery

irb(main):006:0> f.xfn.first.href
=> "http://www.google.com/profiles/don.park"

Use XfnStone to get links to 'me' pages and 'contact' pages. The 'me' pages are useful for further discovery about what services the user is subscribed to. The 'contact' pages are useful for building a list of friends of the user.

irb(main):008:0> require 'xfn_stone'
=> true
irb(main):009:0> person = XfnStone::Person.new(f.xfn.first.href)
=> #XfnStone::Person:0xa0c04f4 ...
(the person object outputs a ton of extraneous info. this needs to be fixed)

Here are the services that I have connected to my google profile page.

irb(main):017:0> pp person.mine.map{|e| e.attributes["href"]}
["http://youtube.com/user/donpdonp",
 "http://www.flickr.com/photos/donpdonp",
 "http://delicious.com/donpdonp",
 "http://donpark.org/",
 "http://github.com/donpdonp",
 "http://www.goodreads.com/user/show/244982",
 "http://www.slideshare.net/donpdonp",
 "http://digg.com/users/donpdonp/",
 "http://upcoming.yahoo.com/user/40450/",
 "http://www.last.fm/user/donpdonp/"]
=> nil

Lets jump over to my goodreads account. It lists one 'me' page that is a list of friends.

person = XfnStone::Person.new(person.mine[5].attributes["href"])
irb(main):041:0> pp person.mine.map{|e| e.attributes["href"]}
["/friend/user/244982"]
=> nil

xfn_stone todo: normalize partial URLs. Loading that page manually.

irb(main):046:0>person = XfnStone::Person.new("http://www.goodreads.com/friend/user/244982")
irb(main):047:0> person.friends
=> #Hpricot::Elements[]

oh no, no friends! what happened? the XFN attributes contact and acquaintance are interchangeable but xfn_stone looks for contact.

a href="/user/show/1270981-morganpdx" rel="acquaintance" Morganpdx /a

Twitter used to be a good example for an XFN friends list. A twitter user's page used to have a 'me' link to their friends list. Each link to a friend had a 'contact' attribute. Another 'me' link to the next page of friends also used to be on that page so a long list of friends could be loaded incrementally. This has since gone away.

What is the Hammer way to get a contacts list? PortableContacts needs looking into...

badge aggregator 2

Posted by Don 27 Feb 2010 at 02:09PM

a new site where a 'badge' or goal could be defined by the user with
  • a name
  • a logo/icon
  • criteria for achievement
  • the aggregation site would read activitystreams from users and determine if the actions in that stream qualify them for any of the defined badges. the participating sites would need to provide an activitystream for each user. the aggregation site would provide a reputation document or list of earned badges.

    a site could make use of badges earned from other sites, or look at more general badges that the aggregation site itself defines.