439 karma · joined October 12, 2010
Security is something you have to be aware. The easiest way is to just setup the server with https so that the communication is secure. This seems to be the recommended approach for client server communication that Google them self suggested during the Google I/O app security session.
We currently don't use Switchboard for anything where you can manipulate the behavior of the app. Remember, the code that gets executed is still in your control when you build and sign the binary.
We focus a lot on streamlining the development process. We're only two people cranking out code all day. For this reason we want to have one version out there that we're able to maintain. We test the app that it runs on as many devices as possible and crashes as little as possible. The problem with providing old versions is that users then also have support request about old versions. At this point we're getting about 400 emails a day. When a user has an old version, we send him an auto reply to update to the latest before we deal with the problem. Otherwise it's not getting manageable.
I think Internet access is by now default for close to every app. You can always justify it in the app description with Ads, even if you never show a single ad in the app. Another option is to track crashes. Here the same again as before, if a user does not like that the app needs internet access, he should just download a different one. The reason here is that you will not be able to improve your app ongoing if you can't measure what happens.
Linking the analytics together with tests or stage roll outs back to an automated configuration tool is super cool. But again, we're 2 people and we have a pretty good overview of what we're running and what to look at. But I agree that this becomes very powerful when your team size gets bigger and not every engineer is keeping track of all business metrics.
It would be cool when there is a little more data in the about the performance of the app. I think of it like a dribble for app developers that keeps itself up to date. As we're programmers we don't want to maintain it :)
You should talk to my friends from appmonsta. They have a lot of data around apps. Maybe you can work something out.
Most products are build for the web and then ported to mobile. I believe to be successful on mobile you have to think mobile first. Example: Web forms and surveys. There are services like Wufoo that build a great web product, but on mobile it sucks. We have a mobile app and close to all our users use this as their only computer. There is no service for great forms that we just can use.
This is the case for many other products.
These are my thought beside the typical mobile apps. Think of existing services, but think mobile first!
We believe that search is a valid model for a utility app where people actually have a need/problem and can describe it in a search term. Multi language takes a big part to the success of a search strategy. We also translated the app store description to all possible languages, even if we don't have the app available in these languages. The user will then get the english version as default.
For games and social apps growth has to come from within the app as search wont work.
We started with the gold version to see how many people are willing to pay for the app even if they can get it for free. The only difference is a new icon and a pin screen that says Gold. We advertise the app clear in the app store as "Buy this app if you love KeepSafe and want to give the developers money".
We will be adding additional features to the app over time that will then also be premium. The typical freemium business model.
Still good reviews and a good placement in the market makes finding and trusting you easier for the user. But if you don't get up in the ranks or search results there is nothing that gets you anywhere. Where as if you have a viral loop in your app, you can still grow even if you don't rank in the store.
How much value does another similar backend language give?
My thoughts on this would be: Not to much. I would rather look for something that makes you a more interesting engineer. You could e.g. learn to make android apps. That would make you a quite valuable person being able to code mobile frontend and a backend service. Or a backend language/framework that is far different and let's you solve problems that you run into with PHP on high traffic websites. Some companies started using Scala for high performance parts of their service. Or get a good understanding of Apache Lucene a search engine.
But something that is more different from PHP and will make you a more interesting engineer.
We at KeepSafe are two co-founders who are looking for our first engineering hire. We have over 3m downloads and a killer retention. When you're interested to join a smal and successful startup where you have impact and server a lot of users, we should talk. Job post: http://dl.dropbox.com/u/620820/SF%203m%2B%20Startup%20first%...
Salary, equity + benefits. (and yes, we already raised money and have it in the bank)
Contact us at jobs@getkeepsafe.com
I have to agree with what you say. A very inspiring story!
I truly believe that this work can have a huge impact on how we're going to build high scalable companies in the future.
Taking a new approach is at it's time where business plan competitions are not "the way" to go any more.
Great work!
Weather the data source is fault or not, it's Googles mistake that it shows up as first search result in their index.