We created a tag based search engine that is capable of parsing business reviews and turning them into an awesome crowd sourced search engine, called WhatWhere.

Now we just need a crapload of data! We've created a page to collect "recommendations" which are kind of like micro reviews, about businesses in any area:

http://whatwhere.com.au/recommend/

Bookmark the page and help us build the most awesome crowd sourced search engine ever!

If you work in a technical field, there is an automatic stigma about you: you are incapable of communicating technical concepts to the lay person.

Recently I've been putting a lot of thought into communications and how I can improve my marketing material and a big part of that has involved conversations with a wide variety of people about our various products.

I'm also the primary point of contact for any and all support questions from our customers so I spend a great deal of time explaining technical issues to non-technical people.

It started to dawn on me that people were still telling me that I'm being too technical - even when I knew that I wasn't.

How can I tell I wasn't being too technical? Because sometimes people understood. It's not that the people who understood were any more technically competent than those who didn't, and it's not that those who understood were any smarter. It's just that they took the mental effort to think about it for a moment.

So is it just luck then that we manage to catch people when they have time to think? Well, that was my first thought: I just have to increase the number of people I communicate with in the hope that I'll catch enough of them just at the point when they're feeling receptive.

What if there were a way to increase people's receptiveness?

The other day we released our first public beta product based on Decal CMS, Decal Mockups - a live wireframing tool for creating content driven mockups using StackLayout CSS.

The video, the copy - I thought it was perfect. It was, in my mind, the pinnacle of my short marketing and communications career.

I sent out a big email to everyone I knew (and "knew" here is stretched to basically anyone who'd ever sent me an email) and one of the recipients was Will Franco, A.K.A FlyWheel from Jive Systems who specialise in creating and sending video email campaings.

I never heard back from him after that initial mailout but when he sent me his latest newsletter I replied "Hey so what did you think of the release?".

He replied (in summary) that it was wordy and impersonal and not "sticky" and various other things that were certainly not what I was expecting - given that I thought I had really hit the nail on the head with my marketing material this time.

My first reaction was "urr, hold on are we looking at the same page here?", but he linked me through to this video, and watching it changed my whole perception of business, marketing and communications (both personal and professional).

It's a TED talk by Simon Sinek about why certain companies succeed in inspiring, leading and innovating whilst others with the same resources, products and technical capacity fail. If you haven't clicked the link to watch that video yet, here it is in bigger font:

Go watch this video now

One of the biggest take aways from that talk is "people don't buy what you do, they buy why you do it" and Simon really hammers home that point.

There was something else, though, that stuck with me even more - and it's kind of the "slowest" part of the speech where he starts talking about biology and the lymbic system and blah blah blah science whatever (that's literally how I remember that section of the talk in my head) and the conclusion is that people make decisions with a part of their brain incapable of understanding language.

So what is the most important decision people are making when you're trying to communicate with them? They're making the decision to understand you.

Understanding is a decision

This may sound callous, but what this made me realise is that when people tell me I'm being too technical, much of the time what they're saying is "You haven't convinced me that I should take the time or effort to understand you".

They're actually deciding that I'm not worth understanding - and they're making that decision with a part of their brain that cannot be reasoned with using words alone.

This means that you need to start off by convincing the "gut instinct" part of them that what you're about to say (or sell or what they should go to the store and buy right now) is worthwhile to them.

That they had better make the effort to understand/obtain what you're saying/selling/offering them because otherwise the'll be missing out on something amazing.

Obviously the smaller the effort that's required, the more likely they are to make the decision in your favour so yes things have to be easy to use, and you have to use non-technical language and make your products intuitive and all that stuff.

The biggest message that I'm taking away from the TED talk by Simon Sinek is that even if you do all that stuff perfectly there are a large number of people who simply won't take even the smallest effort to engage with your product/business/company.

I think that what he's really saying is that by motivating people and telling them why you're doing what you're doing initially so that they take up your cause as their own, you'll find that people will jump over incredible technical hurdles you never thought possible in your wildest dreams to engage with your product.

Have you watched the video yet?

I've posted a follow up to the original "Doing business without doing a startup" blog post I did on here a couple of weeks ago with a more in-depth look at the last year and a half working on Decal CMS:

How we built a web application and didn't launch in 482 days

It's a pretty good read, but REALLY the most important thing to note is that we'll have a live demo system available in the next few weeks. If you'd like to be notified when it's ready, you can add your email address here.

PickDrop is available for download free of charge. If you use and enjoy it, please feel free to donate via PayPal.

A couple of weeks ago, I created a command line bourne shell utility that let you "pick" files up from multiple locations on your computer then "drop" them all in one place. I uploaded it to GitHub (My First Project (TM)) and posted it on Hacker News (where it sailed off the "newest" page and into oblivion) and also on reddit, where some awesome shell scripting gurus contributed improvements to my crappy first version.

It was fun, and more than anything I now really understand what GitHub means when they say "social coding".

That day I was already using PickDrop quite a bit and finding it very handy. I thought it would be great if there were a Pick and Drop item in the Finder context menu on OSX. Since OSX is, after all, a Unix distribution, and since the original command line utility was written in the bourne shell it should be portable.

I did a bit of hunting around and found that I could create an Automator script pretty easily and call it a "Service" (in OSX 10.6 Snow Leopard) and have it just execute the scripts for me. After a couple of hours poking around with Automator I had PickDrop running in the Finder context menu and it was actually kind of cool.

So cool, in fact, that I thought "this might be a neat thing to put on the Mac App store". I did a quick search for some information about uploading to the app store but couldn't really find any detailed information. It looked as though I had to actually sign up with the Apple developer program (and pay them 120 semolians) before I found out any real information. I wasn't even sure I could make this really work as an installer yet so I decided to get a working installer before I shelled out the signup fee.

About 12 hours later, after praying to the Voodoo High Priestess that is PackageMaker and getting some friends to test the installer (seriously, PackageMaker is a dark art, I wouldn't wish that hell on anyone) I had a package that I thought I could upload to the Mac App store, so I went and joined up.

The signup process was relatively hassle free and the support team was responsive when I appealed their decision to require me to get a note from my doctor to verify my identity (because I had used my initials as they appear on my credit card in one place, and my full name in another). The process took about 48 hours to complete and then I had access to all the documentation and information about uploading.

One thing I notice on the "Submitting to the Mac App store page is":

Using the PackageMaker application to archive your application is not supported.

No wonder! It's a pretty lousy piece of software, that's for sure.

Of more concern, though, is that it states that an app should only install files to the following locations:

~/Library/Application Support/<app-identifier>
~/Library/<app-identifier>
~/Library/Caches/<app-identifier>

Since there's no way to make an item appear in the Finder context menu other than to install it to ~/Library/Services/ that means I can't distribute PickDrop via the Mac App store.

The first thing on the page regarding "Submitting to the Mac App Store" is a notice that says:

Important: This is a preliminary document. Although it has been reviewed for technical accuracy, it is not final...

So I figured maybe they just hadn't thought of the fact that someone might want to sell an Automator workflow as a service to add an item to the Finder context menu. It is, after all, a pretty dinky little "app" and possibly an edge case they had not considered.

I emailed developer support who replied within only a few hours (one thing is for sure: the developer support is responsive!) with the following:

Thank you for contacting Apple Developer Support regarding the Mac Developer Program. Developers should be testing and developing their apps in line with the Mac Developer Program License Agreement and the App Store Review Guidelines.

Fair enough. At this point I give up on the idea of distributing my package in the Mac App store and figure I'll just stick it online with a PayPal donate button instead and see what happens.

Something doesn't feel right ...

As dinky as this application is, this whole process really got me thinking about the Apple Developer program. The fact that they're expecting me to conform to their guidelines and use only their tools and submit applications in a very particular way makes me pretty uncomfortable.

Generally, I don't set out to build an application, then decide what to build. I generally come up with some idea or scratch my own itch and then decide that it's something I could monetise or that I'd like to share with others.

In his article "App is Crap (why Apple is bad for your health)" I think Mark Suster really hits the nail on the head when he says that the Apple App store is "... a channel disguised in business clothing."

I can't help but be reminded of Steve Ballmer frantically screaming "DEVELOPERS! DEVELOPERS! DEVELOPERS!" and the countless thousands of windows only application boxes you see in bargain bins at your local Post Office.

It's not that one can categorically say that development and distribution using Apple's tools and channels is a Bad Thing(TM). Certainly many people are making a fine living from developing for the App Store(s), but to me the browser still feels like a much better place to do business.

Yesterday I showed the Nokia Plan B site to my friend Chris Langlands from http://www.fastmedia.com/ and he pasted a link to this old photo of a Nokia tyre located at:

http://nokiamobileblog.com/wp-content/uploads/2009/04/nokia-tires.jpg

and said we should chuck it on "nokiaplanc.com". This was one of those comments that usually goes past in the chat room without anyone doing anything about it but I thought it was pretty funny so I grabbed the domain and set it up:

http://www.nokiaplanc.com/

I put it on Twitter and reddit (where it got one upvote and one downvote and not much more attention) and also Hacker News.

No-one really took any notice and once it fell off the "newest" page on Hacker News with only 2 points I figured it was dead and stopped checking.

Hacker News actually brought it back from the dead, though! Not only did enough people upvote it that it was saved from the depths of the 2nd page on HN but it actually spent a while on the front page and inspired several spin-offs which have been gathered together by @ricardovice and the convenient and hilarious URL:

http://nokiaplans.com/

My personal favourites (in alphabetical order, of course) are:

http://nokiaplanh.com/
http://www.nokiaplank.com/
http://nokiaplano.com/
http://nokiaplant.com/
http://nokiaplany.com/
http://nokiaplan5.com/
http://nokiaplan9.com/

I think the clip chosen from Plan 9 from outer space is totally the icing on the cake. Well done everyone! Definitely a fun afternoon :)

Most of all, though, I hope this spreads the word for Nokia Plan B! I'm a HUGE fan of my Nokia e72 and I'd love to be able to continue on as the Nokia purist I always have been.

Good luck to the Nokia Plan B team!

I read this article by Mark Suster last night with some disdain. Typical delusions of grandeur tech startup bullshit. I then read this follow up article by Eric Ingram and just had to step in and say my two cents.

It seems as though both of these people have come to the conclusion that you either "do a startup" or you get a job. From what I can gather their definition of a "startup" is an idea for a company which has a high risk of failure and needs masses of investment capital to get off the ground.

Mark's original article starts off:

I was asked by somebody recently in a private message on Quora about whether the individual should leave his comfortable job to become an entrepreneur.

If this was indeed the wording of the question I would say wholeheartedly, and without knowing anything about this person's background or skillset, the answer is "no".

How can I be so sure? Because anyone who says they want to "become an entrepreneur" is completely misguided. Motivations for going into business are many and varied but simply loving the idea of "being a business person" or "being an entrepreneur" is about the worst possible reason I can think of for someone wanting to do so.

Although the original post by Mark Suster starts as a sort of cautionary tale, in fact it turns into another classical romanticisation of the "startup life".

Really, the tone I get from his post is not "think about your personality type and make a decision about whether or not starting a VC funded business is for you", but rather "starting a VC funded business is totally awesome and you're probably not awesome enough to handle it".

There is no shame in being an exec at a company or whatever

Mark Suster, 2011

You heard it here first folks! All of you company executives out there that have been hiding in the closet in abject shame can rest easy tonight.

Listen to David Heinemeier Hansson, people, when he tells you that success in the VC funded "startup" world is like a lottery and people like Mark Suster are lottery winners (the only difference I would point out is that in the world of funding and startups, once you've won once, you're more likely to win again). Would you take advice on how to play the lottery from someone just because they had won the lottery?

Does all this mean that I don't want funding? Hell no, I'm as impatient as the next guy. I'd love funding. I even wrote up an investment proposition and met with people I know in the Melbourne angel investor community.

Getting investment would accelerate development of Decal CMS and get us to market quicker. I even applied to Y-Combinator (needless to say it was rejected). However I have developed a business model so we can move ahead whether we get investment or not (albeit more slowly).

Raise invoices, not capital

A little while ago I watched this interview with Tom Rossi on Mixergy and I commented "In most cases, business is about raising invoices, not capital".

If you can't get funding for your product, is it worthless? Well, have you tried selling it? A product isn't worthless if you can't raise capital - a product is worthless if you can't sell it (regardless of whether you've raised capital or not!).

The cheapest way to break into running your own business is through providing services. There are zero start-up costs and in some cases you don't even need money saved up. In my case I started freelancing whilst at university. I worked at a pizza place 3 nights a week to make ends meet.

Once I had enough work I dropped out of uni to focus on my business and was able to quit working at the pizza place. Working at a pizza place is great because not only do you get paid, but you also get free pizza.

That freelancing turned into a more substantial services business which in turn has resulted in the ability to boot-strap a couple of products.

This was not easy. This had highs and lows. I felt fantastic when I delivered an exciting project and felt lousy when I had no work. I hired a friend and had to let him go when a big project ended prematurely.

It's been hard and rewarding and I've learned a lot, but I wouldn't say this was any more of a roller coaster than any other thing in life about which you're passionate. I would say that there are many people in full-time employment who regularly experience the same levels of highs and lows simply because they care about what they do to the same degree that I do.

Oh, so you mean you have a lifestyle business?

In the words of the inimitable Eddie Murphy:

Shut the fuck up and get the fuck outta here with that bullshit

Eddie Murphy, Delirious 1983

A lifestyle business, whatever the "startup community" has co-opted it to mean, is when you run a record store because you love records like Rob Gordon in Hi-Fidelity. I would say that if you're running a lifestyle business, that implies that you have turned a hobby into a business and you care more about being able to do that hobby yourself than you do about making money or growing your business.

Running any other business is certainly not something you do for the lifestyle because it's hard work and quite often requires long hours and you don't generally get paid as much as you would if you were working in a comparable position at a large corporation (at first).

The original "internet entrepreneurs"

Before the dotcom bubble there were a whole bunch of people that ran their own businesses: they were called "designers". They became really good at building and maintaining client relationships. They got repeat business, they invoiced, they hired.

Then the web happened. These "designers" all of a sudden had to take what they were doing and apply it to a whole new medium. Early web design really reflected this. Designers made websites that looked like they should be printed and then hired HTML coders or used Dreamweaver to create terrible sins against markup in order to make those designs appear "pixel perfect" in all browsers!

It didn't matter, though, that technologically they were committing sins of the highest order because the most important skill they had honed still held true: they knew about invoicing, running a business and managing client relationships and, in many cases, they survived.

Another reason design agencies have continued to flourish is that people, or should I say "clients" think first about how something should look, not about how it should function. No one goes looking for a PHP programmer to build them a Joomla site then looks for a designer to make it look nice afterwards (even though that's actually a much better way to think about it!).

So what, I'm not a designer

Yeah well you know what? Designers aren't programmers - but who owns the client relationships? There's nothing to stop a programmer from offering design services but more often than not it's the designer who owns the client relationship and shops out work to programmers. I'm personally trying to revamp my programming offering to include design by offering design as part of our http://decalcms.com/ packages. You can try to! Or you can team up with a designer and start a services business. Or you can start a specialist services business and partner with many design agencies. Or you can start a services business that just writes bash scripts - whatever you want. The only thing that matters is whether or not you can sell it.

Infinite runway

There's this term in the startup world, "runway". It refers to how much time you have before you run out of money, ie. how much time you have in which to build your product and make it profitable.

Well guess what: if you have a services business you can structure your billing so that you have 2 days out of every week to work on your product.

Of course, it will then take 2.5 times longer to build your product than it would have if you'd been focusing on it full time. Say you had initially planned to launch an MVP in 3 months. That means that, instead, you'll be launching in 7.5 months. BIG DEAL!

The other fantastic thing about building products this way is that if they don't work straight away, you have all the time in the world to make them work. We only have about 150 regular users of http://8centsms.com/ but that's no big deal. We're just taking our time trying to find out where the customers are and how to market it better.

You think you're going to miss the boat and lose your FIRST MOVER ADVANTAGE!?!? We launched a web SMS product in 2010. How much did we miss the boat by? But we still get new sign-ups each week. People are still out there looking for ways to send cheap SMS online - and we're not even the cheapest! The market is absolutely massive and we only need the tiniest little slice of it to make a reasonable return on our investment.

In conclusion

The answer to the question "should I be a startup entrepreneur" is definitely no. If you're asking that question then your motivations are all wrong and if you manage to get some money thrown at you you're probably going to make the type of terrible business decisions that result in you having to "lay off 60 people in one day", to quote Mark Suster.

Do business honestly and make sure your motivations are honest. Be honest with your employees if you ever have any, be honest with your clients and be honest with yourself. Don't get lured in by the bright lights of VC-Vegas - instead focus on building a profitable business where you get money because people buy what you have to sell.

This one's on us! Get in touch with us to find out more

We here at Working Software recently launched the latest version of our hosted content management system, Decal CMS.

Since we put it online we've had a few designers we know ask if they would be able to get a free trial. The answer is yes! We're happy to let you try it out on one of your up-coming web projects free of charge.

We'd prefer to keep it local to Sydney and Melbourne at this stage and there are, of course a limited number of free trials we can offer, but just get in touch with us if you're interested and we'll see what we can work out.

We're sure that once you see what an absolute pleasure Decal is to use you'll be interested in making use of it for all kinds of projects, but until we have the ability to take public signups we're willing to go the extra mile to try and gain traction for our new service.

Get in touch with us here to find out more - we'd love to hear from you!

This entry follows on from a discussion on Hacker News around a submission of a blog post by Alex Payne entitled "Shortchanging Your Business with User-Hostile Platforms". It started out as a comment but kind of spiralled out of control so I thought I'd write it up as a blog-post-in-reply.

I'm not particularly familiar with AIR as an application framework but I'm pretty familiar with building and releasing software. I can say that I have never released a piece of software without a very large backlog of things that I wanted to do.

So why didn't I just finish those things all those times and release the software that I really wanted once I was done? There are 2 primary reasons.

One is time and money. I've never received external funding (although I have worked on projects that were funded) and so my products have always been bootstrapped using mine and my employees' unbillable time. There's only so much you can get done.

The other is that, being a perfectionist and an idealist, as almost every developer I've ever met is, I will never be happy. The backlog will never be empty because as soon as I build a new feature, that feature in itself gives me 10 more ideas of things that I want to implement.

So as far as I can tell, I have 2 choices: never release software or release software I'm not happy with. Since the only way I can ever learn about the usefulness of my product or make any money is by releasing software, I consistently choose the latter.

In my experience of releasing software I'm not happy with, I've found that some people use it, and some don't. Those that don't use it, don't generally hate you for having released it - they just note that it doesn't fit their requirements and move on.

There's no risk associated with releasing software that you're not happy with - so long as you don't trick anyone into buying it under false pretenses and you support the users you do get fanatically enough that even when things go wrong, they still see that you care about them.

My guess is that the thought process that the guys at Hip Chat (the company which, as it turns out, was the impetus for Alex's original post) could be approximated as follows:

Hip Guy 1: Hey let's make a chat product - I bet we could do better than Campfire.

Hip Guy 2: Cool but we're pretty cashstrapped and time poor so we need to release something quickly to see if there's actually a market for it

Hip Guy 1: Well, we're web developers - let's build it in Adobe AIR. We won't have to learn anything new and people seem to like Tweetdeck [or whatever] and we can probably get a version 0.1 out to market in like 2 months

Hip Guy 1: Okay. I heard AIR is kinda slow though. Let's have a play around with some stuff that's out there and see what's what.

Hip Guys download a few AIR apps and play with them

Hip Guy 1: That's not so bad. I bet we'd get some users with a really nice chat app

Hip Guy 2: Okay we'll let's run with that and see how we go getting something out to market in 2 months

16 months later and Hip Chat was born!!

DISCLAIMER: the above reference to the Hip Chat release schedule was a joke, I have absolutely no idea how long it took them to build it or release it.

The Exceptional Quality Matrix

A little while ago I met up with some people in Melbourne, Australia via a LinkedIn group called "UX Peers". It was a good time, and there was a guy there (who's name escapes me) that spoke about the idea of an Exceptional Quality Matrix. The Y-axis went from "Expected" to "Exceptional" and the X-axis was how long a feature would take to impelement.

The example analysis he used was the iPhone, which was first released with SMS bugs, no MMS, no Bluetooth and no WAP push. All these things were expected in a phone but none of them would make the product exceptional.

A kick ass web browsing experience on a phone, however, along with incredible touch screen technology and a platform that allowed developers to quickly release and commercialise thousands of applications, were all completely exceptional. People were willing to forgo several features they had always expected from their phones in exchange for some exceptional features.

So what makes your product exceptional?

More importantly, what is it that you can compromise on that people may expect, in order to deliver what you consider to be exceptional in a period of time that fits your budget and release schedule?

People may expect that an application that runs on their machine will look just like other applications that run on their machine (native applications), but they may be willing to forgo that pleasantry if you deliver them some quality in your application which they consider to be exceptional.

The key to living with mediocrity, releasing software and, hopefully, making money is to figure out which bits of the application you're building can get away with being mediocre, then spend all your time working on the bits that will make your product exceptional.

I recently deployed a job on which the timeline was so tight that my ability to type quickly was what made the difference between delivering on time or not.

Everything was rushed, the budget was tight, it was one of those real seat of the pants deals and there was far too little testing done.

Just before I cut the site live (ie. minutes before I had to put this into production and have hundreds of people using it) I thought "You know, I bet something will go wrong somewhere here and I'll need complete logs of all the SERVER, POST and GET requests to piece it back together".

Boy am I glad I had that thought! Because it did. Nothing catastrophic, mind you, but there was a tricky integration with an external system that, as it turned out, periodically died without any errors or exceptions and just started returning bogus values.

The only problem is that, in the 5 minutes before the site was supposed to go live, I didn't really have much time to thoughtfully prepare a logging system to record all this stuff and, in my haste, I settled for:

catchall_logging.txt

When I came to actually process this information into something usable I realised what a dumb format for a log file this was and began kicking myself.

I had a look around for a snippet to parse the output of PHPs print_r but couldn't find anything so I thought I'd post my solution here just in case anyone else ever makes the same mistake - might save them a couple of hours (I've added comments in the code below):

logfile_antipattern.txt

UPDATE: CERES have been able to fill this position and are now in possession of one brand spanking new Customer Work System! Congratulations guys.

CERES is a community centre in Melbourne, Australia focused on sustainable living. Greg Thorpe, Co-ordinator of the volunteer programme recently contact us looking for volunteers to build a volunteer management database.

We're no longer located in Melbourne so we're not able to commit resources directly but I thought I'd pass on the message so that anyone interested could get involved.

UPDATE: I've removed the (now outdated) contact details in relation to this position.

Subscribe

Subscribe via RSS

Building software in the real world - the Working Software blog

We write about our experiences, ideas and interests in business, software and the business of software. We also sometimes write about our own products (in order to promote them).