installing npm packages locally

By default npm packages should install into local directory and automatically create node_modules directory in your app directory. This was not happening for me, so I worked around it by

1) manually creating package.json file and place it in my main project directory.

{
    "name": "wine-cellar",
    "description": "Wine Cellar Application",
    "version": "0.0.1",
    "private": true,
    "dependencies": {
        "express": "3.x"
    }
}

2) Run

</pre>
npm install
<pre>

The module express was installed locally in node_module folder.

3) After this try doing any project which

npm ls

This lists all the modules installed.

If you have any module installed locally which has not been mentioned in package.json you will get the beow error on trying npm ls

npm ERR! extraneous: ejs@1.0.0 /Users/nivedita/Documents/nodeapp/node_modules/ejs

npm ERR! extraneous: geohash@0.0.1 /Users/nivedita/Documents/nodeapp/node_modules/geohash

npm ERR! not ok code 0

Use :

npm install xxx --save

to automatically add xxx to the package.json

Advertisement

Increasing Android app downloads without spending any money – Part 3 – growth hacking

How do we increase downloads and optimise conversion rates of people browsing app ? Of course, the strategy will vary from sector to sector. But there are few basic rules which one can still follow, to drive more installs of app, based on learnings from part 1 and part 2 .

  1. Ratings
  2. Name of App
  3. Description
  4. Play Store – Screenshots, Promo-text, App Icon
  5. Competition
  6. +1 Button
  1. Week 1 and week 2 strategies
  2. Update Frequency
  3. Be the no. 1 promoter of your app
  4. Follow your gut
  1. Innovative ways
  2. Blogs
  3. Localization
  4. Forced virality


—————————————————————————————

GETTING STARTED – Basic Marketing Strategy and SO

1) RATINGS

This is the most important factor as also mentioned in “factors effecting ranking” . A metric whose results are most visible on the rankings. Google developers themselves encourage  developers asking users for ratings using rate dialogue box. They understand that its too tedious a task for a user to specially go to market, find app and rate.
The right way to ask for ratings is to be upfront, honest and sincere. Ask users for their candid feedback. If you want, you could ask your a user to leave a rating, but dont ask for a specific rating. You could also ask for specific rating without offering any incentive. Whole point of review is to get honest feedback. But don’t forget that by asking feedback, you not only improve app, but also increase rankings, as more the number of good ratings and comments more it rises on the playstore.
The way for asking ratings should be nice and non-intrusive . Here are some Do’s and Don’t s given by google developers :

  • Message examples for asking user to rate

1) Great –

Screen Shot 2013-06-08 at 6.41.49 PM

2) Little sketchy – Don’t be so direct. “Did you enjoy this game? Rate it 5 stars!”

3) Don’t lie to get ratings. “Having fun? Your five-star rating helps us to keep this game updated!”

4) Don’t try and incentivize user to get ratings, that too something trivial like coins. Users hate it! Don’t use wannabe words like doing rating makes you cool.

     Where to place rate notification

  1. Ribbon/ Slide out Menu – With ribbon style navigation menu made official and wide spread use using ABS,. You could have rate app as one of the menu items with developer section as heading maybe. This is non-intrusive way, and doesn’t spoil user experience ever.
    48156844
  2. Toast like Fragment which is clickable. Clicking on it opens google play with your app. Pops up at certain times, like opening app for the 3rd time. etc.
  3. Dialogue box – This one is of course the standard one. Can be intrusive. You can add another nuetral button or checkbox – “never ask me again” which can be clicked if user does’t like to be reminded to rate app ever again.
  4. Button – if you have a dashboard type UI (though its a passe now!)  and can afford to have another  button, it can be placed even there or along with Fb like, g+ buttons if you have.
    When to show

  1. User opens app for nth time
    You should focus on regular users as they tend to give higher rating since they have used the app enough to know all the features.Say show the dialogue box only after user has used app 3 times.
  2. Action complete (like game finish, text message sent, food calorie tracked etc.) You could feed on user’s happiness at completing a milestone  or aha moments to advantage and ask them to rate app. It will result in general higher rating and more number of users willing to rate.
  3. Dialogue box can be shown while quiting app on back button. This too is advisable to be shown once user has used app atleast 2 times. Never be so intrusive to show rate dialogue/pop up more than once in one usage of app.

      Other general rating strategies

  • Its preferable to use custom dialogue box with good UI, which is attractive and nice rather than using android defaults.
  • Services like Apptentive can be used. They have an SDK that allows you to ask your users if they are happy with your app or not.  If they say they happy, they get taken to a page that asks them to rate your app. If they say they are not happy, they are given an opportunity to give you feedback about the app.  This is a great add-on to help you improve your average review score and at the same time get valuable feedback from users about how to improve your app.
  • Aim should be to always keep rating above 4.25. Thus while browsing user will see app having 4.5 stars in first look. This increases chances of user to click and check out app. So, until you have 4.75 +, 4.5 stars is what people will see. Having 4.75+ is very very difficult to maintain, developers who have, have all my respect, wish I can do the same some day :)
  • General thing I noticed to keep rating above 4.25 . For every 1 star on market , there is need of aprox 10, 5 star ratings given that 4, 3, 2 stars come with randomness with 4 star being on higher side. Note : This is not a hard and fast rule, just general observation.
  • Users generally always download only apps which are 4 and above in rating.
  • Effectively use Reply feature on Playstore
    Developer console has excellent feature of replying back to users now. Use it !! If user asks for new feature, appreciate him for suggesting, if he faces force close/crashes contact and assure him that you are looking into the matter and contact him back once issue is fixed. This can greatly reduce bad ratings.
  • Initially with first 200 ratings, if the app is good, ratings are around 4.5, but with popularity of app it tends to come down as more and more people are using the app and expectation are on rise. This is critical stage. Keep development cycle fast, keep pushing updates around once in a week, adding new features and listen to users.
  • Btw for those who don’t know how to open playstore from within app :) Its pretty simple. Use action view intent with setData pointing to uri of your app which would be something like-
    android.net.Uri.parse(“https://play.google.com/store/apps/details?id=packagenameOfYourApp” )

Developers can use apps like Andlytics  to keep tap on day to day comments and ratings. I personally become so obsessed with ratings in first month that have to install it :P

2) NAME OF APP

  • Name contains most important keywords for your app as discussed in  “factors effecting ranking” to improve organic search. So naming it right is very important. Will prove this by example:
  1. WhatsApp : Even after major success on all platforms  WhatsApp calls itself WhatsApp messenger not just WhatsApp. Note they have the word ‘messenger’ added because a lot of people would just search messenger. Users search for need a lot of times not for brands. Also note that they must have been inspired by blackberry messenger when they added it to their app name. Its generic and explains features/use of app perfectly.
  2. Skype – free IM & video calls. Keywords are added to app name.
  3. Runkeeper – GPS track run walk. Don’t be afraid to add more than 1 keyword. Experiment with various combinations to see which one gets best results.
  • When I named my app spellathon, I knew there was no way anyone would search that so I renamed it “Spellathon – word game ” so that it kept popping in results. People trust app’s which come up when they search. It improved daily installs by considerable amount.
  • According to Fiksu, including the keyword in the app name improves ranking for that search term by 80-100 spots. It’s important to remember that you can still call your app on the user’s home screen whatever you like, which allows you to build brand presence after the fact.
  • Another trick dev use is to keep name similar to already existing famous app with more than 10 million downloads and by top developers. So users searching for famous brand end up at your app. I don’t really like this, my job was just to inform.
  • This one is random and not tested, but came to my mind, since it happened with me. A lot of phones order apps numerically and then alphabetically by default which hardly anyone changes. So an app starting with number like kiip’s 7X7 or apps starting with ‘a’ are likely to come on first page of apps on phone and more likely to be opened than an app say starting with ‘w’.Bottom line being name should be unique yet searchable. Reverse engineer the searching process and think what a user might use to get to your app.


3)  DESCRIPTION on PLAY STORE

  • After the App name, next comes the app description. Make sure the app name keywords are repeated in this section. Try and think of all the keywords users might use to search, string them into a sentence. 4000 characters in your store listing,  so get innovative.
  • There are various websites available these days to validate the keywords used in app such as Appnique which compare health of your app keywords as well as gives metric with other competitors.
  • Important point to note is that there is a more button on play store on mobile as well as web. People a lot of times judge app just by what they read, without going through effort of clicking “more” for description. You need to make clear what app does in this space efficiently. So basically 4000 characters is kind of a myth. You have to impress user in much less than that.
    Screen Shot 2013-06-09 at 4.35.38 AM
  • Add press/blog mentions in description of app. This should ideally be first line and thus will be shown below promo tag line. This has really positive impact on user and gives reassurance that app is worth the download.
  • If above is not there, highlight user comments which include important keywords.
  • For all the people who have heard the saying “too much text in presentation” and how big a crime it is, equivalently big crime is to give description in paragraph. Always, Always use pointers to mention features.
  • make important words capital .
  • Give FB, G+ pages links and ask user to like them.
  • good order  for description is is usually – tag line with small description, blog/press/user comments , features in points, fb page link
  • Go through description of competitor apps before finalizing yours. Look for keywords and pattern used. This is just for learning purpose.

Dont’s for description – 

1) Dont try to use sentences like “if you like W, X, Y, Z apps then you will also like this app” . Its against market rules to drive downloads from other app names in your description. Overloading description with keywords is also wrong. You might get mail something like this if you try ( and that too within 24 hours!!).

Screen Shot 2013-06-09 at 2.57.06 AM

Yes, my random experiments have let me to this too (for god sake I was a inexperienced, I did not know all this could happen). So its coming with statutory warning – “Do not try it with your app”.   


4) PLAY STORE – PROMO TEXT , IMAGE , SCREEENSHOTS, APP ICON , VIDEO
Promo text should be simple yet clear enough to convey user what the app does as well as good keywords. Example Pulse has – “Bringing you good news”.

We all are visual creatures. High quality app icon, screenshots, video all add up together and tend to increase customer conversion rate as they are indicator that app is of high quality. 

Better screen shots – Move all of the most important info from your description  into your screenshots. Don’t be satisfied with simply screen-capturing your app, BORING! Take advantage of the space and canvas to close the sale with great marketing collateral. Think of your screen shots more like a trifold brochure (like the ones at hotels for a fun tour/experience). You’ve got them pretty deep into the sales funnel now close the freeking sale! Make your app look fun even if it’s not super exciting, people like fun, it’s why people on TV are always smiling, if the app looks fun they’re not going to go back and look at your competitors, they’ll download your app and check it out. Caveat: don’t overload the screenshots with info and features, pick out the very best/key features and highlight them. Also don’t be afraid to cheat the screens to make them look a little better, Photoshop is your friend. Your screen shots should look better than your app.

5)COMPETITION 

Keep keen eye on competition but in a positive healthy way. Its tech world, people copy feature fast (Leave alone iOS who took 5 years to copy android :P ) and catch up on the race. Have faith in your product and features, try and learn from what competitors are doing in product strategy, design and marketing.
Compare ranking of your app for various key word combination on play store. Try and improve rankings.
Above all, Be human, don’t let competition blind you.

6) +1 button

Android now allows to embed +1 button in app. So copy the url for +1 button from playstore and directly include it in app. This avoids hassle for user to go to playstore, its kind of way to allow users to rate from within app itself. With new google ranking algorithm +1 are almost as important as ratings themselves. Not many developers are doing this trick, use it please !

_________________________________________________________________

WHEN TO LAUNCH
There is no hard and fast rule, but I would like to point out relatively preferable time of the year and day when downloads are maximum.

DAY
time_android

Clearly people tend to download apps when they are relatively free. So we need to feed on that . Release app on friday so that the number of installs are gathered over weekend. Sunday 9 pm was most poplar time to download app according to google IO 2012. You could ask friends n family to download, rate and help market on the weekend , thus first week momentum gets taken care of. If you release app on weekday, no one will be there to either help you or download.

MONTH

  • Holiday months november, december, january get maximum number of downloads. Also halloween, memorial day etc count in to increase number of downloads.  So again these months are preferred.
  • You could use season themes – Christmas/ halloween if its a game.

Note I am stressing on a strong start again and again. Android market algorithm tries and favours new apps which are getting good number of downloads, ratings. The chances of making good app repo and getting featured are much higher than it would be anytime in the whole app lifecycle. 

_________________________________________________________________

POST-LAUNCH STRATEGY

1) WEEK 1 and 2  STRATEGIES 

Week 1 and 2 after app launch are the most critical as to how app will fair in the play store in long run. I have kept it as separate point as it deserves attention. Same amount of marketing effort done later will have lesser effect on ranking than that same effort done in week 1,2 or say month 1. Try and ensure as many downloads and ratings as possible. Note this is critical.Its sets the download momentum. Since you just launched app there might be force close/ crash issues which might come up. You have huge  task ahead for yourself. You should be working 24/7 in first week atleast.

1)to fix the issues which come up up.

2)Push updates wisely – Fix isues with level head such that max issues get solved in one go and then update. Taking care of % of  active installs does not go down, since with each update downloads might increase but people are same so effectively %  of active installs reduces which is not good for ranking.

3)Get people to download and rate app by Word-of-mouth/blogs etc

Too much to handle alone if you are single developer, advise is to get your friends do the marketing job.

2) UPDATE FREQUENCY
There has to be balance between feature pushes/ issue fixing and frequency of updates to be sent. Too frequent will irritate users and lead to uninstall of app. Also with each update, downloads increase but user base remains same aprox, then it will lead to decrease in % of active install, which is very important factor in ranking apps. I would suggest  once every 5 days in intial 3 weeks.(some crash issue and you might have to submit even 2 updates in a day !! been there :\ ), every week in next 2 months. By this time app would have stabilized so every 2 weeks after this is good I think.

3) Be-No-1-PROMOTER-of-your-app

This is last point but as important as first point. I read this post which defines one of the qualities an entrepreneur needs to have is to be-shameless. This is a very important trait as a lot relies on your capability of word-to-mouth publicity. Now, some might find it below their dignity/morals to ask their family and friends to download their app. I know its not easy to ask makes you vulnerable, sound like a pompous narcissist. Well I respect their decision but don’t fully agree. Your job simply doesn’t end after making an awesome app. It just got started. We are here against giant game developing labs with thousands of marketing revenue. You have to make a choice and keep your ego aside. You are just simply asking them to downloads the app/game and rate it if they like. You don’t need to be specific about rating, thus it keeps your morals intact as well.

Cant stress this enough, so I am repeating again,  ask your friends/family members to download and rate app and ask them to spread the message along.This is of utmost importance specially in first 2 weeks of launch as it sets the tone of app. Tell them not to uninstall app longest time since % of active intalls also matters. Think of it as you need urgent blood for operation. I am that serious.

I can’t vouch for other countries but whole india currently seems to be on android, from random uncles to almost all your friends and colleagues. If some android developer tells me that they personally don’t know min 30 people on android, they are kidding themselves. No offense,  but please stop development, but first go and make friends, your life is greatly missing them.

Wear t-shirt of your app around in conferences and android meet ups (there are plenty happening everywhere in india). While you travel make sure you talk to one random stranger about app you made, try and understand people better. Doesn’t hurt at all. Be ruthless in your approach to make people download and try your app. You never know when you acquire a customer you start a chain reaction. For every download and rating done, you are increasing ranking and thus implicitly increasing more downloads from other regions of the world and thus saving money which would have been required for marketing. Approximate cost being $1 per customer acquisition.

Tip : to know who in your gmail chat list using android phone. Go to settings in your gmail -> Labs (thank god they did not kill this google lab too !!) . Check green robot. Now you can see who is online from android :) targeted marketing.

4) FOLLOW YOUR GUT 

Now this  serendipity and gut stuff  is overly exaggerated. Usually when your heart, mind, soul are into work and so focussed, you have background thread running your head and tend to pick small cues around you, even when you are random driving  passing by a sign board or talking to stranger, which lead to  good stuff. this is mainly because you are in mode of trying to find opportunities. But pls don’t try and use gut where you should be doing A/B testing and letting users guide you.

_________________________________________________________________


Getting More Visibility

1)INNOVATIVE WAYS

  • Message users on G+
    Google linked accounts of people commenting on Play Store to  G+ account. This can be exploited to send messages to users. But which users is the question. Go to play store from browser, go to competitor app reviews/ comments page , from there go to profiles of users who commented on competitor app, and send them message something like“Hey how are you? Do you have interest in X category of apps.(Obviously they have !! you just got to them through a competitor app’s playstore page where they took effort to even rate it ). We launched new app xyz. It does this this stuff…maybe you would like to check it out. Please let me know about your thoughts about app and any way we can improve it for you . Have a great day. Please don’t forget to rate app if you like it :) “.
    (Being lil informal on g+ is fine, keep a cheerful attitude in the message you send). Strange as it may sound, this method is great for user learnings. A lot of people reply. Since no one really uses this method and they likes feel special that developer of an app contacted them personally and asked for suggestions. You are feeding on their ego. They even go ahead and share it with their friends. Also g+ directly sends notification to your personal gmail, which I believe people check regularly.
    Some might call it encroaching,  I call it smart targeted marketing. I see nothing morally wrong in it because that is what big giants do when give they advertisements. Just don’t spam people. Better still maintain an excel sheet to keep track of user ID if you plan to do it on large scale. Get all your friends to help you in this. Specially if you are college student, you have army of free friends by your side, use it well.
  • Heyzap 
    If you have a game, you might want to consider using heyzap. I did the same above g+ stuff with heyzap since in 2011 there was no g+ account linking back then. It had amazing results. 25-40 new ratings every day (i was able to send  messages some 75 people everyday) . Plus I got to talk to users first hand and learnt tonnes of stuff and features they wanted. This is what I did sitting at back of classes in college ;)
  • Email
    Send personal mail to anyone you can. It has more or less g+ message type functionality. You should have a prior compiled list of people whom you want to email. Keep this updated and adding more people to it.
  • Try and find target areas – like schools and colleges around you and go do a small event/competition of sorts while publicizing app. Always helps.
  • Google developers do friday app review sessions. Try getting reviewed in that.
  • Many android competition keep happening by local community GDG or Android developer group. Take part in them. Connections in android community never goes waste.
  • Offering promotions, like ‘free for a limited time only’,’Having christmas discount’,’1 year on play store’ etc
  • Build followers in various social websites and *maintain* them. Keep them engaged with news, tid-bits and interesting topics.
  • Create website – Imagine trying android app in browser? . This will work really good specially for games. Few app developers even placed widgets on their product pages and got users engaged on their web pages. Have a look Cribbage Pro a card game app and its official website with embedded widget where users can try the app. Cribbage Pro . Bloggers included the same widget in their blogs which was very effective and realtime experience  of game and increased downloads.
  • Widget for Facebook – Being able to try app in facebook feed like youtube video. Some of the apps did it and created buzz in social channels. See AppSurfer  for further information.
  • Launch a contest on Facebook or Twitter involving cash prizes or app giveaways.
  • Add widget to app. Now not many app add widget specifications, so if anyone is searching for widget on market might stumble upon your app and you might actually get downloads. There is separate category called widgets on market, your app will be ranked higher in it than it might be in its individual category.
  • Try changing categories. This one can be risky but see how it effects daily downloads.
  • Post to facebook groups related to android.
  • Have keen eye on user metrics. For example I realized that almost 70% of my word game users are female.

2) BLOGS – attacking page rank 

  • Make fb page , twitter page, wiki pages.
  • Make sure you include a link to the app on all pages on your website, blog, etc. Put the link in your website footer.
  • Reach out to media outlets or ask bloggers to write about your app. You can use the same g+ trick here also. For example – you can go findTechcrunch, verge etc editors on g+ and atleast send them a message  about your app.
  • Submit your app to app review sites like phandroidandroidguys,andronica,&  androidandme. These people might get many requests daily for reviews. Do your homework and explain them how your app is better and different than what is already there. Here is a great interview on the topic:  How to Successfully Pitch Your App And Make Sure It Gets Reviewed – Interview With Erica Sadun
  • Find relevant pages on Wikipedia where you can include a link to your app
  • Twitter – you can create a buzz, especially if combined with a good review (this generates a lot of RTs) or a major Android “celeb” sharing a good word about your app.
  • checkout  mobiledevhq.
    Try and do more SEO activities, above ones are very general. I am not an expert at SEO so cannot tell more, sorry.

3) LOCALISATION

Ranking of apps for each country is different, with local language app given preference. An important step to increase ranking of app in a particular region/ country is to convert the app strings in local language. If your app is generic like game, go ahead and add all possible localisations android allows in your app. Market favors local apps.

Important note to keep in mind is the app crazed nations where chances of app getting downloading are more.

countries

4) FORCED VIRALITY 

If your app has social element, like its messaging app/game etc you might want to the user to share it with his/her friend. Say user has successfully sent 5 messages  using your app, you might want to present him with menu to invite his/her fb friends. Or if when user attains certain level of the game, it becomes imperative for him to share app with his/her friends to move to next level and give him some bonus points / open puzzle sets/ coins for doing this. There has to be decent balance where game has become addictive for user that he does not mind sharing app and get friends involved as well.

Something similar was done by Dropbox using Referral Program. Free cloud space was given to people who successfully invited and on boarded their friends to the platform. Incentivize people to get more of their network. If you have paid app, you can provide refund or discounted price on service within app.

_________________________________________________________________


OTHER GENERAL STRATEGIES  

  • Media kit 
    Even before you launch be ready with media kit like – screenshots, app information, story about how app started and why (yeah bloggers dig that !), video , web widget (if possible)
  • Follow up on email 
    Users signed up on your app, make sure you send nice follow back email/message. If say its health app send them mail regarding progress they made. Ask for feedback.
  • Increase contacts in android, startup community and forums. Spread word around what you are doing.
  • Trademob published a paper on “Best Practices: Be the Best in your Mobile App Marketing (Free paper)” download it here
  • Good site – appsgeyser might want to check out.
  • good article by flurry on app engagement
  • Add tutorial in your app

_________________________________________________________________

NOTE –

1)These are the ways to increase number of downloads not retain them for sure. Acquisition my friend, will depend on the app idea, need and how well part 1 was followed. Why I stress on getting more and more downloads and innovative ways of targeting customers, because with low or no marketing budget that is your golden key. Its anyway better than sitting around and waiting for traction to come on your own. You as a small team made an awesome app, great ! time to hustle the hell out . Virality to causes retention, retention to cause virality. Specially in games and social apps.

2) Above methods are tried and tested way for games for sure. I have seen them reach trending apps section just by following part 1 and part 3 really well and 0 money spent on marketing. Thus compelling me to write this blog and share what I learnt.

3) This by no means undermines the power of advertisement. Sure, you should do it if you have the money. But do not think everything is lost if you don’t have it :)
Also, not everything is gained with a paid download or PR strategy. It won’t help you overcome a bad app, but you might want to use them to re-generate momentum if your user growth starts tailing off. Personally, I am not a supporter of paid downloads and would never do it.

The blog is documentation of my observations and self learnings from apps I have worked on in the past 2 years. I am sure there will be many points which can be added further.

Please feel free to comment and express your opinion.

Changed

You have changed, I think,
But I am no one to judge,
for better or for the worse.
not even allowed to ponder,
because in my hands it was not.

Not to judge,
you taught me well,
You knew you would change,
and drift apart
being judged is not what you would want.

Cannot tag you as bad,
blot you as wrong,
Tell me,
how am I supposed to forget
the past gone.

“I am responsible for you”,
You said once,
Yes, for all the pain you are responsible,
really responsibly,
you did play that part.

So responsibly that the only pain I felt,
was not from the path of thorns,
or from bruises of the world,
but from whispers of my help,
echoed back from the dark oblivion you were now part of.

Tale of survival

I flounder on the road,
my feet bleeding and soul crying.
Turning back I see the golden road left behind,
fleeting away in some other lifetime.


With vanquishing hope and despairing sighs,
I trudge along the path of burning splinters.
Searing pain reverberating in my head like a scream,
simmering to break out yet unable to find its way.


I doubt I can bear this long,
my strength failing as I move along.
Fire in my heart refuses to extinguish,
veiling me from flagrance around.


As numbness prevails I keep lulling,
about the happy days inside my head .
Till each fibre of in my body joins in the chorus
singing the ballad to keep moving ahead.


I still keep walking, tears flow down like raindrops
extinguishing the burning splinters below,
Cooling the path and fecundating the ground ,
nips of grass shooting from below.


Barefoot I tread not floundering this time ,
feeling the soft green grass blades glazed with due drops,
moistening the music of my soul sucking the numbness away,
soothing the burns of the journey long gone.


Turning back I see the burning road left behind,
fleeting away in some other lifetime,
only to realize that the struggle was worth the find,
the peace of the greens is better than the shimmer of the golden tiles.

Image