Learning to make apps (Part I)

Learning to program mobile apps is something I’ve been putting off for years. Until today.

About a week ago, I came up with an idea for a really cool mobile application. After a bit of brainstorming and a lot of designing, almost everything is in place: users who clearly want the product, a wide variety of monetization opportunities, a go-to-market plan, and of course, a really nifty design. I even have a great friend helping with the business side. There’s just one thing missing- the actual application.

After searching around for developers for a few days, it’s becoming clear that a friend’s advice is accurate: “it’s very hard to find a developer to join to develop an idea now, because they can always get a job and earn money.” Dammit, that makes sense.

So I got thinking. I’m always working on little website projects, a lot of which would work better as apps. Most of the ideas I have are for apps, because they’re easy and fun to come up with. I’ve said “unfortunately, I only know how to code websites” in a few separate conversations over the course of the year. I even think that learning to make iOS apps is the excuse I gave myself to justify buying an iPhone.

The answer is clear- it’s time to learn how to make mobile apps.

This post (and series)

I haven’t been publishing anything for a while. The reason for that is pretty simple- I haven’t really had much to write about. People seemed to really enjoy the articles about startups and Gates, and I didn’t really think that monthly updates on how my degree is coming along would have been as interesting.

While a series about me learning to program applications won’t measure up to my previous topics, it might help inspire or guide someone who wants to do something similar. I know that the first thing I did before starting was googling “learning to code apps,” looking for experiences people have had. Moreover, I hope that I’ll start to feel guilty if too much time passes in between updates.

I have no idea where this series is going. I’ll try to include small projects that I’m working on, as well as links to resources which I find useful. The end goal is fitting: to be able to program the original idea I had in mind. It involves the Google Maps API, loading dynamic content based on location, and user accounts. So see you in Part 100.

Starting point

Today has been really research heavy. The first question was whether I should learn to develop native or hybrid applications (an application specifically built for a platform, say iOS, versus an application that is built and then compiled onto many platforms, e.g. iOS, Android, and Windows). While a lot of the information was outdated, the general consensus seemed to be that for the purpose of prototyping and cheap development, hybrid is a good choice. I know that I won’t be an expert C or Java developer anytime soon, so I think I’m fine with fast and cheap app deployment at the cost of performance.

I’ve decided to go with the platform Phonegap (aka Cordova). It allows you to create hybrid applications using web technologies. This part wasn’t really research, it just seemed like every tutorial I came across was aimed at Phonegap.

In order to make a useful application, it seems like what I need is:

HTML(5): creating the markup of the application
CSS: styling the app
JavaScript: controlling the logic of the app, running it
JQuery: animations, loading content
Phonegap (Cordova): wraps the application files, allowing them to be compiled like a native application
JSON: I mean it’s part of javascript, but most of the tutorials talked about JSON, and w3schools has a separate section for it, so I included it here.
API knowledge: I mentioned that I’ll need Google Maps, but it would be nice to know how APIs work in general.

I’m not in a great position. The two technologies I know well from this list are HTML and CSS. However, I’m hoping that my rusty PHP knowledge will help reduce the learning curve.

The first technology to start out with is clearly javascript. The others are either directly related to it or depend on it, and it seems like it’ll be the biggest undertaking here. I’m not entirely sure how much of the language I need to actually learn- I don’t intend to become an expert by the end of this series, but I do want to be able to make whatever application ideas people usually throw around.

When learning PHP and MySQL, I approached it very practically- I learned how to display text from a database, I learned how to change that text, I learned how to search for that text, and so forth. The opposite of this approach, I imagine, would be meticulously going through textbooks about the topic, learning the details of every command. I’m hoping to strike a middle ground somewhere, perhaps a bit closer to the practical approach. I don’t want to just hack together code I find online, but at the same time, I don’t want to spend a year learning before I can make an application.

After spending the night getting started with javascript and fguring out how it works with Phonegap, I’m happy to say that the whole process was surprisingly simple. I can now run test applications on my phone, yay!

My first project

To kick things off, my very first project was a to-do list:


I know I’m supposed to be learning javascript and not CSS, but maybe we can add just a few lines to make it look nicer.


There we go.

The next step is to go back and actually learn Javascript properly, rather than just hacking together code like I did here. See you in the next update!

Good to Great

Regardless of how many business books I go through, the one that I keep referring back to is Good to Great.

The book is based on an interesting premise. Jim Collins and a team of researchers identified and studied eleven companies that made the leap from good to great, and then sustained that greatness for at least fifteen years. Both the results of the study and the way in which Collins presents said results contributed to this book quickly becoming one of my favorites.

What is surprising, considering the simplicity of the ideas presented in the book, is how few companies actually adhere to the principles that were developed based on the findings. The companies that fit the strict criteria that Collins laid out didn’t include the big names that we usually read about (Coca Cola, McDonalds, Microsoft), but rather, the likes of Wells Fargo or Gillette- companies which rarely seem to be brought up in case discussions.

Even more interesting is that whenever you read about a company performing poorly, they are usually in violation of one or more of the principles that Collins found all eleven good-to-great companies shared.

So, what are these principles?

Continue reading

Business @ the Speed of Thought

After reading ’Business @ the Speed of Thought’, my respect for Bill Gates has increased exponentially. That isn’t to say that I wasn’t a fan of his before. I’ve always been impressed by the strategies that Microsoft carried out in its early days, but that doesn’t come close to how impressed I am now. In this book, published in 1999, Gates outlined how information systems, the Internet, and technology in general would change the way that businesses function. Along the way, he made some incredibly accurate predictions, most of which have since become huge industries: smart phones, smart homes, social networks, and an array of other uses for the Internet-a few of which have yet to be developed.

Continue reading

Ideal skills for a startup founder

While reading A Study in Scarlet, I came across an interesting list. Dr. Watson had taken the time to outline Sherlock Holmes’s strengths and weaknesses. Now, here’s the interesting thing about Holmes. He is the ideal detective. He’s dedicated his life to the pursuit of reason and solving crime. If we put it in terms of the 10,000 hours to master a skill rule, he’s invested a lot more than that into the subsets of what it takes to be a perfect detective. Let’s take a look at the list.

Continue reading

What should I do with these startup stories?

I started writing a collection of articles featuring the stories behind how startups acquired their first users about a month ago. While the research got tiresome at times, I enjoyed finding out about some of the lesser known strategies that they used- such as Airbnb’s spamming of Craigslist. Discovering a clever method like that is a lot of fun, and writing about it insures that I have a good resource to refer back to in the future.

Not really knowing what to do with them, I posted them on /r/Entrepreneur.

Continue reading

The story behind Airbnb’s success

Airbnb, the massively popular website for renting out lodging, was last valued at about $10 billion. Not bad for a company that got started in 2008.

It really is a great service too. But that’s not what I’m interested about when it comes to Airbnb. No, it turns out that their customer acquisition methods were quite fascinating. Did they really building a significant portion of their userbase by spamming Craigslist? Let’s take a look.

Continue reading

How Tinder did it

With the wide selection of dating websites and applications that were available in late 2012, it would have been easy to brush off Tinder as just another useless application when first hearing about it.

That would have been a mistake. Today, Tinder is estimated to have over 10 million active daily users. It went from being a new player with lots of competition to one of the biggest in the field. It won TechCrunch’s “Best New Startup of 2013” award. Even if online dating isn’t for you, the methods that they used to accomplish this huge growth are worth looking at. Let’s see how they did it.

Continue reading

What made Groupon work?

Groupon held its first holiday party in the apartment of Ken Pelletier, its CTO. He cooked for the whole company and their guests. The next year, this was slightly less feasable. The company had grown to over 300 employees. And the year after that? Over 5000.

How did Groupon, the deal-of-the-day website, grow so fast despite being based on such a simple concept? What allowed them to become ‘the fastest growing company ever’? What can we learn from Groupon?

Continue reading