<?xml version="1.0" encoding="UTF-8"?>
<posts type="array">
  <post>
    <asset-id type="integer">72</asset-id>
    <body>&lt;p&gt;Twilio is a fun and lightweight API for doing things with phones and robots.&lt;/p&gt;

&lt;p&gt;I have a couple of &quot;big important serious&quot; ideas for twilio, but right now I'm just playing with it. &lt;/p&gt;

&lt;p&gt;Towards this 'non-goal' I remade the classic phone application of the answering-machine era: The Dial-A-Song.&lt;/p&gt;

&lt;p&gt;Dial-A-Song was THE classic phone application of the answering machine era. The creative band They Might Be Giants used their a Brooklyn local phone number during the eighties and nineties to play some of their songs 'on demand.' While this original service was &quot;always busy, often broken,&quot; with Twilio's API, we can create a service serving TMBG songs that surpasses the original Dial-a-Song in functionality and robustifiability, hopefully without losing its charm. &lt;/p&gt;

&lt;p&gt;&lt;a href=http://github.com/jdar/dialasong&gt;Ruby-script&lt;/a&gt; (uses &lt;a href=http://www.sinatrarb.com/&gt;sinatra&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;a&gt;Rails version&lt;/a&gt;(uses &lt;a href=http://railscasts.com/episodes/148-app-templates-in-rails-2-3&gt;rails-template&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;UPDATE&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=http://docs.google.com/View?id=dg87dwbr_396g3zrgvmt&gt;Documented notes from the event&lt;/a&gt;, including brainstorming session of Twilio-compatible web ideas.&lt;/p&gt;</body>
    <category-id type="integer" nil="true"></category-id>
    <comments-disabled-after type="integer">90</comments-disabled-after>
    <created-at type="datetime">2010-01-12T18:52:40+00:00</created-at>
    <id type="integer">97</id>
    <published type="boolean">true</published>
    <published-at type="datetime">2010-01-12T18:49:00+00:00</published-at>
    <raw-body>Twilio is a fun and lightweight API for doing things with phones and robots.

I have a couple of &quot;big important serious&quot; ideas for twilio, but right now I'm just playing with it. 

Towards this 'non-goal' I remade the classic phone application of the answering-machine era: The Dial-A-Song.

Dial-A-Song was THE classic phone application of the answering machine era. The creative band They Might Be Giants used their a Brooklyn local phone number during the eighties and nineties to play some of their songs 'on demand.' While this original service was &quot;always busy, often broken,&quot; with Twilio's API, we can create a service serving TMBG songs that surpasses the original Dial-a-Song in functionality and robustifiability, hopefully without losing its charm. 

&lt;a href=http://github.com/jdar/dialasong&gt;Ruby-script&lt;/a&gt; (uses &lt;a href=http://www.sinatrarb.com/&gt;sinatra&lt;/a&gt;)

&lt;a&gt;Rails version&lt;/a&gt;(uses &lt;a href=http://railscasts.com/episodes/148-app-templates-in-rails-2-3&gt;rails-template&lt;/a&gt;)

&lt;b&gt;UPDATE&lt;/b&gt;

&lt;a href=http://docs.google.com/View?id=dg87dwbr_396g3zrgvmt&gt;Documented notes from the event&lt;/a&gt;, including brainstorming session of Twilio-compatible web ideas.
</raw-body>
    <title>Dial-A-Song: sinatra + twilio to reproduce TMBG cult project</title>
    <updated-at type="datetime">2010-02-07T09:55:21+00:00</updated-at>
    <user-id type="integer">1</user-id>
    <views type="integer">38</views>
  </post>
  <post>
    <asset-id type="integer">71</asset-id>
    <body>&lt;p&gt;My brother (@meark) and I grew up playing chess against each other. It was, at times, a bitter rivalry.&lt;/p&gt;

&lt;p&gt;I decided to commemorate our cold-war days with a unique chessboard.&lt;/p&gt;

&lt;p&gt;This was done with a pre-faced board, a triangle, the power of the Internet, 10 sets of salt-and-pepper shakers, some graphite paper, and a magic-paint marker, and two beers.&lt;/p&gt;

&lt;p&gt;I wanted to make the black-and-white squares on this chessboard less-defined by using graphite, which would smudge over time, giving indistinct lighter-and-darker areas that roughly correspond to squares. My brother prevailed upon reason and practicality, and convinced me otherwise. Instead, a &lt;a href=http://www.traceypackaging.com/catalog.asp?prodid=435611&gt;spray-ink&lt;/a&gt; was applied. &lt;/p&gt;

&lt;p&gt;Appologies to the graphic designer to whom I owe credit for the mushroom cloud. &lt;/p&gt;

&lt;p&gt;The only way it could be better would be some blinky lights.&lt;/p&gt;</body>
    <category-id type="integer" nil="true"></category-id>
    <comments-disabled-after type="integer">90</comments-disabled-after>
    <created-at type="datetime">2010-01-12T19:03:16+00:00</created-at>
    <id type="integer">98</id>
    <published type="boolean">true</published>
    <published-at type="datetime">2010-01-12T18:45:00+00:00</published-at>
    <raw-body>My brother (@meark) and I grew up playing chess against each other. It was, at times, a bitter rivalry.

I decided to commemorate our cold-war days with a unique chessboard.

This was done with a pre-faced board, a triangle, the power of the Internet, 10 sets of salt-and-pepper shakers, some graphite paper, and a magic-paint marker, and two beers.

I wanted to make the black-and-white squares on this chessboard less-defined by using graphite, which would smudge over time, giving indistinct lighter-and-darker areas that roughly correspond to squares. My brother prevailed upon reason and practicality, and convinced me otherwise. Instead, a &lt;a href=http://www.traceypackaging.com/catalog.asp?prodid=435611&gt;spray-ink&lt;/a&gt; was applied. 

Appologies to the graphic designer to whom I owe credit for the mushroom cloud. 

The only way it could be better would be some blinky lights.</raw-body>
    <title>DIY Chessboard</title>
    <updated-at type="datetime">2010-02-08T11:14:23+00:00</updated-at>
    <user-id type="integer">1</user-id>
    <views type="integer">59</views>
  </post>
  <post>
    <asset-id type="integer">69</asset-id>
    <body>&lt;h2&gt;Chunky Data! Delicious!&lt;/h2&gt;

&lt;p&gt;One pattern that is consistently abused by Railsers is heavy-handed model associations. We create the most complex data model possible. &lt;small&gt;(e.g., Users have_many Interests have many FlashcardStacks have many Flashcards have many Words have many Definitions have many Tags)&lt;/small&gt; Rails just makes shenanigans too easy.&lt;/p&gt;

&lt;p&gt;Ok, this all gets fixed in version two, but what is the core of the flashcard program?&lt;/p&gt;

&lt;p&gt;&lt;img src=http://dariusroberts.com/assets/0000/0066/flashcard_twitter.png /&gt;&lt;/p&gt;

&lt;p&gt;The element and source circled in red show the 'chunky data' portion of the app. This has a number of forms which are serialized into the database. Maintaining the data representation using ruby models would require additional ruby models. &lt;/p&gt;

&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;Creamy (normal) &lt;/th&gt; &lt;th&gt; Chunky&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;img src=http://dariusroberts.com/assets/0000/0068/mockup_models.png&gt;&lt;/td&gt;&lt;td&gt;&lt;img src=http://dariusroberts.com/assets/0000/0067/short_window.png&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;

&lt;p&gt;I'm going to suggest that you could store almost all of these objects in flat relatively-static HTML. Serialize this HTML to the database. You could do this entire program using only two models: User and ImpressionData. The user could manipulate the HTML directly.&lt;/p&gt;

&lt;p&gt;I've heard of 'Data Web' and I think this is an interesting approach that is not wholly incompatible with the Rails model.&lt;/p&gt;

&lt;hr/&gt;

&lt;h2&gt;THE CODE&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;
the pattern below is an &quot;aggregation&quot;... look up composed_of in the rails docs for more information.

# app/models/user.rb
  composed_of :data_chunk, :mapping =&gt; %w(data_chunk html), :converter=&gt;proc{|html| DataChunk.new(html) }

# app/models/data_chunk.rb
require 'hpricot'
class DataChunk

  def initialize(html = &quot;&quot;)
    @hpricot = Hpricot(html || &quot;&quot;)
  end
  def to_s; to_html end

  delegate :to_html, :to=&gt;:hpricot


  # method missing magic ... allow pass-through hpricot manipulations elsewhere in codebase?
  delegate :add_child, :to=&gt;:hpricot

  def html; @hpricot.to_html    end
  def html=(data_chunk); self.new(data_chunk) end
  def hpricot; @hpricot         end
  def empty?; to_html.empty? end
end

 # ... custom methods could 'seed' html with meaningful relationships...
# for example, FlashcardStacks might be represented as &lt;b&gt;ul class='flashcard-stack'&lt;/b&gt; 
# ... with many &lt;b&gt;li class=flashcard &lt;/b&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This is simple concept code. I will post an actual use case (from my health startup) soon. &lt;/p&gt;

&lt;p&gt;Please DO comment at http://twitter.com/jdar if you think I should structure this as something other than an aggregation, or if you just dislike the concept etc.&lt;/p&gt;

&lt;hr/&gt;

&lt;h2&gt;NEXT STEPS -- make it legible?&lt;/h2&gt;

&lt;p&gt;Rails and ruby sometimes use creative method naming to communicate the importance of convention to programmers. Beginner friendly methods have short simple memorable names, while patterns that have potential for abuse are intentionally awkward to use. (see wikipedia &lt;a src=http://en.wikipedia.org/wiki/Syntactic_sugar&gt;&quot;syntactic sugar&quot;&lt;/a&gt; and &lt;a src=http://en.wikipedia.org/wiki/Syntactic_vinegar&gt;&quot;syntactic vinegar&quot;&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Do you think we should clean up the chunky data experience, to make it a rails-worthy aggregation concept?&lt;/p&gt;

&lt;p&gt;Photocredit: &lt;a src=http://www.flickr.com/photos/chrizer/3540704431/&gt;Chrizer&lt;/a&gt;&lt;/p&gt;</body>
    <category-id type="integer" nil="true"></category-id>
    <comments-disabled-after type="integer">90</comments-disabled-after>
    <created-at type="datetime">2009-12-10T16:52:25+00:00</created-at>
    <id type="integer">95</id>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-12-10T16:06:00+00:00</published-at>
    <raw-body>&lt;h2&gt;Chunky Data! Delicious!&lt;/h2&gt;

One pattern that is consistently abused by Railsers is heavy-handed model associations. We create the most complex data model possible. &lt;small&gt;(e.g., Users have_many Interests have many FlashcardStacks have many Flashcards have many Words have many Definitions have many Tags)&lt;/small&gt; Rails just makes shenanigans too easy.

Ok, this all gets fixed in version two, but what is the core of the flashcard program?

&lt;img src=http://dariusroberts.com/assets/0000/0066/flashcard_twitter.png /&gt;

The element and source circled in red show the 'chunky data' portion of the app. This has a number of forms which are serialized into the database. Maintaining the data representation using ruby models would require additional ruby models. 

&lt;table&gt;
&lt;tr&gt;
&lt;th&gt;Creamy (normal) &lt;/th&gt; &lt;th&gt; Chunky&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;img src=http://dariusroberts.com/assets/0000/0068/mockup_models.png&gt;&lt;/td&gt;&lt;td&gt;&lt;img src=http://dariusroberts.com/assets/0000/0067/short_window.png&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;


I'm going to suggest that you could store almost all of these objects in flat relatively-static HTML. Serialize this HTML to the database. You could do this entire program using only two models: User and ImpressionData. The user could manipulate the HTML directly.

I've heard of 'Data Web' and I think this is an interesting approach that is not wholly incompatible with the Rails model.

------------------------------------
&lt;h2&gt;THE CODE&lt;/h2&gt;

&lt;pre&gt;&lt;code&gt;
the pattern below is an &quot;aggregation&quot;... look up composed_of in the rails docs for more information.

# app/models/user.rb
  composed_of :data_chunk, :mapping =&gt; %w(data_chunk html), :converter=&gt;proc{|html| DataChunk.new(html) }

# app/models/data_chunk.rb
require 'hpricot'
class DataChunk

  def initialize(html = &quot;&quot;)
    @hpricot = Hpricot(html || &quot;&quot;)
  end
  def to_s; to_html end
  
  delegate :to_html, :to=&gt;:hpricot
  
  
  # method missing magic ... allow pass-through hpricot manipulations elsewhere in codebase?
  delegate :add_child, :to=&gt;:hpricot
  
  def html; @hpricot.to_html    end
  def html=(data_chunk); self.new(data_chunk) end
  def hpricot; @hpricot         end
  def empty?; to_html.empty? end
end

 # ... custom methods could 'seed' html with meaningful relationships...
# for example, FlashcardStacks might be represented as &lt;b&gt;ul class='flashcard-stack'&lt;/b&gt; 
# ... with many &lt;b&gt;li class=flashcard &lt;/b&gt;

&lt;/code&gt;&lt;/pre&gt;

This is simple concept code. I will post an actual use case (from my health startup) soon. 

Please DO comment at http://twitter.com/jdar if you think I should structure this as something other than an aggregation, or if you just dislike the concept etc.

-----------------------------------
&lt;h2&gt;NEXT STEPS -- make it legible?&lt;/h2&gt;

Rails and ruby sometimes use creative method naming to communicate the importance of convention to programmers. Beginner friendly methods have short simple memorable names, while patterns that have potential for abuse are intentionally awkward to use. (see wikipedia &lt;a src=http://en.wikipedia.org/wiki/Syntactic_sugar&gt;&quot;syntactic sugar&quot;&lt;/a&gt; and &lt;a src=http://en.wikipedia.org/wiki/Syntactic_vinegar&gt;&quot;syntactic vinegar&quot;&lt;/a&gt;)

Do you think we should clean up the chunky data experience, to make it a rails-worthy aggregation concept?



Photocredit: &lt;a src=http://www.flickr.com/photos/chrizer/3540704431/&gt;Chrizer&lt;/a&gt;
</raw-body>
    <title>Data Web: serializing html for Rails reductionism</title>
    <updated-at type="datetime">2010-02-07T09:55:43+00:00</updated-at>
    <user-id type="integer">1</user-id>
    <views type="integer">149</views>
  </post>
  <post>
    <asset-id type="integer">63</asset-id>
    <body>&lt;p&gt;Designing a site for multiple markets is hard enough for graphical design. I have one client who wants something that appeals to both hipsters and property managers. Challenging -- but that's why I pay my graphic designer.&lt;/p&gt;

&lt;p&gt;Designing an interactive web application for multiple use-cases is similarly hard, in a different way. It seems like business people who are imagineering a web application start out with the mental model of a multi-page sign-up wizard -- and then proceed additively. Challenging -- but that's why I pay ME.&lt;/p&gt;

&lt;p&gt;Usually I try to explain why a wizard is a bad idea, but for one recent client, I think a wizard IS the right way to go.&lt;/p&gt;

&lt;p&gt;Below, I explain my mental framework for WHY to use a wizard. Then see my one-method wizard hack.&lt;/p&gt;

&lt;hr/&gt;

&lt;p&gt;** Decision Framework&lt;/p&gt;

&lt;p&gt;I propose there are two factors which should determine whether to use a wizard.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
USER
BENEFIT     _________________
high       |      1   |   2 |
low        |____3_____|__4__|   IDEA
              low      high   COMPLEXITY

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&quot;User benefit&quot; is the value proposition. For some ideas you need a large network of people in order for users to derive a low OR high benefit. (low:del.icio.us :: high:ridesharing) For other ideas, a single user has to fully commit in order to derive &lt;em&gt;any&lt;/em&gt; benefit. (To help you shop at the store, a user would have to upload the contents of their kitchen.)&lt;/p&gt;

&lt;p&gt;The alternatives:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1 simplify the UI&lt;/li&gt;
&lt;li&gt;2 use a wizard&lt;/li&gt;
&lt;li&gt;3 use a completion-reminder algorithm&lt;/li&gt;
&lt;li&gt;4 simplify the market
*&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;simplify the UI&lt;/h4&gt;

&lt;p&gt;You would be surprised what a good graphics designer can do with a few splashes of color. If you've got an elegant and valuable application idea DO find a graphics designer upfront.&lt;/p&gt;

&lt;h4&gt;use a wizard&lt;/h4&gt;

&lt;p&gt;If an idea requires a 'critical mass' of information to be valuable to the end user, you might actually need to communicate this to the user.&lt;/p&gt;

&lt;h4&gt;use a completion-reminder algorithm&lt;/h4&gt;

&lt;p&gt;&quot;You're 70% complete!&quot; is a time-tested strategy employed by Facebook, Linkedin, etc. (See: http://xkcd.com/672/) Particularly effective for ideas which target data-intensive people (such as craigslist or ebay users.)&lt;/p&gt;

&lt;h4&gt;simplify the market&lt;/h4&gt;

&lt;p&gt;If the idea is complex, and doesn't, say, cure imminent death, you should consider supporting fewer use-cases. An API is a great idea, too. Some of my all-time favorite websites fit in this category.&lt;/p&gt;

&lt;hr/&gt;

&lt;p&gt;THE CODE&lt;/p&gt;

&lt;p&gt;All forms on the wizard pages MUST be Ajax.
You MUST title your wizard files in the format of:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
# app/views/#{controller}/
1_intro.html.erb
2_user_birthday.html.erb
3_what_do_you_want_for_xmas.html.erb
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;These files will be auto-located. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;
  # app/controllers/users_controller.rb
  def wizard
    @max_page = 6
    pp = (params[:wizard_page] ||= &quot;1&quot;).match(/^(\d+)/)
    next_file = Dir.glob(&quot;app/views/#{params['controller']}/#{$1}*&quot;)[0]

    if next_file.nil?
      raise Exception, &quot;No 'next page'&quot;       
    else
      # extract out just the name... e.g., &quot;2_reminders&quot;
      render :action=&gt;next_file.split(&quot;/&quot;)[-1].split(&quot;.&quot;)[0]
    end
    params[:wizard_page] = &quot;#{$1}/#{@max_page}&quot;
  end

  # config/routes.rb
  map.connect '/wizard/:wizard_page', :controller=&gt;'users', :action=&gt;'wizard'

  # app/helpers/users_helper.rb
def next_wizard_page_if_exists
  if params[:wizard_page] 
    if (next_page = params[:wizard_page].to_i + 1) &lt;= @max_page
      link_to(&quot;Next Page&quot;, &quot;/wizard/#{next_page}_of_#{@max_page}&quot;)
    end
  end
end

&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;img src=http://dariusroberts.com/assets/0000/0062/mainkitty.jpg /&gt;&lt;/p&gt;

&lt;h3&gt;&lt;i&gt;Disclaimer: God kills kittens when you write a Wizard.&lt;/i&gt;&lt;/h3&gt;</body>
    <category-id type="integer" nil="true"></category-id>
    <comments-disabled-after type="integer">90</comments-disabled-after>
    <created-at type="datetime">2009-12-10T12:45:13+00:00</created-at>
    <id type="integer">94</id>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-12-10T02:08:00+00:00</published-at>
    <raw-body>Designing a site for multiple markets is hard enough for graphical design. I have one client who wants something that appeals to both hipsters and property managers. Challenging -- but that's why I pay my graphic designer.

Designing an interactive web application for multiple use-cases is similarly hard, in a different way. It seems like business people who are imagineering a web application start out with the mental model of a multi-page sign-up wizard -- and then proceed additively. Challenging -- but that's why I pay ME.

Usually I try to explain why a wizard is a bad idea, but for one recent client, I think a wizard IS the right way to go.

Below, I explain my mental framework for WHY to use a wizard. Then see my one-method wizard hack.

---------------------------------
** Decision Framework

I propose there are two factors which should determine whether to use a wizard.

&lt;pre&gt;&lt;code&gt;
USER
BENEFIT     _________________
high       |      1   |   2 |
low        |____3_____|__4__|   IDEA
              low      high   COMPLEXITY

&lt;/code&gt;&lt;/pre&gt;
&quot;User benefit&quot; is the value proposition. For some ideas you need a large network of people in order for users to derive a low OR high benefit. (low:del.icio.us :: high:ridesharing) For other ideas, a single user has to fully commit in order to derive _any_ benefit. (To help you shop at the store, a user would have to upload the contents of their kitchen.)

The alternatives:
* 1 simplify the UI
* 2 use a wizard
* 3 use a completion-reminder algorithm
* 4 simplify the market
*

&lt;h4&gt;simplify the UI&lt;/h4&gt;
You would be surprised what a good graphics designer can do with a few splashes of color. If you've got an elegant and valuable application idea DO find a graphics designer upfront.

&lt;h4&gt;use a wizard&lt;/h4&gt;
If an idea requires a 'critical mass' of information to be valuable to the end user, you might actually need to communicate this to the user.

&lt;h4&gt;use a completion-reminder algorithm&lt;/h4&gt;
&quot;You're 70% complete!&quot; is a time-tested strategy employed by Facebook, Linkedin, etc. (See: http://xkcd.com/672/) Particularly effective for ideas which target data-intensive people (such as craigslist or ebay users.)

&lt;h4&gt;simplify the market&lt;/h4&gt;
If the idea is complex, and doesn't, say, cure imminent death, you should consider supporting fewer use-cases. An API is a great idea, too. Some of my all-time favorite websites fit in this category.

-------------------------------
THE CODE

All forms on the wizard pages MUST be Ajax.
You MUST title your wizard files in the format of:
&lt;pre&gt;&lt;code&gt;
# app/views/#{controller}/
1_intro.html.erb
2_user_birthday.html.erb
3_what_do_you_want_for_xmas.html.erb
&lt;/code&gt;&lt;/pre&gt;
These files will be auto-located. 

&lt;pre&gt;&lt;code&gt;
  # app/controllers/users_controller.rb
  def wizard
    @max_page = 6
    pp = (params[:wizard_page] ||= &quot;1&quot;).match(/^(\d+)/)
    next_file = Dir.glob(&quot;app/views/#{params['controller']}/#{$1}*&quot;)[0]
    
    if next_file.nil?
      raise Exception, &quot;No 'next page'&quot;       
    else
      # extract out just the name... e.g., &quot;2_reminders&quot;
      render :action=&gt;next_file.split(&quot;/&quot;)[-1].split(&quot;.&quot;)[0]
    end
    params[:wizard_page] = &quot;#{$1}/#{@max_page}&quot;
  end

  # config/routes.rb
  map.connect '/wizard/:wizard_page', :controller=&gt;'users', :action=&gt;'wizard'

  # app/helpers/users_helper.rb
def next_wizard_page_if_exists
  if params[:wizard_page] 
    if (next_page = params[:wizard_page].to_i + 1) &lt;= @max_page
      link_to(&quot;Next Page&quot;, &quot;/wizard/#{next_page}_of_#{@max_page}&quot;)
    end
  end
end

&lt;/code&gt;&lt;/pre&gt;


&lt;img src=http://dariusroberts.com/assets/0000/0062/mainkitty.jpg /&gt;
&lt;h3&gt;&lt;i&gt;Disclaimer: God kills kittens when you write a Wizard.&lt;/i&gt;&lt;/h3&gt;</raw-body>
    <title>Single-Method Wizard Pattern for Rails</title>
    <updated-at type="datetime">2010-02-08T20:41:06+00:00</updated-at>
    <user-id type="integer">1</user-id>
    <views type="integer">196</views>
  </post>
  <post>
    <asset-id type="integer">65</asset-id>
    <body>&lt;h2&gt;PhotoCredit: &lt;a src=http://peterprato.com/2009/12/02/some-are-more-obvious-than-others/&gt;my friend, Peter Prato, who makes living an art in-and-of-itself&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Forget RTs.&lt;/p&gt;

&lt;p&gt;The Tweeps who matter are standing in this picture.&lt;/p&gt;

&lt;p&gt;The everytweep is the tweep who is outside enjoying the sunshine with friends.&lt;/p&gt;

&lt;p&gt;Don't give them content to tweet about. Give them sunshine and friends.&lt;/p&gt;

&lt;p&gt;You know who you are.&lt;/p&gt;

&lt;hr/&gt;

&lt;p&gt;I was conversing with a social media expert. &lt;/p&gt;

&lt;p&gt;He stated a Twitter corporate strategy declaratively -- claiming twitter was already working with google, and that google should shortly be the way to access tweets.&lt;/p&gt;

&lt;p&gt;To which I replied:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;I saw the partnership announcement and wondered what the actual data provided to google would be.
    One interpretation is certainly that twitter decided to move in the &quot;advertising in tweets&quot; direction. Twitter certainly could subsist on a few scant millions from Google.
    I find this unlikely. Google already has enough information about twitter's users from indexing the public timeline that it's only a matter of time before they start carving off markets. (using wave, most likely)
    Given Twitters' risk-savvy investors and roots they really should be aiming for a winner-take-all strategy, and keep selling on the table. (the null-hypothesis strategy, really) Rather than advertising, I think this would mean some sort of identity-play through &quot;personal reputation&quot; or &quot;value-add search indexing&quot;. I would say distribution infrastructure innovation... but I think all the potential purchasers are already well ahead in that field.
    In any event, this has little relevance to the non-profit people on PX. I just nettled when I saw the declaration. I'm of a different opinion, but it's certainly open for debate.
    If I were advising PXers on &quot;twitter strategy&quot; (Ha!) I would probably suggest a framework for understanding the effect of real-world meetups&lt;/p&gt;
    
    &lt;h2&gt;of supporters, and the roll that twitter plays in those.&lt;/h2&gt;
&lt;/blockquote&gt;</body>
    <category-id type="integer" nil="true"></category-id>
    <comments-disabled-after type="integer">90</comments-disabled-after>
    <created-at type="datetime">2009-12-10T19:59:51+00:00</created-at>
    <id type="integer">96</id>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-11-01T19:38:00+00:00</published-at>
    <raw-body>
PhotoCredit: &lt;a src=http://peterprato.com/2009/12/02/some-are-more-obvious-than-others/&gt;my friend, Peter Prato, who makes living an art in-and-of-itself&lt;/a&gt;
------------------------------------------
Forget RTs.

The Tweeps who matter are standing in this picture.

The everytweep is the tweep who is outside enjoying the sunshine with friends.

Don't give them content to tweet about. Give them sunshine and friends.

You know who you are.

-------------------------------------
I was conversing with a social media expert. 

He stated a Twitter corporate strategy declaratively -- claiming twitter was already working with google, and that google should shortly be the way to access tweets.

To which I replied:

&gt; I saw the partnership announcement and wondered what the actual data provided to google would be.
&gt; One interpretation is certainly that twitter decided to move in the &quot;advertising in tweets&quot; direction. Twitter certainly could subsist on a few scant millions from Google.
&gt; I find this unlikely. Google already has enough information about twitter's users from indexing the public timeline that it's only a matter of time before they start carving off markets. (using wave, most likely)
&gt; Given Twitters' risk-savvy investors and roots they really should be aiming for a winner-take-all strategy, and keep selling on the table. (the null-hypothesis strategy, really) Rather than advertising, I think this would mean some sort of identity-play through &quot;personal reputation&quot; or &quot;value-add search indexing&quot;. I would say distribution infrastructure innovation... but I think all the potential purchasers are already well ahead in that field.
&gt; In any event, this has little relevance to the non-profit people on PX. I just nettled when I saw the declaration. I'm of a different opinion, but it's certainly open for debate.
&gt; If I were advising PXers on &quot;twitter strategy&quot; (Ha!) I would probably suggest a framework for understanding the effect of real-world meetups
of supporters, and the roll that twitter plays in those.
----------------------------------------

</raw-body>
    <title>Tweeps who matter</title>
    <updated-at type="datetime">2010-02-07T09:56:02+00:00</updated-at>
    <user-id type="integer">1</user-id>
    <views type="integer">130</views>
  </post>
  <post>
    <asset-id type="integer">61</asset-id>
    <body>&lt;p&gt;Thought this (sampled, corrected) statistical analysis from the creator of OKCupid.com was really interesting.&lt;/p&gt;

&lt;p&gt;Race is taboo subject (see the &quot;Bradley effect&quot;), which is all the more reason that important to look for solid indicators. Dating is valid from a sociological viewpoint; &quot;Interracial Marriage&quot; is a key indicator of race relations. &lt;/p&gt;

&lt;p&gt;More: http://blog.okcupid.com/index.php/2009/10/05/your-race-affects-whether-people-write-you-back/&lt;/p&gt;</body>
    <category-id type="integer" nil="true"></category-id>
    <comments-disabled-after type="integer">90</comments-disabled-after>
    <created-at type="datetime">2009-10-14T14:23:07+00:00</created-at>
    <id type="integer">92</id>
    <published type="boolean">true</published>
    <published-at type="datetime">2009-10-14T14:12:00+00:00</published-at>
    <raw-body>Thought this (sampled, corrected) statistical analysis from the creator of OKCupid.com was really interesting.

Race is taboo subject (see the &quot;Bradley effect&quot;), which is all the more reason that important to look for solid indicators. Dating is valid from a sociological viewpoint; &quot;Interracial Marriage&quot; is a key indicator of race relations. 


More: http://blog.okcupid.com/index.php/2009/10/05/your-race-affects-whether-people-write-you-back/</raw-body>
    <title>Statistics and Dating</title>
    <updated-at type="datetime">2010-02-07T09:56:07+00:00</updated-at>
    <user-id type="integer">1</user-id>
    <views type="integer">285</views>
  </post>
</posts>
