Best practices for integrated (context-sensitive) help?

by Nathan » Fri, 23 Apr 2010 00:56:53 GMT


Sponsored Links
 What are the best practices people have used to integrate help/tips in
their application?

One way I can think of is having html snippets in resources or assets
- perhaps as html files - maybe as formatted strings. However, I think
it would break down once an html file linked to another html file or
an image or icon.

I'm sure some of you have apps that are so wonderfully intuitive that
they don't need any help.  And I admire that. But I'm not making that
assumption for my app.

Thanks for any tips.

Nathan

--



Best practices for integrated (context-sensitive) help?

by Nathan » Fri, 23 Apr 2010 04:57:33 GMT


 No ideas? I thought someone would have done this by now.

I've tried searching but the word 'help' is so common that a search
didn't help much.


Nathan



>


Sponsored Links


Best practices for integrated (context-sensitive) help?

by krox » Fri, 23 Apr 2010 05:10:06 GMT


 Hi!

Good question, haven't really thought about it earlier but my approach
would probably be to have small buttons with a question-mark icon and
when clicked a Toast-message would display. Or perhaps using a
(Alert)Dialog instead of a Toast if a more advanced help-message is to
be displayed.

/Erik




> >



Best practices for integrated (context-sensitive) help?

by ~ TreKing » Fri, 23 Apr 2010 07:11:17 GMT


 




Please wait more than 4 hours before bumping your own thread - especially in
the middle of a work day - as many people won't have a chance to even look
at it let alone have the time to respond that quickly.

-------------------------------------------------------------------------------------------------
TreKing - Chicago transit tracking app for Android-powered devices
 http://sites.google.com/site/rezmobileapps/treking 

--



Best practices for integrated (context-sensitive) help?

by Michael Thomas » Fri, 23 Apr 2010 07:19:30 GMT


 

One way I can think of is having html snippets in resources or assets - perhaps as html files - maybe as formatted strings.
This sounds lovely. Or, just host the help online, linking to it via an ACTION_VIEW Intent on your URL. I'm not sure if the HTML5 offline stuff works with the Android browser, but if it does, use that to allow your help to be usable even when there's no connection. IMHO, this will be the long-term direction for this sort of thing, as it gives you easy publishing, easy updates independent of the app itself, yet still isn't completely busted when the user is offline.
Something that I've done is bundled stuff together as a web widget, and use that to drastically cut down on load times -- it's not for offline use, but the idea is the same. One thing that might be helpful with my approach was that I just to built the pages under a normal web server and maintain them that way. I then just use wget with some of its nice archiving facilities to suck them all back in, and zip the proceeds. If you need to maintain it as a web accessible site too, it's a big win since there's essentially only one "source tree". Works great for css and js and sprites too (which was really my big motivation) . Mike
Or, write your help in the form of an EPUB document and make it available, so those with an EPUB reader (e.g., FBReaderJ) can use it. Or, write your help in the form of a PDF document and make it available, so those with a PDF viewer (e.g., Documents To Go) can use it. And see if they have a referral program for sales, so you can make a bit of money on people who buy that app to view your help. Or, don't worry about on-device help due to form-factor issues and just provide support via your Web site.
However, I think it would break down once an html file linked to another html file or an image or icon.
Worst-case scenario: create a content provider to serve your help files.
--



Other Threads

1. Not receiving MotionEvents when transitioning between activities

I am working on an application that requires to monitor MotionEvents
between activities of the application. It consists of a RootActivity
and a ChildActivity. The RootActivity will open the ChildActivity via
an intent which occurs at the moment the ACTION_DOWN event is
received. However, once the Child Activity is created the RootActivity
is suppose to react to the ACTION_UP that is to follow the ACTION_DOWN
that was used to create the ChildActivity. Below is a snippet of code
to help with the explaination. This code works fine up 1.6 of Android.
However, in 2.0 and above of Android the code no longer works and I am
unable to receive any MotionEvents on the RootActivity once the
ChildActivity has been created.

Questions:
- How can I recieve the corresponding ACTION_UP on the RootActivity
once the ChildActivity has been created?
- Is there any way to know using code the state of the screen to check
if it is being pressed or not?


Code:
public class RootActivity extends Activity implements OnTouchListener
{
      private ListView list;
      @Override
      protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.rootview);

         list = (ListView) findViewById(R.id.rootlist);
         list.setOnTouchListener(this);
      }

     @Override
     public boolean dispatchTouchEvent(MotionEvent ev) {
         // Print Log

         return super.dispatchTouchEvent(ev);
     }

    public boolean onTouch(View v, MotionEvent event) {
          switch( event.getAction() ) {
          case MotionEvent.ACTION_DOWN:
              Intent intent = new Intent(actions.CHILD_ACTIVITY)
              intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
              this.startActivity(inent);
              break;
          case MotionEvent.ACTION_UP:
              //Perform some other action
              break;
          }
          return true;
    }

}


-- 

2. MediaStore.ACTION_IMAGE_CAPTURE + Intent.FLAG_GRANT_WRITE_URI_PERMISSION

I was hoping to take a photo and enable only the camera app (or whatever
other app is bound to ACTION_IMAGE_CAPTURE) to store a photo in my content
provider.

    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, MyPhotoStore.URI);

    // Grant permission to the camera activity to write the photo.
    intent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
    intent.setData(MyPhotoStore.URI);

    startActivityForResult(intent, REQUEST_PHOTO);

Calling setData() on the URI enables the other app to write to the URI, but
it also messes up the activity dispatch (I get ActivityNotFoundException).

I'd rather not specify a package with Context.grantUriPermission() because I
want it to work for any activity bound to ACTION_IMAGE_CAPTURE.

Is there any way to use FLAG_GRANT_WRITE_URI_PERMISSION
with ACTION_IMAGE_CAPTURE?

I guess an alternative is to use random URIs instead of the built-in
security.

Thanks,
Bob

-- 

3. Madu & Racun

4. Broadcast/notify/message when application is launched

5. mau tanya dong....need help

6. Package tracker

7. Search Market by Publisher Name