tag:blog.edward-kim.com,2013:/posts Edward Kim 2018-07-05T07:38:53Z Edward Kim tag:blog.edward-kim.com,2013:Post/898575 2015-10-21T20:35:03Z 2018-07-01T22:22:38Z Culture:Values::Product:Mission

Many people don’t understand the difference between company culture and values. Values are a set of thing that you say are important and right. They’re very high-level and are a set of ideals that you aspire to have. Generally, they’re immutable and an innate part of who you are. Culture is really just the embodiment of those values. They often come in the form of processes, practices, team structure, how you communicate, traditions, and more. While values are more or less static, culture can constantly change.

In the same way a company’s product is an embodiment of its mission, a company’s culture is an embodiment of its values. I’ve found that one key to building great company culture is to think of building culture in the same way that you think about building your product. 

There’s many ways to build a great culture, but here’s a couple things that can help.

Define your values 

One of the first things we did at ZenPayroll after we hired our first 5 employees was to talk about our personal values. We then discussed which of these we felt were important to have as our company values. Most of our initial hires were engineers, and many of them probably felt at the time that we were wasting a bunch of time talking about our feelings instead of coding. As the CTO, I’m sure I had some of those thoughts in the back of my mind as well. Looking back, this was probably the single most leveraged thing we did as a company. The 6 values we came up with still live with us today and are the bedrock on which our culture is built on. Having strong and clear values that everyone commits to is a prerequisite to having a great culture. Strong values espouses a strong culture. Weak values espouses a weak culture. 

Measure and iterate your culture

In the same way that we measure product NPS, user adoption of new features, and the conversion rate of our on-boarding funnel, we also measure our company culture and iterate based on the results. These culture measurements are done in a surprisingly similar way to how we measure product.

We regularly out surveys we call "ZPulse" that contain a number of culture-related questions that everyone is encouraged to answer anonymously and truthfully. The results are compiled, cut by department, and shared with each of our People Empowerers (our version of managers) with suggestions on what they can do to improve culture. It’s really important to be honest with ourselves about the feedback and proactive about implementing changes.

Culture can seem like a very intangible thing to build in a company, but I find that if you think about culture in the same way that you think about product, it’s much easier to understand and build. 

Edward Kim
tag:blog.edward-kim.com,2013:Post/842416 2015-05-16T21:38:57Z 2018-07-05T07:15:39Z Work

After graduating from college, my first job was as an engineer in the Volkswagen Group Electronics Research Lab. The mission of this group was to build and integrate web services that would improve the driving experience for our customers. I joined Volkswagen because I was excited about this mission, and I worked hard with like-minded people to help usher in the age of internet-connected vehicles. 

I loved every day of work at Volkswagen because of the mission that I was on with my team. But 2 years later, I decided to leave to start my own company. On my last day of work, a feeling of sadness overwhelmed me as I was packing my desk. I probably even cried a little. But it wasn’t just because I would not be there to see the mission I signed up for through to completion. It was more because my colleagues had become my friends and I had to say goodbye to all the wonderful people I had created so many memories with. 

Looking back, I realized a very interesting thing happened: I joined a company to be a part of its mission. But over time, the people I worked with became a bigger and bigger part of what kept me there. By the end of it, I came to the realization that while I still very much loved the mission we were on, the people that I interacted with every day were even bigger factors of why I loved coming into work.

If the environment is just right, the lines between work and life can sometimes blur over time. We join companies and initially get put in teams with complete strangers. We solve problems and celebrate our wins together. We chit-chat in the hall, have a drink together, laugh, fight, and become friends. We sometimes even fall in and out of love with each other.  

Though we may still call it “work”, the people we see every day gradually seeps into our lives. Of course, a lot of life happens outside of work as well, but the boundaries of work and life are not as clear as the hours on our time sheets.

I’m excited to come into work every day. It’s because of the mission I’m on, but it’s more because I love the people I get to be around.

Much of life happens at work. Much of life happens outside of work. 

It happens everywhere.

Edward Kim
tag:blog.edward-kim.com,2013:Post/705552 2014-06-19T19:18:52Z 2016-08-04T19:44:45Z My Company IS a Family

Reid Hoffman et al. recently wrote an article explaining that a company can never be like a family. I respectfully disagree.

My company, ZenPayroll, is a family, and here’s why I think it’s fine to say this.

Firstly, it’s important to remember that when I use the word “family,” I don’t mean the literal sense of the word. “Family” is a metaphor that best describes the sort of relationship we strive to have with each other in the company.

Allow me to draw an example from my personal life. I have hundreds of friends, but I only consider a couple of them close enough to call my brothers. They call me the same. That doesn’t mean we have the same mother and came from the same womb. It’s simply a way to say that my relationship with them is more akin to the one I have with my two actual sisters than it is to most of my friendships. My “brothers” know all about me and I them, just like my real sisters do.

In the same metaphorical way, I use the word “family” to describe the people in my company, ZenPayroll. It doesn’t mean that we’re an actual family. As the original article accurately points out, a company can fire their employees, unlike a real family, who shouldn't fire their kids. It does, however, mean that the relationship we currently have with each other is more than just a team, which is just a group of people bound together only by a common goal. We're probably more like a large group of cousins. 

Here are a few small ways I feel we’re more like a family than a team:

  • We eat meals in the office around the dining table. Seldom do people take food back to their desks. Why? We actually enjoy each other’s company. The conversations one might overhear are eclectic and not typically about work. They can involve a lot of laughter, debate, and are sometimes over a bottle of wine. Our meals are more similar to a family gathering around a dinner table than it is a corporate mess hall.
  • Most everyone has nicknames for each other. Puzzles, Muscles, Numbers, Hustles, Waffles, Bubbles, Banana Slicer, to name a few. Nicknames are not in themselves so special, but they do point to a closer relationship we have with each other than a “colleague” or “co-worker.”
  • We take our shoes off in the office – our office is uniquely us and we try to treat our office with the same level of care as we would our home. 
  • Not everything we do together is all about work. Weekend bike rides, midday runs through the city, and Friday evening wine tasting at Bluxome Street Winery are just some of the things we do together outside of work. This is not "team-building" either. It’s not mandatory fun or company sponsored. Not everyone participates, but many do. It’s natural and fun. We actually enjoy our relationships with each other and want it to be more than professional.

Unlike a team, which must always optimize decisions that will result in the shortest path to their goal, we’ll often optimize decisions to do the right thing for our family. As it turns out, making decisions to protect our family is often the best way for us to achieve our goals as a team.

Perhaps a more accurate thing to say is my company is family-like, but that just doesn’t have quite the same ring as family

Edward Kim
tag:blog.edward-kim.com,2013:Post/608699 2013-11-05T07:05:32Z 2013-11-05T07:05:33Z Why great software shouldn’t be too “magical”

“Any sufficiently advanced technology is indistinguishable from magic”

  --Arthur C. Clark's Third Law

There’s much talk about software that is “magical” and “just works”. But in a world of privacy violations, security breaches, and blatant misuse of user data, software that is too magical can sometimes leave users with a sense of suspicion about how the magic happened. If software claims that it “just works” and tells its users that they need not sweat the details of how it works, they’ll start asking the question: “What cost did I pay for this seamlessness?”

Consider Google Now, a feature on Android smartphones. If I have a flight back to San Francisco today, it displays a notification of my flight status without me having to even ask for it. 

That’s pretty magical. 

But had I not explicitly given Google Now permission to scrape my email inbox for the sole purpose of letting me know my flight statuses, it would also be very scary to me as a user. Suddenly, this would be black magic to me.

If this is true for consumer mobile apps, then it is especially true for software that is providing some sort of business-critical service. Yes, it’s important for software to be seamless, but it’s just as important in today's world to tell the user exactly what’s going on behind the scenes. 

In my opinion, the ideal “magical” software experience goes something like this:

1) Tell the user what you will do and how you will do it.

2) Do it.

3) Tell the user what you did and confirm how you did it.

Does it take away from the magical user experience? Maybe a little. But it also reassures users that you’re taking their information seriously and being good stewards of their data.

This is especially true if they are using your software for the first time and beginning to build trust. Remember that trust is earned over time, through repeatedly delivering on promises, and not given by default.

At ZenPayroll, we do lots of “auto-magical” things on behalf of the companies we run payroll for, including paying their payroll taxes to the IRS and filing quarterly and yearly forms such as the form 941form DE-9 and new hire reports like form DE-34.

We could simply tell the business owner: "Don't worry, we'll take care of everything for you" and leave it at that. With their business and employees' livelihood depending on what we do, the stakes are too high to rely on magic. They start thinking: "What does everything mean exactly?" or "How do I know you haven't forgotten anything?", especially if they've just switched to ZenPayroll and are used to doing everything themselves.

Our strategy is to keep them appraised every step of the way. We'll say things like: "We'll be filing the 941 and DE-9 for you this quarter. Take a look at the form we will file and let us know if you see anything wrong with it. If it looks good, you don't have to do a thing. We'll automatically take care of it all for you by sending it to the IRS." After we actually file the form for our users, we'll let them know through an email and remind them again of what we've done. 

Repetitive? Yes. Reassuring? Hell yes.

Technology enables us software developers to do magical things for our users. Just make sure that you, the magician, reveal your sleight of hand to your users.

Edward Kim
tag:blog.edward-kim.com,2013:Post/578646 2013-05-12T20:57:28Z 2017-07-04T12:49:26Z My last Android app sales figures, and why it's still great to start a mobile app business.


I made quite a sum of money developing and selling apps on the Android market, peaking at $57,000/month (see chart below). Eventually, the business declined, but the rise to the top was an exhilarating feeling -- only it was too short. After the decline of the app business, I jumped back into a new startup, ZenPayroll to look for an equally exhilarating but longer ride. If you want to know what it's like to start a startup, but don't want to spend years of time and your life savings to see what it's like, an app business is a great, low-cost way to get a taste of what it could, or could not be.


In 2008, I started Picwing. With just $15,000 from YCombinator, we made some hardware, then pivoted to software and ran the business for more than 2 years. It was an enduring time for my co-founder and I. More than a year of sweat, blood and tears was initially met with little success. But eventually, we were rewarded with slow but steady growth. After a small acquisition, I eventually left to try my hand at developing and publishing Android apps. My hope was that, compared to Picwing, which took years to build, I could develop and sell an Android app in mere months.

My hypothesis proved correct. Compared to the startup, my experience developing Android applications was much more fast-paced and eventful. It really started with a simple app I wrote called Car Locator in August 2009. After 2 months of publishing it, I was stoked to share in November 2009 through a blog post that I was making enough money to pay for my lunch. Things really started to take off in March 2010. You see, at that time Android was still a very small platform and many questioned its competitiveness with the iPhone app store, so many were surprised and delighted when I shared my success story of making $13,000/month in app sales. The news sent ripples through the tech community, and Car Locator came to be featured in magazines, radio shows, blogs, and even Verizon TV commercials. All this in just 6 months. As Android continued to grow, so I continued to ride the wave by developing and releasing more apps. The business reached a peak when I was doing $57,000/month in Android app sales.

I was stoked during my entire Android app journey. Watching these numbers grow week by week, and scheming on what I can do each week to affect it became my daily obsession and joy. In many ways, the ups and downs of my Android app "startup" was similar to that of Picwing, except things were measured in weeks and not months or years.

But things that rise quickly fall just as fast. My Android business was no different. The interesting part of the app business ended after less than 12 months and I was left thinking how I wished the ride was just a little bit longer. 

Richard Foster's book, Creative Destruction, shows that the average lifespan of a company in the Fortune 500 is about 15 years. How I wished my Android apps could have lasted 15 years! Unfortunately, due to the laws the govern app store rankings, which are set in place to incentivize developers to push "new and noteworthy" apps, the lifespan of a successful app business is significantly shorter -- on the order of 12 months.

And that's when it hit me.

Starting an app business is just like starting a "normal" startup like Picwing, only the timeline from start to finish is significantly compressed. The amount of financial investment you'll have to make is significantly lower as well. Of course, so will the potential financial reward, but I believe many of the lessons and experiences that took me years to acquire at Picwing, I could have acquired in mere months by starting my Android app business first. Most first-time founders will fail at their first startup -- the important thing is that if you fail, you fail fast and learn quickly from your experiences. Mobile app development is a great way for founders to take their first swing at building a company without risking a ton of time and money.

If you're thinking of jumping into starting a startup someday, and you're curious to experience what it's like before really diving in, I strongly suggest starting an app business first. You'll get most of the experiences -- good and bad -- in a much shorter period of time. If you like it you'll probably love doing a real startup.

ZenPayroll is culmination of my past 2 startup experiences and what I know will be my life's best work. I look forward every day to the new features we'll build and the customers we'll delight. But at the same time, I'll always look back at my 2 startup experiences with fondness and appreciation for what I've learned.

Edward Kim
tag:blog.edward-kim.com,2013:Post/209458 2012-03-12T01:15:00Z 2014-06-24T09:31:05Z Save your your "Draw Something" drawings by taking screenshots on Android

One of my favorite mobile games right now is "Draw Something", a modern spin on the classic Pictionary. 

Recently, many people have started asking me how to save their favorite drawings in this game. The best way is to take screenshots on your phone. Here's how to do it: 

1) Download the app, "No Root Screenshot It" from Google Play. If your phone is rooted, get "Screenshot It" instead. If you don't know what rooted means, get the first app.

2) Once you install and setup the app, start the "No Root Screenshot It" app and then hit the "Overlay screenshot button". This will put a little Android icon on the screen of your phone


3) Start playing "Draw Something". When you see a drawing that you want to save, hit the Android button on your screen. A screenshot will be saved!


4) You can save your drawing to your gallery or share it via Email, Facebook, Twitter, and more!

Pro tip: If your phone happens to have a search button on it, you can hold down the search button to take a screenshot anywhere.

It's really that simple to save your favorite memories in Draw Something. 

Here's a video of it in action: 

Edward Kim
tag:blog.edward-kim.com,2013:Post/209459 2012-03-02T17:16:00Z 2013-10-08T16:05:41Z Brilliant Trick Stack Overflow Uses to Make You Register Using Your Facebook Credentials

Many services push users to log in/register using their Facebook credentials so they can get additional demographic information about them. Only if you absolutly don't want to sign in using 3rd party credentials will these sites begrudgingly allow you to register using the traditional pick-a-user-name-and-password form.

StackOverflow has a particularly cunning way to get you to register using your Facebook credentials. 

StackOverflow's signup page starts out like many others -- they strongly encourage you to sign in using Facebook, but also put a link to their traditional sign up page

Generall a private person, I usually decline to sign in using my Facebook account, so I navigate myself to their traditional signup page. It looks like a standard signup form at first, but then I quickly realized their password requirements are just plain ridiculous. Your password on StackOverflow needs to: 

  • Have at least 1 uppercase letter
  • Have at least 1 number
  • Have at least 8 unique characters

Really?! Have at least 8 unique characters?! Even my bank doesn't require this much complexity in a password. And we're talking about StackOverflow here -- a site that doesn't really store any valuable personal information like credit cards. 

Discouraged by having to invent a completely new password just for this site, I decided to
hit the "back" button on my browser and just sign in using my Facebook credentials. 

This seems like a brilliant tactic to get more users to sign in using 3rd party credentials. I wonder what percentage of SO users sign in using Facebook, and how this compares with others. 

EDIT: I was informed by someone at Stack Overflow that this in fact was not their intention at all. Futhermore, they don't use any of their user's Facebook profile data. I now realize it was a bit of a stretch to say that Stack Overflow engineered their UX in this manner.

Regardless, the strong password requirement DID convince me to sign in using my Facebook credentials, and I'm sure it will convince others as well. In conclusion, I think a very strong password could actually funnel users into signing in with 3rd party credentials.

I should also say that I'm not complaining about SO's strong password requirement. 

EDIT 2: I also didn't realize until now that Stack Exchange is an identty provider, in which case the strong password requirement completely makes sense. You shoud probabaly just disregard anything I said in this post, as I clearly didn't know what I'm talking about :)

Edward Kim
tag:blog.edward-kim.com,2013:Post/209460 2011-08-31T23:34:00Z 2013-10-08T16:05:41Z Camera Translator

Pretty soon, I'll be taking a vacation in South America. Unfortunately, neither my friends nor I know a lick of Spanish or Portuguese. 

Camera Translator is a new Android application I wrote that lets you translate text into any language, simply by taking a picture of it. It's really the easiest and most accurate way to translate text using your camera

Here's a video of it in action: 

Translate text using your camera by getting the app on the Android Maket

Edward Kim
tag:blog.edward-kim.com,2013:Post/209463 2011-08-18T17:16:00Z 2016-07-17T21:41:35Z Copy Text Anywhere on Android -- Root Not Necessary

I love Android, but copying text is one feature I've always found lacking. With the removal of the track ball on most newer Android devices, selecting text to be copied has gotten even more frustrating. 

"Copy Text" is a new Android application that lets you copy text of ANYTHING on your phone. I can try to explain in words, but I think a video will do it more justice: 

As you can see from the video, you can literally copy anything into your clipboard. If the text is visible on your screen, its able to be copied into your clipboard. You can even copy images of text into your clipboard and "Copy Text" is smart enough to extract the text from the image. 

The best part about this? It does not require you to root your phone. There is a one-time setup process you need to go through that involves connecting your phone to your computer, but there are easy-to-follow instructions that come with the app to walk you through the process. Essentially, "Copy Text" is a non-root version of a similar app I released called "Copy Paste It". If you have a rooted phone, you should still get the "Copy Paste It" app, as it does not require you to go through the setup process that "Copy Text" does. 

Get the app on the Android Market

Edward Kim
tag:blog.edward-kim.com,2013:Post/209465 2011-08-17T20:11:00Z 2013-10-08T16:05:41Z Car Locator integrates with Evernote

Great news for Evernote users! Car Locator is now fully integrated with Evernote!

Here are just some of things you can do in Car Locator now: 

  • Automatically send and sync your locations to Evernote.
  • Send/sync your location notes and photos to Evernote.
  • Import your geo-tagged Evernote locations into Car Locator so you can navigate to them using Car Locator.
  • Tag your locations with your Evernote tags.
  • See your locations anywhere you have access to Evernote, whether it be on the web, your phone, or tablet.

Get the app today on the Android Market

Edward Kim
tag:blog.edward-kim.com,2013:Post/209467 2011-06-23T20:30:00Z 2013-10-08T16:05:41Z Announcing HandsetCloud.com

The phenomenal growth of Android has been a boon for most Android developers -- Android devices are everywhere, from phones to tablets to TVs, from many different manufacturers and carriers, and with many options for customization. But it’s also had the side-effect of making it more difficult to find out if your apps work on most, if not all these devices. There are more than 400 Android devices out there, each unique in their own way, and trying to get your hands on the actual device to test on is sometimes inconvenient. Many times, a user will report that the app doesn’t work on his/her phone, but the developer is helpless to fix it if he/she doesn’t have that phone readily available. I’ll be the first to admit walking into a Verizon store, telling the sales rep I just want to have a look around, when I’m really trying to debug my app on a display phone.

Today, I’m happy to announce something that will help make testing and debugging better for Android developers: HandsetCloud.com.

HandsetCloud.com lets you rent from an array of Android devices and access them right from your browser. The device’s screen is transmitted to your browser and any touch or keyboard events are transmitted to the device from your keyboard and mouse. You’ll get instant access to any available device without the hassle of buying and maintaining it. No software or plugins to download. No expensive monthly fees. Just use your browser and only pay for what you use. 

Now go fix all those device-specific bugs!

Edward Kim
tag:blog.edward-kim.com,2013:Post/209469 2011-06-17T19:51:00Z 2013-10-08T16:05:41Z A screenshot app for Android that doesn't require root

"No Root Screenshot It" is a new application just released on the Android market that allows you to take screenshots on your unrooted phone. You heard correctly, a no-root screenshot app for Android.

Before getting into the details, let's cover a little background on screenshots for Android. Taking screenshots on your Android phone has always been allowed on unrooted phones -- it's just been a bit of a pain to do. Once you install all the necessary software, including device driversadb, and eclipse, you used a tool called ddms to actually take the screenshots. Furthermore, your phone needs to be physically connected to your computer to take the screenshot.

"No Root Screenshot It" is an application that essentially does the same thing, but in a much simpler way. You simply install device drivers (for Mac users, this automatically happens when you plug your phone into your computer), and then install and run a desktop application called "Screenshot It Enabler". Once you do this, you can take screenshots on your phone whenever/wherever you want. There is one catch though -- each time you restart your phone, you need to re-run the desktop application, because your phone "forgets" its ability to take screenshots. 

The Pros: 

  • Take screenshots on your phone without root!
  • Take screenshots anywhere, even without being connected to a PC
  • No system files are altered on your phone, so you won't run the risk of voiding your warranty by rooting

The Cons:

  • Desktop application is required to enable screenshots on your phone. The good news is that this is only a one-time process, until you restart your phone
  • Each time you restart your phone, it "forgets" its ability to take screenshots, so you have to run the desktop application again.

If your phone happens to be rooted, the normal "Screenshot It" application is still a much simpler way to go, as it doesn't require the desktop application. If however, your phone is not rooted and you absolutely need to take screenshots, this app is for you! Obviously, if you're one of those people who restart their phones frequently, this app might prove to be too inconvenient for you.


App can be found here

Here are the complete steps on how to take screenshots on your un-rooted phone using this app: 

  1. Make sure you have the necessary device drivers installed on your computer. You can find device drivers for your phone here. If you have a Mac, you can skip this step.
  2. Turn on "USB debugging on your phone" by going to "Settings > Applications > Development > USB debugging" 
  3. Plug your phone into your computer using a USB cable. If a message pops up on your phone asking to turn on "USB storage", do NOT do so.
  4. Download and install "Screenshot It Enabler" onto your computer. You can find the installer files here.
  5. Once installed, run the "Screenshot It Enabler" application and press the "Enable Screenshot" button
  6. Disconnect your phone from your computer and start the "No Root Screenshot It" app on your phone. You can now take screenshots!


Don't like to read? Here's a video summary. 

      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209472 2011-05-31T22:30:00Z 2016-08-23T07:26:36Z Video of Screenshot It in action!

      Checkout the video tutorial I made for Screenshot It. 

      Also, check back next week for an important Android revenue update!

      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209473 2011-04-06T02:34:00Z 2013-10-08T16:05:41Z Take screenshots on unrooted Motorola Atrix

      "Screenshot It" has been updated to allow UNROOTED Atrix users to take screenshots!


      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209474 2011-03-17T22:16:00Z 2013-10-08T16:05:41Z My "Last Call for Google I/O" Contest App - Barfing countdown clock game

      This year, Google I/O tickets sold out in less than an hour. For us developers who were unable to get a ticket in time, Google is currently holding a series of contests to give away 100 of the much-coveted tickets.

      Yesterday was the first day of the competion, where 10 Google I/O tickets were being given out to developers able complete the following challenge: 

      "Make an Android app to get developers jazzed for I/O by filling the screen with the bouncing-balls countdown clock on the front of the Google I/O 2011 site. It has to be an APK, and no fair using WebView. We'll give preference to smaller APKs over larger ones; show us how to do a lot with a little. Extra credit for bouncing bugdroids or other creative flourishes!"

      I thought this was a fun challenge, as it reminded me of the good ol' days of CS classes in college where we had to be sure to complete the basic requirements, but were given the liberty to add little fourishes and embellishments for extra credit. 

      I decided to have a little fun with it: In addition to a countdown clock that barfs balls each second, I incorporated the orientation sensor so that the user can tilt the phone to control where the balls bounce. Finally, I turned the app into a game where you get points for manuevering the bouncing balls into the mouth of BugDroid. 

      If you'd like to check out my submission, download the APK here.

      There are still 9 days of contests left, which means 90 tickets are still up for grabs! Learn more about the contest here: https://sites.google.com/site/lastcallforio2011/Home

      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209475 2011-03-03T22:08:00Z 2013-10-08T16:05:41Z New App: Scare And Share

      We've all fallen victim to our share of "scare" apps: A friend hands you their phone asking you to take some "test" that promises to measure your IQ. Then, halfway through the test -- just as you're staring deeply into the phone -- the app pops up some gory image, scaring the crap out of you. 

      Well, I thought it was time for me to do something about it: Make my own. 

      Scare and Share is your typical "prank" app with a little twist: Right before you're about the get the living bejesus scared out of you, the app secretly turns on the front-facing camera and begins recording your reaction. After you've been pranked, the app shows you your "reaction video". You and your friends can have a good laugh out of it, and you can post the video on Facebook to publicly embarass yourself or others. The app is available now on the Android market for $1.99

      Here's the QR code for the app on the Android Market

      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209476 2011-03-03T00:25:00Z 2013-10-08T16:05:42Z Car Locator wins 1st place in Verizon's Power Your App Contest!

      It's official!

      Thanks to your help, Car Locator has won 1st place in Verizon's Power Your App contest! In addition to winning a $50,000 cash prize, it gets: 

      • 200% of application revenue for 12 months on the VCAST app store
      • Featured status on the VCAST app store
      • Featured status on the Verizon section of the Android Market
      • A trip to Mobile World Congress in Barcelona, Spain

      Unfortuantley, I was on vacation in Vietnam with friends during the Mobile World Congress so I sent 2 of my good friends.

      Smarter Alarm also was a finalist in the contest, winning a $10,000 cash prize.

      Thank you again for your support!

      Full winner list

      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209477 2011-02-07T11:23:00Z 2013-10-08T16:05:42Z Smarter Alarm Video

      Here's a short video I whipped up for my Alarm clock app, Smarter Alarm. There have been a lot of features added since this video was made (such as reading your latest Gmail messages), but hopefully you'll get an idea of what Smarter Alarm is capable of. In case you are curious, the sexy TTS voice that I'm using is from SVOX, and her name is Victoria.

      One last thing: If you haven't voted already, please vote for Smarter Alarm in Verizon's Power your App contest. If you have a Droid Incredible, Galaxy Tab, or LG Vortex, you can vote by opening up the VCAST App store and downloading/rating the app. Incidentally, while the contest is still on, you can get the full version of the app for FREE through the VCAST store (until tomorrow only).


      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209478 2011-01-27T06:14:00Z 2013-10-08T16:05:42Z Smarter Alarm and Car Locator are finalists!

      Thanks to your votes, 2 of my apps won their respective categories in Verizon's Power Your App contest! Car Locator won the Lifestyle category and Smarter Alarm won the information category. There are cash prizes associated with each category winner so I'm quite happy now!

      However, there is one more round of voting in the contest: Each category winner is pitted against each other and Verizon customers vote to pick the best overall application (based on rating). If you have the V CAST app store available on your Android device (i.e. if you have a Droid Incredible, LG Vortex, or Galaxy Tab), please download and vote for "Car Locator" and "Smarter Alarm". Thanks so much!

      Smarter Alarm

      Smarter Alarm is a better way to wake up every morning. Instead of hearing an annoying alarm, you.ll wake up to the soothing voice of a robotic British woman who will read personalized information to you. Would you like to know if you'll need to dress warmly today? How about the score to last night's NHL game? Smarter Alarm will read information that's important to you, such as weather, sports scores, stock prices, your Google calendar events, Facebook birthdays, and the morning's headline news.

      Car Locator

      Save your location when you park, and Car Locator will navigate you back. Annotate your location with notes and photos. You'll be navigated back to your car using radar, map, or split views. A parking timer even alerts you when you've been parked for too long and are in danger of getting a ticket. Save and retrieve multiple locations, and even send your location to another phone.

      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209479 2011-01-18T02:01:00Z 2013-10-08T16:05:42Z Please vote in Verizon's Power Your App contest!

      Great news!

      All 3 of my submissions to Verizon's app contest made it to the semi-final round! I've worked pretty hard on these apps, and I'd really appreciate if you can vote for me at www.poweryourappcontest.com. You have to sign-in, but I could *REALLY* use your votes. Thanks for your votes!

      Here are my apps and a short description of what they do

      Smarter Alarm is a better way to wake up every morning. Instead of hearing an annoying alarm, you.ll wake up to the soothing voice of a robotic British woman who will read personalized information to you. Would you like to know if you'll need to dress warmly today? How about the score to last night's football game? Smarter Alarm will read information that's important to you, such as weather, sports scores, stock prices, and the morning's headline news.
      Audio Photo works just like your normal camera, but it records audio a few seconds before and after the photo is taken. It adds another dimension to your photos by adding ambient sound to your photos. You can view/hear your audio photos on your phone or send them to others via email, facebook, and more. When you share your audio photos, they get sent as a single-framed video file with sound.
      Save your location when you park, and Car Locator will navigate you back. Annotate your location with notes and photos. You'll be navigated back to your car using radar, map, or split views. A parking timer even alerts you when you've been parked for too long and are in danger of getting a ticket. Save and retrieve multiple locations, and even send your location to another phone.
      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209480 2011-01-16T03:10:00Z 2016-03-15T07:52:22Z Smarter Alarm for Android

      Like many, I use my phone as an alarm clock to wake up every morning. After hearing the annoying beep-bloop-beep of my alarm, the first thing I do is grab my phone and read from it information most important to me: Stock prices, weather, appointments, sports scores, and the news. Eyes half-opened and blurred vision, this is not a pleasant experience on a 3.7" inch screen. 

      That's when I decided to write Smarter Alarm, an application that will read to me all the information I want in the morning when I wake up. During the night while I'm asleep, Smarter Alarm scours the web for information that I'm interested in and when it's time for me to wake me up, it reads me what I need to know. 

      Here's what it sounds like: 

      You can bet that if there is a feed or API for something, Smarter Alarm can read it to you. For now, Smarter Alarm can do the following list, but more feeds will come in future updates: 

      - Local weather: Current and forecasted

      - Stock prices: Major indexes and your own custom portfolio

      - Top news headlines: World, US, UK, business, science/tech, health, sports, entertainment, and your own custom search topics

      - Sports scores: NBA only for now

      - Today's birthdays among your Facebook friends: Requires you to grant Facebook API access

      - Today's Facebook events

      - Your own custom RSS feeds

      I have tons more features and feeds planned, but you can get a free early version of the app now on the Android Market! 


      Almost forgot one last thing: I entered the app in Verizon's Power Your App Contest. If you're a developer, please vote for Smarter Alarm! http://www.poweryouappcontest.com

      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209481 2010-10-28T00:42:00Z 2018-07-05T07:38:53Z Selling shovels to Android gold miners

      I’ve developed many Android applications, the most notable of which is Car Locator which some argued marked the start of the Android gold rush. To aid common issues/annoyances in selling my Android applications, I developed several tools along the way that were immensely helpful in increasing sales. It occurred to me that other Android developers face similar issues and could benefit from these tools as well. I’ve packaged them up and released them at www.androidlicenser.com. Here are some of the issues I faced, and how AndroidLicenser solves each one:

      1)      Application Piracy

      Problem: Stealing apps is trivial. just do a google or twitter search for your application’s .apk file and it’ll be posted somewhere on the internet. A user need only to copy this .apk file to his/her phone to pirate it. I collected some data and found that Car Locator had an 80% piracy rate. That is, for every 1 person who bought the app, 4 people were pirating it. Google did release a licensing system, but as they posted on their blog, it has already been cracked.

      Solution: AndroidLicenser uses an “Activation Code” client-server licensing scheme. Since all purchases go through Google Checkout, the AndroidLicenser servers will poll your Google Checkout account (your provide your merchant credentials) every 5 minutes and generate and email a unique activation code to any user who recently purchased your application.

      Within the first 24 hours of first using the application, the user must enter this activation code into the application itself. If the licensing server finds that the activation code is valid, it will grant a permanent server-based license attached to the hardware id of the device/phone. Every time the application is started, the phone/device checks in to the licensing server to ensure that a license exists for the hardware id. If a license does not exist for the hardware id, the application will prompt the user to pay for the application. Since an activation code is only generated for those users who actually made a purchase through Google Checkout, and since a license can only be generated using a valid activation code, pirates won’t be able to steal your application. We provide a client library that makes it simple to integrate this into your Android application.

      There are several other issues that are addressed in this licensing scheme, such as the 24-hour refund policy, users changing phones, no internet connectivity, and annoying paying customers too much. However, for the sake of brevity, I’m going to talk about how they are addressed in a future posts on the AndroidLicenser blog

      2)      Availability in Different Countries

      Problem: Paid applications are only available in 14 different countries. That’s only a very small percentage of the total Android users that developers are allowed to sell their applications to. I used to get daily emails from someone in a different country asking if they can send me money through Paypal in exchange of me emailing them the .apk file.

      Solution: Android Licenser allows developers to sell their application in any country that Google Checkout is accepted (almost all countries). You simply upload your application’s .apk file to AndroidLicenser and set a price. A storefront will be setup where users can pay for your application with a credit card and be taken to a secure link where they can download your application’s .apk file. If you are using the “Activation Code” licensing scheme, you won’t have to worry about the user sending the .apk file to someone else because it won’t work without an activation code anyways.

      3)      70/30 Revenue Share

      Problem: Google takes 30% of any sales you make on through the Android Market

      Solution: AndroidLicenser lets developer keep 100% of the revenue. Of course, Google Checkout will take their normal fees, but these are standard for any credit card purchases.

      I’ve used AndroidLicenser for my own applications for the past 2 months and have seen an increase in revenue of about 150% -- from $4,000/month to $10,500/month. If you’re curious to learn more, or want to start making more money on your Android app, you can learn more about how AndroidLicenser works. I’m sure that you’ll be delighted with how much more money you will be making!

      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209482 2010-08-02T23:01:00Z 2013-10-08T16:05:42Z Copy/Paste for Android Phones

      One of the complaints I hear most often from Android users is the inability to copy text from an operating system level. The ability to copy text varies from app to app, and unfortunately, most apps don't have this ability. I love coming up with creative solutions to seemingly impossible problems, and this was one that I thought was worth solving. 

      My 2nd Android application is called "Copy Paste It", and it's available on the Android market now for $3.99. The app "mimics" copy/paste functionality on your Android phone in the following way: When you want to copy text, it takes a screenshot of your current screen. Then, it runs a modified OCR (Optical Character Recognition) engine on the screenshot to extract text from the image. Finally, it copies the recognized text into your clipboard. Roundabout? Sure. Solves the problem? Yes.

      Here's a video to see it in action: 

      There's a couple disclaimers to this. First, it requires a rooted phone. Taking a screenshot is something that is not possible on a stock Android device. By having your phone rooted, the app can get access to your phone's screen. Secondly, accuracy is not 100%. The OCR engine is not perfect and hasn't been optimized for recognizing screenshots, but I've been making tweaks to it to improve the accuracy. 

      If you watch the video carefully, it almost seems like the copy/paste functionality is built into the operating system, when in reality, it's just another app. Kudos to the openness of the Android operating system, which has made this possible.

      I'm hoping to follow on the success of my original Car Locator application. If noteworthy, I'll follow up here with some revenue numbers on this app. In the meantime, I would love to hear your thoughts on this Copy/Paste solution for Android! You can find it by searching for "Copy Paste It" on the Android Market or using the links below: 

      Market Link: http://market.android.com/search?q=pname:com.edwardkim.android.copyscreentextfull

      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209483 2010-03-02T00:40:00Z 2013-10-08T16:05:42Z An Android Success Story: $13,000/month App Sales

      Since releasing the “Car Locator” Android application about 5 months ago, I posted twice before with sales figures on the Android Marketplace. First, when I got excited after it averaged $20/day for a few days, and second, after winning third place in Google’s sponsored contest, the Android Developer Challenge 2. In both posts, I was a really happy camper because what started as a little side-project while I was vacationing with my family, turned into a few extra bucks for lunch money every day. I feel incredibly lucky to be able to say the app has continued its upward trend and is now beyond my wildest fantasy of what could have been possible. So without further ado:


      • About 70,000 downloads of the free version.
      • 6,590 downloads of the paid version
      • Price of the app was raised from $1.99 to $3.99
      • The app steadily climbed the charts, briefly reaching a peak of #4 in the Travel category for paid apps.


      • The application was netting an average of about $80-$100/day, until it became a featured app on the Marketplace. Since then, sales have been phenomenal, netting an average of $435/day, with a one day record of $772 on Valentine's Day. Too bad I didn't have a Valentines date this year -- we would've gone somewhere real special!
      • There appears to be clear peaks on the weekends and during holidays. This was always my hunch, but I think I can finally say this with certainty since the signal-to-noise ratio is much better now.
      • Some may be quick to point out that a featured Android application is only able to net $400/day, while top iPhone apps make thousands. But the Android market appears to rotate applications in and out of the featured apps list in some psedo-random fashion. Every time I open the Marketplace app, the featured list is different and most of the time, I don’t even see my app on there.
      • The price of the application was increased from $1.99 to $3.99. I ran a few price experiments and was surprised to see that though I doubled the price of the app, the number of purchases decreased by much less than half. Android users appear to have a willingness to pay more than a couple dollars for apps.
      • Piracy appears to be an increasing problem. A quick search for Car Locator on Twitter reveals links where people can download the .apk file without paying. I tend to have the same attitude on piracy as Balsamiq, so I'm not too worried about it, but I would love to hear some typical statistics on Android piracy.

      Clearly, I'm on cloud 9 with these numbers, but where does it go from here? Sales of about $13k/month is awesome income for any one person, so it may sound ridiculous for me to think it can go even higher. However, I still think that Android is only a fraction of what it will eventually become. Each release of a new Android handset gets me excited, as it means a wider reach for the Marketplace.

      If Android development is something you've been mulling over, I encourage you to make the leap. Though my experiences are clearly not typical, I definitely think Android is the ideal platform to be in for an individual developer.

      I'll post again in a month or so with hopefully even better numbers!

      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209484 2009-12-03T09:29:00Z 2013-10-08T16:05:42Z Android Sales Figures After Placing 3rd in the Android Developer Challenge 2

      I posted a few weeks back on my Car Locator Android app sales figures. I was pretty excited when my app netted a record $44.00 in sales shortly after it was announced that my app made the final round of the Android Developer Challenge 2. I was hopeful that sales would settle around $20/day, and was content with the app making just enough money to pay for my meals everyday.

      It's been an exciting 3 weeks since then. One of the highlights of my day is logging into my Google Checkout account, tallying up the number of sales of my app, and plugging the number into my excel sheet every evening (yes, I know, I live a simple life). Last week, I released version 2.0 of the app with a lot of new features. But the really exciting news came when I heard from Google that my Car Locator app placed 3rd in the Travel category of the contest, winning me a nice $25,000 prize.

      Needless to say, things are looking up for Car Locator and I couldn't be happier with the way things turned out. I'd like to share with everyone some updated numbers since my last post.


      • About 39,000 downloads of the free version.
      • 959 downloads of the paid version at $2 each.
      • At last check, the app was ranked #14 in the Travel category for paid apps.


      • I recently discovered a bug in the free trial of my app that caused it to never expire, making it essentially the same as the paid version of my app. Oops! Amazingly, people were still buying the full version. This has restored my faith in humanity.
      • The spike around November 23rd coincided with the release of Car Locator 2.0.
      • The spike around December 1st coincides with all the press/blogs covering the ADC2 winners (for example, here, here, and here). Sales for the past 3 days have exceeded $100/day, with the record being December 2, at $156.00.
      • Having a visible position in the Android Market is vital to the success of the app because there aren't many avenues for an Android app to get exposure other than the Android Market. Your rank on the Android Market appears to be some combination of your average rating and number of downloads. Obviously, this is sort of a chicken-egg problem for developers. The recent string of fortuitous events for my app was enough to push it into a high enough position to get enough visibility. I hope it's able to stay there.
      • Sales of the app is still nothing I can live off of, but it's definitely paying for more than meals at this point, and is providing some nice extra income. Especially after winning $25,000 from the contest, I now owe a lot of dinners to friends!
      Edward Kim
      tag:blog.edward-kim.com,2013:Post/209452 2009-11-12T21:50:00Z 2016-05-14T08:20:33Z My Humble Android Sales Figures

      Posts on the Apple app store sales are pretty easy to find, but I haven't seen many Android developers sharing their sales figures. Though I wish I had some more exciting numbers to share, I thought people might be interested in hearing my sales numbers anyways.


      Before diving into the numbers, lets put things into context.

      • Car Locator is a pretty straightforward app: Save your location when you park your car, and the app will navigate you back to your car later. I've also heard of it being used to locate hiking trail heads and for Geocaching. The app goes for $1.99 on the Android market.
      • There is also a free version of the app.
      • I've done no marketing on the app.
      • The Motorola Droid phone was also released on November 6.


      Car Locator has been on the market for a little more than 2 months. Since then, I've seen:
      • About 23,000 downloads of the free version.
      • 220 downloads of the paid version.
      • At last check, the app was ranked #21 in the Travel category for paid apps.

      • In the first 2 months, the app saw sales of about $5-6/day. Nothing too fancy. But starting November 7th, there's been a significant uptick in sales, peaking on November 9, where the app saw $44 in sales.
      • Sales have since settled to about $20/day, but it's probably too early to tell if this will hold.
      • I'm attributing the recent uptick in sales to 2 factors: (1) The release of the Droid phone and (2) Car Locator being in the final judging round of the ADC2 contest. It's impossible for me to tell how much of factor each of these play, since both events happened on the same exact day, but I would be interested to get some more data points from other developers.
      • Ironically, it seems to me that it's easier to get exposure as a paid app rather than a free app. Here's why: When you open the app store on your phone and select a category, the app store first shows you a list of paid apps in that category. Car Locator is the 21st app on the list in the Travel category -- It's pretty easy for someone browsing the store to see the app. However, if you select the "Free" tab, I can't even count how far down the list the free version of Car Locator is -- No one would really find the free version of the app without explicitly searching for it.
      • Though sales of the app is nothing I can live on, it is kinda cool thinking that the app has been covering the cost of my meals recently. It's nothing compared to the stories you'll hear on the Apple app store, but I personally beleive that with the release of many new Andoird-based phones, Android has more long-term potential than the iPhone.
      Edward Kim