I can't believe it's almost the end of 2013. It has been a crazy year, but along the way we've shipped a few things so I wanted to share what Fanzter has been up to for the past year.
We quietly launched a 1.0 of our latest iOS app a few months ago and talked to our Coolspotters users about it. We gathered a ton of feedback and kept tweaking and improving things. This week, we just released version 1.1 and I'm happy to say we're ready to share it with everyone.
The app is called Spot. We think it's going to be a big deal. Our goal is to help you shop smarter, whether it's for clothes, for a car, or for a new phone.
It has been really helpful for me already. Earlier this summer, I began shopping for a new car. So I started taking pictures of cars that looked interesting. Normally, I'd tweet a few pictures out, or ask my friends on Facebook what they thought about a car. With Spot, I was able to take a photo, tag the car, share it out to my friends, and get opinions from everyone.
At its core, Spot is about sharing the products you think are worth sharing. We all do this. Some of us do this while we shop, like Kate or Ravid, sharing something new they're about to buy:
Or we do it after making a purchase we're happy about, like Brian and I sharing and talking about the tools we use for getting fit:
Spot lets you organize these conversations and feedback in ways you can't easily do with other apps or social networks. Tag everything with the products and all the spots and comments are kept together. Organize things by lists, such as things you want or things you own. Recommend products with a single tap.
The best part is that when you're looking for a new car or a new pair of shoes or whatever, you'll be able to search Spot's database of over 100,000 products to see what people love, what they think, and how it actually looks in the real world. Eventually, you'll be able to see just what your friends think, and search in ways that you just can't do elsewhere.
The app has been live for a few months now to get early feedback and usage. Now that we've got 1.1 out, we're excited to share it with everyone. Check out Spot, start sharing your favorite products, and help us deliver this vision.
We're also listening for your feedback. Just pop over to the settings screen and hit the Support button. If you run into any problems, don't hesitate to tell us via that button or by getting in touch with me.
PS. We're busy working on Spot and are about ship another product or two. So, short version: if you're a developer and looking for a new gig or client, get in touch. We're hiring.
After almost six incredible years at Fanzter, I've decided to move on.
There are no words to truly express my gratitude for being a part of such a special company. Founded back in 2007, we've gotten stronger each year, we've built some great products, and the team's commitment to excellence has never wavered.
Sujal Shah, our current CTO, has assumed the role of CEO. Sujal is an engineer and product builder with a passion for inventing. He's been with us since day one and I can't imagine a better person to lead Fanzter into the future.
Lastly, I'd like to thank Fanzter's employees, customers, and investors for their support and encouragement over the years. It's been an experience I won't forget, and I'll always be proud of what we built.
Fanzter's best days are ahead of it, and I look forward to cheering from the sidelines.
p.s. Congratulations Sujal!!
RailsConf is an annual conference held in the United State which gathers
together members of the Ruby on Rails community, new and old, for a few days of
education, debate, comradery and pot pies. The 2012
conference took place last week in Austin,
Texas and Fanzter was there. Most of our server-side software is written using
Ruby on Rails and our team strives to keep pace with the latest developments in
the project. Most of the time following blogs and watching screencasts and
video recordings from conference talks is sufficient. But sometimes you just
need to get face-to-face with other developers and feel the pulse of where
things are headed.
I was asked to participate in a panel discussion titled "Real World Rails Apps
at Massive Scale" along with some
impressive other panelists from Zendesk ,
Groupon , Uken Games and
Blue Box Group. Speaking to a packed room, we
discussed the core strategies used to bust the myth that "Rails doesn’t scale".
Further topics ranged from specific tools used, to how each company kept
performance central to their product’s life cycle. A Q&A period closed out the
talk and continued throughout the conference as attendees stopped panelists in
the halls to dig into more specific topics.
The big opening keynote speeches are always a major draw. With RailsConf, the
almost celebrity nature of the best known members of the community takes that
to a higher level. The event kicked off with a keynote from the creator of Ruby
on Rails, David Heinemeier Hansson (aka
DHH), speaking about the nature of conservatism and fear of progress, exhorting
upon the audience to look at progress as a way forward, not as a threat. The
topics and language of the keynote were typically lively, though the cursing
took some time to get warmed up to DHH’s usual level.
Monday’s closing keynote was by Rich Hickey, software
guru and creator of Clojure, and focused on true meaning of the word simple.
Rich urged us not “complect” concerns within our systems. His functional-driven
approach was a refreshing reminder that there is a huge range of patterns and
possibilities in software design, over which our job is to filter and select
those which are appropriate to the problem at hand.
Day two opened with a crowd favorite, Aaron “tenderlove”
Patterson. Aaron’s talks are legendary and this
one opened strong and finished softly, with plenty of humor to lubricate the
audience between the presentation of new ideas. Aaron presented a few ideas
he’d like to see come to Rails 4, most notably a simple ActiveQueue interface.
He also expressed his own riff on the Fear of Features mantra, organizing
change into three categories: cosmetic, refactoring, and course correcting. The
talk ended abruptly with an almost fear inducing call: “We need to be
prepared.” Following Aaron was the presentation of the Ruby Heroes awards and
a packed schedule of talks and pot pies.
An impromptu Rails Core panel lead into Tuesday’s closing keynote, a talk by
the founder and CEO of TechStars, David Cohen.
David’s talk may have struck some as a bit too heavy on the TechStars pitch,
but plenty of ideas were applicable to most startups and mirrored much of our
philosophy here at Fanzter. Especially resonant were the final two, “Quality
Over Quantity” and “Usage is like oxygen for ideas”.
The final day of the conference was headlined by a live taping of the Ruby Rogues podcast. A popular and sometimes controversial group, the RR team donned silly hats and proceed to riff on each other’s ideas and the questions from the audience.
There were dozens of sessions during the conference, ranging from page speed
optimization to using Ruby to hack a Roomba. The community had been challenged
to make this the most public RailsConf yet, and the intrepid members of the
New Haven Ruby Brigade took up the call. They lead a
collaborative effort to document each talk in near real-time via a public
GitHub wiki. These notes,
combined with the upcoming videos from ConFreaks, should achieve the goal of
making much of the knowledge shared at this RailsConf available to everyone who
couldn’t make it to Austin.
The conference closed out with a long session of “lightning talks”, short talks done rapid fire on just about any topic the speaker wanted. These were quite fun and overall went off well. Everything from Sidekiq (a new background processing library) to “hacking” the airlines’ frequent flyer programs. RailsConf went out not with a whimper but with a roar. And pot pies.
As mentioned previously, Fanzter loves having great tools to help make our products better and help us maintain the creative fever. While fast laptops and big monitors are certainly nice, a less visible tool that I find indispensible is the application performance monitoring service from New Relic. It can be difficult to explain the comforting feeling of seeing my applications' performance in near real time, and then being able to slice and dice the data right down to the individual (rare) slow request.
Recently, I talked with Diane Davidson of New Relic about Fanzter's use of the service and how we've grown up along with it. New Relic was kind enough to compose a case study dubbed "Fanzter scores spot on performance with New Relic". It was quite interesting on our side to reflect upon how much this tool has meant to us over the years. If a site has a hiccup, it's the first place we turn to. Often New Relic is the source of the alert telling us something is wrong. And even when things are humming along, we've got the graphs up on our screens. Knowing what "normal" is for an app is critical to understanding what has happened when performance skews outside the norm.
As Ferris Bueller said, "It is so choice. If you have the means, I highly recommend picking one up."
What's changed since my first post on the
technologies that power Fanzter's products? LOTS!
We often get asked by other entrepreuners, engineers, and even former
co-workers, "what's your stack?". I thought that it would be interesting to
give a high-level overview of the technologies we use and how our stack has
evolved over the last few years. These technolgies helped us to serve over 20M
users in 2011.
We've kept the best of what's worked well for us (Ruby on Rails,
improved on a few components, and brought some fresh players into the game as
well. Our playbook builds on three guiding principles: agility, simplicity, and
performance. We're a small team devoted to building the world's best consumer
internet products. Our tools are the equipment we field to win the day. As
such, we choose them carefully and evaluate their usefulness over the long-term.
The star new player on the team is Percona Server with
XtraDB. Their motto might as
well be "We don't make MySQL, we make MySQL better." We've recently migrated
our primary database over to Percona Server 5.5 and the results have been quite
pleasing. The changes they've made make the performance characteristics of
MySQL smoother and more predictable. And the improved diagnostic controls allow
us to dig in and answer questions we previously had to guess at. I highly
recommend anyone using MySQL check out Percona Server.
NoSQL databases systems have had a huge year in 2011, and our team has been
working with these technologies throughout their gestation and growth periods.
On the NoSQL side we've got Redis and
MongoDB powering components of our operations. We've
shifted much of the heavy lifting in our web apps into
Resque worker jobs, and our in-house
analytics (or as we call it, Fanalytics) is based on
Sinatra and MongoDB. We like the speed and
flexibility of these new players in the data storage space, but have been
careful to prioritize shipping new features to our users over engaging in the
lustful pursuit of new technologies for their own sake.
Taming The Cloud
Fanzter's products have always lived "in the cloud", but how we manage the
servers that run our products has changed dramatically in the last year. We've
pulled in the reigns of our server management and "in-sourced" it using
Chef. We've been able to combine open source
"recipes" from the Chef community with the
system integration tools from OpsCode to simplify
our server deployment and reduce our costs. Best of all, Chef recipes are
written in Ruby, our preferred language.
Not every product is served from our own servers. We've moved some sites and
services to PaaS juggernaut Heroku. The page you're
reading is served off Heroku as a matter of fact. Working with Heroku's
platform has been very interesting. While the platform has experienced some
growing pains, stability and capability continue to improve.
Fanzter continues to focus our cloud efforts within Amazon Web Services
(AWS). We've added their Simple Email Service
(SES) and Simple Notification Service
(SNS) to our acronym soup mix. We've even released
a little ruby gem to make it easier
to tie the God monitoring agent to SNS. Look for
more open source software from us on Github in
Monitoring & Performance
Like many of our peers, we're adicted to data. Graphs, live streams, slicing
and dicing to distill knowledge from numbers. In the last year or so we've
nurtured this habit with expanded tools and services to help us better
understand our applications, servers and users. We've upgraded our subscription
to New Relic's application performance monitoring
platform and licensed it for even more servers. Every new server we launch with
Chef is automatically added to their recently added Server Monitoring service
as well. Being able to drill down and pinpoint performance or availability
problems quickly is key to allowing us to sleep well at night, and to keep our
operaitonal staffing lean and mean.
Besides New Relic, we've also added to our display components. My favorite is a
set of Hubot-based interactive agents in our
company Campfire chatrooms to report on iOS
downloads, social media interactions, and we've built a live world-map that can
show different types of activity from our various products as they happen,
where they happened. Finally we've added the
Graphite scalable realtime graphing system to
our kit. This, combined with the extremely handy
StatsD system allows us to quickly add
metrics to tracking without adding configuration burden.
The challenge isn't collecting the data, it's having enough LCD monitors to
display it all!
2012 is going to be a huge year for Fanzter and we've got a great, fresh
toolbox to work with. Sound good? We're hiring!