We have a library of documents available for user. Current approach is upon selecting the document on the mobile device,

if it's downloaded, it will open,

else the document will be downloaded and open for the user.

As shown below.

enter image description here

It's a pretty straightforward approach. But now the challenge come in when the user request the documents to be automatically downloaded. Our users would require to fly frequently and downloading of document ad-hoc is not possible as times. And able to read documents that is "related" to them are key in making this application successful.

2 approaches I can think of.

1: Download all the documents automatically. This will load the storage will all unnecessary documents.

2: Allow user to subscribe to certain documents. In the above example, if the user is interested in sales document, upon subscribing, new sales documents will be push and automatically download to user device. However, if I only want certain documents from sales and certain documents from post-sales, I will be loaded with all sales and post-sales documents.

Hence, is there any other idea you can think of to aid me with this issue or any feedback and comments please feel free to leave behind.

Your help will be greatly appreciated.

  • I've never found a perfect software to synch many documents to phone unless download almost all of on them during wifi synch or betting that I'll have nice network when needed. But you could watch Google drive synch approach. – ColdCat Sep 13 '13 at 14:53

You need to create a system that has a large amount of predictability to it. If your users don't get a document that they might need, that would be a bad experience to have right in the middle of a flight. So, your users need to be in control, but without having to micromanage everything.

Your idea for a subscription model seems sound to me. The question is what to subscribe to. If it's going to be a 'related' documents subscription, your users need to be able to very easily figure out what characteristics that relatedness is based on.

Inherent characteristics you can base subscriptions on:

  • author
  • company
  • keywords in title
  • keywords in body

(although keyword searches aren't that predictable in most situations)

You could also base subscriptions on categorisation. As you've already found out user-defined tags are loose and fuzzy. They're useful for loose categorisation of large amounts of data, or when there is a single editor who is responsible for keeping the tag-cloud in check. But tags are useful because multiple tags can be applied to a single document, which is usually a much better way to categorise stuff than putting documents in specific folders (does the "about cats and dogs" document go in the "cats" folder or the "dogs folder). There is a large amount of effort (and cost) involved in trying to create a folder structure that will fit all current and future documents.

So, you can also offer subscriptions for

  • folders
  • tags (pre-defined tags or tags defined on the fly by users)

If you're going to make a system that learns from usage, that system only works if there is a certain amount of usage to learn from. You're going to need to figure out how to bootstrap that for new users. Also, such a system needs characteristics to base its suggestions on. There is going to be something that links document A to document B. You can do that solely based on usage again (users that downloaded A also downloaded B), but that again assumes a huge amount data to work (think Amazon.com). And it isn't all that predictable: how am I going to know for sure that I've got the documents that I need? If you get some categorisation into your library, you can use that to build your suggestions on as well (users that downloaded stuff tagged "customer" also downloaded stuff tagged "client"). That way you can allow users to create their own subscription based on these tags, and supplement that with stuff they might've missed.


You can choose to offer "tags" to differentiate between certain documents inside sales for example. Add the option to download only certain documents according to tags.

Tags creation and editing may be done by the user, but its best to offer some reasonable defaults.

  • Tags might be a solution for my problem. Thanks Asaf. But the problem with tag is that content uploader might be tagging it differently. e.g. "customer" vs "client". I'm thinking if the application would be smart enough to learn from user usage pattern and identify the correct documents to download. – SimonTeo Sep 12 '13 at 6:10
  • 1
    @SimonTeo you could use controlled dictionary for tagging, i.e. limited set of tags. – Alexey Kolchenko Sep 15 '13 at 6:48

Looks like a case of the lesser of the two evils. Allowing the user to choose is a viable approach (some may have lots of storage, some may have constant connectivity).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.