maximizing your startup dollars through great design

reply_ticket

Deciding to build a second product is a very difficult decision. Especially when you’re a small bootstrap company. While we do well with our main product, HelpSpot, we don’t have a lot of cash to just throw around.

So in planning Snappy, I knew we had to maximize our dollars. I’d much rather spend money on the top notch developers we’ve hired than other consultants or services.

However, this conflicted with another goal I had for the product. That it have a very refined, strong, fully fleshed out brand. From the logo, to the colors, website, vibe, stickers, everything. One cohesive brand. Not a logo by one person and a website from another.

OK, that’s a reasonable goal but there’s more. I wanted to work with a top tier design firm. One that specialized in branding, but also had the in house chops to do all the other elements we’d need. This time there would be no half measures.

We’ve worked with a lot of great designers in the past, but for this project I felt we needed to look for someone with a very specific design style and set of skills. So I went looking around at what was going on in design right now. That’s when I became addicted to Dribbble.

What Dribbble provides is more than just a way to find designers. The real magic is it gives you insight into what the designers are working on right now. Design is art and people have natural ebbs and flows. Dribbble lets you see not just people who have done great work in the past (like a portfolio), but those who are at the top of their game right now. Today. That is incredibly powerful.

So now we can find great designers, but to maximize their value we need to pick one with a wide reach. This is the key to making an expensive, top tier designer affordable. A designer with incredible reach can turn your design expense into an advertising channel. Letting you apply both your design and advertising budget to this one aspect of your project. This is risky, but also has a huge potential payoff as it did for us.

In our case we ended up choosing Focus Lab. Not only is their work amazing, but the designers have a huge following on Dribbble and Twitter as well as a foothold in the web development community.

So what does finding a team with great reach bring? How can it cover the $25,000 – $75,000 you’re likely to pay for a full boat design project?

Let’s start with this. In 7 years of selling HelpSpot we’ve never generated as much buzz, sign ups or interest with any of dozens of advertising campaigns as our work with Focus Lab has for Snappy. The power of great design to inspire and motivate people is astounding.

The key is to shape this power and focus it. In our case, I was very clear with Focus Lab that I wanted them to speak about Snappy as much as possible from day 1. That the opportunity to leverage their reach was a significant aspect of why I thought they were a good fit. That their amazing work shouldn’t be buried in some project management app, but shared as we went so people could follow our progress.

You can see the results of this collaboration on Dribbble. Note how each image references our landing page and has a call to action to sign up:
http://dribbble.com/ianlandsman/buckets/72071-Snappy

The best part about this is it proves to be a truly win/win scenario. With the designers posting on Dribbble and Twitter along with a link to our landing page we get huge prelaunch sign ups while they get increased exposure. Their profile is raised on those networks by showcasing their talents and we get to highlight them and recommend them via our network as we publicly share information on what we’re working on.

This path obviously won’t work if you have a budget of $0 🙂 but if you have a few more dollars than that this path can be truly transformative. There’s simply no way putting $10,000 into adwords or The Deck could buy you this type of publicity and engagement.

While in our case we had a healthy size budget, I think this can also work at smaller levels. The real key is to find a designer with amazing talent and the desire to share their work. One who gets the power of sharing and is willing to put in the extra effort to do so in a way that provides these additional benefits to all parties.

When we launched HelpSpot 7 years ago we had 80 people on the beta list. Snappy has thousands with little work on our end other than hiring a great team of designers. In fact, we haven’t even announced anything to our existing customer base at all yet.

It’s difficult to estimate the value of this, but acquiring this list via traditional methods would have been many times the cost. Hundreds of thousands of dollars probably and it would have been a much lower quality group compared with the excited (perhaps overly excited!) group we’ve been able to gather.

If you have an exciting and interesting project, this method of collaboration with a design team is some of the best money you can spend, with bang for the buck that’s off the charts. In essence, you’re getting world class design for free and you simply can’t beat that.

laravel 4 pre beta primer

With the recent release of sneak peek video’s for Laravel 4 there’s been a lot of talk about it lately. It’s still pre-beta and as such there’s very little documentation, but I know a lot of people are excited and would at least like to kick the tires. I’m not an expert myself, but I’ve put together a little quick start guide so you can at least get it installed and be aware of a few important changes from Laravel 3 which should let you build a basic application in just a few minutes.

Note that any and all of this may change! This is written on November 12th, 2012 based on a pre-beta version. Laravel 4 is not currently supported by Taylor or on the forums. Use this at your own risk.

Installing Laravel 4

Laravel 4 now leverages PHP Composer in order to make keeping your application up to date and adding in new functionality a breeze. However, this does change the way we install Laravel. This processes should get you to a working base install.

https://gist.github.com/4059572.js?file=setup.sh

You now have a basic Laravel 4 app in place.

Laravel 4 Gotcha’s and Changes

There’s a few changes in 4 that might trip up someone coming from V3. Let’s check out a few of the most important ones out.

Routing wildcards

You no longer use the routing wildcards like (:any). Instead, in your routes name your wildcards and they’ll be processed.

https://gist.github.com/4059572.js?file=route.php

Registering Controllers

Laravel 4 uses Composer’s auto loading to load up classes you need. It’s setup to statically build a map of class names to file locations for performance. Issues come up when you create a new controller that the auto loader doesn’t know about. To fix that simply run the following command after creating a controller.

https://gist.github.com/4059572.js?file=autoload.sh

Adding functionality via Composer

One of the really great things about Laravel 4 is you can leverage Composer to include new functionality in your application effortlessly. Let’s say we want to add the powerful HTTP client Guzzle to our application. In composer.json, in the root folder, simply add it to the required section:

https://gist.github.com/4059572.js?file=require.json

Then update composer to pull in the library and rebuild your auto load mappings.

https://gist.github.com/4059572.js?file=update.sh

You can now use Guzzle directly via its namespace or shortcut it by including the namespace at the top of the files that need it with the ‘use’ keyword.

https://gist.github.com/4059572.js?file=guzzle.php

You can find more great libraries over on Packagist.

Core File Location

The working name of Laravel 4 is Illuminate. I’m honestly not sure if that will remain in place when Laravel 4 is released, but for now you’ll find all the core framework files in

/vendor/illuminate  

You’ll likely need to do some digging in there from time to time until the docs are ready.

Wrap

I’m really excited about Laravel 4. Taylor has done a ridiculous job putting this together in such a short time. Laravel 4 isn’t only going to let us PHP developers do things faster, but also make us better programmers. The future is bright for PHP and especially for Laravel.

building a better human helper

Snappy

Help desk software is ugly utilitarian stuff. It’s designed to collect data, to manage, to organize, to control. Formal help desks have a lot of demands placed on them as they sit at the center of the organization, between the customers and management. In turn, help desk software tends to be sophisticated and complicated. Designed to perform the functions of what should really be done by 4, 5 or 6 separate applications.

While this creates a complex application, within the structure of a formal help desk it can and does work. Especially with applications that find the right balance (see HelpSpot).

Help desk apps are some of the oldest B2B software applications and have in many ways remained unchanged in concept. But what has changed is the world business is conducted in. Customer service is no longer the job of just a chosen few in the organization. The rise of email and social media as primary contact points means it (should be) easier to include the people with the proper knowledge in the support loop.

Beyond traditional corporate scenarios, the ability of customers to email you or post a private message to your Facebook page has forced customer service upon all types of organizations and the people in them. These accidental agents are often left either unequipped for the task or over equipped with the large heavy tools mentioned above.

This next generation of customer service worker can’t be weighed down by the customer service legacy driving most help desk applications. They don’t need infinite custom fields, complex self service portals, layers and layers of IT type tools such as password resetting for your Active Directory server.

Rather they need a tool that does exactly what they need it to do and nothing more. That connects to other tools and systems seamlessly to extend functionality when needed. One that empowers them to work faster and get back to the other work that inspires them.

Years of creating and supporting a more traditional help desk application has given us a lot of insight into the needs of this new wave of workers. We see the pain they go through in trying to squish themselves into the old model. So we decided to build something new, just for them. That meets their needs and the needs of any organization that wants a simpler, more flexible, more efficient, more affordable help desk experience without a lot of overhead.

Introducing Snappy

Our solution is a tool designed from the ground up to exclusively support email and Facebook Pages. It doesn’t do the other “stuff”. it doesn’t have loads of settings, it doesn’t need any configuration at all. Sign up and 30 seconds later you’re answering customer support email faster than ever.

The unique design allows you to see many different tickets at the same time so it’s easy to stay on top of everything without any digging. Nothing falls through the cracks. And since we put the emphasis on waiting tickets, it’s always clear what needs responding to. No more overwhelming lists of tickets or uncertainty about what’s been answered and what hasn’t.

An area all but ignored by other tools is team communication. Snappy’s one-of-a-kind Team Wall provides a unified location to discuss problems, information and even just brag about that customer who sent in an over the top thank you email.

There’s a lot more to share over the coming months, but here’s a few screenshots to give you some idea where we’re headed.

Snappy

I know so many of you have followed the path of UserScape for the past 7 years with HelpSpot and I’m really excited to have you along on this journey. Snappy is a huge new challenge, but we believe it’s going to empower thousands of people in ways simply not possible with the current generation of tools and raise the bar for the next generation of help desk applications.

If you’re interested in seeing where we go, please sign up for our mailing list at http://www.besnappy.com.

Have a question/comment? Catch us on Twitter: http://www.twitter.com/ianlandsman and http://www.twitter.com/besnappy

PHP

Jeff Atwood has an interesting piece today about PHP and it’s horribleness while acknowledging it’s greatness 🙂

Unfortunately Jeff seems to fall into the same trap as many programmers these days. Sure PHP is ugly, it’s got some inconsistencies that make it hard to work with, etc. All of this is very well known and documented.

However, those are all minor issues in the big picture. If you’re trying to build a commercial product or an open source product with major legs PHP is still usually your best choice. Here’s why:

Ubiquitous

Jeff addresses this, but it cannot be understated. It is literally installed on every hosting platform in the world. There are essentially no mainstream hosting companies where you can’t use PHP.

Ease of Installation

In the very rare cases where PHP isn’t provided for you, getting it up and running is usually about 2 minutes of work. apt-get install php5 and you’re done. Done! No messing with 7 different systems, trying to get x to connect to y. 1 command and you’re done. Even in crazy cases where you need to setup Apache or if you want to go way out there and do Nginx you’re still talking just minutes until you’re ready to go.

Great Performance

In addition to being easy to setup, the default setup is most times very performant with no messing around at all. PHP is designed to be fast out of the box by it’s very nature. No special techniques required. And when you get big enough to need even greater performance those problems have already been solved. A quick search finds you thousands of answers to your performance questions and finding a consultant to help is also easily done if required.

Great Tools

This I think is an area that Jeff really missed the boat on. It’s obvious he hasn’t actually been working with PHP much lately as the tools have gotten so much better. Sure, when I built HelpSpot 7 years ago the tools sucked. You had to do everything the long way.

Now though there are a lot of great tools. We contribute a lot to the open source framework Laravel which is my favorite, but if you like more structure there’s Symfony and Zend Framework. Want something super light? Try Slim. No matter your need there’s a high quality framework that fits it and in most of these cases great documentation and tutorials as well.

Easy for the Newb

“Real” programmers hate this more than running out of Mountain Dew at 4am but PHP is easy for non-programmers. You can get in there and hack around. You can make shit work on your own without asking for a lot of help. That’s simply impossible in most languages. My 60 year old father hacks around WordPress all the time. If it was Python and he had to get all his tabs right it’d never happen, but in PHP you can just go in and “do stuff”.

I know you’re all cringing out there right now, but this is good! So what, maybe once in a while something breaks or his WordPress install becomes slightly less secure. It’s empowering and enabling people that other languages cast aside.

It’s Not About You!

Obviously in recent years certain frameworks and languages that we all know have gotten a lot of props for being programmer friendly. That’s great, but the reason PHP is so successful is because in the big scheme of things that doesn’t matter. PHP is about the above. It’s about being powerful enough for pro’s and simple enough for newb’s.

The reason it hasn’t been supplanted yet is because no languages have attempted to do the above. In fact, most seem focused on becoming programmer friendly while ignoring the above completely.

So Jeff, I hope your new project is going to highlight a lesser known language that accomplishes the above as that’s the kind of language we need to replace PHP. Not one only for the Mountain Dew crowd, but one for the people.

starting is fun but finishing is rewarding

One of the challenges programmers face when making the transition to entrepreneur is controlling the urges that come 4-6-8 months into the process. You see, the start is fun. The start is exciting, a jump into the unknown.

The start is when you get to do what you love to do best which is code. How are we going to architect it? How will it scale? Should I use Laravel, RoR, Django? Postgres or MySQL? Memcache, Varnish, Less, Coffescript, BackBone. As a programmer these are the ideas that get us excited. The opportunity to play with new toys, to design and build new things.

That’s all good and an important part of the process, but after those decisions are made, after a big chunk of the code is written you’ll usually hit a wall. Your mind wanders and you’ll get excited about something new.

Maybe you heard about a new technology that peaked your interest, it could be you thought of a cool domain name and it was actually available. It’ll be something small usually, but before you know it you’ve spent a week thinking and working on this new thing.

That’s OK. It happens. I think it’s just the way we’re wired. Our minds need the break after a period of time of working on only one thing.

This is also the time of greatest danger. The joy of a new start is in your grasp and if you’re serious about being an entrepreneur you need to recognize what this is. That you need to put this idea aside and stay focused. It’s really really hard. Every bone in your body will say to do the new fun thing, you’re sure it’s a better idea, you’ve spent several minutes hours researching it and are absolutely sure!

Chances are though that it’s not. Hold strong, because finishing is what’s rewarding. Finishing is where the glory is. Finishing is how you build a career. Everything that happens after you code it up is where a business is made.

laravel

Laravel

The Search

Last November (’11), I ran across a relatively new PHP framework called Laravel. At the time I was researching the various PHP frameworks in order to get a clear picture on the current state of things. I’ve always used CodeIgniter in the past and was generally very happy with it so I hadn’t bothered to keep pace with frameworks over the last few years.

I’ve used CodeIgniter in several back office systems, but HelpSpot (our main product) doesn’t use a framework at all. It was created before any of the major PHP frameworks (crazy!).

However, I was researching what’s out there because I wanted to move us onto a framework if it made sense to do so. For HelpSpot, but also for other products we may create in the future (as all entrepreneurs do, I have a mighty list of ideas close at hand).

I went through the usual suspects: CodeIgniter, Zend, Symfony 2, Fuel, Slim, Silex, etc etc. All have their pluses and minuses, none really captured my imagination. Only a few make really great use of PHP 5.3+’s capabilities and those are the ones I liked the least both aesthetically and conceptually for our particular use cases.

Then one day I ran across Laravel. Instantly I was hooked. It had just the right combination of simplicity, power and elegance that I was hoping for. It was young for sure and missing some key elements, but still the core was there. More impressively, there was already a budding and enthusiastic community around it.

Fortunate Circumstances

Now, at the time I was researching frameworks I was also in the process of trying to find and hire our first full time developers at UserScape (besides me). As I researched further, I found out that Laravel was the work of just one person, Taylor Otwell. He was working on it nights and weekends after his day job.

I’ve come to since find out that Taylor wasn’t really a PHP guy, working primarily in .NET before deciding to pickup PHP a few years back. I think a great deal of why Laravel is so unique is due to that fact. He learned PHP at 5.3+. Most people you see working on PHP frameworks have been around since 4 and before.

That rather unique trait (along with those other useful traits like ingenuity, hard work, a knack for making complex things simple) to me is the key. It’s why he was able to come at the problem from a new direction with a clean slate. Not just the simple thing of not supporting PHP < 5.3, but not knowing PHP < 5.3 means he was unencumbered by all that mental debt 🙂

Now even though I’m not that bright, I can put two and two together. What if I tried contacting this fellow and see if he might be interested in joining UserScape where we could continue to develop Laravel and flesh it out for enterprise level development while also working on all the new hotness we have planned for the coming few years. And so he did!

Laravel at UserScape

So for the past few months we’ve let Taylor have at it working full time on Laravel to add all sorts of nifty new things that you’ll be finding in Laravel 3. Our other new dev, Eric Barnes has also been working on Laravel, building out the Laravel Bundles application for sharing all your cool bundles and doing the design implementation for the new Laravel.com website.

It’s been an amazing experience working with these two extremely talented guys for the last few months. I’m really proud of all they’ve accomplished in such a short time.

Our work on Laravel and in building on top of Laravel is also going to provide a mechanism for us to give back to the software development community in a much larger way than we’ve ever been able to do in the past. I personally find this aspect the most satisfying and am really looking forward to what I consider a whole new chapter in UserScape’s evolution.

Laravel 3 is only the beginning…..

Laravel Version 3

I’m sure many of you have checked out Laravel 3 already, but if you haven’t here’s some of the highlights:

  • Bundles
    • Create compartmentalized bits of functionality for your own applications and when appropriate even share them on the bundle site
  • Migrations
  • Database Schema Builder
  • Command Line Interface
  • IoC container
  • Integrated Unit Testing
  • Events

Laravel’s resources have also been improved with the addition of:

  • An amazing new website design by Fixel
  • Completely re-written documentation
  • The bundle sharing application

This is on top of the already great resources in the forums and IRC (#laravel).

Check it out

This is just the tip of the iceberg. There’s tons of awesome new features in Laravel 3 and more will be added in the coming months. If you’re a PHP dev (or even if you’re not!) have a look.