Wednesday, August 11, 2010

Clickstreams, footstreams, sensorstreams, tweetstreams, and otherstreams

Came across an interesting term today -- “footstream”. Used by Jeff Holden at Whrrl to describe geolocated data event that has a particular meaning or importance to it. Here’s his description from a talk he gave at Where 2.0 in 2009.

People vote with their feet. An individual person visits places that are in some way important to that person... Location-based services [can now] provide us with the ability to capture, in digital form, the places people go. And “places” does not mean just the lat/longs, the cities or zip codes or neighborhoods. ... We can capture which businesses or other points of interest individual people visit. This data set is the real-world analog of a clickstream in the Web domain; in fact, we might call it a “footstream.”
This comparison of footstreams to clickstreams is interesting and apt. The pervasiveness of capturing and analyzing clickstream data was recently explored in-depth in a recent WSJ series. To anyone in analytics, interactive advertising, ecommerce, and other consumer tech industries, the practice of capturing clickstream is not necessarily new.
What is new is the proliferation of companies getting data over the past 2-3 years. Several years ago, websites would typically have just a embed to capture clickstream data -- their analytics program. And if it was sent to the service provider, it wasn’t use beyond providing the analytics service and for internal provider needs. Now sites have upwards of 60 services included within their pages that capture clickstream data and metadata around the clickstream data. The ad widgets, recommendation widgets, and other services that appear on a pages all use the data the click to provide the appropriate response. They also store and use this data across their networks and for secondary and tertiary purposes (market research, subsequent service requests, selilng it to third parties, etc.)

When the comparison is made between footstreams to clickstreams, you can see where geolocation is going. You can see that the data being captured will be used to provide benefit now and stored and processed in the future for individual users and for benefits of third parties. You can also see the issues and magnitude in dealing with this data. Capturing and processing clickstream is not a simple matter. When servicing a number of high-traffic sites, it quickly becomes overwhelming -- such to the point its difficult to make use of it because of the amount of data and the complexity of the variables (sites, pages, and query stream parameters are just the tip).

As industries grow around the use of more and more realtime atomic streams of data -- tweets, smart meter data, sensor data -- we’re increasingly seeing patterns in dealing with this deluge of streamed data. The capture, processing, storing, analyzing, and archiving these streams takes thinking. It also horizontal scaling of both servers and data storage. And stateless approaches to web application and development. Something that developing in the cloud helps with immensely. (In a subsequent post, we’ll explore these patterns.)

Products and services built to process email, securities trading, ecommerce transactions, even user-generated video are used to these issues. But a number of industries are just beginning to see what they’re in for. The Smart Grid and Internet of Things has been getting a lot of attention recently.
But only this summer has there been much mention of data handling issues for these areas. That will change. Especially as the streams grow in amount and complexity and as the derivative uses become more apparent.

Every web application is now an event transaction processing application. It's just a matter of what type of datastream you're working with.


Tuesday, August 10, 2010

MiniFB Ruby Gem for Facebook Now Supports Facebook Graph API

Our lightweight gem for interacting with Facebook, mini_fb, has been updated for use with the new Facebook Graph API. This also includes support for the new Oauth authentication and of course you can still use the old API if you must.

If you want to get started quickly, you can check out our demo application on github at http://github.com/appoxy/mini_fb_demo.

Friday, June 25, 2010

Agility: Cloud Benefit Number One

A couple of Team Appoxy attended the GigaOm Structure 2010 conference this week. The big themes that resonated at the conference were agility, big data, and frameworks and orchestration. All things in line with Appoxy’s views but the consistent pattern throughout the two days speaks to consolidation of thinking in the space.

In discussions at different panels on why cloud, agility consistently appeared at the top of the list. Cloud company after cloud company said it was the most vocal benefit they’ve been hearing from their customers. Cost savings, scalability, and rationalization of IT processes certainly rank up there but the most disruptive element for app developers working in the cloud was the agility it gives them to rapidly build applications that benefit customers and drive revenue.


In the airline industry, Southwest gained tremendous efficiencies by using a limited number of airplane configuration (starting at first with the Boeing 737-200 and then progressing through other 737 variants). Using standard configurations allowed them to run a leaner operation and maintain higher aircraft use. (They had to order and store fewer parts, could provide more streamlined training and maintenance procedures, etc.)



Application development in the cloud has the same benefits. Developers and workgroups can make use of consistent stack recipes and server architectures and reduce the number of steps in the process. They can also reduce the number of people involved given the reduction in system administration needs. Add in the use of programming frameworks and data store abstractions and app developers can spend less time on setup, orchestration, configuration, and other system level task and more time creating great applications.

In the airline industry, cost reduction and maximizing airplane use is key. In cloud computing, simplification of development processes translates into increased speed and agility. If you’ve architected and built your application correctly* you’ll be able to scale from pilot to prototype to production without having to worry about moving pieces around or allocating resources for an undetermined need.


Having push-button build-test-deploy processes in place for cloud development (like
SimpleDeployr) gives you a 2x to 3x advantage in app building time from just a few short years ago. For iterating and improving on an app, the benefit is even greater (3x-5x) because teams are able to act more independently and deploy quickly on on-demand servers and connect easily to test datastores, and test routines. This can be for simple back-of-the-envelop work (let me spend an afternoon to try something), as part of formal build-stage-and-deploy development cycles, or anywhere in between.
At the conference, Facebook says they make interface changes at least once a day which indicates they’re running concurrent cycles as well as maintaining some amazingly flexible risk tolerant release practices. The flexibility of the cloud along with good development practices, a/b release tests, and heavy metrics analysis gives them this capability.
If the conference is an indication, you’ll be reading a lot more about agility and the cloud in the coming months. You'll be hearing it in combination with Lean Startup. And it will be talked about in combination with John Boyd's OODA loop. This disruptive aspect isn’t a secret among SaaS companies and social web companies but the dramatic scope of the benefit is still making it’s way across all technology and industry sectors. These sectors know there’s something to the cloud and they know they should be doing things in it but they don’t quite have a measure yet for how to value the cloud. It's late in the game for many that have seen their competitors and upstarts iterate many times faster than them. Hopefully it's not too late for others.

*By running and testing on multiple servers, shutting servers down and sparking them up, and, for big data applications, building a data tier that can more easily scale horizontally.

Thursday, April 29, 2010

Shiny New Version of SimpleDeployr Released

SimpleDeployr Version 2 is now available with many exciting new features and a major facelift. You can read more at the SimpleDeployr blog.

Tuesday, April 6, 2010

Send Transcribed Voice Notes to Yourself with Note 2 Self for Android

We're pleased to announce a super handy little Android app that will allow you to take notes AND drive legally at the same time! Note 2 Self lets you record notes with your voice that are transcribed into text and sent to your email so you can review them later. No more forgetting things while on the road or when you're about to go to sleep, just fire up Note 2 Self, record your note and send it off.

This is the main screen where you can click Record to start recording.


Note 2 Self will translate the note to text and if you like it, you just click Send. That's all there is to it. 


Super simple and amazingly useful. Give it a try, it's free. Search for "note 2 self" in the Android Market.

Wednesday, March 31, 2010

TimeDroid Pro Now Available on the Android Market

We've just released TimeDroid Pro on the Android Market which sports additional features over TimeDroid free such as viewing your time entry history and editing those entries. No more going to the Freshbooks site to fix up or view your time log, it's all in the palm of your hand.

Search for TimeDroid in the Android Market to get your hands on it!

Sunday, March 21, 2010

We've added RDS to SimpleDeployr

We're excited to announce that SimpleDeployr now supports Amazon's Relational Database Service (RDS)!

Following our one-click mantra, with just a single click you can launch a new RDS instance that is ready for your migrations and data import.

If you aren't familiar with RDS, it is Amazon's MySQL cloud service that provides a fully functioning MySQL database in the cloud while taking care of a lot of the tedious tasks for you.  Wedded with SimpleDeployr, you can now get a scalable RDBMS solution up and running with a single click!

Obviously, we love the cloud, so naturally RDS is a great alternative to dealing with your own MySQL database instances.  However, don't forget, you can still build apps without a relational database!  If you're working with Rails, check out SimpleRecord, our ActiveRecord-compliant interface to SimpleDB.  We've used this strategy at Appoxy many times over and love not dealing with schemas, scaling, etc.

As always, thank you to all our loyal SimpleDeployr users, and stay tuned for some very exciting announcements soon!

Chad