Brief Look Back at My 2013

There was a lot that happened in 2013. Here are some of the highlights!

I learned a thing or two about Marketing

Being a part-time indie developer, I am used to just focusing on the technical aspects of making apps etc. At the beginning of 2013, I figured out that this is just not going to fly anymore. Apps we made under M2D2 were doing badly due to our lack of marketing knowledge. We honestly couldn't find anyone who was as passionate and driven to do some marketing, free, on the side. At the end of the day, I learned to how to make a better app: one with a story.

We ended up increasing our sales by a whopping 100%. When you start at a couple of dollars, jump is significant!

M2D2 became a company #winning

Suneth & I made the best app we ever made to date. I managed to buy myself an iPad Mini Retina from my earnings as an indie app developer!

I made 2 YouTube videos

Back when I was a teenager, this was a huge passion of mine. I wanted to make videos. Eventually this got sidelined with other priorities. I finally got an opportunity to try it out with the introduction of our 60Hz app's second version. We decided we needed a video as part of my own marketing plan. Having no budget set aside, I did it myself.

I Learned Ember.JS & SASS

One of the coolest frameworks around right now -- Ember.JS. If you haven't tried you really ought to. It is hands down the best JS framework ever made to date (that I've read about / tried). We decided to adopt it at Vigil for our next project.

I bought a bicycle + UP band. Lost some weight as a result. Went to a Coldplay concert. Had many birthday cakes. Significantly reduced my time on Facebook. Kept up my hate for Samsung. Tried Airbnb. Got into UX properly. Rekindled my love for Rösti.

I decided love is worth the sacrifices #YOLO

Most of all, I had a GREAT TIME.

 

There's a lot coming in 2014 to look forward to. New product launches, app launches, Europe trip, remote working and much more.

My new year's resolution for 2014: READ LONGER, WRITE OFTEN.

Making Safari Suggested Passwords Sync with Chrome

With the latest OS X Mavericks, Safari browser introduced a very convenient way of generating safe, random passwords when you sign up for a new account with any website. I've started using this feature extensively. It syncs across my iPhone + iPad beautifully as well. Only problem is Chrome...

Right now, I have a manual solution. Turned out to be a little easier than I thought:

  • If you open up the Keychain app on the Mac, You should see two items of interest: "login" and "iCloud". Chrome picks up passwords from Login.
  • Go to iCloud section, arrange by modified date.
  • Select all the recent signups and do a CMD + C (copy).
  • Navigate to login section and do a CMD + V (paste). It's prompt you for your Mac password, go ahead and enter that.
  • Chrome should now pick up the passwords automatically, sync across to all your Chrome browsers from now on.

Why make an iOS app first?

This is a regular discussion that happens under every article on The Verge about some new iOS app. So far they are all flames thrown at each camp. This poster had a really good answer with good supporting facts. I thought it was worth sharing:

mfocazio

It’s not “gibberish” – it’s fact:

1. Android users spend less time with apps. http://www.businessinsider.com/android-users-use-apps-less-2013-6
2. Android users are less likely to pay for apps: http://phandroid.com/2013/07/19/free-apps-android-users/
3. Android users don’t buy stuff with their mobile devices as much: http://bgr.com/2013/12/02/ios-android-black-friday-online-shopping/

There is a meaningful difference, and if you’re trying to make money in the mobile world, you start with iOS.

Taken from the http://www.theverge.com/2013/12/5/5178432/best-new-apps-level

The only thing I'll add to this is the ease of building and maintaining apps due to a more consistent group of devices with users who upgrade to new versions of the OS regularly.

Don't mistake this for developers not succeeding on Android. That is not true -- plenty of developers make a good living out of Android.

Apps that grow with you

It's difficult to make a good app. But it's even more difficult to make an app that grows and matures with the user: something that starts off basic and overtime, as more knowledge is shared between you and the app, more in-depth features are revealed to appeal to a more mature, advanced version of you.

Thought I had while discovering something completely new after a week of using the Jawbone UP fitness band.

iphone-20130801221737-0.jpg

Ember.JS: How to handle invalid URLs

There’s a lot of documentation for the new Ember Router. However, I found that no one was talking about how to handle the “*” route in Ember, i.e. the routes that don’t match anything.

I first tried to look at the ApplicationRoute but that didn’t seem to throw anything. Ember just sits there with a lovely blank page!

 

ApplicationRoute { 
events: {
errors: function(reason, transition) {
console.log("never happened");
}
}
}

So here’s the easiest solution for handling bad urls. My router looks like this now:

App.Router.map( function() {

this.route('login');
this.resource('companies', {path: 'companies'});
this.resource('company', {path: 'companies/:company_nice_url'}, function() {
this.route('members');

});



this.route('bad_url', { path: '/*badurl' }); // Catch everything else!

});

The last route named “bad_url” will catch all the other unrecognized URLs and direct the user to the App.BadUrlRoute where you can handle them. You will get the URL segment as params.bad_url for you to inspect and offer friendly advice like “hey did you mistype companies?”.

If you simply want to show a page that says “There’s no one here you fool!”, just create a handlebars template:

<script type="text/x-handlebars" data-template-name="bad-url">
<h1>There’s no one here you fool!!!!</h1>
</script>

And you’re done! Any path that doesn’t match your routes will get routed through ‘bad-url’, where you can act on it accordingly.

 

EDIT ON 6TH AUGUST

Marcus in the comments pointed out to me that using path: '/*badurl'  is better due to this handling "/this/is/wrong/path" situations. My initial solution to using a dynamic segment (:bad_url) did not catch this. Thanks to all the commenters!

 

EDIT ON 7TH AUGUST

I have realised that having "*badurl" instead of ":bad_url" has one caveat. I am implementing a funky search route that deals with all URLs past a base route like this: /search/x/y/z/a/b/c . Having the astriks to catch all the bad url's makes it impossible to have a search router which deals with "/search/*search_terms". So there you go... ups and downs to both methods. More on that awesome search route another day... :)

 

Important Considerations Before Naming Your App

If you’re a small time developer, you generally tend to skip steps when it comes to following a proper process on naming your apps / products. Here’s a list of things you shouldn’t be skipping...

Say you decide to make an app to educate people about how bad donuts are. Let’s call this app “Evil Donuts”. Excellent name!

Step 1: Google it.

This is so easy to forget sometimes. Always Google and see what comes up. Then switch over to the “Image” search tab and see what comes up there. If you only manage to get one to three bikini women, it is a good sign! These are the things that would compete for SEO and the things people associate your name with.

Screen Shot 2013-07-07 at 10.32.46 AM.png

Damn it, Facebook Group is taken. Might have to name it “Evil Donuts App”.

Step 2: Domain Search

Domains are important. We need to look for www.evildonuts.com and www.evildonutsapp.com. These are good domains for our app, unless your aim is to introduce a submain on your own site like: www.m2d2apps.com/evildonuts.

Screen Shot 2013-07-07 at 10.34.41 AM.png

Bummer, someone parked it.

Screen Shot 2013-07-07 at 10.35.13 AM.png

I recommend you use https://iwantmyname.com/ to look for names. It checks pretty much every domain possible.

Step 3: iTunes / Play Store

Ok let’s say this is going to be an iPhone app. We have to fire up iTunes and see if an app with that name exist. If it doesn’t great. If it does, you have to decide whether to stick with it. If you do, you can simply extend your name to: “Evil Donuts - Junk Food Eating Tips”. When the user installs the app, you can still name it “Evil Donuts” without Apple freaking out.

Screen Shot 2013-07-07 at 10.36.35 AM.png

Score! No Apps! Just like our 60Hz App!

Step 4: Easy to type?

We never thought about this when we launched “Notes + U”. Terrible name. Worst of all, it was hard to type on the iPhone. iOS keyboard hides the “+” button under 2 levels in the keyboard -- BAD idea. Make sure it is hard to misspell and easy to type out.

Step 5: Trademarks

Disclaimer: This is not in any way legal advice. Get a real lawyer for that. I am not qualified. This is merely personal experience.

CHECK TRADEMARKS! If your app only ever sells 10 copies this is less of an issue. However, if it makes its way up the ranks and you start gaining some love from Google, then you are in for it! “Evil Donuts Inc” is not going to be nice and empathise with your situation. Trademark law, I believe, specifies that once you have a trademark, you have to actively defend it or risk losing it altogether. So chances of you getting a Cease & Desist letter is quite high. Unless you have a strong legal team you will be forced to pull your app from the store when this happens.

Generally you will be forced to take down everything you have related to your beautiful app once you get a letter. Game over.

Interesting things I found out:

  • If you made friends with a law grad, good for you. Love them, buy them dinner, and keep in contact.
  • There's less likelihood on infringing trademarks if the name is descriptive. For instance, if we had named our app “Donut Nutrition Tutorials”, it is quite hard to get a C&D due to its descriptive tone. However, if we called it “DonutNutritionTutes”, then it is still under threat!
  • Generally trademark disputes resolve in the favor of the trademark owner. So you are very likely to lose even if you contest it.

Check the following countries at least:

Screen Shot 2013-07-07 at 10.38.26 AM.png

Cool! Abandoned in 2005!!


Once you are happy, go ahead and create an app in iTunes to stop anyone from taking that name.

Happy building apps. Evil Donuts app never did get made.

 

Getting The Story Right

Products are only as good as the story they tell. Whether it is an app or an electric toothbrush, the creators have to think about how it is going to be a captivating story. If the product cannot form a relationship with another person at an emotional level, then they have no reason to buy it. If no one can find anything interesting to say about what you’ve made, chances are, word will never get around...

Read More

We changed looks. Now we change names. Your favourite TV tracker is now running at 60Hz.

tvQ is 60Hz.

We had a great launch for our latest TV tracking app about a week ago. It's a new app rewritten with all your feedback from 1.0, with a fresh take on TV and movie tracking and of course, a fresh new icon with a sleek new user interface. Now it's time for a new name too!

What are we in essence?

We are all about your TV experience. At the end of a hard day's work (or play...) you sit down in front of your TV for a pause, to escape to another world. Our app is your assistant and your guide on this journey to other wonderful worlds of imagination. The television is the center of this experience and believe it or not, it flips the frames 60 times every second to immerse you deep in this experience. Our app, helps you stay in sync with your TV experiences at all times, which means we're running at 60 frames a second too. So we called the app, simply, 60Hz.

60Hz

We, here at M2D2, want to keep pushing 60Hz in this direction of helping you to get the most out of your television time. We'll be adding new features to make your TV experience more entertaining.

When 2.1 launches, we'll officially change names. When it does, tell your friends. Your recommendation is important to us. We depend on it heavily to keep the app moving forward. We've been prompt to answer all your feedback. We've gotten over 30 emails on the first few days alone! We have a good idea of where we can improve and what we can do in future releases. So keep the feedback flowing...

And spread the word about 60Hz!