Ember Inline Validation Errors

We’ve been using Ember to build our (soon-to-be-launched) collaborative dictionary, Wordset. Like most applications, we wanted to build a great user feedback system for errors. We wanted to make sure that if a user mis-filled out a form, the errors would only show after they had finished filling out a field.

Ember Validations from Dockyard is the most popular validation package for Ember, because it’s stable, well-maintained, and easy to set up. But it doesn’t have any built-in support for progressively showing inline errors. I’ll show you how we created a component to work with Ember Validations library to build the kind of awesome user experience we were after.

To install Ember Validations, you can follow the instructions on the GitHub Readme, but in short we just added

"ember-validations": "~ 2.0.0"

to our devDependencies in the package.json file.

In order to get the desired validations showing up, we had to go into the controller. There, we imported the mixin and included it in the extend. At that point, we detail validations for whatever input/textarea/etc. values we expect:

import EmberValidations from 'ember-validations';

 export default Ember.ObjectController.extend( EmberValidations.Mixin,
 {
   validations: {
     email: {
       presence: true,
       length: { minimum: 10 }
     }
 });

In our htmlbars file, we set up our input and errors:

{{errors.email}}
{{input type="email" value=email}}

The validator takes the same value as the input, then puts any errors into an object. We then print those errors into our {{errors.email}} placeholder.

But here’s where we ran into some issues. The validator automatically runs when you load the page. So our “presence: true” validation is already there when the page is loaded. We only wanted it to appear when you left the field (off-focus).

Validations appear as you load the page

It was a little trickier to implement than we thought, but we came up with a solution using components.

First, we created a component for the input – named “validated-input”.

ember g component validated-input

In the js file for the component we just created, we made a “showErrors” action that, when called, sets a showError variable to “true”.

 actions: {
   showErrors: function() {
     this.set("showError", true);
   }
 }

Next we set up the htmlbars aspect of the component.

{{#if showError}}
  <span class="error">{{errors}}</span>
{{/if}}
{{input value=value focus-out="showErrors" type=type}}

We only show the errors when the showError variable has been flipped. We trigger the showErrors action when the user focuses off the input. Note the type=type attribute, which was necessary for the input type to pass to the component correctly.

Next, we use the component in our main htmlbars file.

{{validated-input type="email" value=email errors=errors.email}}

We pass the errors into the component. Perfect! You can see the switch below. When we first load the page, the errors are no longer visible.

No errors onload

As the user focuses off the input, setError is set to true and any errors are displayed.

Validations appear as you focus off the input

Hopefully this snippet will help others using the validator mixin delay errors being shown.

Michael headMichael Lintorn Catlin is a front-end developer who is passionate about design and web technologies. After studying biochemistry and developmental biology for a while, he switched tracks and co-wrote The Pragmatic Guide to Sass with Hampton. He also enjoys tweeting and instagramming his food and travels.

Apple Pay and Barcode Scanning

So far, I’ve had limited success with Apple Pay. The first time we tried to use it was in an Apple Store soon after iOS 8.1 was launched. The cashier didn’t know how it worked, and it ended up taking about five minutes to get it all sorted.

Part of the usability of Apple Pay is that the payment screen appears when near a near-field communication (or NFC) point. It’s handy to wave your phone near a compatible payment device, see the credit card pop up, and tap your thumb (or finger) against the home button. That’s it! You’ve paid.

But what if you’re near an NFC point and don’t want Apple Pay to pop up? We had that issue while visiting Kennedy Space Center. We ordered our tickets online and had the PDF barcode on our iPhones.

We walked up to the turnstyles and had our barcodes on the screen ready to scan.

Barcode scanner at Kennedy Space Center

We placed our phones under the scanner and… up popped the Apple Pay screen! If you can see in the image to the right there’s a NFC logo (at least, I think it’s an NFC logo). The barcode scanner was somehow triggering Apple Pay.

Here’s the problem – we couldn’t make Apple Pay stop appearing. We tried turning on airplane mode. We tried looking for “disable” settings in the Apple Pay menu. Neither worked. In the end, we had to place our phones as quickly as possible under the scanner, and the delay before the Apple Pay screen came up was enough to let the scanner read the barcode.

Has anyone else had this problem? Has anyone figured a way around it? I would say it seems strange that Apple would overlook such a use-case, but with the recent bug-ridden releases of Yosemite and iOS8 I can’t be so sure.

Michael headMichael Lintorn Catlin is a front-end developer who is passionate about design and web technologies. After studying biochemistry and developmental biology for a while, he switched tracks and co-wrote The Pragmatic Guide to Sass with Hampton. He also enjoys tweeting and instagramming his food and travels.

The Joy of Being Wrong

Working in tech is a pretty amazing career. The pay is good. We get to affect people’s lives. We see behind the curtain of how the world runs now. And we have the dubious honor of always being wrong.

That’s right. You’re wrong. And so am I! It’s one of the more interesting aspects of working in technology.

The very earliest of our ancestors – those who began farming – would harvest food without the use of refined tools. They might pick fruits or pull plants out of the ground by hand. We eventually invented scythes which made wheat a more manageable food to harvest. Then (a few years later) we invented the powered combine harvester, and then we improved upon that again.

With each step, the step before was proven wrong. Or at least desperately insufficient. I can hear people saying, “Oh, it’s only an improvement. It’s too negative to say it was wrong!” Of course it’s a cycle and of course I’m not literally insulting the past.

But I feel that really to be an innovator, we have to be comfortable with acknowledging how wrong we are today, and will be tomorrow. In fact, telling yourself that you are wrong and that’s okay is key to allowing yourself the freedom to actually think outside the box and deliver cool stuff quickly.

It’s one of the core techniques I’ve used, successfully, to build a lot of different really innovative technology. Accepting that the tools and products I’m using today are crappy, and I’m going to go make one that is also crappy, but less so. It frees you up!

This is especially important because so many tech people are deeply analytical and that tends to drive people to look for absolute truth. I’ve heard zealous proclamations about test driven development, classical responsive web design, pair programming, etc., and I always respond to them that they might be more right than they were with the last idea, but that they are also deeply wrong.

In 50 years, most of the things we do day-to-day in this industry will seem cute, odd, and foolish. And, that’s awesome. I love that we are pushing things forward and always finding a better way. I love that the newest projects I’m working on, while I believe they are better, are going to be replaced one day by something much, much better.

Not all careers have this kind of never ending wrongness. Artists aren’t usually told later that their style was antiquated. No one says Monet is old fashioned and silly. What was done in the contemporary is always fresh, and remains as an evergreen reminder of the period.

We don’t have that luxury. But that’s totally okay. Embrace it! Love it! And go out there and have the guts to do something brave, because it’s okay! We’re all wrong, so let’s be wrong faster, and more often, and push things to the future, together.

Hampton headHampton Catlin is the creator of Sass, Haml, Tritium, and Wikipedia mobile. He’s one part back end developer, one part startup leader, and one part chaos monky. He’s also CEO of rarebit, which he co-founded with his husband. He speaks at a lot of conferences, writes a lot of code, and spends way too much time on Twitter at @hcatlin.

198 Days on the Road: Traveling and Working

It’s been a wild ride this past year. First, we left our jobs at Moovweb. I’d been the CTO there (or various other roles) for almost 4 full years. I had an absolute blast growing a team, mentoring our developers, and building a huge, amazing business. I started when there were just 7 employees, and left when it was closer to 150.

I got to learn a lot about myself, about enterprise software, and about what I love doing. It’s been pretty funny because since leaving I’ve had a couple of people come up to me and say, “I bet you hated being an executive instead of getting to program.” That couldn’t be further from the truth: I actually loved it! I didn’t miss programming at all. Programming is a skill I have, appreciate, and enjoy, but it’s just one way to get the job – building awesome stuff for awesome people – done.

Michael and I are married and were working together at Moovweb. We found that we were actually sad we couldn’t work together more. Hence we decided to go traveling for a while and figure out what our next project was.

Countries visited on our trip (plus Canada & USA);
Europe map by Sebastian’s Drawings

We’ve traveled to 10 countries, been on the road for 198 days (as of writing this article), and we still have another month to go. It’s been awesome, exhausting, and largely unproductive. We’ve found it’s really impossible to finish any major project of any size when you’re moving all the time. Having stability in your life is key to being able to stay productive day after day and not get distracted. We’d get 3/4ths through a project, then move countries or speak at a couple of conferences or explore a new place. By the time all of that is done, you’ve totally forgotten about the project.

If we had a particular client or some external party keeping us on task, it would probably not have gone down this way. But when it’s just us working on projects we are passionate about and coming up with, it’s hard to not totally forget what you were doing two weeks ago.

In fact, it’s so bad that we had to come up with a notebook page to list projects that we’ve started that are unfinished. It’s got about 20 things on it!

If you want to make yourself even less productive before you start a world conference tour, then how about being in the middle of a major media firestorm and getting death threats delivered to your house? Yeah. Not exactly something that puts you in a creative mode.

After the Mozilla stuff, I wished I would never talk about it again with anyone. Even typing this makes me afraid that I’m going to cause another stir or someone will send me a nasty note again. Blood pressure goes up and it’s hard to even want to post anything.

On the plus side, we’ve had an awesome time meeting people at the conferences we’ve gone to. Being without income, we’ve mostly made the travel happen by speaking at a lot of different events and stitching together flights, hotel rooms, and AirBnBs in such a way that we don’t go totally broke.

And, while it’s been a great experience, I would not recommend this for anyone who is trying to work on their own side project and turn it into a business. Stay home!

At this point, we’re figuring out what we want to do next. We’ve been talking to some really cool companies who might want me to come in and take over the CTO role, and we’ve also been looking at the various projects we’ve worked on and see if we’re up to building some of those into real businesses.

We are actively looking for contract work where someone needs a product built. We have so much pent up productivity, we’re ready to go crazy on something! So, if you know of a project, get in touch with us. We specialize in Rails work and product design and planning.

I’m also considering writing a bit more about the projects we’ve been working on. Maybe those of you out there will be that outside force to keep us concentrating on one – if you think it sounds interesting.

Only 27 days left till we are back in San Francisco, and, to be honest, we can’t fucking wait to sit on our own couch again.

Hampton headHampton Catlin is the creator of Sass, Haml, Tritium, and Wikipedia mobile. He’s one part back end developer, one part startup leader, and one part chaos monky. He’s also CEO of rarebit, which he co-founded with his husband. He speaks at a lot of conferences, writes a lot of code, and spends way too much time on Twitter at @hcatlin.

Are Star Ratings Killing Uber and AirBnB?

TL;DR: star rating systems are silently killing the sharing economy because people hate being mean. Use a positive system instead.

I believe that the sharing economy is in trouble. First, let’s all admit to ourselves that the ecologically-minded, communal “sharing economy” hasn’t taken off at all.

What has taken off in the “sharing economy” are services like Uber and AirBnB. However, these services have turned out to be more like “resource sharing for privilidged people” than a revolution in the fundamentals of the economy or ownership.

I’ll admit it: I’m pretty damn privileged in my life and use both of these services often. In fact, I’m typing this blog post from an AirBnB rental in Paris. And, when we’re in San Francisco, we don’t own a car, so we end up using Uber a lot to get to places where Muni isn’t effective.

So, what’s the problem that puts both these services at risk? It’s that as they have grown, both have attracted “meh” quality providers that are not being detected by their rating systems. Star rating systems simply do not work when you have face to face interactions with individuals and are asked to rate them.

Every Uber ride I take I give either a 4 or 5 star rating, even if I was pretty “meh” about the ride. Maybe I’m just a sucker, but I don’t want to have someone lose their livelihood because I thought their car smelled and they got confused on where “Market Street” is. I met the person! How can I be part of what ruined them? Sure, they aren’t a great driver, but I don’t want to kick them. I just want to get where I’m going and feel good about myself.

Punative rating systems just simply don’t work at detecting “meh” when you have variable quality and face-to-face interactions. There are probably horrific Uber drivers and AirBnBs that get low ratings, but the slightly bad… they go unnoticed by the system.

Don’t believe me? Just go on the app Secret and look at all the people posting how much worse Uber drivers have gotten. It’s a litany of discontent about how severely the quality of drivers has dropped. Maybe these people all gave one stars, but I really think that I’m not the only one who hesitates to get someone in trouble.

Uber started with actual professional drivers, and that’s where it got its initial success. Bad drivers weren’t really a problem. But now they have mostly amateur drivers and I think their blind belief in rating systems is flawed. People hate giving bad feedback directly to people.

It’s why most people who have a “meh” meal at a restaurant don’t go write a review, they just don’t go back. You only leave a bad review when you are angry at a restaurant, not typically when you had a barely okay time.

In fact, we’re currently struggling with this feeling with the AirBnB we’re currently in. It’s slightly dirty, has a loud workshop nextdoor that wakes us up with banging on the wall, has a bathroom that is very hard to get to from the bedroom, and, above all, was pricey! But – we met the owner. He seems nice. The place is pretty large. The internet is fast. Plus, he keeps asking if everything is okay, and we don’t want to seem like complainers. He’s been really apologetic about the issues in the place, but hasn’t really done anything.

It makes us really anxious about what to do. We don’t want to write a bad review and look like angry, picky people. But… but… we are, apparently! The issue is that for most people, it’s against our nature to say bad things about people we just met. It stresses us out and makes us unhappy. So we find it far easier to say “everything’s fine” than “your house isn’t very nice.”

I think that this is a serious, serious issue for all these types of services. How do they find out about people who had a disatisfactory time, that isn’t eggregious enough to warrant feeling like you are insulting someone?

One approach would be to do what Netflix does. Netflix mostly ignores the star ratings and uses behavioral analysis to find out what people really like. I’m not exactly sure how you’d make that work with these two services, but luckily Data Scientists are paid an awful lot of money these days. It is science afterall.

My proposed solution to these kinds of issues is asking the user “Are you delighted?” with a “yes” or “no” along with a note that says this is for an optional excellence mark. That way, great experiences can get marks for being exceptional, and the not-so-great providers will become obvious for having no positive votes.

What I’m saying is that we shouldn’t fight the fact that people prefer to be nice by trying to get them to give bad reviews. We should instead build systems that allow users to volunteer positive feedback only. It’s less insulting, no one feels bad, and from that quality can be more honestly assessed.

Hampton headHampton Catlin is the creator of Sass, Haml, Tritium, and Wikipedia mobile. He’s one part back end developer, one part startup leader, and one part chaos monky. He’s also CEO of rarebit, which he co-founded with his husband. He speaks at a lot of conferences, writes a lot of code, and spends way too much time on Twitter at @hcatlin.

Manufactured Wait Times

Light on cinema queue
Photo By Neil Rickards

Waiting. Queueing. It’s something that we all love to complain about. Being made to wait for a table at a restaurant. Or, as a theme park nerd, being made to wait for a ride for 45 minutes in the hot Florida sun. It’s probably on most people’s list of “least enjoyable” experiences.

Therefore, we believe that the places we are going to are working to lower wait times. We assume the restaurant is going as fast as it can to turn over tables. We assume that Disney wants the most number of people to ride the most rides in the shortest amount of time.

However, it’s my contention that this assumption is flat-out wrong. I believe there is a dirty open secret going on at most American mid-end chain restaruants and at theme parks that, as far as I can tell, I can find little reference to on the Internet.

Here it is: they want you to wait. They want you to queue up. They actively and conciously work to ensure a wait happens. Sometimes, they will manufacture a wait, if none exists.

Now, I’m probably sounding like a crazy conspiracy theorist, but I believe that there is a clear reasoning to this and that it’s actually something that enhances your experience and fattens their wallets. It’s what I think of as experience design.

Story time: I remember as a kid going to an Outback Steakhouse. They had just opened the first one in my hometown and we were excited. We had heard their food was “Australian” and that they had a fried onion. It was super popular. Wait times for a table at the Outback were in the hours. People would go wait in their cars to eat at Outback. Now there are 7 Outback locations in that same town and almost 20 years has passed.

The death of a restaurant is when you hear that “it’s not doing well” or that “the place was practically empty.” The excitement is gone and clearly you shouldn’t eat at a restaurant that leaves that impression on you. So, what is a restaurant to do to make sure that patrons believe that its still a hot commodity? Make the patrons feel as though they are lucky to be eating there and are having a special experience.

Make. Them. Wait. Just. A. Little.

At an Outback in Orlando just a couple of months ago (hey, don’t judge us, it was the only thing around the hotel we were staying at), we went in on a Monday night. There were maybe 5 tables with people at them and 50 empty tables. We asked for a table for two and were told there would be a 15 minute wait. What? The sea of empty tables was visible and a bored waiter was hanging around. We sat down for about 5 minutes and then were seated.

This is an extreme example, sure, because it was so clearly visible. But if you start paying attention to the types of places that make you wait – middle market American chain restaurants – you’ll quickly pick up on this pattern. I believe this is something conciously done and sections are closed, staff sent home, just to ensure a small, reasonable-seeming wait happens, which enhances the customer’s impression of the restaurant.

Onto theme parks!

During the low season, you’ll notice that wait times for rides are still posted at 30+ minutes for popular rides. Why is that? Because many theme park rides have double tracks or loading zones, and you can easily run only one of them in the off season. It makes sense to have that flexibility. Why run capacity that you don’t need?

Except, oftentimes I’ve seen them running half-capacity when wait times are over an hour for a popular ride on the off-seasons. Why would they do this? The cost of staffing the other track is low, as their workers are typically low skilled and not terribly expensive. In fact, there are usually one or two skilled workers operating a ride in the control room… and the same number of them are required for one track as two!

I believe that since theme parks make so much money from hotels and food, that they want you to need more than one day to ride all the rides. This is pretty clear in the multi-day pricing that they are basically trying to tempt you to stay in the resorts as long as possible. Adding a day to a ticket is usually a very small price. A one day ticket to Walt Disney World is $99. A 10 day ticket is priced at $35/day. They want you to stay!

If a family came and spent 10 days at the parks, then went back home and reported that they did all the rides in one day and that it was empty and that the rides were really unpopular, then the neighbor will book accordingly. If they come back saying it took 5 days to get through the rides and the waits were really long and that they had to break up their days… that will encourage others to book longer tickets too.

Perceived scaricity is a powerful design tool. Websites often use this. Remember having to wait to get access to Gmail? I do! You added your name to a list and they sent out invites that everyone was clambering for. It worked! Gmail is now by far the most popular and well loved email system. Sure, it’s partly due to good design and interface, but that’s not all.

Ensuring scarcity of supply is a drug to users. People want to feel special, valuable, and feel like they’ve ‘earned’ what they get and experience. They want to work for it.

Not only do these techniques increase the perceived scarcity of the luxury good, but they also have a clear Bandwagon Effect. That is, people tend to like things that other people like.

Hampton headHampton Catlin is the creator of Sass, Haml, Tritium, and Wikipedia mobile. He’s one part back end developer, one part startup leader, and one part chaos monky. He’s also CEO of rarebit, which he co-founded with his husband. He speaks at a lot of conferences, writes a lot of code, and spends way too much time on Twitter at @hcatlin.

Foursquare and Swarm

Full disclaimer: I am an avid Foursquare user. I can barely grab a coffee without checking in at a café. However, I have thought about this from a number of product angles and still find it questionable. Or maybe Foursquare is in a much more dire place than I thought.

A couple of weeks ago Foursquare announced that they were splitting their app into two separate apps. The main Foursquare app would be a place to get recommendations for things to do, places to eat, and so on. The new app, Swarm, would allow you to check in to places and see where your friends are.

When I read this, I was pretty shocked. If I asked you, “What does Foursquare do?” I expect you would reply with something like, “It’s an app that allows you to check into places.” Even the Wikipedia entry describes it as an app whereby “users ‘check in’ at venues […] by selecting from a list of venues the application locates nearby.”

Foursquare: List of suggestions

It seems strange that a business would remove core functionality from their flagship app and move it into its own app. What if Twitter allowed as many characters as you wanted in a tweet? What if Secret allowed non-anonymous postings? Checking into venues was at the core of what Foursquare did, so why would they move it elsewhere?

I understand that this was probably not a decision made rashly by Foursquare. Evidently something was not working with the current Foursquare app – either user growth was stagnating, or monetisation strategies were not working as well as they had planned. This might lead a company to a radical re-think of their business. The current play seems like a dicey move, though.

Foursquare claims that people use the app “to discover great places,” and that’s what they will be focusing on in the new Foursquare. In my experience, very few of my friends use Foursquare for recommendations. I have used it to check what’s good on a menu, but that’s usually because I just checked into a location and I might as well see what people recommended while the app is open. I’m not sure I would check in on one app, then move to another for some information.

The new discover screen looked like (and felt about as useful as) Yelp: random food places in the neighbourhood that had generic ratings (from where? by whom?). If this is a play by Foursquare to directly compete with Yelp, it’s an interesting one. Yelp has a lot of problems, but I’m not sure if Foursquare has an unique angle that would solve them. My main issue with Yelp is that it has a bunch of reviews from people I’m not sure I’d trust. Foursquare seems to have the same problem. Or maybe it’s just because I don’t have enough friends on Foursqaure for enough friend reviews to show up?

Swarm: All my friends are far away

OK then – if Foursquare is trying to be the new Yelp, what about their new app, Swarm? It came out yesterday, and I’ve been playing with it since then. The very literal core functionality – checking into a location – is there. Good job! However, it seems like points and badges have been removed. Those were two of my favourite features of Foursquare. For those unfamiliar, you get an arbitrary number of points for every Foursquare check-in. These form a cumulative total over any seven-day period. I remember going around New York City last October – for SassConf – and trying to beat my maximum seven-day point score (I got to 402).

There was also something thrilling about the badges. If you visit a number of different places of a similar type (e.g. airports, or Italian restaurants), you go up a level. Reaching a new level felt like an achievement, however meaningless it actually was. Removing these “gamification” aspects is a bold move, although it seems like the new “stickers” feature may perform a similar function in Swarm.

One aspect of competition that has remained, however, is mayorships. The announcement of mayorships in Swarm left me cold. After living in San Francisco for a while, there was never any chance I would get a mayorship outside of our home (even that one was a tough battle with Hampton). To get a mayorship of a local place, you had to go every night. In Swarm, it seems like mayorships will be between friends, so a location can have multiple mayors between friend groups. This sounds pretty neat, and hopefully the new mayorship style will reignite my interest.

Requiring your main fan-base to switch over to a whole new app and interface is a risky move. As a fervent user, I’m willing to make the switch. What’s a riskier move is trying to get new users to use the Foursquare app to discover new places.

I’m interested to see how this plays out over the next few months.

Michael headMichael Lintorn Catlin is a front-end developer who is passionate about design and web technologies. After studying biochemistry and developmental biology for a while, he switched tracks and co-wrote The Pragmatic Guide to Sass with Hampton. He also enjoys tweeting and instagramming his food and travels.

What Do We Want to Be When We Grow Up?

“What do you want to be when you grow up?” is a question that most people were asked at some point in their childhood. I know for me, the answer was “astronaut” as it should have been for any nerdy kid growing up in Florida during the high years of the Space Shuttle launches from Cape Canaveral. As I got older, the answer actually changed to “teacher”, then changed in University when I got my first taste of building web software and the effects it could have on the world around me. That’s a story for another time.

What I want to talk about here is the struggle for definition that rarebit is going through right now. Hilariously, with the recent press coverage we got, we were usually painted as some kind of big shot tech company who could bully around a multi-billion dollar business. Yeah, no. We’re currently two guys, two suitcases, a slowly dwindling bank account, and a series of upcoming conference talks. Oh, and this blog too.

Obviously, we hope to be much more than what we are today. I’ve helped build several businesses and have created more successful products than I could have ever imagined, and this time I’m doing it with my best friend, husband, and one of the smartest people I’ve ever met.

And, what we are today is on purpose. We need to take a break and figure out what we want to be when we grow up. I recommend this to anyone starting a business. Figure out what you want the END result to be. What do you want your company to look like?

Do we want to be a big company with thousands of employees? Do we want to stay small and maybe even just be the two of us forever? Do we want an office somewhere? Do we want to stay nomadic as a company? Do we want to only do software, or should we explore some industries we haven’t really worked in before?

At this point, we have few answers, but I think that asking the questions and then giving yourself time to process is the most important.

And, processing we are! We have gotten to meet with some awesome people so far on the trip, most notably spending time with the Slash7 team in Philadelphia to see how Amy and Thomas run their company. They tend to keep things small, casual, focus on finding great young talent to grow, and strongly believe in not raising money. Further, they believe that the growth of the company is not their main goal in life. They work on various projects, ideas, and types of work all with passion, but not obsession. We like their thinking!

For now, we’re probably going to do some freelance work just to keep the ‘funding’ in order. And we’ve given ourselves until the Fall 2014 to figure out exactly what we should start focusing on. Until then, it’s a nomad’s life for us!

Hampton headHampton Catlin is the creator of Sass, Haml, Tritium, and Wikipedia mobile. He’s one part back end developer, one part startup leader, and one part chaos monky. He’s also CEO of rarebit, which he co-founded with his husband. He speaks at a lot of conferences, writes a lot of code, and spends way too much time on Twitter at @hcatlin.

Rarebit Is Nomadic

One of the most awesome things about being product developers who build software for the internet is that we can literally work from anywhere*. When I was full time at Moovweb, that just wasn’t an option. I started at Moovweb when we were 7 people and as I’ve stepped back from day to day responsibilities, we’re nearing 150 people and hundreds and hundreds of customers. We did all that in just 3 years. Doing that kind of business-building takes full concentration and that’s why Michael and I have called San Francisco home for so long.

But now, as we’re starting this new venture together, it’s just the two of us. We can definitely work from anywhere for the forseeable future. When (or if) we decide to take rarebit up to the next level and really build it into a legit business, we’ll have to reconsider, but for now…

We’re spending the summer traveling Europe and staying in various AirBnBs. Our good friends Smith and Erik Schwartz are renting our place in San Francisco for at least the next 7 months, so we’ve got free reign to travel and try not to run out of money. I’m actually writing this from a flat in Paris that we’ve rented for the next couple of weeks. Nothing but wine, rich food, and work!

Actually, speaking of that, we’re going to start considering some freelance work. I haven’t consulted since I was 25 years old when I shifted over to building my own products, but we’re traveling and we need to keep our skills sharp and could use some extra money to save up. It just makes sense that we team up with some awesome entrepreneurs and businesses who could use a pair of developers that know how to design, build, and ship products.

If you want to keep up on the travel aspects of what we’re doing, Michael is blogging over at his personal blog about our trip and what our plans are!

Oh, and I forgot to mention: a big part of this traveling is speaking at conferences! I’ve got a ton coming up and I’m still out representing the awesome product we have at Moovweb. So, check me out at codefront.io, La Conf, HybridConf, and a ton of other ones.

* Well, as long as we can use our laptops. And a wi-fi connection is handy.

Hampton headHampton Catlin is the creator of Sass, Haml, Tritium, and Wikipedia mobile. He’s one part back end developer, one part startup leader, and one part chaos monky. He’s also CEO of rarebit, which he co-founded with his husband. He speaks at a lot of conferences, writes a lot of code, and spends way too much time on Twitter at @hcatlin.