Skip navigation

Active Product Development

8 Posts tagged with the labs tag

Active Realtime Trends

Posted by BrianActive Jun 16, 2010
realtime_graph.png

 

The Active.com Realtime website has now been collecting data for several months.  This is the first time we've looked at site usage with respect to a user's location, and it presents the opportunity to do some insightful data analysis.

 

For example, did you know on average San Diegans register for events within 3 weeks of the start date, and they tend not to travel very far.  When they do travel they tend to go to Los Angeles. ; But, people from the east coast often travel farther.  For example, when registrants from Philadelphia travel for an event,  they often go to Salt Lake City.  The trend of  east coast people traveling further than west coast might be explained by the weather; the west coast simply has weather more consistently suited for endurance events, and a greater number of events taking place.  How do people in the middle of the country fare?  Using Las Vegas as an example, top destinations are split between Sacramento, Atlanta and Jacksonville, showing a wide variability in destination.

We also looked at the most popular time of day registrations were completed.  For almost all of cities, the morning hours between 8 and 11 were most popular, with an additional spike in activity around 8pm.  Evening registrations were especially prevalent in the city of Seattle; could it be all the coffee?

 

Finally, the registration sport was detailed per city.  Running and walking events were found at the top, with cycling and triathlon trailing close behind.  Other sports such as swimming, fitness and adventure racing also ranked among the top.

1,575 Views 0 Comments Permalink Tags: report, travel, leg, labs, realtime

Last week we open sourced a new project called Owl  Owl takes a different approach to site monitoring in that you can get a feel for how your servers are doing at just a glance. No complex graphs of bandwidth or network latency, just color coded blocks that show you the one thing your users care about: how fast your site responds.

 

owl_screen.jpg

 

Owl has a simple set of screens for adding new sites and even setting up alerts via IM and Twitter. Check out the readme on our github repository to get started!

1,743 Views 0 Comments Permalink Tags: site, open, leg, labs, owl, monitoring, source

Active Realtime_cropped.jpg

We launched Phase I of Active.com Realtime in order to prove a few concepts - namely A) that we could create an extensible infrastructure that efficiently taps into the activity happening on Active.com and B) that there was interest in this sort of thing.  Before we launched, we knew the technology was sound, but we were pleasantly surprised to the positive reaction external and internal audiences had to the prototype. So, we embarked on Phase II with the aim of improving design and incorporating different types of data.

 

I'm happy to announce the availability of Active.com Realtime, Phase II at http://labs.active.com/realtime.  Active.com Realtime is to showcases what people in a given city are searching for, registering for, and the results their viewing on active.com right now.  The goal of the site is to help you make a decision about what event you might like to participate in by showing you what's popular in your area.

 

Here's a screencast explaining Active.com Realtime's features:

 
3,189 Views 0 Comments Permalink Tags: active.com, leg, labs, realtime

Active Realtime

Posted by BrianActive Mar 10, 2010

Active Realtime is the newest addition to our product incubator labs.active.com.  Every day thousands of people are searching and registering for things to do at Active.  The idea behind Active Realtime is to provide a window in to actual user activity,  giving a sense of whats happening right now at Active.  We also aggregate popular activities on a local level, which reveals favored events and activities in a region.  We also have the opportunity to look at trending topics over time, which will perhaps yield new insight into what is keeping us Active.

realtime-architecture2.png

 

 

Presently data for Active Realtime is provided by our newly launched search engine .  In the future we hope to include realtime data from other parts of Active, such as event registration openings or community posts.  Keeping this in mind, we designed a technical infrastructure for Active Realtime that would allow us to add additional sources of data in the future, as well as allow other applications at Active tap into the information.

 

 

To accomplish this, we used  XMPP Publish Subscribe, an addition to the venerable IM protocol.   Using XMPP PubSub, we are able to keep Active.com Search and Active Realtime loosely coupled, so each service can be independently maintained and scaled.  Additionally, we developed a Search Logger, which acts independently of the Search site.  The Search Logger acts as the Publisher, and pushes search data over the XMPP bus.  Any interested part of the Active infrastructure may subscribe to receive these updates, and the Realtime application is just that.  The Realtime architecture includes a Ruby daemon that acts as Subscriber, registering an interest for search activity and receiving data accordingly.  This data is recorded into the Realtime database, which  then can be displayed on the Realtime site.  A diagram showing the architecture is included to the side.

 

 

The payoff for investing the time to create this architecture, rather than just querying the search infrastructure directly, is twofold.  First, it provides a simple and scalable way for future datasource  additions to be made to the Realtime application.  Secondly, it de-couples realtime with each of the data publishers, allowing all systems to function and scale independently, without having an impact on one another.

 

 

I hope you enjoy this window into Active.  The data on Active Realtime is generated by Active users, so perhaps another like minded person will help you to find a great local activity to participate in.
2,492 Views 1 Comments Permalink Tags: active, architecture, widgets, leg, product_development, cloud_computing, labs, realtime, xmpp

Active Widgets

Posted by RobCameron.2.16b Mar 1, 2010

Hi, I'm Rob and I'm a Software Architect on the Light Engineering Group here at Active. LEG, as we call it, was modeled after the LED group at LinkedIn. LinkedIn was looking for a way to rapidly prototype new technologies and architectures with Ruby on Rails. Their first product was Bumper Sticker which at one point was the mostly highly trafficed Facebook application in existence! You can find many of the fruits of LEG's labor at http://labs.active.com

 

This morning we officially launched our new Active Widgets site at http://widgets.active.com This was a quick two week project to create an embeddable window into Active.com's thousands of registerable events. The idea being that the blog you write about running/cycling/baseball can show a list of upcoming marathons/track events/Little League games in your area. The widget is customizable as far as what activities it displays, where it displays them, whether or not the user can change those settings, as well as the size and color of the widget itself. Once your done just click a button and you're given a couple of simple Javascript tags to drop onto your site wherever you want the widget to appear. And since the widget is written out onto your page like any other HTML, you can further customize it using your own CSS.

 

widget.png

 

The Technical Stuff

This customization site (known as The Configurator) is a Sinatra application written in Ruby. There is no database—the data store is a single YAML file which defines a widget and what about it is customizable. The widget itself is written in Javascript and after minification with the YUI Compressor, the whole thing is 14K (for comparison, the Google homepage is 47K).

 

Since we planned on having the widget be embeddable on any website we couldn't use Ajax to pull in the event listings. Ajax is subject to strict cross-domain security policies set by your browser—you can only access servers in the same domain that the page itself was served from. This is quite a problem since search results are coming from http://search.active.com  The workaround for this issue is to make server calls with <script> tags and then wrap the resulting code in a function call known as a callback. When the <script> tag is added to the page the browser immediately executes it as valid Javascript. Since this Javascript contains a function call (the callback) it looks a function you've already defined with the same name and calls it, passing in the returned data.

 

The server itself is an Amazon EC2 instance running in their cloud infrastructure. This allows us to quickly react to any scaling needs by simply spinning up a new instance of the same server and deploying the code to it. Nearly half our division's products are now running on EC2 and we're moving more there every day. We've found it be an fast, secure and cost effective way to get our applications live.

 

Stay tuned for more exciting projects from the LEG team!

1,775 Views 0 Comments Permalink Tags: events, widgets, leg, cloud_computing, amazon, ec2, labs, ruby, sinatra

Active Inspiration

Posted by JeremyGThomas May 21, 2009

During a recent meeting somebody on my team came up with the idea of pulling in "inspirational" tweets, photos, videos from around the web for a given Active topic, like marathon or 10k.  I thought it was a great idea, so we worked together to build a prototype and threw it on Labs

 

Enter Active Inspiration.  We're pulling in the latest tweets and photos about marathons, triathlons and cycling.  I suppose you could say this was also inspired by flickrvision and twittervision, except ours is meme-based and also aggregates from multiple sources (we'll be adding more soon).

 

We think there are lots of interesting things we can do with this data.  This is just the beginning.  As always, let us know what you think.

2,012 Views 2 Comments Permalink Tags: active, inspiration, product_development, labs

We've just released our newest project to labs.active.com, Active Classifieds.  Have you ever wanted to assemble a group of people to block wind for you on a weekend ride or sell an old baseball glove

 

Active Classifieds is a simple app designed to make it easy for you to sell your old sports stuff or meetup with like-minded people. 

 

Dive in and let us know what you think.

2,156 Views 2 Comments Permalink Tags: beta, active, classifieds, product_development, labs

We recently rolled out a private Beta for our new Search solution.  Not only is it a good functional test for us, we're also experimenting with Amazon EC2 and S3 for hosting and data storage.  And from what I've seen so far I'm impressed with Amazon and the approach they've taken to cloud computing. 

 

Amazon has made it dead easy to provision new servers.  They've created a collection of webservices to integrate to for starting and stopping instances.  It seemed odd to me, at first, that I'd have to manage my infrastructure through SOAP calls.  But client-side tools like Elasticfox and now Amazon's own AWS Console make it easy to manage.  There's also a good selection of Windows and various Linux flavors to choose from when setting up servers (we're running mostly Ubuntu 8.1.0 in Labs).

 

We wanted to make our Labs infrastructure extensible so we can new pilot applications quickly, regardless of platform.  To do this we're setting an Apache server on an EC2 Ubuntu host that routes http://labs.active.com to the appropriate app.  Requests to the base URL will be sent to a CMS/wiki that describes the various things we're working on.  Search, which currently resides in the root, will soon be available at http://labs.active.com/search.  Any future pilot we rollout will be available, then, at http://labs.active.com/{pilot-name}.

 

We're also setting up "global" memcached and MySQL servers, so that any application deployed to labs might benefit from these services (we love memcached by the way). 

 

Each pilot application will be responsible for load balancing its requests.  The Search application uses HA proxy running on a dedicated Ubuntu server to route requests to a collection of Apache instances running mod_rails distributed across Ubuntu "workers" (we can scale horizontally here, pending load, by adding more workers).

 

So far (and it's been about 1.5 months) we haven't had any Amazon-caused downtime.  Personally, I think this is a game changer.

2,453 Views 2 Comments Permalink Tags: cloud_computing, amazon, ec2, infrastructure, labs