Bug #1436

Add button for switching between local and remote

Added by megabitdragon about 8 years ago. Updated about 8 years ago.

Target version:
Start date:
Due date:
% Done:



Add a toggle button in the drawer to switch between the 2 modes.


#1 Updated by megabitdragon about 8 years ago

  • Parent task deleted (#1411)

#2 Updated by megabitdragon about 8 years ago

  • Description updated (diff)

#3 Updated by ming about 8 years ago

  • Status changed from New to Feedback
  • Assignee changed from ming to megabitdragon

Pushed as a branch. Error handling is not implemented at moment.

#4 Updated by megabitdragon about 8 years ago

This is for the manual switch branch. Daahhhh....
The switch seems to work. It crashed once and I see some possible issues but I think we are on the right path. I will test in more details and provide feedback

#5 Updated by cpg about 8 years ago

it appears to default to remote, which makes things quite slow (tries to go out to the internet and come back to my server at home). i think we should default it to LAN (NOT "Local" please!).

what is the proper way to refresh the list of shares/files?
(in iOS we have pull-down-to-refresh)

when i change the switch, what i am doing now is tapping on servers, switch to the Welcome one and then to my own server. this appears to pick up fast and i checked the log, so i know it's working.

if we switch it to LAN by default, i think we can merge it into master and go with it.

later, as we talk about design/usability, we need to start thinking of where to put this -- in some sort of settings area in an alternative drawer or whatnot. we should survey the best apps in android to get inspiration on how they handle multiple things like main "work" vs. settings: dropbox, gmail, remember the milk, facebook, twitter, etc.

#6 Updated by ming about 8 years ago

Sorry if the current behaviour confused you. When you change the switch all next connections will use the new mode you picked. I decided that refreshing content is not necessary because Remote content and LAN content are actually equal, so reloading is not needed. But, again, all next will use the new one. Should I change this behaviour to refreshing everything? Bogdan changed the label and default mode at the branch. Personally I think that the Remote mode should be default because its availability is potentially wider from network perspective, but I can be mistaken.

#7 Updated by cpg about 8 years ago

Running the app in LAN mode is the common case always. Most people watch their movies, tv shows, etc. at home.

Only a small fraction of the time they are remote. Plus we're not testing that and we do not want to introduce another variability.

Once auto detection is known to be working reliably for a few months we can remove the switch and let it be automatically.

I explained things in another bug, but let me hash it out if more detail here and be precise of what I think the plan should be.

The switch really should be a 3-way switch -- Auto/LAN/Remote. And it's mostly used by us for development at the time being. Maybe very early users.

But connectivity wise there are really two states: local or remote

Phase 1 is now where the switch of LAN/Remote is manual (LAN forces local mode, Remote forces remote mode, i.e. using the proxy)

Phase 2 is as soon as we have a reasonable autodetection algorithm we introduce the Auto setting to the switch, but still keep it default to LAN. When Auto is set by the user, the app starts using the autodetection algorithm.

Phase 3 is as soon as the autodetection works well enough, we switch the default to Auto.

Phase 4 is, after autodetection is totally bug free for months, we make it the default and remove the switch away.

All this while, we should have indicator of the state. The connection can only be in local mode or remote mode. We need to know at all times what this is. The switch may force this, but this really has to reflect what the app is using to connect to the origin server.

This indicator never goes away in the app even in Phase 4, with the switch gone. Hence I proposed two things:

1) a color change in the nav bar. We can stay at the current color when the app is using the local origin server, then switch to an orange/red-ish color when the app goes into remote. This implies that there is probably data being used (as opposed to wifi1), hence costing $$$ to most people.

2) rather than a color change, a small icon in the action bar that is either in two states. When in local mode, it shows a LAN-type icon. When in remote mode it shows some satellite-like type icon. A refinement of this is to NOT show any icon when in local mode.

About refreshing: the content in the origin server can change often. It can be multiple times a day or multiple times a minute (e.g. when one is downloading torrents). In iOS it's very common to use pull-down-to-refresh (PD2R), hence I suggested this before. At the moment, I navigate back and then into a folder or a share to see if there is new content because we do not have refresh. An alternative to PD2R is to have a small icon in the nav bar (say to the left of sorting), and when the user taps it at any time, the main view (not the drawer) refreshes. The icon takes spaces and adds cognitive load. Hence the suggestion of PD2R, if it's something Android users are accustomed to.

In ANY case, wether it's bar color change or icon, it has to be documented in the wiki or help pages of the app, which we will have one day (but not in the alpha).

I explained this multiple times already, so hopefully this clarifies things.

[1] we play a trick to avoid showing the welcome server as remote -- it's IP is reachable publicly

#8 Updated by ming about 8 years ago

That’s a lot of text.

I understood the plan. Clearly don’t know where to put the switch, for this kind of purposes a separate settings screen is typically used, which is called from the navigation drawer (take a look at the Google Play app, Gmail and so on). The drawer is a plain list typically without subscreens like I saw at the iOS version. I’ll merge the branch anyway, let’s move with the two-state thing.

About the indicator—I like the idea of showing the indicator for remote only, it is a great one. You can suggest the icon from this set if you wish.

For refreshing the pull to refresh is available like the one at the Google Now and Gmail. Can you open a separate bug for this?

#9 Updated by cpg about 8 years ago

for the time being, we can use something i did quickly. after new guidelines, we will do a redesign.

i did not find an icon that looked appropriate for remote, so i made one using the same template as the icons you linked to.

find it in our shared folder under a file named:

if we only show it in remote mode, we should make sure it's always in local mode when this icon is not in the action bar.

ok, if it's too much work to make a panel for settings/logout/feedback/etc. now for the alpha, we can add it later for the beta and put the switch there.

in iOS, the drawer has a bottom nav bar with a home button and a settings button where "everything else" is there. see the image in the shared folder called ios-settings-page.png

#10 Updated by ming about 8 years ago

I don’t have Adobe products unfortunately, can you convert it to PSD please?

#11 Updated by cpg about 8 years ago

The icon was for the action bar not for the nav bar. It does not make sense in the nav bar, it's purely for status and does not help in navigation.

#12 Updated by ming about 8 years ago

Probably we are talking about different things. The blue bar is the action bar. Other bars have different names.

#13 Updated by cpg about 8 years ago

This was my original suggestion:

> an icon on the bar that has the battery and wifi indicator.

At some point someone mentioned action bar, which clearly I should not have followed, since I did not know what it was!

#14 Updated by megabitdragon about 8 years ago

  • Priority changed from High to Normal

#15 Updated by ming about 8 years ago

I pushed action bar color changing as a separate branch.

#16 Updated by megabitdragon about 8 years ago

  • Assignee changed from megabitdragon to cpg

UI realted, so I'll leave this to Carlos

#17 Updated by cpg about 8 years ago

  • Status changed from Feedback to Closed

Also available in: Atom