Approve R74

Here at Jackson Fish Market we’re thrilled to have fans, supporters, customers, and friends of every stripe. We believe that there are many more opportunities for us to agree than to disagree. For example, we’re all fans of making beautiful websites, and gorgeous intuitive mobile apps. And since we like to focus on our shared passions, we tend not to use our business as a platform for our political agendas. There are plenty of other venues where we can get into some good juicy political debates.

In a few short weeks, Washington state will be voting on whether to uphold same-sex-marriage in our state. And while this issue is being decided via our political system, for us, it’s not a political issue at all. It’s an issue of basic human rights. When our friends and loved ones can’t exercise one of the most basic human rights — to love who they want, make a commitment to that person, and have that partnership recognized by society the same as any other — we feel that any good we do as a small business is somehow tainted. We respect everyone’s right to their social values as well as religious (or non-religious) freedoms. Our business can only be it’s best in an environment where everyone has those freedoms.

To that end, we’ve committed to Washington United For Marriage that we will match up to $10,000 in donations exclusively from business supporters. They are working hard to make sure that Washington state is an environment in which innovators and entrepreneurs of every sexual orientation can be full members of society enjoying all the benefits and rights that they deserve. If you know of a small business that shares this perspective, please let them know, as this is the moment we need to step forward and make equal rights in our state a reality.

At Jackson Fish Market we have been very fortunate to create a successful small business in Washington State, here in the United States of America. We built our small business, but we didn’t do it alone. We did it as part of a society that embraces everyone, and gives us the freedoms to pursue our own happiness. We’re thrilled to do our small part to make sure that everyone has an opportunity to pursue their happiness.

Thanks for letting us share.

Still the single best reason to leave a large company and build your own business…

Five years ago this week I left an incredible job at a great company to co-found my own business with Jenny and Walter — Jackson Fish Market. Leaving the security of a big company and a job that most people would kill for was incredibly counter-intuitive. And building your own business is way way harder than you may imagine. The press loves to talk about amazing success and spectacular failure, but people who are plugging away building their businesses one (virtual?) brick at a time do so mostly outside the spotlight. Luckily, there’s no magic to this effort of building your own business. Every time I learn a lesson (which I do almost daily) the inevitable conclusion is that more hard work is required. And that’s something I can do.

But the question still remains, why leave the great job at the big stable company to work your ass off in anonymity with no guarantees of ever recouping your lost wages? There are many reasons people give for this, but I’ll give you mine, and it’s the same as the day we started JFM five years ago.

Anyone familiar with the innovator’s dilemma knows that companies who’ve achieved incredible success doing one thing have trouble shifting gears. And in my experience, conservative thinking, and those who come up with reasons to say no are the ones who are trusted to be in positions of responsibility. Nobody usually gets fired for saying “no” to a risky idea. There’s almost never proof that it was the wrong call so there are almost never any consequences to folks who say no. And as a bonus, saying no makes you seem more like a grownup at a big company. Big successful companies like people who seem like grownups. After all, the company has a franchise to protect. You don’t put people with wacky ideas in charge of protecting something valuable. And in truth, ideas are a dime a dozen, so why not have some grownups there to weed out the good from the bad? The thinking is sound on paper.

In running my own business I have learned that the only way we make progress is by trying 100 things. For every 100, 2 usually show some promise. We then come up with 100 new ideas based on the learnings of the 98 failures and of the 2 modest successes and try to make some more forward progress. This is an awful lot of work, but there’s no magic to it. And that’s reassuring as I never got an owl from Hogwarts.

But at most big successful companies, where your job is to protect the franchise, trying 100 things and having 98 of them fail is career suicide. In fact, investing in only 2 ideas and having 100% of them show only modest returns is a “career limiting event”. The internal ecosystem is brutal. And if you don’t have a runaway hit out of the gate, your project is usually done. Interest flags, and the project is tagged as failure. Nobody wants to be associated with it. So let’s say you even manage to get your idea going internally, there will be an endless amount of people tweaking, tuning, and “improving” your idea to make sure that it has the best shot of success. And this is important, because inside the big company, the perceived cost of failure is enormous. (Whether the real cost is so large I’m not entirely sure.) And because everyone is so worried about failing (or as they put it – “giving your idea the best chance to succeed”) the amount of time the company invests in your idea goes up. As the investment goes up, so do the stakes. And the cycle reinforces itself.

This cycle is familiar to many. But here’s what I consider the worst part. The point of trying things even though most of them will fail is to learn something, iterate, and keep trying. By the time the original idea has been through so many cycles of peer and executive feedback, it usually is so far from what the originator conceived that the only thing they learned is not to let people fuck with their ideas anymore. And not because the idea would have been successful. But because at this point, they haven’t learned anything. At the end of the day, the originator keeps saying to themselves, “if we’d just done this the way I conceived originally, maybe it would have been successful”. Maybe it would have. Maybe not. But at least there would have been learning.

I left the generosity and stability of a large successful company so that my failures could be my own. I geniunely want to be good at what I do. The only way I know how to improve is to learn from my mistakes. But they must be my mistakes, or I’m not learning. Thanks to the incredible patience of my business partners, I now learn on a daily basis. ;) Creating your own business is treading water in a sea of failure until you’ve built something small that can float. I’m so grateful that I’ve had the time and latitude to build our cozy little rowboat called Jackson Fish Market. Don’t be surprised if after a few thousand more failed experiments it turns into a pretty nice sailboat.

Tiny Tower — When did videogames get ruined?

I have always considered myself a video game nerd. I grew up with an Atari 2600, an Atari 800, a Sega Genesis, a Dreamcast, a Playstation, and both Xboxes. I also played games on Macs, PCs, and even spent many hours of my youth playing games in actual arcades. Pretty typical for many guys my age and background. Over the last 10-15 years something happened that put me further on the periphery of gaming. I don’t know if it’s the nausea I feel playing first person shooters, or just my lack of interest in blowing shit up, but most games seemed not for me. More recent games that I have loved included SimCity, Age of Empires, Escape Velocity, World of Warcraft, Diablo II, Railroad Tycoon, Torchlight, Lego Star Wars, etc. I know there’s some mayhem in these games, but each of them has an emphasis on collecting things, building things, or exploring things as well. Those are the things I enjoy. (And in the interest of full disclosure, I’ve spent plenty of time playing Angry Birds, Bejeweled, various Scrabble games, and more.)

I have not played Farmville or other games of that ilk. I get uncomfortable spamming my friends (unless it’s something I’m selling), and paying to advance in a game (rather than to unlock new content) feels unfun to me.

When I first saw Tiny Tower I was enamored of the 8-bit graphics, the jazzy soundtrack, and the memories it brought up of one of my favorite games of yesteryear — Yoot Saito’s SimTower. It was free in the app store. I downloaded it to my iPad and started playing. The goal of the game is to build your tower with a mix of residential and commercial floors, keeping your ‘bitizens’ employed in jobs they like and are good at, and keeping your commercial ventures stocked with inventory and making you cash to spend on more floors. There are plenty of artificial delays built into the game that you can skip by spending some of the ‘TowerBux’ you can earn (or purchase via in-app purchase).

I’m no expert on game mechanics and psychology, but I know enough to know that while levels usually require progressively more investment, they also yield progressively more exciting rewards. Not so in Tiny Tower. The only thing that appears to increase in Tiny Tower with each level is the amount of time you have to spend to get anything done. Now… I understand why this is. They’re hoping at some point that I reach my breaking point and give in spending actual dollars in exchange for TowerBux that I’ll use to accelerate my progress. My pain increased exponentially while my rewards moved linearly. A very different dynamic, despite which I achieved 100 floors in Tiny Tower (evidence below) without any in-app purchases or cheating. (I also had 164 of my 182 Bitizens in their dream jobs at this point.

When my wife and I used to play lots of Age of Empires she would invariably look up the cheat codes. Driving her huge American car all over the maps and shooting anything that moved was fun for her. But for me the cheating was a novelty but not fun. And it was only something I chose to do after I’d exhausted the gameplay. She went straight to the cheating. I’m not making an ethical statement (it’s just a video game) but I really can’t distinguish between the Age of Empire cheat codes, and the TinyTower in-app purchases (or buying black market gold for WOW for that matter).

I understand that this is where the money is these days in games. And the number of people who would pay 99 cents (or even 199 cents, or — amazingly — even 499 cents) for a Tiny Tower that was tuned for regular gameplay is probably dwarfed by the number of people who want to pay to get ahead. I wonder what would happen if they made two versions. One for people who like to work/play hard to earn achievements, and another for people who like to pay their way to the front of the line and see which one makes more money over the long term. In my version the developer could even use the in-app purchase system to let me buy access to a second tower, or other cool features.

Here’s my prediction (which of course is worth what you’re paying for it)… paying to advance in games is clearly popular (even though I find it decidedly unfun myself). And while I understand that it’s letting companies like Zynga essentially print cash, I think it’s got a short shelf life. Just as it seems consumers are getting bored with daily deals, I think they’ll get bored with games that are just designed to inflict pain in exchange for actual cash. Well… I hope that’s the case. Otherwise, i foresee even fewer video games in my future. (Maybe we’ll have to make some games just to have something enjoyable to play.)

Why does the Valley want designers that can code? Because the Valley doesn’t understand what designers do.

Jared Spool recently posted about “Why the Valley wants designers that can code.” Basically, he makes the good point that hiring managers at startups are always looking for ways to get more value for their dollar. And so based on that understanding he recommends “If you’re a designer, you don’t have to learn to code. But if you do, and you get good at it, you’ll find more opportunities as time goes on.” And in this he’s right. But of course his comments would be just as valid if he wrote a post titled “Why the Valley Wants Marketers That Can Code.” Or Engineers that can write press releases. Or any other combination of useful skills.

Except… the Valley doesn’t want marketers to write code or engineers to write press releases. Because, they don’t trust marketers to write code, and they feel that writing press releases would be a waste of the engineers’ valuable time and skills.

So what’s the real reason that many companies look for designers who can code? Because fundamentally they don’t understand and therefore properly value what great software designers do.

Spool says: “If you’re in a room filled with designers, bring up the topic of whether it’s valuable for a designer to also code. Immediately, the room will divide faster than Moses split the Red Sea. One side will tell you coding is an essential skill, while the other will vehemently argue how it dilutes the designer’s value.” If I’m in a room full of designers and any of take either of these positions, then I’m in a room full of designers I would prefer never to work with.

High quality software designers are true singer-songwriters. They can deliver a combination of interaction and visual design that don’t just make a product shine, they make the product what it is. They create its essence, its DNA. Should they have deep empathy for the software development process? Yes. Should they understand technology and be “technical” to a degree? Yes. Should they have passion for software as their medium? Yes. Much like a designer focused on print projects should understand how various ink/paper/press combinations will impact their final product’s design as well as cost, software designers should understand the canvas on which they are painting. But do I want a true software designer spending time fighting the various inconsistencies between browser CSS implementations to get the UI perfect? Nope. It’s a waste of their time. They should be doing more designing.

(If you’re annoyed by the previous paragraphs, this next one will make you crazy.)

Are there true singer-songwriter software designers that can write high quality code? Yes. But they are the exception. Anecdotally, I’ve found that most (not all) “designers” who can code are in fact coders who have empathy and passion for design, and may even have some good interaction design chops. But often they are weak when it comes to visual design. In our left-brain dominated industry, visual design is often looked at as fluff. Often people will say things like “art is the last step” or “that’s the lipstick”. I believe that when you treat the visual elements as some sort of layer of paint, then all the visuals can be is a layer of paint. And I believe that most “designers that can code” aren’t really designers at all.

The worst part is that design schools are complicit in this misunderstanding of what software designers should do. They’re busy teaching HTML, CSS, and Flash (yes Flash) to art students as if these skills are mandatory for them to succeed as high end software designers. These potentially talented software designers have an allergic reaction to spending their careers writing markup instead of drawing and decide to focus on “print”! Print! Pardon the profanity, but… WHAT THE FUCK??? The most incredible canvas in the world for designers — software — exists, and needs them. It lets them combine text and images and video and audio and user interaction in incredible ways, but they want to go make business cards and annual reports. Our industry needs a fleet of talented software designers and design schools are failing to produce them.

At some point, we will have more than a smattering of true software designers in this industry. They won’t be employees either. They’ll be founders and co-founders. And their companies will produce beautiful usable products that stand out from their competitors. And some of these designers will even be able to code. But we won’t let them, because we’ll want them spend every minute designing beautiful software.

A note: I’m sure that some of you will take exception to this post. Many of you will be annoyed because you either subscribe to the notion that designers should code and that it’s a good thing, or that you are designer that writes code and you are annoyed that I question your visual skills. Understood. I hear you. Please know, just because someone doesn’t fit the model of the designer I think we should be replicating, doesn’t mean I think they aren’t a valuable contributor.

And finally, some of you may criticize me and say that it’s easy for me to lobby for this model for software designers when my co-founder Jenny Lam exemplifies it. And to that I will say… you’re right.

Does HTML5 mean the end of the native app? (In other news… Phillips head screwdrivers will kill flat head screwdrivers!)

I just happened upon an article by Matt Marshall on Venture Beat: “How HTML5 will kill the native app.”

Ugh.

This article reads like an HTML5 marketing document. There’s good reason to be excited about HTML5. But I believe there are a couple of key things missing from this discussion:

1. The value of cross-platform code to developers is a myth. — Yes, many people say they would love to standardize on one platform and write once and save “billions”. But in reality, developers like to learn new skills, platforms, and languages. And clearly having to rewrite code to a brand new platform hasn’t stopped hundreds of thousands of apps getting written for iOS. The best modern developers are well-versed in a variety of client and web-based technologies and platforms, and recognize that one solution doesn’t fit all. And ultimately they, and the businesses that employ them will flock to any platform that has a real promise of commercial success and novel functionality no matter how much new code they have to write. Do we really think iOS is the last time that a new platform will attract tens of thousands of developers to write hundreds of thousands of new apps from scratch? If that’s true the software industry is dead.

2. HTML5 has still not addressed a critical piece of the UX — responsiveness. – HTML5 and it’s predecessor Flash have are not focused on the degree of responsiveness we demand from really polished software. It’s true that in many cases, we don’t need instant responses. And with the advent of AJAX style development web-based apps have come a long way from needing to reload the page every time you make a state change. However, the fundamental value of an HTML page (and app) being able to load progressively is often counter to the type of rock-solid responsiveness that we need from many software experiences. I know that most user’s will live with little delays and not even be able to articulate that there’s a problem. But like the soft click of a door closing on a well-engineered luxury car, customers do know when something just “feels right” (and conversely… when it doesn’t). When I can load thousands of items in a list on a webpage without having to do pagination, when that loading feels instantaneous (even though there may be progressive loading of the data into memory), and when scrolling feels smooth as butter and super fast, then I’ll feel like web apps are getting closer. I don’t think there’s a technical limitation on this per se in HTML5, it’s just that it’s not optimized for these types of interactions. Responsiveness is one of the unsung heroes of a polished user experience, and even with all its innovations and AJAX goodness, GMail can still be frustrating to use for heavy mail users.

To be clear, I’m a fan of HTML5 and here at Jackson Fish Market we will use it as appropriate. It’s a tool, like many other tools in our toolbox. We’ll use it when it’s the right tool for the job. And we’ll use other tools when they are appropriate. The most rational and easy to work with developers I know share this philosophy. I’ve found that developers who like to spend lots of time arguing about which tool is the “end all be all” are doing me a favor by letting me know up front that I shouldn’t be working with them.