Post Category →Software Design

I’m working with Mapbox at the moment – it’s a great tool for bundling offline maps into your apps. I recently noticed that my RMMapView’s weren’t deallocating as expected. These map views used by Mapbox, I’m not sure if they’re open source or not. Anyway, long story short, this was leading to a memory leak and I spent about a day trying to figure out why. The fix is pretty simple, just remember to set the “showsUserLocation” flag to false when you destroy the parent view. Something like:

When people ask what I do for a living I find it difficult to give a clear answer. My replies range from “Tech developer/designer/entrepreneur-type” on a good day to “I fix printers” on a not so good one.

The truth is I’ve been employed professionally in tech for the past seven years or so and my time has been pretty evenly split between server side stuff (Ruby/Java), front end work (Javascript/HTML/CSS/Photoshop), mobile stuff (mostly iOS) and general startup hustling (marketing/sales/branding).

Needless to say, it’s pretty difficult to find a job description that asks for all that and that’s cool because I’m freelance nowadays.

However, on the days when Imposter Syndrome kicks in, this “wide but shallow” approach to career development really bites. I feel like I should know a lot more about, say, scalable server infrastructure for a guy who’s been developing products for seven years.

Don’t get me wrong, I know the basics (if not more than that) for most of the subjects in my field. My problem is that I want to master them.

But I enjoy every aspect of what I do right now. I love writing server side tech as much as I love working with some awesome CSS framework. Or creating mobile experiences. And selling to clients. Or pitching to journalists. And there’s the rub: spreading myself so thin on all these different tasks means becoming an expert on them is impossible within my given timeframe. It’s a tradeoff that I’m just going to have to embrace.

When I came to this conclusion, I tried to imagine what my future might be. If I was an expert in, say, machine learning (which would probably take a lot longer than seven years but whatever) then I could probably get a sweet job at the likes of Facebook and get well paid for it. But Facebook wouldn’t look twice at a generalist like me – in fact, the best tech companies probably wouldn’t.

But there’s an upside. Being able to build, design, market and sell your own product gives you a freedom that a high-profile job or perceived guru-status never could. To be able to identify a market opportunity and take it all the way from “git init’ to selling to over 7,000 paying customers (not recurring but whatever, it’s a start) is pretty neat.

Of course that’s not to say that there’s no company out there who would hire me – when my last startup went bust I had more than a few job offers (and still do because I know a few awesome people around the tech startup scene in Dublin).

I guess what I’m trying to say is that in my line of work there’s a certain liberty in not being “any one thing”.

Interested to hear feedback on this and any stories of people who have been there/done that when it comes to this stuff.

After launching a product, you’ll likely be inundated with feature (and support) requests. There will be features that tons of people ask for, others not so much.

The big reactions come when you make an update to your product, though. I get contacted on a daily basis by people who say my latest game is too hard. Others say it’s too easy. Some say it has a good UI, others say its really unintuitive.

It’s super important to have an anchor when faced when all this feedback is trying to pull you in different directions. An anchor in this case is an ideal that gives the good ship Startup the ability to take on the storm of this (sometimes vitrolic!) feedback.

The anchoring ideals for my app, Hipster CEO, are (in priority):

Does this change improve the player’s understanding of how a real startup works?

Does this change improve the overall app experience?

Like most things in life, these two questions are subjective so some expertise needs to be applied.

I’d encourage you, before you even begin building an app, to consider your anchors. Some good ones:

Does this change add value that people would pay more money for?

Will this feature be used by 80% or more of our customers?

Does this change come at the expense of another key feature?

Does this affect our main goal or key message?

When your business has a core belief then decision making gets a whole lot easier.

A common piece of feedback regards my latest app is that it’s too expensive. It costs €2.69 ($2.99); considering the usage customers are getting from it, I (and, more importantly, they) consider it very good value for money.

It’s the first time I’ve really ever had to face the software pricing dilemma and it made me wonder:

“Why is there such a gulf between what an app developer & a consumer thinks their software is worth?”

When it comes to mobile apps, a common pricing comparison is the cup of coffee which generally costs about two bucks. Take the top 20 paid apps in the App Store right now and the average price is €2.10. This makes sense as the average consumer is willing to pay about 99c/€1.99 for an app.

However, once you go above the two quid price range, things get a little more complicated. It seems as though an app priced at €2.59 can no longer be considered an impulse purchase. A developer that decides to charge more than three bucks for their work can often be met with a ferocious anger that is usually more at home at a right-wing BNP rally.

Going back to our cup of coffee comparison, you’re probably happy paying two quid for a quick take-away. Chances are, though, that you won’t mind paying 40-50% extra for something more up-market and it’s here where our comparison breaks down. With mobile apps, we have a consumer expectation chart that looks a little like this:

Perhaps the problem is consistency. You generally know what you’re getting when you pick up your morning mug o’ joe. Apps are different. Their price often doesn’t reflect their true quality. Great apps sell for 99c; pure muck sells for €3.69.

As happens in most industries, value creation is moving up the stack. That is, companies make money in new technology-driven arenas at first by differentiating on performance, engineering, cost, etc. As industries evolve, core infrastructure gets built and commoditized, and differentiation moves up the hierarchy of needs from basic functionality to non-basic functionality, to design, and even to fashion.

For example, there was a time when chief buying concerns included how well a watch might tell time and how durable a pair of jeans was. There is still plenty of core technology to be built for the Internet, but the fact that you can now be a fairly sizable Internet company without ever needing to own (or even look at) your server hardware means a much bigger proportion of what companies do is add value on top what’s here. And one of the most powerful ways to add value is through design.