StyleFeeder Tech Blog

Today, we launched a StyleFeeder Tech Blog for those of you who are interested in the black magic that goes on behind the scenes here.  Jason‘s been doing all of the writing so far, mainly about our CF recommendation engine and Fast Maximum Margin Matrix Factorization.  There’s some cutting edge stuff here.

For those of you who haven’t tried our recommendation system yet, you should check it out, mainly because it’s great for everyone.  If you love to shop, this helps you find cool stuff quickly (and other people who shop like you do).  And if you hate shopping, well, then this makes perfect sense for you because it’ll help you complete your tasks quickly so that you can get back to… well, whatever floats your boat.

The Logo Game

One of the vexing tasks for any entrepreneur is to come up with a name for their fledgling company (see The Name Game), one that goes hand in hand with, if you’re not careful, an excellent opportunity to negate all the hard work exerted in choosing your company name: the logo. Recently, I had an hourlong conversation with a friend who’s going through this process with his company and it turns out that I’ve picked up some experience along the way that I thought I’d share here for others as well.

First off, get the name right. The name is the first thing that people hear or read in normal circumstances, so it has to sound good, read well and be easy to spell (unlike my friend mentioned above who misspelled the domain name for his company when he registered it). But it’s important to get the name taken care of first, because it can have an influence on the logo. Your logotype needs to somehow sit near the logo, so you’ll need to have a sense of how things fit together.

You’re the designer

You may have read that last sentence and wondered why I said that “you” will have a sense of how things fit together rather than a designer. It’s because you’re going to be the one who designs your company’s logo concepts. You’ll probably work with a designer, but ultimately, you’ll have to sit down with a piece of white paper and a pencil to sketch out some shapes. I strongly recommend bringing some design magazines and books along for inspiration and ideas. If that doesn’t work, open your iTunes library and flip through the album covers.

My own misadventures in logo design

When I was relaunching StyleFeeder last fall, I decided that I needed to upgrade our logo as part of our redesign. There’s never a good time to redesign your logo or rename your company, so that’s the first bit of advice: banging your head against this problem now until you have it figured out will be much more rewarding in the long run than settling for something that’s half right. I asked Ken, the designer that we were working with, to take a crack at some concepts. After a few days of stalling and delaying (atypical of his usual rapid turnaround style), I saw that he was really struggling with the task. So I let him continue struggling, but I went off and hired one of the many online logo sweatshops (search around in Google) for $500 to come up with a Plan B since time was getting short.

Ken did come back with some design concepts, but nothing impressive. I won’t show those here. Meanwhile, the logo sweatshop company’s designs were horrible. Completely unusable:

rejected-sf-logos.png

True to their promise, they did give me their money back since I wasn’t satisfied with their concepts. I started to realize that both designers were struggling with the name “StyleFeeder” as a guiding force of the logo, but I didn’t yet know why. As we were getting close to the launch date, I called up my friend Mia Moran at Emtype and asked her to come up with concepts. Mia called me back the next day and said that she’d spent 6 hours on this, hadn’t come up with anything good and wasn’t going to charge me. Honorable, for sure, but I was still lacking a logo. By the way, I should acknowledge both Mia and Ken here because they are incredibly patient individuals. It’s not abnormal for me to call someone up and ask them to design something for me in short order. By short order, I mean that if it’s 5:11pm, then I’ll need it by 5:17pm. Things like that happen at startups. That’s my story, anyway.

I actually designed the StyleFeeder logo by myself at 11pm the night before we went live with the newly designed website. I was able to come up with a few concepts because I’d learned about the process from Ken and Mia, but mainly because I just forced myself to really think through what I wanted out of the logo.

Emotional or Literal?

When you design your logo concepts, I learned that it’s instructive to think in terms of literal versus emotional sides of the design. A literal logo uses real-world recognizable objects in the design. An emotional logo uses shapes and color to communicate a message. There are certainly legitimate occasions for both kinds of logos, but at some point you have to realize that a logo is just logo. It’s not a business plan or a even a page of text in which you could communicate a message with much greater precision. So be realistic and don’t try to overload your logo with all the complexities inherent in whatever it is that your company does. It’ll need to look nice on your business card, your website and, if you’re really lucky, the side of your corporate jet. You’ll need to keep it simple with just a few colors and a few simple concepts.

A literal example

Here’s an example of a literal design from an Australian company called Knife, Fork and Spoon:

blog-logo-kfs.gif

As far as I’m concerned, if your company name is so literal, then it’s going to be kind of weird and unimpressive if your logo isn’t at least as literal. What if their logo was just a blue circle? It wouldn’t make sense. In this case, it’s an easy win and their designer did a nice job putting the concept into reality. The logo above also communicates more than just a visual reinterpretation of the company name. It’s orange, so it tells us that it’s fairly modern. It’s built like a coat of arms, so they must be having some fun by putting such commonplace objects into the design, rather than lions or shields. The lines are very simple and clean, so this really helps to explain certain aspects of what the company is about.

An emotive-literal example

Now let’s look at an emotional logo that has some literal elements to it:

blog-logo-bahamas.jpg

This logo is much more emotional, but it’s somewhat literal. It’s got lots of nice colors and fun shapes, very summery and sunny. That’s the emotional part. But it’s also quite clever, because the colored shapes correspond to various islands in the Bahamas, which is a clever fusion of literal and emotional elements.

The obligatory StyleFeeder plug: the emotional example

Of course, this post wouldn’t be complete without showing the StyleFeeder logo, which has no literal elements at all, but instead relies entirely on an emotional design to communicate an idea. What the other designers were struggling with was their tendency towards the literal, rather than trying to convey some simple emotions like fun, happy, young, energetic and simple. Notice that the logo doesn’t try to convey shopping, community, sharing or interaction. If you want to convey a process or activity in your logo, that could work, but you’ll need to base it on emotional foundations.

footer-logo-white-2.gif

As we move along the spectrum from literal to emotional design, you then have to consider the increased reliance on visual language. You’re obviously familiar with language, because we use it communicate with one another all day long. What you may not have exposure to is the idea of communicating without words, but instead using color, spacing and shape to communicate. (Visual language in the Web 2.0 world is worth a post by itself, because it’s evolved a lot over the past three years such that there are de facto standards for that at this point.)

Visual language

If you’re doing a design for a bank, you’re going to want to convey certain qualities in your logo: trust, stability, security being three at the top of the list. You can communicate those qualities using colors such as grey, blue and green. If you’re doing a design for a nightclub, you’re going to use a lot of black and red to convey uncertainty, sexiness and the fun of the nighttime.

One of the techniques that I use for understanding a design is to take off my glasses and squint (to make things really blurry) and look at the screen from about 6 feet away. What jumps out to me at that distance is color, space and shape. Forgo the details of text and copy and instead focus on what is being communicated using visual language.

Talk to people

Your friends and co-workers will happily tell you if your logo sucks or if it’s great. Listen to them. As always, the art is in deciding who to listen to more than others, but try to ask them questions. Do they find it fun? Is it conveying security? Is it conveying flimsiness? Does it make you think that the company is a lively one or an old stodgy one? Those who haven’t had any design training will likely have trouble formulating these ideas on their own, so you’ll need to ask pointed questions to get right at the heart of what you’re trying to find out rather than asking “what do you think?” -style open ended questions.

Use the right tools

One of the saddest scenes in the movie Startup.com was the clip of the founders sitting on the sofa designing their logo using Microsoft Word. If you don’t have Photoshop and Illustrator and the requisite experience in using them, then just stay away from the computer altogether. Use a pencil and paper. Keep it simple and don’t get caught up in the software choosing fonts or trying to figure out the difference between CMYK or sRGB.

Start with a list

Before you scurry off to the supply closet to find a piece of paper, make a list. What are the emotions that you’ll want to convey? Is it going to be better to use literal designs or emotional designs? If you use a literal design, will it be too literal such that it’s too specific for what your company is doing? Think through some of these questions and make an ordered list of the things that you want to capture in your logo. Limit it to a maximum of three items. If you can’t get your list down to three, you’re going to end up with a frankenlogo that tries to do too much.

Hand it off

Don’t go too far on our own. Expert designers are what you need to bring in at some point, but you’ll want them mainly to handle the typography (please don’t try to do this on your own — it’s very hard, really!) and fine tuning of the concepts and colors. I can guarantee you that there are a million things that you’re not thinking of that your designer will help educate you on, so give them the chance to do so.

At the end of the day, like your company name, you have to like what you end up with. That part is easy. The rest is up to you.

Announcing S3CDNFilter, possibly a cute little idea

We recently had a little bit of success with StyleFeeder which resulted in a truckload of extra traffic coming from Mary-Kate and Ashley Olsen’s website ever since they started using StyleFeeder (yes, really… yes, pretty amazing). The sudden burst of extra traffic made me wonder what my next step would be in terms of capacity enhancements.

Traditionally, you’d call up Akamai, get dragged through their OMG-this-is-painful sales process before someone would give you a quote for way more than basic content delivery should cost. But Akamai has great products, so it’s usually worthwhile. But it begs the question: why is the lowest price that I’ve ever seen coming out of Akamai around USD $1500 for 1Mbit worth of content? Why is there not a simple pay-as-you-go service available for anyone with a credit card who is willing to pay $50/month?

I took a look around and the closest thing that I saw was CacheFly. I tried to sign up with them at 8:30PM on a Sunday. Signup failed. I called their tech support number. I was surprised that someone answered, but less surprised that this person knew as much about content delivery networks, DNS and caching as I expect my mother does. It turns out that their service basically gives you an FTP login. You upload content and they push it out on their network, which just seemed really clunky.

Akamai’s basic service involves is simple if you serve your static content from a dedicated hostname like static.whatever.com. If you do that, it’s just a simple DNS change to make static.whatever.com a CNAME for something.g.akamai.com. You tell Akamai where the real location of the content is and the rest is transparent to you. Pretty cool, pretty easy to set up, pretty awful that you are forced to talk to a slow salesperson and pretty annoying that you can’t sign up by yourself and turn it on at 8:30PM on a Sunday.

Step back a few days to a short conversation that I had with Matt MacDonald of PRX about how they’re starting to use Amazon’s S3 (Simple Storage Service) to serve up their 800Gb of audio content to the Web. This prompted me to look into S3, at which point I was happy to discover a rather simple and well designed service with some basic support for HTTP 1.1 virtual hosting built right in. So this got me thinking: it’s so close to what I need in a content delivery system.

It’s a good point to establish some differences between S3 and Akamai and other CDNs. Amazon S3 is housed on presumably some kind of high-availability distributed filesystem (which has become unavailable at least once since launch) across several Amazon datacenters. Akamai, by contrast, has thousands of servers located at key points on the Web. They play some fancy tricks with DNS and intelligent routing to give you content from the servers that are closest to your network location. S3 gives you no such guarantee. However, for many needs, serving from S3 will give you the ability to burst pretty well up to levels that most sites can’t. It’s so close to a CDN.

So then I wrote some code and now the process of using Amazon S3 as a source for serving your static content is a lot easier. I’ve posted a java servlet filter called S3CDNFilter that automatically uploads static files to S3 and gives you a application a hook for rewriting your local URLs on a per-asset basis to indicate their new home on S3. It seems to work fine, although it’s in an early stage and certainly will have buglets to work out.

Here’s the code, available for download and fun. It’s licensed with an Apache license.

I have two objectives with this little project: the first is to get Amazon to give me a reverse caching proxy server that hosts content on S3. The second is to get Akamai to give me a pay-as-you-go option for $50/month that I can sign up for myself. May the best company win.

Now, that's fairly funny….

Noelle movie download I was reviewing my daily Technorati feed for StyleFeeder mentions out there in the blogosphere when I found an interesting one that in turn let me to Nabbr.com, specifically their page for adding their bookmarklet.

Here’s the code that Nabbr distributes for adding their bookmarklet.

Um… what’s StyleFeeder doing in Nabbr code? Well, I wrote that code! And it also looks like they’re using the Javascript bookmarklet code that I wrote for StyleFeeder as well. I mean, it’s GPL’d javascript, so they’re not doing anything wrong, but it’s just… an odd start to the day.

Google Analytics Blog: Raising your profile

We’ll continue to add benefits like this for existing users – and there are more and more of you every day.

How about you people over at Google Analytics stop adding new features and start fixing the multi-hour long periods in which your product appears to simply lose data?

Here’s a screenshot of traffic on La Tartine Gourmande, Bea’s blog. Flip your stats into an hourly view and you’ll see the same drop off.

google-data-dropped.jpg

So, Google, how about fixing this? It’s not the first time it’s happened.

Microsoft’s Open Specification Promise

Via John Palfrey:

Microsoft has just unveiled a new commitment not to assert certain rights against people who develop code based on specifications that Microsoft has developed. It’s called the Open Specification Promise.

Interesting to observe that Microsoft did not include their RSS extensions (called SSE) in this list of specifications covered by their promise, a problem that I highlighted almost a year ago.

There is a difference between (a) putting a certain type of liberal copyright on a specification of a protocol or file format and (b) allowing unencumbered implementations of such specification. Microsoft has acknowledged as much with their new Open Specification Promise.

An analogy might be if I publish a recipe for baking a cake under a Creative Commons license, you might still not be able to actually bake the cake because I have some kind of an patent, pending or otherwise, on implementations of the cake.