Saturday, January 23, 2010

mea culpa (well, not really)

my apologies to all of you who've had to endure the sequential and obviously annoying posts over the past 12 hours or so. i'm testing Superfeedr's responsiveness, which lives up to its billing. sorry for the excessive noise. still love me?

besides, people, it was only a few posts. 7 to be exact. :p

Sunday, January 10, 2010

Inadvertently gaming real-time search services

One duly noted facet is the critical importance of relevance in a real-time search query's resultset.  And within that, a criterion with serious weight towards determining such relevance is frequency - if a post is being re-posted by other members of the community and across other platforms.  It's the latter that draws my ire this morning.

Traditional search systems succeed based on their ability to leverage indexing of resources based on the direct correlation of time - the longer a document exists online, the better its ability to appear in a search engine due to other resources referencing it, and the more it's discussed/retweeted/copied/indexed by other services/etc.  Obviously, when displaying content that's just been created mere seconds ago, this isn't the case.

A recurring concern for those in developing real-time search applications is unscrupulous spamming of such systems - those people (or 'bots, usually) jumping on the popular trends of the moment to draw attention to their own devices.  But how about good-natured, well-meaning folks that simply just want to publish their data across multiple platforms?  Does multi-service publishing inadvertently influence relevancy algorithms?  

For instance, suppose I author a thought on Twitter having to do with a certain topic - say, I post "I really dig the new CD by Iron Maiden" - and use a service like Ping.fm replicate my post across other social platforms like Facebook, del.icio.us, LinkedIn, Friendster, MySpace, Identi.ca, FriendFeed, Posterous, Blogger and Jaiku?  In the case, I'd be creating the same data at 11 different endpoints on the Internet, each with its own unique URL.  

Real-time services harvesting real-time feeds would pickup the fact that Iron Maiden-related posts would suddenly spike, and if continuing to do so within a given time period, create a trend.  Therefore, could those systems that assign relevance to topics based on the number of times a post is referenced be gamed by me just trying to get my stuff out over the maximum number of platforms?

At a macro level, would this affect the chance that I could personally influence an entire trend?  Or at the micro level, could I escalate my own thoughts higher within search results?  At the very least, the result from a user experience perspective would be that I'd just be inadvertently making results pages a whole lot noisier by diluting search subsets with the same stuff.  Whether I did so deliberately or accidentally, none are optimal.

Fortunately, such apocalypse hasn't befallen us just yet.  Only a few social services publish public firehoses at the moment, Twitter being the canonical example, and several other services have been setup by real-time providers in order to pulse-track them.  MySpace and Facebook are both coming online very soon, and the growing popularity within the development community of XMPP will make it easier for publishers to do make their data payloads accessible with low-latency.

But such gaming might be something to think about going forward.  Thoughts?

Posted via email from jasonsalas's posterous


Saturday, January 09, 2010

7 Questions for Collecta

Collecta is the latest creation from Jack Moffitt, a pioneering Albuquerque-based open source developer who has spearheaded the migration of real-time experiences on the Web with XMPP.  The service has etched out a place for "curated search", harvesting items across the Internet, displaying them mere moments after they're published online - without latency.

He's also authored the new book "Professional XMPP Programming with JavaScript and jQuery", and has given numerous talks about some of the opportunities and challenges inherent to managing real-time search.  Here's 7 Questions with Jack.

1. One of the most impressive features of Collecta is its ability to harness updates not only from the usual suspect microblogging platforms like Twitter and Identi.ca, but also from news sources and blog posts/comments, as well as through Flickr for images and video.  Describe how your back-end works. 

The main difference between the back-end at Collecta and the ones of most other search systems is that Collecta is almost entirely push-based. For example, instead of a crawler (which visits web pages on a periodic basis), a publisher notifies us about content at the same time that they publish it to their own sites.

When Reuters sends a new story out to their own sites, they also send it directly to us, and that content shows up immediately to any matching searches.

Of course, not all publishers are ready for push notifications, but we have also built specialized polling systems that bootstrap those data sources. We've also worked with the number of publishers to develop and deploy their push systems. For example, we helped Wordpress.com develop their XMPP infrastructure, which makes all Wordpress.com-hosted blogs and blog comments available as a publish/subscribe stream.

The primary advantage of this design is that the latency between the time someone publishes content and the time we see it is very nearly zero. We typically measure latencies of a third of a second or less on push sources.

2. What have some of the challenges been in managing so much inbound data?

The biggest challenge is getting access to the data. Since few publishers have working push systems today, we must work with them to develop such systems. Generally they are quite eager to do so, as they know that they need to provide their data ever faster in today's world. We may be the first to be knocking on these doors, but it is easy to see that there will be a lot of others after us wanting this data.

The next challenge is processing the data as fast as possible. In traditional search, relevancy is improved over time. For example, it may take several weeks for a new Wikipedia article to get enough incoming links to start showing up as very relevant. In real-time search, we can't afford to measure relevancy this way. One side-effect of this is that all the algorithms involved must be well tuned so that they don't introduce any delays. There is no buffer zone for processing.

3. I see Collecta being valuable to people in three distinct types of situations: for scheduled events with global importance that people can anticipate and plan for (i.e., Christmas, the Super Bowl, the Emmy Awards); for breaking/developing items that people can't predict or didn't expect (i.e., celebrity deaths, national tragedies, etc.); and also for the general entertainment value in seeing things pop-up as they happen.  How have people told you they've used your system?

These categories match-up well to several use cases we've heard about. Here are some examples:

One of our developers used Collecta to find information on local road conditions that was unavailable through other means. This got his wife to her destination on time by alerting her to closed roads and flooded areas.

We've heard stories of people researching items they were thinking of purchasing and finding deals and coupon information that made their purchase cheaper. Imagine that you're thinking about buying my book, and you search for it on Collecta. Someone may have just been talking about how they just bought it at some specialty site for a discount. You can then take advantage of the same deal.

My in-laws are farmers in rural Minnesota. They used Collecta to find out about issues affecting the grain markets that wasn't available in their traditional news sources for several days. This allowed them to structure their financial transactions to accommodate this. You could imagine similar stories playing out for any market trader.

One of our internal use cases is watching how people respond to our own announcements and features. When we launched Collecta we were all glued to it, and there was no other way to watch how people reacted to our product. Before we launched, we used Collecta to monitor President Barack Obama's inauguration, and the photo stream in particular was stunning and much more interesting than what you could get from TV.

I think you've left out one big category, though: discovery. We call this thing real-time search, but the name is really inadequate. It's the closest analogy we could that would give potential users some idea of what to expect. Once you've aggregated
all the data, you have some real possibilities that aren't really search-related in the traditional sense. For example, when you visit Collecta.com lately, the page is filled with current, trending topics, all with the most relevant articles attached.

This category is more like the function of newspapers and nightly news. It gives you an overview of what is going on in the world, even if you aren't sure what you're looking for.

We also plan to expand this to determine trending information and relevant summaries within any search you do.

4. One concern constantly popping up about real-time systems in regards to current events is the need to group data based on the authoritativeness, a la Google News, wherein more credible resources are assigned a greater weight based on the assumption that they're more accurate. Seeing as how reporting results as they happen is naturally linear, what are your thoughts?

In general, I think authority is a tricky subject. Most of the authority based relevance systems are pretty bad; they often apply authority over a broad range of topics when a source may only be authoritative for a small set. This is not a limitation of technology,
though. The same situation happens in the real world. Who is the authoritative source for information on healthcare reform in the U.S.? I think you'll find many people can't agree on this.

The way this is dealt with is by applying time. Eventually some source or set of sources will be deemed authoritative and this becomes the history we read about. The time scale here is quite large though, easily decades in some cases.

I don't think you can do a great job on authority alone, and I don't think it applies as broadly as people think. Finally, I don't see how you can resolve authority issues in a fraction of a second, when the only method I know of requires significant amounts of time.

The case may be different for a particular knowledge domain, but I still think even in these cases, authority is relative to a worldview.

5. Seeing as how we're in the embryonic stage of working with real-time information at a consumer level, many of the first-generation services are based on search and filtering of large data sets.  What other types of apps do you predict being popular as this model continues to evolve?

We're very interested in the idea of participation. Once you can inject your own content into the real-time flow, the world becomes a conversation, not a search. An example I often use is that the television network ABC would have a tough time getting all the people in the world to a single place to chat about its show Lost (not to mention getting them there at the same time). However, the Collecta search engine can aggregate every conversation about Lost in a single place. If you imagine a chat room interface where the other participants are made of up incoming search results, you can see where I'm going. You now have an Internet-wide chat room on any topic whatsoever, filtered and customized however you want. 

Data aggregation is not easy, and I think it will enable a host of applications that depend upon access to large amounts of data. For example, currently TweetDeck and Brizzly and the other social media clients all implement the Twitter API, the Facebook API, etc to get data to their users. You can see this clearly in their UIs as well; each service is boxed by itself. Imagine how easy it might be to make an integrated social media client when access to the data is uniform. This is just a simple example, but there are more complex situations that data aggregation can enable.

6. Like any emerging technology, some enterprising folks will develop frameworks to abstract/automate a lot of the tedious minutiae of working with XMPP over HTTP - you've released Strophe both as a C and JavaScript library.  How do you see this maturing in the near future?

Eventually we will reach a point where web browsers don't need long polling and other similar hacks to do push-based or two-way communication. I don't know if this will be realized in the form of XMPP support in browsers or whether it will be in the form of the
HTML 5 WebSockets protocol or something entirely different.  On the client side, libraries like Strophe already make a lot of the tedium of the process invisible.

The server-side is just as important though. XMPP and WebSockets require more than just a simple web server. I think we will see growing sophistication in that space to match what we've seen with web application servers like Django, Ruby on Rails, and others.  Soon we will have XMPP application servers and WebSocket application servers, and the frameworks like Rails and Django will seem as quaint as server-side includes and CGI scripts.

7. It would seem logical that you're going to get a lot of requests for custom app development based on the real-time paradigm for industries like media, politics and sports.  Have you, to this point?  (At the TV news station I work for, I'm planning to have Collecta running non-stop in our lobby on a large plasma HDTV as eye candy for visitors, with posts relative to the local current events scene.)

Yes. As I said earlier, we talk to many of these publishers about getting them set up to push content instead of just making it available via pull methods. It doesn't take long for these publishers to turn the questions around and start asking us how they can leverage real-time in their own properties.

Sometimes they want easy, aggregated access to their own content, and sometimes they are intrigued by the possibility of integrating a view on everything else on the web.

We're developing several products that will make this easy for these publishers and for anyone else to build what they want. The first such products we launched were the XMPP API and HTTP API for Collecta search results. I can't name any names, but we give out API keys to well-known publishers all the time.

One of the common requests is for "curated search" products. The publishers want to control the queries that happen and just provide an updating view, or they want to restrict the input sources to a specific knowledge domain. You can imagine a sports version of Collecta where both the queries and the data sources were restricted or augmented to facilitate a focused experience. This is pretty much everyone's first application idea with our technology, and it's one we are really excited about facilitating.

You can see one of our early prototypes in this area, which we designed for the Obama inauguration. Our recent launch of MySpace site search is another example. The former is limited to a specific query on the full data set, and the latter is scoped to a specific data set but allows arbitrary queries.

There is a lot of unexplored ground here, which is what makes the work extremely fun.

Thanks Jack!  Great feedback and good luck with your work in the real-time search space! :)

ARCHIVE

Posted via email from jasonsalas's posterous


Monday, January 04, 2010

Design decisions: real-time apps on mobiles & data lossiness

One of my favorite words in graphic design and networking parlance is "lossiness". For those distinct disciplines, the term cleverly denotes the amount of degradation in quality an image can sustain, and how packets may be dropped while routed across a network as a means of faster delivery, respectively.

 

Either way, lossiness infers efficiency as a performance driver towards accomplishing a goal.

 

I used my New Year's Weekend to really apply some serious thought to the multidimensional problem space of real-time search applications for the web.  I wanted to attack the issue from two specific angles - focusing on the feasibility of low-to-no latency systems for mobiles, and the rate of lost items in a real-time resultset.


 

Method 

Since I was using a late Saturday afternoon to conduct my experiment, I had several available devices and the full bandwidth of my company's Internet connection at my disposal.  My LAN doesn't proxy access, so each device's responses were autonomous. Additionally, the iPhone and netbook got online via WiFi; all other devices were all hard-lined to a hub.

 

 

On all devices I launched Collecta at the same time, querying “New Years OR NYE” I find that Collecta's vertically-scrolling collection of asynchronous items is the most logical interface for this type of experience. If items are going to be found as they're being published online, it stands to reason that they would be displayed that way without repetitive user-initiated page refreshing.  It's also one of the more comprehensive real-time search platforms, listing tweets, Flickr images, videos, news articles, and blog posts/comments.  Collecta's also a great practical use of Bidirectional-streams Over Synchronous HTTP (BOSH), the XMPP extension that facilitates real-time push for web apps.

 

I've always wondered about the reliability of real-time services on wireless devices, not only because of the lack of proper JavaScript support in mobile browsers to handle the repetitive XMLHttpRequest transactions, but also due to the bandwidth requirements for so many inbound payloads. 

 


Results 

While Collecta held up beautifully (rendering seamlessly on the iPhone), the results for each digital device were noteworthy, indicating that the better the specs on the machine, the more voluminous the subset of found items.  Specifically, in a span of the first 11 minutes after accessing the endpoint, my servers reported a resultset containing more than 390 matched items.  My desktop tower had slightly fewer, my laptop a little less than that, and my netbook a little less, with the iPhone only getting about half of the server's matches - all from running the same URL. It didn't appear as if the lagging devices had some sort of queue to catch up to the larger load - missing posts/images/status updates simply disappeared into the ether.

 

So that brought to light the question of whether processing power, memory, bandwidth, and/or browser vendor/version makes a difference in the droppage factor - how many items get passed up due to constraints or limitations imposed by those criteria. 

 

(Notable other discoveries: after running a hugely popular Collecta trend pulse “christmas” for 9 straight hours on a Windows computer, Firefox occupied more than 1.3GB of RAM and eventually crashed.  Collecta also uses a large amount of HTTP conversations, as compared to Google's real-time search product.)

 

  

Conclusions

The data gathered implies that the loss rate of real-time search items in apps like Collecta may be directly proportional to the capabilities of the requesting device.  This makes perfect sense - the increased client-side processing cycles necessary for rendering rich, dynamic UIs delivering rapidly changing data streams may impact the ability of a system to reflect the true pulse of messages being filtered down from its source(s).  Thus, devices with reduced memory, computational power and network connectivity may be subject to higher rates of dropped items than machines of greater ability. 

 

Specifically, mobile devices attempting to run real-time search apps may incur significant performance hits due to the increased processing.  The additional computations from heavy AJAX-based functionality should be considered in applications where data is reported as it happens.

 

Simply stated: a faster computer means faster results, which means more results, which means a more accurate picture of the Real-Time Web.  But all is not lost - there's a method to this madness.

 

It seems clear that XMPP over HTTP might not store undelivered messages for future delivery.  This is logical, seeing as how an escalating loss rate over time could create massive queues that would backlog a user's entire experience and be counterproductive to the real-time nature (showing content from hours ago while catching-up).  While not optimal, being lossy is actually safer. 

 

This may be savvy and deliberate preventative engineering due to the fact that such a large load of messages coming in will, at some point, clog the system; messages unable to make it into the UI are simply ignored to avoid such backlogs.  As a loose analogy, think of the difference between UDP and TCP in terms of managed lossiness.

 

I'm still torn on exactly how bandwidth on mobile devices affects real-time apps.  With proper buffering, modern wireless devices are capable of streaming full-motion video from YouTube; conversely, real-time apps based on XMPP are systems pushing bits of hypertext from server to client.  So the assumption would be that mobiles should be able to sufficiently handle such inbound traffic.

 

The counterargument, especially for apps tracking an infinite number of trends with a variable amount of popularity at that moment, comes under duress: imagine trying to push 35 IMs per second to a smartphone for an entire minute.  That's 2,100 instant messages.  And most hot topics are a lot noisier for a lot longer.  For most commercial forms of connectivity, something's got to give.  Message overflows could be conveniently discarded, making room for fresher items being harvested from across the Web to get their chance at being displayed, keeping the UI "inconsistently consistent" to the true general pulse of the community's response to some event, if not accounting for every single  atomic level response thought, image, comment or video.

 

More discussion is clearly needed in this arena.

 

Keep in mind that mine was a trivial experiment.  For simple searches, the loss of information in this regard is of no great consequence; but scaled up and for more mission-critical applications with sensitive data, the network effects could be significantly more damaging.

 

So it might be the case with systems like Collecta that lossiness for resultsets is merely a happy little accident.  Regardless, take this as an object lesson in how to do things the right way.  The analogy of the patient dying but the operation being a smashing success applies - intelligently manage throughput to keep pace with the community overall.

Posted via email from jasonsalas's posterous


Wednesday, December 30, 2009

Only half the real-time web equation has been solved

Typically with any new technology platform, bark outweighs bite.  So often a new shift in thinking gets the online community so jazzed just based on raw potential, everyone buzzes about how cool, efficient and profitable the new paradigm could be.  All we need is a sound case study to reinforce our suspicions and support our theories.

It's apropos that I used the holiday break to track the emergence of Real-Time Web applications.  The relevance came in the form of me being able to track the pulse of "Christmas" as a searchable topic, seeing as how that specific keyword involved a scheduled event of global importance, and had enough intro/outro traffic for a couple of days before and after the actual holiday that it made the pace of updates in services like Collecta and Google reflecting real-time publishing incredibly entertaining to watch.  (Not to mention the breakneck pace of posts on the holiday itself.)

There were literally hundreds of thousands of tweets, Flickr images, news stories and open microblogging platform updates all having to do with the events surrounding December 25 all over the planet.  

The real-time search services performed beautifully, living up to their hype, facility to mammoth amount of work and delivering a user experience that carried high entertainment value, if not some sort of usefulness.  That's significant, because Christmas is naturally something we collectively knew about and could predict.

But that was only half of the equation.  Given its annual nature, everyone saw Christmas coming and mentally prepared to post all sorts of media to the Internet ad infinitum.  What we now need as the second half of the litmus test is for real-time search services to properly handle a major breaking story.

Twitter gained international credibility (and notoriety), by allowing its users to interact with the events unfolding in regards to the plane crash in the Hudson River, with the political strife in Iran, and with the untimely passing of Michael Jackson. If the new generation of real-time search tools can effectively harvest and report coverage of a news event of similar magnitude, with the publishing load imposed by the worldwide social networking community at an unprecedented scale, we'll have completed the cycle.  I believe they will.

And thus, will have achieved our case study.

Posted via email from jasonsalas's posterous


Wednesday, December 23, 2009

The Realtime Paradigm & media shrinkage

Much these days is being written, (re)tweeted, posted and discussed about the crop of new services that make the first iteration of what's being called the Realtime Web possible.  Dealing primarily with search, a crop of enterprising platforms spearheaded by Collecta, Taptu and Google rapidly deliver a user experience that is unique: being able to see information literally within seconds of it being published online.

So while as a developer I salivate at the prospect of being able to harness new emerging platforms and the forthcoming generation of abstract frameworks that will empower me to write me own systems centering on an instantaneous feedback loop, the marketer in me wonders how I can exploit such technologies into valuable commodities.  But those concerns are trumped, perhaps more importantly, by the journalist side of my persona as I question the future of media as we know it.

I'm dubbing this balance The Realtime Paradigm": the symmetry between those who generate content and those who receive it.

The predication central to making a Web that includes discovery of new information, sans latency, is brevity.  The delicate synergy between content creator and content consumer relies on the pace of the former's ability to generate data and the latter's ability to take it in.  Obviously with the overwhelmingly exponential expansion of the 'Net's major social networks, the demand for knowledge is insatiable.  

It's unfathomable to think that even infinitely resourceful organizations like the mighty CNN would be able to crank out multiple 900-word essays and articles fast enough to satisfy the online audience's appetite.  Likewise, most people don't have neither the time nor desire to read a collection of aggregated feature-length compositions. It's too much work.  This also technologically enables more mobile adoption of platforms, working within the confines of screen and bandwidth limitations for handsets and smartphones.

So the next step becomes the impact on traditional media products - a regressive extension, if you will.  How will print media (already in the final stages of its own death throes), radio, television and even existing online platforms adopt this hyperaccelerated production cycle?  But before skipping merrily down that path, consider the shifts towards more condensed packaging that mass media has already seen.

You almost never see a double-feature movie anymore.  Several of Cartoon Network's shows in its Adult Swim programming block are only 11 minutes long.  The FX network features 3-minute recaps of that week's episode of its drama series after they've aired.  Songs on the Top 40 chart are getting shorter.  The average story in a newscast isn't as long as it used to be. Talk radio programs aren't as long as they used to be. Magazines have become more terse with their offerings.  

Clearly, consumer behavior has driven us into the Age of the Short Attention Span; those tasked with developing the information they rely on have to react accordingly if they are to leverage The Realtime Paradigm.

From a content creation standpoint, Twitter has been pretty revolutionary in (de)volving the way we've become accustomed to communicating.  I've said many times over the last year that as a professional broadcaster, anything I write now longer than the canonical 140 characters seems like an epic.  And this is, and will be, key to how realtime systems flourish.  We can keep our stuff of high quality, but in so doing make our material shorter and punchier, delivered in tasty bite-size morsels.

Media's not going flaccid by getting more condensed. It's getting more valuable.  Consider this: it took me 20 minutes to write and post this piece, where I could have generated 10 tweets.  You've made it this far, but Which would you have preferred?

So keep this in mind as we head in 2010 and the Realtime Web continues to take off.  The popular 'Net-lexical acronym "KISS" may be in need of revision, from hereon to be understood as "keep it short, stupid".  ;)

Posted via email from jasonsalas's posterous


Monday, December 21, 2009

Treatise on social graph utility

"Ugh. Sorry I was late - I've been catching up with Facebook."

I've given up trying to keep track of the number of times I've heard friends, family and colleagues utter this all-too familiar sentiment in recent history.  It's evidently become an acceptable burden that society bears of weeding through what can be miles upon miles of posts from users within one's social network. 

In my own foray with the Social Web, I've deliberately kept my friend/follower lists small.  For me, the true value of my social graph is its brevity - quality content over inundation.  Don't get me wrong, I like discovering new people and what they have to say, but I'll eventually drop someone from my roster if their stuff isn't doing it for me.  Drowning in empty chatter is just pointless to me.  And that's a skewed indictment on how the way we interact with each other has (d)evolved.

The Web is no longer an interconnected network of hypertext-based documents and media files; it's become a subsystem of the digital projections of human beings.  The somewhat spurious utility a user obtains from their social graph - the collection of users within their social network and the connections between them - led me to question a theory I developed earlier this year.

I proposed an extension to Metcalfe's Law - the fundamental principle defining the value of all networks - to incorporate the added utility generated in a social application.  (Do I know how to party or what?)  Essentially, I concluded, the personal value of your social network increases even further not just with the nodes added (your friends/followers), but also with the extension in the outward users that, by association, you become connected to.  This overall value can be quantified by applying a coefficient to the initial formula n(n-1)/2.  

(That is, if you're into that kind of thing.)

So a thought hit me while paging through friend requests on various apps: for me, the aggregate value of my social network actually decays were I to add each and every person that solicits my connectivity.  I don't stay logged in all day reading posts, so I choose to experience my friends' activity in short info-bursts.  Were I to allow everyone, I'd be diluting my lifestream, degrading the overall experience and taking away what little of a life I have now.

As I see it, there are three major classifications of social network user on the Internet at the time of this writing:

1 - The Serial Friend-Adder: someone who prowls the safari that is cyberspace, actively hunting for any and all connections, happily rapidly extending her social graph outwards; she derives primary value from the sheer number of friends/followers she's amassed.  Her main source of pride is being able to say "I have [X]-thousands of friends!", caring less about the quality of the content generated thereby.  Her bragging rights are determined by volume.
2 - The Audience Expander: someone who meticulously increases their friendlist, but only as a means of imposing their own will on the world.  What gets this type of user off isn't so much the volume of users, but the quality of those that will receive their stuff and pass it onto others.  Think of this as the crass capitalist or dictator.
3 - The Pragmatic Pessimist: a reserved, happily sheltered, introverted online user, who cautiously rejects more friend requests than she accepts.  Her major utility is extracted from the efficiency resulting from a reduced number of posts through which to filter, 

In case you haven't figured it out, I fall into the third classification.  My philosophy is that if you're not generating any information that motivates, educates, entertains, inspires, angers, titillates or otherwise makes my life better, you're wasting my damn time.  And to me, this is significant.  But not all social networks are the same.

Let's look at the mothership for the modern social network: Facebook.  The mighty platform/internet within the Internet/online community/online operating system uses a bidirectional model that requires a user allowing a requester to be his friend access to that person's stuff, too.  So for every nth user added, you potentially affect your personal system's value by a factor of 2 (either increasing/decreasing it).

Now consider the model employed by Twitter.  The microblogging platform doesn't require a user to follow those who follow her.  So you have a fragmented system of interconnectedness, wherein a celebrity with 2.5 million devout followers hanging on their every word may realistically only follow 35 people - and not necessarily from that subset.

But of course, interacting with a social network, inline with society in the real world, is completely subjective.  The signal-to-noise ratio of social applications is something everyone determines for themselves.  I know people who are absolutely delighted to sit and read pages upon pages of posts, just for the entertainment value, albeit petty.  Cool.  Whatever floats your boat.

And of course, the converse applies.  Expanding your followerbase logically increases the chance that you can discover some really cool inbound things, or be able to pass on neat things to others.  So it's a sticky wicket to manage.  Go with what model works best for you.

And realistically...who thinks about quantifying the utility of their social graph?  Shut up and read.  ;)

Posted via email from jasonsalas's posterous


Saturday, November 28, 2009

7 Questions for TweetBookz

On the day before Thanksgiving, I was using Twitter's web interface (which, coincidentally, I rarely use these days), when I discovered a curious link to TweetBookz in the vaunted right column. Investigating, I found an online service that cleverly archives a user's microblogging history, assembles the data in a printed form and prepares it as a personalized book, suitable as a gift. I instantly found it to be intuitively clever and full of potential, if not overtly innovative.

Showing it off to several friends in the past couple of days IRL and via numerous tweets I've authored, I've found it to be quite polarizing. People either fall head-over-heels for it, or don't get it at all. But people are talking about it.

Here's 7 Questions with Tweetbookz co-founder Jacob Shwirtz:


1. Describe how Tweetbookz came to be and what gave rise to this service.

We spend a lot of time thinking about and being active within social media on behalf of our clients, such as Zagat Survey (check out @ZagatBuzz). As a result, we started imagining what it would be like if Twitter were an “offline” thing and what it would be like to treat Twitter as a book. From there the idea evolved into something more like a book of poetry or inspiration quotes, as opposed to a full archive. We thought it would be very fun to have your favorite tweets in a beautiful book on your coffee table, so that’s the idea we ran with.


2. What's your sales pitch and what counterargument would you lob at someone who says "this is just for people too lazy to print"?

People seldom think about their history on Twitter and go back to see the things they wrote a week, month or year ago. Our books are a fun and nostalgic way to reminisce about those things. It's less about narcissism, as some may think, and more about nostalgia.

We’re giving permanence to something so ephemeral and from that comes a cool, unique and unexpected product.


3. What logistical setup are you using to take orders, bind and ship books to users?

We partnered with a world-class on-demand book binding house in New York and they fulfill all our orders. Like this we focus on our specialty of building and marketing excellent web sites and they focus on their specialty of printing, binding and shipping.

4. Obviously, the operation is very lean, using the Twitter API. Are you planning on similar services with other social networks?

The beauty of Twitter is its 140-character limit. Because of that, we were able to invest in beautifully designed books that have templates which we know will never be exceeded. Obviously there are several additional concerns when printing something like blogs, because the length can vary so wildly. This has to do with our desire to create great-looking, specific products, as opposed to full archives that would look like encyclopedias or “white pages.”

5. The natural primary buying audience seems to be active Twitterers, with people not on that platform being the natural recipients. Have you found this to be so?

Actually, our initial vision was about 50/50 split between two groups. One group was gift-givers (whether or not they themselves are on Twitter) - people who buy gift certificates for active Twitter users in their lives. The other group was people buying the books as keepsakes for themselves. We envision people thinking more about what they tweet now because they know they’ll be able to get it in a book.

For example, imagine tweeting the process of your wife’s pregnancy and then printing a book that reports on that wonderful life-moment. It's really too early to tell exactly what people will do but we’re really curious to see!

6. Can we get books assembled only of original tweets, exclusive of replies?

Right now we will populate the book with a user’s last 200 tweets. Using a basic “delete” feature, users can remove any tweets they don’t want printed. When they delete a tweet we will loads additional ones from Twitter in order to maximize the 200 pages of the book. In this way people can completely curate the content of the book. In the near future we plan to unveil other, more advanced, editing tools and filters, such as automatically removing all tweets with hashtags, links, and/or replies.

7. What are some immediate and future plans for Tweetbookz?

We are working hard on additional editing tools to let people create their perfect books. Also, we hope to let users upload their own custom cover designs and maybe some more personalization options around the books.


Thanks Jacob, and best of luck!


Past interviews:


Sunday, November 01, 2009

The (d)evolution of the American sportswriter

For any professional communicator, apathy is a fate worse than death. Throughout history, but no more evident than in today's media market, having the ability to evoke some sort of emotion from an audience - in any format and across any topic - is key to survival.

Literacy was always big in the Salas household. I grew up reading Sports Illustrated, and I consider myself privileged to have considered great works by tons of acclaimed people you've likely never heard of. I'd read everything from recollections of the Super Bowl experience, to comments about cricket, to essays on the emerging interest in some new concoction known as free agency. Even before my time, I'd obtain older pieces from columnists as far back as the 1940's, spinning tales of the golden ages of baseball and boxing.

Their words flowed slowly and gracefully, like honey off a wooden spoon.

The styles of the older sportswriters were generally akin, all being engaging, respectful and informative - everything they were taught to be as journalists. Leveraging humor (God forbid) was always tenuous, because with not everyone having that ability, if mismanaged it might depreciate their work. So they played it safe by playing it straight.

Fast forward to today: it's the age of reality television, an overabundance of pornography, and a culture not only completely happy with, but in constant demand of, replete voyeurism. This is spurned on by affordable consumer technology empowering practically anyone with near-realtime multiplatform immediacy and an equally simple ability to become an active reporter themselves.

The profession has morphed, but the demands on a writer to serve in ways that forces people to react to their creations remains as strong as ever.

Sportswriters of years past were scribes, true and distinct. They were gentleman scholars. Expert storytellers both of events taking place on the field or court of play, as well as the unseen drama unfolding off it. They were masters of the craft of creating poetry through their retelling multiple angles stories of athletics. It's a role that I considered a venerated art form, a modern-day sophist.

Today, sportswriters are largely only as good as their last punchline. It's all about how well you can smacktalk, namedrop, be referential to pop culture, and how many one-liners you can fit into an 800-word contribution. Today's sportswriter functions as more stand-up comedian than reporter. The older generation that's still around and clinging to their time-honored axiology are seen as old hat and irrelevant by today's audiences. Hence, no response.

My favorite writers today all have a signature edginess about their writing that lets them standout from their peers: Bill Simmons. Rick Reilly. Tom Rinaldi. Jim Rome. Christine Brennan. Max Kellerman. Keith Olbermann. Edwin Pope.

Even the great Tony Kornheiser, of whom I'm a huge fan, has massaged his natural wit to be punchier through biting and topical sarcasm, to stay relevant to a readerbase that expects and demands controversy - if not from the subject matter at hand, then by the people relaying it. Art just reflects society's expectations, because inline with the decline of Western civilization, kids today just don't know any better.

It's the direct result of the death of the newspaper industry and the rise in integrated TV and new media formats and applications. There simply are too many sources now to consider; to be distinct and secure eyeballs on a daily basis, sportswriters have to take an angle as being funny, daring or downright rude that'll lock you into consuming their stuff and formulating an opinion one way or the other that gets you to come back.

And let's not neglect the ESPN Influence, wherein everything the network does is considered the gold standard of sports journalism. Their every move heavily drives what is seen as acceptable for the masses; the ubiquitous catch phrases, clever references and gimmicky running gags pressure their print counterparts to follow suit in that format.

Lest they be cast into the purgatory that is reader indifference.

Friday, October 09, 2009

Book review: Murach's JavaScript and DOM Scripting

Murach's JavaScript and DOM Scripting


I've read a ton of books on JavaScript, and Ray Harris' wonderful tome is perhaps THE best modern titles you'll find on the topic. The book is intelligently organized, and written in a concise fashion, with practical examples, delivered with a friendly voice that makes what can often be convoluted or confusing concepts easy to grasp for beginners.


On that note, the book serves as a valuable refresher for the experienced web developer wanting to get up to speed on current-day concepts or the advanced dev needing best practices in her coding. And like all Murach titles, the book doesn't inundate the reader with useless chapters of the history of the at-hand topic, it just tells you what JavaScript can do for your web applications and shows you the best, most efficient ways to do it.


In particular, I found Harris' work to have exceptional contributions of several topics: there is excellent coverage of debugging tools & techniques, featuring the latest browsers, plugins, and GUIs. The book has a wonderful discussion of how to use client-side regular expressions. And the chapters on object-oriented programming and DOM scripting are some of the best you'll find. Likewise appreciated are the discussions on JavaScript libraries such as jQuery and Dojo.


It's truly a holistic look at client-side development.


So Get out and buy this book…whatever your level, it'll be a welcome addition to your technical library!


Tuesday, June 09, 2009

My graduation speech for my alma mater

Over the weekend, I put together a draft of the graduation speech I'm giving to my alma mater next monday, 20 years after I started high school. It took me three sittings to bang this out...I can write 3,000 words about sports in a hearbeat, churn out a business plan in a flash or whip together a lengthy anecdotal blog post so fast it'll make your head spin - but being emotionally neutral, the more sappy stuff take a lot out of me. so i took my time and let this evolve.

I did it as a series of vignettes that can be modularly added/removed for time purposes. I've been told I have 5 minutes to fill, but I plugged the speech into our teleprompter and it comes out to about 6:12.

Let me know what you think...criticism welcome! And if you're one of my classmates from SSHS '92, then print this out or share it with our classmates. It's as much for you as it is for the kids.

(You can also see the intro here.)


Appreciating Who You Are

Hello, Hafa Adai and good evening...my fellow Sharks.

It is truly an honor for me stand before you AND beside you, on this, your proudest moment. It doesn't matter that I'm twice your age, because tonight, and for all time, we now stand as equals. In a very short time, you'll officially be able to call yourselves "alumni of Simon Sanchez High School", a wonderful achievement to be sure.

I'd like to talk to you tonight not about where you're going, not the unique paths you've all certainly come from that got you here, but who you all have become. Many of you probably may not realize the truth that's been hiding in plain sight for the past four years, since you first set foot at Sanchez High. That you are - and will always be - Sharks.

When I was asked to speak to the Class of '09, I was incredibly moved. I was humbled at being given the chance to not only honor my alma mater and bring some laughter and inspiration to the great young minds of tomorrow...but to also be able to represent MY classmates; and pass down our experience, our knowledge and our motivations to you. You see...that's truly what it means to be a Shark. Let me explain.

In a competitive context, the personification of our school spirit is naturally often characterized as being predatory, aggressive, keenly-sensed, and second-to-none in our ability to dominate our environment. That certainly works for sports and extra-curricular activities, because as anyone clearly knows, it's quite frankly a completely moronic argument to challenge that Sanchez has hands-down THE BEST MASCOT ON GUAM!

But there's another, more critical dimension about these majestic creatures that perfectly describes how we take care of business in the classroom and how we conduct ourselves in society - Sharks survive. Sharks adapt. Sharks are highly respected. Sharks finish what they start. Sharks stand their ground. Sharks are among the most highly-intelligent members of the animal kingdom. Sharks are everywhere.

And that is how we, your predecessors, carry ourselves everyday as members of the prestigious fraternity you're all about to join. It's a legacy we're proud to uphold - and this is the legacy I'm now extremely honored, on behalf of my fellow alumni, to pass onto you.

And make no mistake, my Sharks: your ability to earn the right to sit here before your friends, family and the community is proof positive that you can do anything in this world. And no one, ever, can take this moment away from you.

<><><><><><><><><>

The burden of an alumnus is the unspoken promise that you'll be the best member of the community you possibly can. Demonstrate good character. Always put others before yourself. Be confident, but humble. Don't back down from any challenge, no matter how daunting. Honor your family and your faith. Respect those who came before you and appreciate the lessons they have to teach. Help the next generation. Give back to Guam, and always do your very best to make the island the very best it can be. That's the mark of a Sanchez graduate. It's not easy, and it's a commitment that's lifelong.

But it's a true honor...and this is the honor that you've worked for all your life. And tonight, that honor is finally yours.

<><><><><><><><><>

I represent a graduating class that two decades ago this fall started out our high school journey, both collectively and individually. The Mighty Class of 1992. 17 years ago, my classmates and I, some 202 strong (which at the time was a Sanchez record), sat in our caps and gowns as you do now - some anxious, some nervous, some relieved, some fidgety, some hungry, some bored, some unable to wait for it to be over, some scared out of our minds.

But like true Sharks, we all persevered.

Now, I won't gloss over the truth. While most of my classmates have happily raised families, found success in business, defend our nation's liberties on the battlefield, serve in government, keep our streets safe, and fight to rid the world of disease...some forgot who they were and lost their way. Some right now are sitting in jail, tormented by regret. Some are in deep battles with drug and alcohol addictions. Some lie in mainland medical facilities enduring indescribable pain. And some are no longer with us at all.

That's the brutal reality of life, my friends. And that's how society seeks to categorize each and every one of us: not as a Shark, but merely a number. A statistic. A figure.

So I challenge you tonight and for the rest of your time on Earth to rise above such expectations. Realize who you have become AND the responsibility you now carry. Be the best always, and in everything you do. Walk tall. Be a strong Guamanian. Be a Shark.

<><><><><><><><><>

So even though you've most assuredly got plans with friends and family, I would humbly ask you, my fellow Sharks, to do something tonight. Do this one simple thing, not for your families, ot for your classmates, not for the alumni...do this exclusively for yourselves: before you embark on your celebrations tonight, go somewhere quiet and alone. Spend a few moments in silence and just look at your diploma. Reflect on the last four years of you life, recognizing all the dedication, sacrifice, commitment, self-discipline and devotion to your education and the hard work you've put in.

Think about your first steps on the Yigo campus, remember how big the buildings seemed, how lost you were, how you only knew a few people. And then think about the class activities you got involved in, the friendships you've forged, the teachers that mentored you, how underclassmen went to you for your expertise, how you knew everyone in your class and everyone knew you.

I ask that you do this because I did this the night I graduated, and it made all the difference in the world. It helped remind me that my school years may have ended, but more importantly that a new chapter in my life was just beginning. And it galvanized who I had become.

And I believe it'll have the same effect for you.

<><><><><><><><><>

So while a very demanding, very competitive and at times very cruel world lay ahead, let me leave you with this: don't ever stop believing in yourselves. By completing your high school education, you've now proven to the entire world - but most importantly, to yourselves - that you're capable of doing anything. Don't stop learning, working, or questioning. Be not nobody.

Go into whatever walk of life you take interest in and do it with pride. Wear your school colors proudly, and never forget who you are. You are a graduate of Simon Sanchez High. You are a Shark.

<><><><><><><><><>

So on behalf of the thousands of Sharks throughout the world, I say welcome to our ranks. We're extremely proud of you, we celebrate your achievement, we love you, we stand ready to help you as fellow graduates of this wonderful school, and we expect you to do the same for future Sanchez High classes.

So congratulations, my friends! This night is yours. And always, always conduct yourselves as Sharks.

Thank you.

Monday, June 01, 2009

My commencement speech intro (aka, The Old Testament)

I mentioned on Twitter several weeks ago how I was hoping to involve crowdsourcing feedback into the commencement speech I've been asked to give at my alma mater's graduation ceremony on the 15th. I've since been asked to whittle it down to five minutes, but to also do a lengthy intro (that's public school for you).

Have at it...comments/criticism welcome. Rather than be stuffy, I'd prefer to do something to make the kids laugh.

Delivering tonight's keynote address is a proud alumnus of Sanchez High, Mr. Jason Salas.

Jason is best known in the Guam community for his work at KUAM, where he works as interactive media manager, overseeing all aspects of the company's digital content delivery efforts. Over the last decade he's co-anchored the nightly 6pm news with Sabrina Salas Matanane, done play-by-play for local sports broadcasts, and hosted numerous shows and programs on television, on the radio and online.

He also continues his life's work of helping Guamanians improve their lives through technology, having launched several spinoff projects to this end.

Having grown up in Dededo in Ypaopao Estates as the eldest child of two educators, Jason graduated from the Home of the Sharks in 1992. He was a four-year cadet in the Shark JROTC battalion, serving as color guard commander and battalion commander his senior year. He played middle blocker for our boys volleyball team (although a broken wrist kept him from seeing any on-court action his last season). He was heavily involved in class activities, extra-curricular events, and was an avid high school sports fan. He even came back after graduating to help coach the volleyball teams.

Jason was an honors student and graduated near the top of his class of 202 students, excelling at math and English; despite this, he was absolutely horrendous at science and often fell asleep in government class. He was voted duke of his senior prom, and his yearbook lists his senior superlative as "Worst Jokes", a well-deserved moniker he remains proud of to this day.

He wore his letterman's jacket to school as often as he could. He also doesn't hesitate to give Sanchez High a shameless on-air plug whenever he calls a game.

After high school, he earned a marketing degree from the University of Guam and also studied music theory. He later put himself through graduate school and holds an MBA with emphasis in technology management. He's a self-taught software developer and a passionate part-time musician.

Despite the various paths his career has taken him, he always remained true to his alma mater. He credits the tightness and camaraderie between his classmates as a major driving factor towards his success, and he and his fellow alumni remain lifelong friends. He kept his graduation tassel hanging from his car's rear-view mirror for three years, even after Guam's searing heat faded its proud silver & black colors.

He very happily returns to his alma mater to speak to tonight's graduates on the topic of "Appreciating Where You Came From". Ladies and gentlemen, please join me in welcoming Class of '92 graduate...Jason Salas.

(...and the crowd, assuming they're still awake by this point, goes wild.)

Friday, May 22, 2009

Hacking @guamtweetbot: writing a Twitter Search service

While sitting at home last night I had an idea about creating a localized service that archives all posts on Twitter having to do with Guam.  Like most other markets, Twitter's really taken off on Guam, and the number of posts about our little island, from locals and other people alike, is surging tremendously.  So the need existed to perpetuate the thoughts of those taking an interest in my hometown, and give the micromessages a little more press and some extra time in the limelight.

I set out to achieve four main goals, building-out a little autonomous service that would:
  1. Troll for new tweets having to do with Guam
  2. Harvest and retweet all found posts 
  3. Set this to run at a scheduled interval so to mirror the posts as they're appearing in the statusphere in near-realtime
  4. Follow the user that posted a new entry
So last night, inspired after a pretty healthy hot fudge sundae, I wrote a bot in PHP that makes calls against the Twitter Search API, extracting tweets containing the string "guam" and re-posting them to the @guamtweetbot timeline.  A variation of the RESTful URL called is here.

I setup the process to run as a CRON job on my Ubuntu Linux server, using wget to execute the script (since PHP's compiled for Apache, not as a CGI module):
*/20 * * * * wget -O /dev/null <path to PHP script>

This is actually a prototype for a much larger platform I'm building for KUAM, which we're going to use with our news broadcasts.  But it certainly has generated some nice feedback from the community.

Plan your code, code your plan.  Creating value for others - not a bad way to spend a Thursday evening, huh?

Tuesday, April 21, 2009

TwitterNeni's a go!

Hey Guammies! I'm very pleased to report that Will and I got our new SMS gateway up and online so local Twitter users can post tweets via text messaging. We're currently in beta testing, so give it a spin and see if it works for you.

This is a perfect way for Guamanians that still have 2G non-smartphones to get with the social networking revolution. It's completely free, so let us know what you think.

Check it out!

Tuesday, April 14, 2009

One-night gig: set-list

My friend Andy was nice enough to offer to let me sit-in with one of the many bands he plays bass with for a birthday wish I had to play lead one more (and probably last) time.  I'm looking over the set list he sent me, and while it's decidely more 90's than the 80's cheese I was shooting for, there are several pieces I know and could probably pull off without giving myself CTS in the process.

In my naive quest to reclaim my youth and do the Fretboard Olympics, I'm reminded that there's nothing wrong with some 3-chord singalongs.  Can't go wrong with RHCP or 311...it'll be fun no matter what.

What do you think?

3 DOORS DOWN – KRYPTONITE
3 DOORS DOWN – LOSER
3 DOORS DOWN – WHEN I’M GONE
311 – ALL MIXED UP
311 – AMBER
311 – BEAUTIFUL DISASTER
311 – COME ORIGINAL
311 – DOWN
311 – FIRST STRAW
311 – FLOWING
311 – I’LL BE HERE A WHILE
311 – PRISONER
311 – PURPOSE
311 – YWB
311/THE CURE – LOVE SONG
AUDIOSLAVE – LIKE A STONE
BLINK 182 – ALL THE SMALL THINGS
BLINK 182 – MUTT
BLINK 182 – WHATS MY AGE AGAIN
BUSH – COME DOWN
BUSH – MACHINEHEAD
CAKE – I WILL SURVIVE
CREED – ARMS WIDE OPEN
CREED – MY SACRIFICE
CUSTOM – HEY MISTER
DAVE MATHEWS – SATELLITE
FOO FIGHTERS – EVERLONG
FOO FIGHTERS – HERO
FOO FIGHTERS – LEARN TO FLY
FUEL – BAD DAY
GODSMACK – WHATEVER
GREEN DAY – BASKET CASE
GREEN DAY – LONGVIEW
GREEN DAY – SHE
GREEN DAY – WELCOME TO PARADISE
HOMEGROWN – SURFER GIRL
HOUSE OF PAIN – JUMP AROUND
INCUBUS – DRIVE
INCUBUS – NICE TO KNOW YOU
INCUBUS – TALK SHOW ON MUTE
JIMMY EAT WORLD – THE MIDDLE
JIMMYS CHICKEN SHACK – DO RIGHT
LIFEHOUSE – HANGIN BY A MOMENT
LIMP BIZ – BREAK STUFF
LIMP BIZ – FAITH
LIMP BIZ – ROLLIN
LIT – MISERABLE
MARCY PLAYGROUND – SEX & CANDY
MODERN ENGLISH – ILL STOP THE WORLD
MODEST MOUSE – FLOAT ON
NIRVANA – IN BLOOM
OASIS – CHAMPAGNE SUPERNOVA
OASIS – WONDERWALL
PEARL JAM – ALIVE
PEARL JAM – BETTERMAN
PEARL JAM – BLACK
PEARL JAM – YELLOW LEDBETTER
POISON – EVERY ROSE
PRES OF US – LUMP
PUDDLE OF MUD – SHE HATES ME
RADIOHEAD – CREEP
RAGE – KILLING
RAMONES – SEDATED
RANCID – RUBY SOHO
RANCID – TIME BOMB
RHCP – AROUND THE WORLD
RHCP – BY THE WAY
RHCP – CAN’T STOP
RHCP – OTHERSIDE
RHCP – ROLLING SLY STONE
RHCP – SOUL 2 SQUEEZE
RHCP – UNDER THE BRIDGE
RHCP – ZEPHYR SONG
SEVEN MARY THREE – CUMBERSOME
SIFL & OLLY – WHATEVA
SOAD – AERIALS
STAIND – FOR YOU
STAIND – IT’S BEEN A WHILE
STAIND – OUTSIDE
STP – INTERSTATE LOVE SONG
STP – PLUSH
STROKE 9 – LITTLE BLACK BACKPACK
SUBLIME – BADFISH
SUBLIME – CARESS ME DOWN
SUBLIME – SANTERIA
SUBLIME – SMOKE 2 JOINTS
SUBLIME – WHAT I GOT
SUBLIME – WRONG WAY
THE CALLING – WHEREVER YOU WILL GO
THE CURE – JUST LIKE HEAVEN
THE FLYS – GOT YOU
THE STROKES – LAST NIGHT
THIRD EYE BLINE – SEMICHARMED
UNWRITTEN LAW – SEEIN RED
VIOLENT FEMMES – BLISTER
WEEZER – BEVERLY HILLS
WEEZER – ISLAND IN THE SUN
WEEZER – PERFECT SITUATION
WEEZER – SAY IT AIN’T SO
WEEZER – SWEATER
WHITE STRIPES – 7 NATION ARMY

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]