Saturday, March 14, 2009

Introducing...Twitter Tactics!

I had a conversation recently with a local friend on Guam who's a fairweather 'netizen, and as such a modest user of social apps.  She's happily on Facebook, so when I asked her why I couldn't find her on Twitter, "Oh, I can't do that one...it's way too hard!" was her shocking reply.  This galvanized my motivation to start work on a tiered series of services for locals to use the platform.

I want to interactively show people how to REALLY use Twitter.  Like in ways you've probably never heard of.  Like in ways that would blow your mind.  Like in ways that can streamline your operations.  Like in ways that can make you money.  (Yes, Twitter.)

So Will and I have cobbled together and refined a framework of ideas that we're collectively calling Twitter Tactics.  The capstone is an interactive 1-day workshop with distinct tracks for beginners and advanced users, showing you how to get the most out of micromessaging.  Here's the premise of our objectives:
  1. Make Twitter-via-texting work for Guam users.  Because Guam's SMS infrastructure and carrier interoperability with web-based services nearly never work as designed (Twitter included), we've taken it upon ourselves to develop a custom gateway to facilitate users posting tweets to their account via text messaging.  This would work exactly the same as other international users.
  2. Offer a downloadable topic track bot for BlackBerry.  Because of legal limitations, the iPhone hasn't officially dropped on Guam yet.  So with RIM's BlackBerry being the dominant smartphone locally, we're going to hack a mobile service that watches Twitter's stream of messages on your behalf and tracking topics you specify.  When matching messages are posted by any other Twitter user - even those you're not following - you get the tweet pushed to your handset...in real-time!  It's a really cool way to stay informed of the things that interest you, discover new people and make friends based on shared interests.  And because we're open source advocates, the app's free to download with the source code being totally extensible.  And despite the fact that these high-end mobile phones are admittedly in pretty small deployment (several hundred at the moment, at best), users with iPod Touches, Internet-aware applicances and/or legacy cellular devices can still interact via SMS, as noted above.
  3. Host a two-phase workshop.  Why would anyone want to attend a training session in informing people of their status?  That's precisely the point: the Twitter ecosystem goes way deeper than just telling people what you're doind, and we want to show you.  The Beginning Course deals with all activities from signup-to-signin, customizing the UI, Twitter etiquette, growing your followerbase and more.  The Advanced Course is for power users who want to take their game to the next level, integrate platforms, build custom micromessaging clients, and really explore the platform.  We'll also show businesses, government and organizations how to use micromessaging productively for their operations.  The whole session will be 100% interactive, with the facility having totally free Wi-Fi and liveblogging, shooting/streaming video, sharing, texting and crowdsourcing all highly encouraged throughout the event.  Because again, that's the nature of social networking.
So that's it.  My muse saw fit to slap me upside the head with this gem earlier in the week, and it all came together in about an hour over McNuggets.  Building the whole thing out's going to be fun...but not as fun as helping connect people with technology and seeing how they use it for themselves.

We'll both be posting our progress through the phases of the project.  Here we go!

Wednesday, March 04, 2009

The curious case of the Real-Time Web

eConsultancy's got a really intriguing article denouncing the need for a real-time web. I very much enjoyed it and the author's stance is certainly valid, undoubtedly shared by many. It's led to several passionate responses within the blogosphere.

Ever the contrarian, I'd like to speak in defense of real-time online experiences (to be understood as those involving the Web, desktop applications, mobile devices, e-mail, RIAs, texting, instant messaging, Internet-aware appliances and otherwise), shedding light on why the direction we all know the delivery of content and information is inevitably heading is so critical. I'm speaking specifically from the perspective of the broadcast news industry, as ours is a perfect case study to prove the worth of such systems such that other lines of work might follow suit with their own respective implementations.

Very necessary
I'm highly in support of ushering-in push-based methods of delivering content to user at a near-real-time pulse. I'll admit my selfishness: working in a multiplatform/multimedia/multidevice business that's more and more these days predicated on responsiveness over authoritativeness, credibility has taken a backseat to time-to-market. So if someone else out there has stuff to tell people - a direct rival news source, a citizen journalist with a devout following, or simply a (micro)blogger - they're taking away eyeballs that I could have. They're cutting into my attentionspace.

If I've got content to distribute, it's not enough anymore for me to update my site and expect people to manually browse to it, or to send out news alerts and only after people check their messaging accounts expect them to flock, or wait for their feedreaders to modify their subscriptions. I've got stuff and I need to let you know as quickly as I can, lest you find out from someone else.

Such is the sense of urgency with which we in the news game have to operate, because it's better for competition, better for the user and better for the technological landscape overall.

Why the lag?
To date there's always been an acceptable disconnect in communicating online, so much so that such latency has sadly become accepted as the norm. This was largely because of a lack of supporting infrastructure over which to send/receive data - available bandwidth, affordable consumer technology, meager public awareness, and the Internet being a medium confined to desktop-only access - in addition to the event-dependent request/response nature of HTTP.

Even the traditional mechanism of "evolving platforms" like notifications via SMS and e-mail are still subject to a lag that the unwashed masses tolerate. Think about the Answering Machine Analogy: how inconvenient and difficult would it be if every phone conversation you engaged in saw you and your distant-end party exchange messages exclusively over voicemail? The staggered nature of such communications is ridiculous, and yet we're happy with doing just that via e-mail.

Today we're getting close - very close - to mirroring the experience of actual human conversation. And this needs to be seen by society as (1) an augmenting option to the static retrieval process of information we're used to, and (2) a good and positive thing.

The game's a-changin'
As a user, if I can be informed about a developing event the source matters less to me than in years past. I don't put so much value anymore on whether whoever authored a report or posted a thought that's 140 characters or less has won an Emmy or Pulitzer Prize. It's the nature of being informed that I'm after. If I want the full details about a report, I'll seek out the offering from an established leader.

CNN no longer holds a monopoly on controlling what people know about the world. And more importantly, when they know it.

To the ad hominem challenge of user-generated content: there's always going to be a market for well-produced information products...assuming the mainstream media gets its act together and stays proactive to compete with grassroots applications while leveraging the quality composition and credibility its known for. To date, that's not largely been the case. Corporate media powerhouses, newspapers in particular, have traditionally displayed a hubris towards emerging technologies that's let them fall several lengths behind the rest of the field.

! GEEK ALERT !
Asynchronously pushing content to subscribed users, an evolved method of the traditional interval-based polling technique used across online properties, is THE pattern developers are salivating over these days. XMPP is a well-defined, established, flexible technology stack that avoids the inefficiencies of making unnecessary repeat system roundtrips that are at best highly wasteful of network resources and at worst an emulated DDoS attack. Expect a lot of mainstream traction in this space.

Granted, filtering posts through the Twitter Search API via a client-side track bot is a technical process that's not exactly easy for the layman to grasp, much less setup. So there's much work ahead in terms of making the tools easy to use to achieve this experience. We faced the same challenges five years ago when podcasting really took off in the technical substrate, with a solution needed to make single-click subscription to RSS feeds a reality to open up the platform to the greater worldwide community.

But the groundwork's been laid and the technology exists to make it possible.

I also see people retrofitting real-time delivery models within existing platforms beyond the World Wide Web. The perfect candidate for such migration is e-mail, that tried-and-true killer app. Once you've drank from the real-time well, waiting around for messages to be aggregated and downloaded is a nuisance, as you're now cognizant of the fact that you're not truly reading notes as they're being sent to you. I've spoken to a developer who's planning to embed the open source Jabber engine within a custom SMTP transport for delivery of electronic mail, sans delay.

The demand for real-time mail clients, in addition to a call for XMPP support within browsers, is going to thrive.

How about the Mothership?
Another perspective to consider is that of Google, the bastion of all things Internet-related. Their main search index has been chastised for not being "real-time friendly", only listing stored documents in the historical Web. But consider what the company did years ago when launching Google News.

The pilot project crawled a distinct subset of networks, affiliates and news services so rapidly it was able to provide results mere minutes after its network of publishers updated their sites with new content. The trend we're now seeing is that the company is starting to leverage that innovation towards the Web at-large, timestamping new pages it crawls not too long after they've been added online.

Google could also conceivably incorporate real-time notifications into Gmail, building out an XMPP architecture supporting pushed alerts triggered by the presence of newly-arrived messages. And a new Firefox add-on is all the rage at the moment, displaying tweets related to Google search queries in quasi-real-time. So the demand for real-time information is certainly there.

Each of these concepts, applied at Google's scale, has huge implications.

And my point is...?
In short, the Web is becoming what it's never been before - a helluva lot faster. This is meaningful because it could be the first major form of media to achieve multi-format interactivity at a near-synchronized rate. This is a larger achievement than most realize and are willing to accept.

So here's the long and the short of it all: if real-time experiences aren't your cup of tea, that's fine. Such will function as a valuable extension of the current method of disseminating information. There's work ahead that we in the development community have cut out for ourselves in building tools to filter data coming across the wire so that people can only get what they want, or people not interested in such processes at all won't be bothered. The World Wide Web will continue to exist as society's largest repository of historical data, replete with tools to search, filter, discover and create content.

The Web's IP-based cousins will continue to support their own methods of managing the data you crave so desperately, with IM getting a particular share of the limelight. It's nabbing items coming down the pike and doing neat things with them that's the impetus of so much interest here. Moving towards delivering content in near-real-time is a natural evolution of the Web as we know it.

We all knew it was heading this way. So integrate it, love it, oppose it, ignore it, or fall head over heels for it - just don't deny it a place at the table.


**UPDATE**
Just mere hours after posting this article, Facebook announced their low-latency web updates capabilities, and big revelations were made at DrupalCon in regards to XMPP support.  Now with major players behind them, more people will hopefully be exposed to the benefits of instantaneous data, and begin to get it.


7 Questions for Tourneytopia

Tourneytopia, a company out of Grand Rapids, Michigan, produces an ASP.NET control and a hosted application that manages and provides alerts for sports tournaments and other types of bracket-based data. The service is incredibly flexible and customizable, providing numerous options in letting developers and users track their teams in applications like the NCAA College Basketball March Madness tournament, poker, battles of the bands, Wimbledon, and more.

Lead developer Joel Ross talked with me about how his idea has progressed over the years.

1. Early versions of your custom server control leveraged a ton of JavaScript to manage the progression of teams advancing or eliminated from a tournament. What steps have you made to ease the top-heavy payload on the client, or is this even an issue? 
We've had exactly 0 complaints about the heavy usage of Javascript with the Tourney Bracket Control. The biggest complaint we got early on was that it was slow. We alleviated a lot of that when we moved to a div-based layout in Version 2. The Javascript was also moved to an external resource, so it gets cached now. Surprisingly, the Javascript hasn't had a significant change since we first wrote it. We've considered revamping it with jQuery, but it's tough to justify a huge change like that when the current method works so well. 

2. From personal experience, mapping out an abstract programmatic framework for sports applications is tough, given the variations in rules, formats, scoring, etc. How did you take a generic approach to developing a control that's applicable in so many different venues? Can Tourneytopia tackle the headaches of double-round-robin formats?
Our biggest task early on with the Tourney Bracket Control was to figure out how brackets can be built based solely from the number of teams involved. Building in that flexibility was time-consuming and painful, but doing it right up-front has paid dividends - without it, we would never have been able to handle the tournaments that The Tennis Channel runs - they have brackets with 48, 64, 96, and 128 players. So far, we haven't ventured away from bracket-based contests, so the round robin formats are out right now. There hasn't been a lot of demand for us to deviate, so we haven't. That's not to say we're against branching out - a confidence pool is something we're strongly considering adding over the summer.

3. One of your first high-profile clients was Playboy.com. What did the exposure do for your business, and what's been the most-requested feature from customers and users to this point? 
Actually, Playboy.com was our very first paying customer. Being able to prominently highlight them on our website immediately established us as a reputable company. Regardless of your thoughts about what Playboy produces, they are a well-known brand and if they're willing to put their name on something, it gives people confidence in that service. 

4. What version of the .NET Framework is Tourneytopia running as its codebase now, and what were the most dramatic and/or challenging aspects of migrating through the various phases of Microsoft's platforms?
Tourneytopia runs on .NET 3.5 with a SQL Server 2005 back-end. It actually started as a classic ASP application written to manage the office pool where Brian, my business partner, and I both worked. Before launching Tourney Logic, we ported it to ASP.NET. At one point, it was a redistributable application that anyone could install on their own servers. Publishing a software package turned out to be a major challenge, and after a couple of years, we turned it into a hosted service. Switching from a system that was meant to run a single pool to one that could handle thousands of pools was a pretty big change for us. We learned a lot about scaling applications - we're still learning, actually!

5. Conventional logic (or just blind assumption) leads me to believe that you're heading towards implementing Web 2.0 principles and make your service applicable to mobile users with a serious social slant. Your thoughts? 
Thanks to you pointing out Web Hooks to us, we're looking at what it will take to let our users use our services in their own applications. We've eyed a Facebook application for Tourneytopia for a while, and adding a mobile interface has been on our roadmap for a long time. For both Brian and I, this is an evening and weekend gig, so our biggest issue is finding the time and prioritizing what we want to get done.

6. Aside from the primary target audience, have your customers retrofitted your control in other industries or applications, like political events, family trees, etc.?
We actually were contacted this week about using Tourneytopia for a gubenatorial election contest, and we've had a few radio stations run "Battle of the Bands" contests. Someone used myPlayoffs.com to run a "Best Movie" bracket, as well. 

7. With the UI being historically rendered HTML, have you considered evolving the UI for Tourneytopia to be a richer client, say, one based on Silverlight or Flash? 
Given that we're both primarily .NET developers, Silverlight would be the natural progression for us. I'd love to see a much more interactive bracket with a Silverlight UI, but at this point, the penetration is a bit low, and again, time is our enemy.

Thanks Joel, and good luck!

Past interviews:

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

Subscribe to Posts [Atom]