Top ways speaking engagements will put your app in front of customers

If you look at the top of my website, it says I am an expert on all things mobile. I want to clarify first what an expert is, and what an expert is not.

An expert is NOT someone who knows everything about a topic.
An expert IS someone who has relevant experiences to share.

I think it’s important to specify that what I’m sharing on this blog is my experience, not hard and fast rules. So I want to share a few experiences I’ve had with public speaking, and it’s effect on my businesses.

I briefly mentioned an experience I had at the PRSA conference in NYC in my post, . Here’s a quick summary from that post for those who haven’t read it.

“the original idea was partially to promote my products, but mostly to give me an excuse to go hang out in New York for a while with my business partner. I didn’t think much would come of it. During my presentation an influential PR professional was tweeting about one of my case studies for the app, iAugment. Within the next 24 hours almost every major news outlet in the country was talking about iAugment. That day the app received around 125,000 downloads and hit the top selling app for it’s category in almost every country, and remained there for over a month!
I was able to repeat this success in public speaking on many of my other apps. People love sharing things they are hearing about at a conference, and there are a lot of tastemakers who attend these things.”

In addition, speaking at events like this can:
1. Lend you credibility
2. Allow you to make yourself known
3. Broadcast your products and services to an interested group
4. Create new fans, who will act as an amplifier for your message

Later on I had a similar experience in finding development talent in the video games industry. I did a short presentation (about 30 minutes) on the psychology of game design. The talk went well and there were quite a few educated questions at the end of the talk, which ended up turning in to an impromptu Q&A sessions with myself and two others involved at different cross-sections of the game industry. Doing this single talk has created so many local connections I couldn’t even list them all here. Suffice it to say it has helped find development talent, artists, and even some strategic partnerships. But most importantly, it helped create an audience interested in my work. This built-in community is personal, and will travel with me wherever I go, this means getting the word out about a new app, service, or just an idea becomes much easier.

It’s become a common way of thinking on the tech startup world that what is more important than having millions of users is just having 10 or so that are really interested in your product. Making successful products in the new internet-connected world has less and less to do with traditional advertising to massive audiences, and more to do with how likely it is that someone will share your product with others. Web marketing, youtube marketing, social media marketing, engagement marketing, are all just terms to describe a simple idea: If I show my product to someone, what do I need to do to make them share the product with others? What makes it that unique product that will be discussed where most products go unnoticed?

My answer is that they need to be fans, whether it’s of your product or of your work in general. Doing speaking engagements builds credibility like nothing else. Fans can act as a sounding board for your work, and nothing builds that fan base better than giving them an organized presentation while holding their full attention. How long does a visitor stay on your landing page? Maybe a few seconds? A presentation gives you an audience who is ready to listen and learn, if you play it right it can be one of the biggest boosts for promoting your content.

Did this tutorial help you?

Support my Patreon

Your support on Patreon allows me to make better tutorials more often.

Subscribe via RSS

The console question noone is asking

Most of the people I encounter these days with a tech startup are focusing on the web or mobile. They either have an idea that they want to push out to the app store, or a web service which may or may not have a mobile companion. The tech world as the startup scene sees it is made up of mobile phones and computers. Who could blame them? Every major headline in the tech news is about IPOs, acquisitions, and user growth in iPhone apps and websites.

What is particularly interesting about this is a seemingly willful ignorance of the entire game console world. The app store has set a new standard for digital distribution, and consoles are following that new standard. Open the channel up to indies, make it easy to get distribution, and watch the next Angry Birds come out of nowhere. In particular Nintendo and Sony seem to be opening up their next gen consoles to indie game developers, and incidentally, to app developers.

If you sort through the offering on the PS3 and Wii U, you’ll see almost exclusively games, and then a few apps to accompany video and music services. There seems to be a major lack of thought going in to modern app development targeting these set-top boxes for television, and I think it’s just a matter of time before someone takes advantage of that. That’s when the whole world will follow suit and the TV/App industry will appear.

It’s easier than ever to become a licenses developer with Nintendo or Sony. So the question we need to be asking is, what can we do on those devices that is unique to the fact that they are in the living room?

Did this tutorial help you?

Support my Patreon

Your support on Patreon allows me to make better tutorials more often.

Subscribe via RSS

Making apps that spread

I hear tons of app ideas that seem like really great ideas, but lack one critical feature: virality. It’s not just marketing speak, creating virality is something you should be responsible for if you are making an app without a huge budget. I’ve done a lot of research on users of my apps, of my client’s apps, and listened to tons of advice from other software entrepreneurs, and I’ve learned one important fact about making viral apps that I think is the key factor in determining viral success.

User’s share for selfish reasons.

Let me elaborate.
I’m not saying everyone is only self-centered, but sharing content has to be personal in some way. Simply sharing someone elses content is the result of it being highly interesting content. A great photo, an important message, or maybe an event you want others to attend. But that’s not why most sharing happens. Most sharing on social media is a form of self-promotion. Whether for business or personal reasons, people like to share things that make them feel good about themselves.

Some of the most viral marketing campaigns I’ve been involved in have involved a personalization feature of some sort. That’s why PhotoGoo has been so successful. PhotoGoo is all about creating something cool, and showing your friends. The same goes for all the apps in the genre. The ever-popular FatBooth is just another way to create something cool that other people will enjoy. It’s about user’s sharing content that they feel they had a hand in creating.

I think this is why photo sharing is such a big deal. When Facebook bought Instagram lots of people had questions about why. Well, think about it. Do you still have a photo album, or is it mostly digital these days? Is there a cutoff time where physical photos stopped existing and everything went digital? What did you do with those photos? The good ones get shared on Facebook. A flattering photo become the profile photo. Something showing off how cool, successful, or interesting a person is becomes a post. Everyone is a champion for themselves in some way or another.

No one is going to share your app just because it’s cool

People don’t care about being the person to have shared your app (unless it’s super cool.)  What they care about is exposing the favorable portions of their life or personality with their circle. This is why personality tests and “see who viewed my facebook” apps are so common. People are self-oriented, they want acceptance and feedback on the things they do from their circle of friends.

So if no one cares about your app, and only about themselves, how can we properly motivate growth of our user base?

Twitter is extremely selfish

Twitter’s growth since it’s inception has been phenomenal. Is it because posts of 140 characters are just that interesting? I think Twitter’s growth is the result of self-promotion. You tweet, it’s easy, it’s creation, why wouldn’t you recruit others to hear your great insights? Facebook is the de facto selfishness platform. It’s all about the individual.

What are you doing to make users feel proud of what they’re doing on your app? Do they have a voice? Do they feel personally connected to the content they make and consume? If you can combine the practical with a self-promotion strategy you will have users recruiting other users, and that’s what is needed for real growth.


I hear you saying, how do I make an app that allows for selfish behavior if my app is not about creation or sharing? Well, the easiest thing is to integrate sharing in to the basic functionality of the app. Is it possible to use the app without sharing? It may seem like a benefit to not require interaction in an app, but in the end it’s the co-dependent relationship between users that drive real growth. Think about Word, does it have sharing as a key feature? It doesn’t seem like it, I can’t share my content on any social networks. However, the first time someone sees a .docx file from me, they know they need Word to open it. This kind of word of mouth is unique. The same effect occurs on file sharing services like Dropbox. This is the golden ticket to growth, but I think you can implement the same kind of sharing functionality in any app, you just have to be creative about it.

When I released Finch, a Mac OS app that makes it easy to track your billable time, I had a very hard time thinking of ways to make the app spread. I put Facebook like buttons and Twitter share buttons on the app screens, but that didn’t lead to much sharing. But when I shared my usage data with reddit, showing 18 hours (WOW!) of usage on and 2 hours of “work”, the reddit community found this relatable. This was an example of content that allowed users to take pride in how they spend their days. So, after the success of this post I made it easy to share some pretty time reports for Finch, and soon after downloads rose. The number of users we gained from that concept was over 900% of the total userbase, all within a few weeks.

Sometimes it’s just something silly that leads to the great sharing concept. What can you encourage users to share within your app?


Did this tutorial help you?

Support my Patreon

Your support on Patreon allows me to make better tutorials more often.

Subscribe via RSS

Open sourced startups

When a software startup fails to turn a profit they’re usually left with some newfound knowledge, maybe some debt, and a big chunk of unused code. Why should all that engineering work go to waste just because that particular business failed? Many startups recognize this and have made their software free and open source. I did some searching and came up with a list of startups past whose work may be useful to others. Not all of these are failed startups, in fact a few are quite to the contrary, but they are all useful to study nonetheless.

1. Liftium
There isn’t a ton of documentation in this project but there are quite a few interesting pieces of code working with ad networks and some simple utilities in this code base. From what I could find out this startup was originally planned to be some kind if performance optimization system for ad campaigns.

2. Kill the land line
This startup was designed to allow users to use their existing phone numbers from old land lines that had been in use for years with their cell plans, avoiding the costly $30/mo fee just to keep a phone number so many people knew to contact them through. The software integrates with Tropo in order to do its magic.

3. ExamBuff
This startup is a web service that connects students preparing for exams with PhD’s in their field of study, allowing them to mark up and comment on the students solutions.

4. ComicFlow
As far as I can tell, ComicFlow is the first comic reader that has open sourced it’s app for developers to take advantage of. It relies on a few other open source projects, but is a great source of “code that works” for iPad readers. If you are involved in creating digital stories in any way I recommend checking out the work they have released here.

Come on, you know this! is a great saas that provides some social awareness to our music. What I found most interesting about the source for this iPhone application is their use of Flurry, one of the bigger players in the mobile analytics game. Check them out to see how it’s done.

Did this tutorial help you?

Support my Patreon

Your support on Patreon allows me to make better tutorials more often.

Subscribe via RSS

Designing mobile apps for children

Mobile apps designed for children are becoming very popular as a result of the intuitive design of the iOS and Android touch screen operating systems. Never before has software been so accessible for pre schoolers, and elementary school students. However, there are some things that you should take careful consideration of when designing apps for this audience.

I want to share with you all a great resource put out by Sesame Street Workshop that details the best practices, and problems that crop in designing for children. You can find the original PDF by Sesame Street at the end of this post. I will summarize a few points here that I felt were important to discuss in the success of a children’s app.

Using Familiar Faces

The document points to using familiar faces to “guide” children to what it is they need to do. The guides are instructors, teaching the child to use the app in real time through audio narration. The use of familiar characters creates a stronger bond between the child and the app, and leads to increased comprehension of what to do.

It’s easy for Sesame Street to make use of familiar faces, they have a host of great characters to choose from. But, you don’t need to be a big company with lots of popular characters to present familiar faces to your audience. It’s not hard to find familiar faces in the world of public domain. Many of Disney’s best hits are based on public domain. Some examples include Aladdin, Beauty and the Beast, Snow White, and many other famous stories with characters we see time and again. It’s also very popular to hook in to famous cultural or mythological figures such as Hercules, Zeus, or even Saint Nicholas.

Experience Design

Start of with instructions from a voice over, and try to avoid text. Ultimately you want to assume that the child can not read, so make use of video and audio indicators of how to proceed in the app. If you are quizzing the user on some content, or presenting a game, you should be careful to not be too negative when wrong answer selections occur. You want to be motivating the child and give them hints as they continue to answer. Finally you want the app to proceed without a correct answer by simply instructing them exactly what they need to do.

It’s also important to children that they know they did the right thing. Go nuts with the rewards, maybe even as crazy as those guys over at Peggle. Seriously, these are some dramatic “Yeah! you did it!” effects and music here. There is nothing wrong with being extremely over the top with rewards in any app, and especially in a children’s app. Great in-game rewards is motivating and exciting.


The most intuitive input gesture for children is a simple tap. However, typically children rest their arms or hands on the edges of the screen. So, it is important to allow for taps to occur, even when they are touching other components of the screen. I would suggest creating “dead zones” where touches will be ignored around the bottom of the screen. Focus touch interactions for the top half of the iPad, and toward the center.

Children have trouble with most complicated gestures, such as “flicking” objects around the screen with momentum, using tilt or shake controls, double tapping, and anything involving multi-touch. Ideally you want to focus on the most intuitive input mechanisms, which is the tap, drawing, or dragging of objects around. Be careful with dragging though, children tend to lift their finger as they drag around the screen. For this reason it’s important to implement a dragging routine that allows for hiccups along the path where the user may lift their finger for a moment during a drag.

Visual Cues

It is important to provide visual clues for any goals in the app, at any given time. Touchable objects should be highlighted or glow, and actions should be delineated with a path or animation of what gestures to use. If a child should drag a character or object along a path, you could create an animation of the path while highlighting the object that needs to be moved to make it clear what they are to do.


Keep in mind that children will accidentally press on lower parts of the screen. So, when implementing features that make major changes to the state of the app, for example quitting, saving photos, and especially any social features, you want to take special care to make sure these actions can not be accidentally done by the child. Usually these interactions are going to be performed by a parents. This is a good opportunity to take advantage of the fact that children are not very good with certain types of gestures.

One way to do this is to have the parent’s controls be hidden away in a menu that requires a multi-touch gesture to open. For example, you could have a menu on the right side of the screen that can be dragged out on to the screen to be made visible, and then a ‘slide to unlock’ display could be used that times out if the gesture is not completed within a few seconds.

So there you have it, my thoughts on this great report by Sesame Street. I hope all of you out there working on children’s apps can make something a little better as a result of this information being available. If you need some help with your app, this kind of thing is right up my alley and I am available for hire, so get in touch!

Original PDF from Sesame Street:
Sesame Street – Best Practices: Designing Touch Tablet Experiences for Preschoolers


Did this tutorial help you?

Support my Patreon

Your support on Patreon allows me to make better tutorials more often.

Subscribe via RSS

Growing your audience by empowering users


What is it about apps like Instagram that result in such explosive growth? I think it is fair to say that most social networking apps and sites have grown organically. The apps receive word of mouth from users who enjoy using their software. So those with the most explosive growth must simply have the highest percentage of users who share with others in the shortest amount of time possible. I think making viral apps is a combination of two efforts:


  1. For an app that has users feel they are able to create content that is interesting to others
  2. For users to be empowered to easily share that content

When I first release my photo manipulation application PhotoGoo, I did not think what I was creating would later become a sort of social media platform. The app originated from seeing some interesting tech demos made by Apple to demonstrate the OpenGL capabilities of the original iPhone. The Apple demonstration showed a simple image on a 3D mesh that could be pushed, pulled, and distorted using the touchscreen. It seemed interesting that you could deform an image in realtime that way using an iPhone. This seed eventually led to the idea that I would create an app that made it easy to deform meshes of images.

I had originally thought the app might be useful to video game artists who wanted to draft 3D animations using mesh distortion. It was for all intents and purposes, designed to be a tool. It was only during development that I thought to myself, “hey playing around with this mesh is kind of fun.” I followed that instinct instead of my original plan and made a toy that let people play around with their photos. Eventually this turned in to an app that let users manipulate, and then save their photos. Then I added sharing features for Facebook, then Twitter, then finally gave it it’s own social network.

PhotoGoo iPhone App

Initially none of these efforts resulted in much. The app’s downloads were still roughly the same day to day. At the time, there was a programming issue with the app that caused it to run about half as slow than it really should, and it was a relatively hard issue to fix. I never thought it made that much of a difference. The essentials of the app were the same, just slower. On a whim, I decided maybe I’ll take care of that just because it would make the product a little cleaner to use. Much to my surprise, this seemed to be the biggest thing holding PhotoGoo back. I released the update, and found shortly after a huge spike in downloads, and an even larger spike in the percentage of users sharing content. This is when the app really took off. It is evident from the analytics data that sharing PhotoGoo photos was a huge hit.

Adding a social network and sharing functionality worked in PhotoGoo, because users feel empowered by the application, which I think was a direct result of improving the framerate of the app. They can create highly unusual photos that is normally the domain of only graphics artists. People now had a reason to share content beyond simply showing each other their pictures. They because they felt empowered by the apps capabilities. The social impact of all this is that users of PhotoGoo feel they have a unique tool to create interesting photos without graphics editing expertise, and share this “skill” with their friends and the world. They become compelled to share by the utility of the app.

What is the personal impact of sharing photos on Instagram?


Think for a moment about what Instagram really is. It’s ultimately a photo sharing app, not unlike the hundreds of other photo sharing apps, including PhotoGoo. Like every social app on the planet most of it’s social components seem to be based on the Facebook feed, and the Twitter stream. If that’s all Instagram was, it would probably be in the same position as every other photo sharing app, lying around in relative obscurity. An obscure app that allows users to share photos with a more limited audience than Facebook or Twitter isn’t particularly compelling. I think it’s the filters feature of Instagram that makes the app and it’s enormous social network such a success.

Instagram grew primarily as a result of word of mouth. The reason I think so many users recruited other new users is because they wanted to show off “their work.” The social experience with Instagram is different, and it’s because of the filters.

The Instagram filters are designed to create professional looking effects, but is simplified enough so that anyone can use them. The end result is a photo sharing network where everyone seems to be really great at taking photos, even me! Hey, follow me on Instagram! I take great photos when I use that app!

When a professional photographer sees a filtered Instagram photo of your dog looking out the window on a rainy day, they may not be thinking “wow that’s a magical photo, this person is an amazing undiscovered photographer!” But that’s kind of how it feels to share Instagram photos, and it makes us feel good about ourselves. And more importantly, it makes the model we think others have of us seem more interesting. In a way it’s a form of introspection. It allows us to view ourselves from the outside, using a conveniently organized list of photos we’ve taken. We manage and prune this list, and make sure it represents who we want to be seen as.

Facebook and Twitter allow us to indulge in and showcase the happenings and relationships in our lives. Instagram gives us the experience of feeling like a photographer, taking beautiful artistic photos as the product of our every day lives. So all this is great, but without validation of our efforts and knowledge that someone is looking, the exercise become tiring and meaningless. The best thing that can happen in the environment is that someone can comment on our photos. However, users might not always have anything to say, but still want to acknolwedge that they’ve seen a photo and enjoyed it. This is why I think the Like button works so well.

The Like button confirms that we are taking great photos, that our stories are compelling, that someone cares that we ate a doughnut this morning. It confirms our suspicions that we might just be the greatest photographer of all time.

If you can encourage users to feel good about the content they are producing in your app, then they are much more likely to share it, and as a result your app is more likely to be a success. That is why I think it is so important to empower users, and give them the tools they need to effectively use your application, because nothing is more universal than the desire to say “hey look what I did!”

Did this tutorial help you?

Support my Patreon

Your support on Patreon allows me to make better tutorials more often.

Subscribe via RSS

Top 10 Lessons Learned from Launching iPhone Apps

Much has been written on the topic of launching iPhone apps, and software products in general. I have read a good bit of this info over the years and have tested many theories for how to successfully launch, and have come up with a list of what worked for me. So this is my personal checklist I go through every time I am getting prepared to launch a new product. This is the stuff that I’ve found works, so I hope it helps someone.

Warning: This list is long because there are a lot of things you should do, sorry about the verbosity, but all this stuff is important if you want your apps to have the best chance they can.

  1. Make the app itself as viral as possible
  2. Do speaking engagements
  3. Write a press release
  4. Write your own copy
  5. Create a dedicated launch page
  6. Submit your app to review sites, free and paid
  7. Advertise
  8. Have a dedicated Facebook and Twitter for the app
  9. Keep an e-mail list
  10. Cross-Promote your other apps


Make the app itself as viral as possible
So this may seem obvious, but you want your users to hook other new users in to your app, it’s in my opinion the single most important consideration when trying to launch a new product. Advertising dollars, press, and social media engagement can only get you what I’ll call “blips” of traffic, which is a large amount of traffic coming to your site/app all at once. What happens if those users don’t spread the app? You get a nice little asymptotic chart for your sales numbers that goes right back down to 0 the next day. Give users a reason to share things.In my photo manipulation app PhotoGoo, I started out with an app that let users just play with photos and save them to their library, and the app wasn’t really spreading very quickly. I saw spikes of sales followed by nothing. After learning the lesson of the importance of making viral features for apps, I added several sharing features. The first round was simply allowing users to share their edited photos on Facebook and Twitter. This served to smooth out the tail after spikes in usage occurred from PR, reviews, etc, but still ultimately didn’t spread that much. I realized that what really made Facebook photos spread faster was showing up on multiple user’s walls, which is easy to make happen if you allow users to tag their friends. Now for each shared photo, instead of showing up on the wall of 100 or so users, it shows up on the wall of 100 or so users for 2 different people, doubling the exposure from each shared picture.Finally, I added an in-app contest where users could submit their photos to become the “photo of the week.” This adds a little extra fun a social interaction to the app, but most importantly it influences users to share their photos more, in order to have their friends vote for their photo. With all these efforts combined, PhotoGoo now consistently pulls in new users regardless of if there is any press at that point in time.

Do speaking engagements
This is quite anecdotal, but I once did a speaking engagement to the PRSA in New York. It was partially to promote my products, but mostly to give me an excuse to go hang out in New York for a while with my business partner. I didn’t think much would come of it.During my presentation an influential PR professional was tweeting about one of my case studies for the app, iAugment. Within the next 24 hours almost every major news outlet in the country was talking about iAugment. That day the app received around 125,000 downloads and hit the top selling app for it’s category in almost every country, and remained there for over a month!I was able to repeat this success in public speaking on many of my other apps. People love sharing things they are hearing about at a conference, and there are a lot of tastemakers who attend these things.

Write a press release
Write a press release and send to prlog, prweb, prnewswire, and include a URL to your site in the release. If your app is a game, then you can also try Go ahead and make an account there now, because last I checked it takes a while. Press releases I’ve released in the past have been circulated around to major news outlets and sometimes driven some nice bumps in traffic, which leads to users, which leads to word of mouth, etc. It’s really easy to write a press release and can ultimately be done in about 10 minutes. There are companies that will do this sort of thing for you, but what you usually pay for with them is their network, and not their writing skills. I do not advise letting them write press releases for you, which leads me to my next point…

Write your own copy
You should write your own copy, or work directly with a writer if you think your writing is not so great. No one is more enthusiastic about your product than you, no one understands it’s value better than you, why should anyone else write the copy? Say in your own words what makes your app great, and if it’s all true, your passion will make its way through your potential customers. Never let a PR company to write copy for you, or if you do make sure you revise (rewrite) the entire thing to support your perspective and vision for the product.

Create a dedicated launch page.
This is important because the app store has basically no analytics, and what you’ll want to know is how people are finding you. Your dedicated website is not only a great way to see some basic analytics on your customers, but it is a great place to send anyone who may be interested in your app, and you can even get some basic SEO going on and get some organic traffic. Organic search traffic won’t make or break your app, but it doesn’t hurt. The only thing I would say is super important SEO-wise is that when someone searches for your product name, they get the site. This is important in the event that your app name is mentioned on television, in person via word of mouth, in a tweet, etc. People are going to want to find the app via a Google search, so make sure you rank for your own name! If it’s too hard to rank for your product name, the name might just suck.

Submit your app to review sites, free and paid.
Some people will scoff at the idea of paying for reviews, but the truth is you need to get your app in front of the eyes of your potential customers. And honestly, the reason these review sites charge is because other app developers are paying, and because they probably get so many submissions they need a filtering criteria in order to actually process the amount of submissions they receive. The prices are usually not unreasonable, ranging from $50 to $500 for video review sites, peanuts compared with the cost of developing a great iOS app.

You may have picked up by now on the fact that you are probably not going to be able to get by with a purely “word of mouth” campaign. Yes, to successfully market a new app, you’ll need a marketing budget. Yes, I know there was that one app that one time that made all that money with no marketing budget, but that’s probably not you. You should be buying up ads on all the major mobile advertising platforms for launch day. It doesn’t have to be an astronomical amount, but you need something to drive sales, and advertising works pretty well. In particular companies like Tapjoy and PlayHaven, etc are great for their pay-per-download campaigns.

Have a dedicated Facebook and Twitter for the app
Yes, it is a pain in the ass to keep making new Facebook and Twitter accounts, and to attempt to continue putting content on them and building a following. However, it is what people expect, and when your product blows up you are going to be kicking yourself if someone else has taken your ideal Twitter or Facebook page name. You should ideally set these up at the same time as you set up your domain, and you should do all these things after securing the name in the app store. If you don’t you’ll end up stuck paying like I did for the domain name, and unable to use @photogoo on twitter because some person is using it as a nickname.Creating a dedicated Facebook and Twitter page is important because it’s one of those critical-mass building components you can integrate in to your app, webpage, interviews, and speaking engagements. It’s always good to be thinking about how you are going to continue to build your audience. Don’t expect people to just remember the name of your app, or visit the website for updates. You need to get them to agree to be pushed content about your app, updates, new products, etc while they are still experiencing your product for the first time. You want to hook in to that initial excitement they have of finding something new and cool, which brings me to my next point…

Keep an e-mail list
Even if you don’t intend to keep up a regular newsletter, I highly recommend keeping ‘Signup for the mailing list’ buttons all over the place, just like your ‘Like’ and ‘Follow us on Twitter’ buttons. It goes back to the idea of building your audience. Capturing e-mails from the get-go is an important step if you ever want to release a version 2, or if you want to do a special promotion, etc. If possible, you should integrate all this stuff in to your app. You can see an example of this right on the start screen for a time tracking product I made a while back, called Finch. The e-mail field is pre-populated from the user’s address book, the subscribe button defaults to being checked, and the Like and Tweet buttons make a presence right off the bat. Most user’s sign up for the newsletter here, which has allowed us some great marketing opportunities long after our launch.Finch Mac App Start Screen

Cross-Promote your other apps.
How do publishers consistently succeed at selling new apps? I’ve talked to many people over the years who work with major publishers on the iOS app store, and they all pretty consistently point to cross-promotion as the number one thing driving users. All the things I’ve listed above are important, especially if you are working on your first app, but cross-promoting your new apps inside of your existing apps is the most cost-effective way to advertise. It also allows you to keep a mass of users, to grow your base and expand as a provider of apps.

Did this tutorial help you?

Support my Patreon

Your support on Patreon allows me to make better tutorials more often.

Subscribe via RSS

Evacuate! Dealing with natural disasters.

Ah, the joys of working in New Orleans during hurricane season. Today I spent most of my day executing our poorly planned strategy to deal with natural disasters. Beginning with finding out what everyone’s plans were.

Are you evacuating? Y/N
Are you planning to work? Y/N
Do you have what you need to work remotely? Y/N

These are questions I wouldn’t have normally had to ask in our prior remote-only working environment. But we moved in to an office about a year ago and since then have grown comfortable with on-site servers holding critical data and things like that. We have offsite backups, which is great because we can’t lose any data. While that’s critical, it overlooks another very important component of dealing with disasters:

Service Continuity.

With a firm of 15+ employees, every day counts when contributing to payroll, and the work we are performing. Our employees time is what directly generates nearly all of our revenue, roughly a $100/hr average per employee. So what happens when 15 people who generate $100/hr for the company suddenly can’t work for a day? Math time!

That’s right, $12,000 of lost revenue… per day.

While this may not seem like much in the grand scheme of things, cash flow is usually tight for small companies, and natural disasters like hurricanes can always present the possibility of lost income. So what did we do faced with an impending hurricane?

On-site document storage server
We use a NAS (Network Access Storage) to store contracts, scanned checks, company policy documents, training documents, and company processes. In order to make sure these things were still available in the event of a hard disk crash, we bought a team Dropbox account and have it synced with that. That’s sort of an “oh-shit” backup solution that isn’t great, but could end up saving us one day, like tomorrow for example. We were able to open up the backup dropbox account to our team in order to give them remote access to the NAS, even if power goes down in our office.

On-site Windows development server
The portion of our staff working on Windows development do not work on local machines. They instead remote in to a Terminal Server across our LAN on gigabit ethernet lines. This is neccessary due to the system configuration involved in making a Windows machine play nicely with the variety of software needed to develop C#.NET applications, MS Access, and Silverlight. So what happens when this server goes down? Noone can work any more. Our solution here was to export our VMWare images of the various Windows images we develop on, and export it to an Amazon EC2 AMI. We were able to export this AMI and get it up and running on EC2 in no time at all. Setting up a VPC/VPN was equally trivial, and now we’re locked and loaded and everyone is ready to work remotely.

While we were able to get these two critical systems in to the cloud before the hurricane hit, that was only *just barely*. We really should have done this switch sooner. If you work in an office were critical data is stored locally, consider moving things to the cloud (at least as backups) before you are on the receiving end of your own natural disaster.

Did this tutorial help you?

Support my Patreon

Your support on Patreon allows me to make better tutorials more often.

Subscribe via RSS

What employers want to know when hiring developers.

I was thinking the other day about how I try to quickly evaluate someone’s developer chops during a phone interview. One of the things I try to do is ask something baked in to the theory of what people learn from school. This is less about trying to see if someone has a formal education on the topic, but more that they are alternatively the type of person to read about these things. I think that’s a really strong character trait; the interest and motivation to independently learn the ins and outs of your field. There’s no real reason a programmer can’t go throughout their entire life never spending much time learning about design patterns, or how the compiler works, or other academic subjects of computer science. They could still very well succeed in their career, and be perfectly happy, but maybe never truly shine as a star. But, when I am evaluating a prospective employee, I tend to care about things like this. I want the guy who is passionate about what he does. I want the person who will help try and drive us towards goals, and not just be clocking in.

Another thing I like to be able to evaluate is how a developer will make technology decisions. They will certainly be using their judgement on things throughout any project, so hopefully their judgement is good. I recently came up with something that I think may show how someone thinks. It’s a simple question:

“How would you build a clone of twitter if you could only write 20 lines of code (in any language)”

The answer from a developer may sound something like this:

“I would set up a mongo database with the schema for tweets, and then write a small series of small scripts that can handle the functional requirements in a lisp-like DSL I’m working on right now.”

The answer from a new developer, or graphic designer may sound like this:

“I would do a wordpress install and see if we can get some of the social plugins to function like Twitter.”

The answer from a developer who is interested in business objectives:

“Before we do that, we should set up a landing page with exclusive invites only to test the demand for this Twitter-like product”

and so on…

There’s not specifically a right or wrong answer to this question, but based on the type of ship you are on, these answers can be very revealing. This does a lot to check prospective employees as cultural fits. The question can reveal for example, that the developer has a cost-cutting attitude that may be perfect in a services firm, but horrible in a vc funded startup.

Did this tutorial help you?

Support my Patreon

Your support on Patreon allows me to make better tutorials more often.

Subscribe via RSS

iPhone review process

I think twitter has spoiled me in to thinking I can write a one-sentence statement and actually be contributing something to the internet. Maybe it’s time to start writing in my blog more, it’s been 4 months. All I have to say right now though is that I have been incredibly busy for the past 4 months with my clients, and on the side I wrote an iPhone game. The game is sort of a joint project with a friend of mine, and we really probably only spent 3 or 4 working days time to build it. I submitted it to the app store about a week ago, but we are still in the App Review queue. I will report back here any further details on how it goes… It seems like I should be more excited about my first actual product, but somehow I guess I’m not feeling it. Probably because we made it so quickly I don’t even have any attachment to the project. I guess this is more of an experiment with the App Store, and a test of my 2D engine. Well, wish me luck!

Did this tutorial help you?

Support my Patreon

Your support on Patreon allows me to make better tutorials more often.

Subscribe via RSS