ALWAYS CREATE A LAUNCHER ACTIVITY!
I cannot stress that enough. When I created AttachSave, I designed it with the intention that it would be a small, hidden app that did not clutter up the launcher tray with useless apps that couldn’t be run traditionally anyway. Despite warnings from others posted elsewhere, I thought making the description quite clear on how to use the app would be sufficient to teach people on how to use the app.
I was not wrong. Most people that used the app figured out how to use it without needing directions other than what was supplied in the 325 character app description on the Market. What I did not consider is that of the 100 people that may download and use your app, only about 2 will actually rate it. One of those two will be one that does not read past the first sentence in your app description… and even if they do, the knowledge will not be retained and they will try to open your app anyway after it downloads and find they cannot. Since these people represent nearly 50% of those that will rate your app, you will quickly find your market rating plummet if you do not address the issue.
Always, always, always, ALWAYS create a Main/Launcher activity with your app even if all it does is display a dialog with directions on how to use the app. The layout for the dialog is a TextView with the “how to really use this app” message and a Button. The code for my launcher is extremely simple and is written to work on Android 1.5+.
public class MyLauncherStub extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog_launcherstub); Button f = (Button)findViewById(R.id.ButtonOk); f.setOnClickListener(new OnClickListener(){ public void onClick(View v) { finish(); } }); } }
UPDATE: Since the time of this post, Android Market has significantly updated and improved their site/app design and given much more space for a description. In addition, apps can now have an activity with a CATEGORY.INFO filter which will provide a front-door to the user without having it be shown in the “all apps list”. I highly recommend using this approach as a possible solution. I do in fact have AttachSave Gopher on the Android Market that does precisely this as an alternative to the standard AttachSave. The only difference between the two apps is that Gopher uses this Filter to hide itself from the “all apps list” (less clutter, and it is an app that cannot be used via standard launch anyway).
The Android Market has undergone numerous changes since my post about this subject and not only has the description length been substantially increased, but Android now provides a launcher activity specific to only running when first downloaded and then never again. Updating my rant on the subject would be to say you should ALWAYS provide an activity whose intent filter category is either android.intent.category.LAUNCHER or android.intent.category.INFO.