couchbaselabs/ToDoLite-Android

What is the purpose of Guest login?

sigmabeta opened this issue · 1 comments

This sample app presents two entry points: Facebook login, and Guest login. They're presented as hierarchically equivalent actions on the first screen, which doesn't imply that they will have intentionally different functionality.

However, in attempting to evaluate whether or not Couchbase Lite suits my team's needs, I spent a large amount of time trying to make the app communicate with my local Sync Gateway. Nothing worked; Sync Gateway wouldn't even show error messages, and I was really starting to come away with the impression that it was an unreliable product with incomplete documentation.

As a last ditch effort, I attempted to run the app using Facebook authentication and it immediately worked as expected. This leaves me with several questions:

  • Does guest login even do anything network-related? If yes, why didn't it work? If no, why is it even an option?
  • Why depend on Facebook login for your sample app? Not everyone wants to give access to such a personal source of information in order to test out a product that doesn't inherently need that information.
  • If the dependency on Facebook is absolutely required, why does README.md contain no mention of this?

At the very least, this issue could be rectified by clarifying in the instructions that using a local Sync Gateway requires the user to use the Facebook login option.

pasin commented

Does guest login even do anything network-related? If yes, why didn't it work? If no, why is it even an option?

We have guest login so that anybody can jump to use the app without a need to login. In guest mode (local only), there is no replication run. That's why you don't see any activities on the sync-gateway.

Why depend on Facebook login for your sample app? Not everyone wants to give access to such a personal source of information in order to test out a product that doesn't inherently need that information.

Currently SyncGateway supports Basic Auth, Custom Auth, and Facebook Auth. The ToDoLite App just tries to show one of them which is facebook authentication.

If the dependency on Facebook is absolutely required, why does README.md contain no mention of this?

I just fired an issue to add more explanation about the authentication mode implemented in the application.