DEVONthink To Go: WISHLIST

Long-pressing only works when the sync process has really started. We could show it right away when long-tapping, or even on a single tap. The question is: How could we make the sync icon clearer given the space constraints on an iOS device. On the Mac we can have panes or extra windows but not so on, especially, the iPhone.

Just some first ideas:
If DTG has to sync a huge amount of documents you cannot see that it is operating - the cloud progress bar ist to small. Maybe the icon could blink while operation.

If you are not connected and press the cloud it shows a small pixel of progress but you cannot do a long press for details. Again, maybe a blinking icon when sync is really going on would be more clear.

In other cases is just shows one pixel and finishes so fast that you miss what was going on. And a long press should also show status information while sync is not active.

Blinking is, well, very 90s :wink: Long-pressing could always open the status sheet.

also lieber pulisierend ? :wink:
However you want to design it, it should show the mentioned differences.

Just out of curiosity, but you seem to sync using cloud services only, is that correct? If so, are you familiar with the other sync methods?

In my experience using a NAS or Bonjour connection as a primary sync method is much faster, but of course can depend on many reasons why this wouldn’t be possible.

I’m sure you are familiar with Apple’s UI design guidelines for iOS, although those are somewhat brief with regard to feedback in my opinion. The other platforms like macOS might supply more information with regard to feedback.

Might you or others haven’t read it already, another great resource regarding (the psychology of) design, is the book ā€œThe Design of Everyday Thingsā€ by Donald Norman. He is famously known for his scientific opinion about door design. Chapter 4 specifically zooms in on the concepts of ā€œdiscoverabilityā€ and feedback, but the rest of the book can bring about many other insights.

I think the question with feedback boils down to giving users a sense of control (and thus calm or ā€œzenā€œ in the words of former speaker John Bercow) while the software is doing ā€œsomethingā€ in the background.

Obviously you don’t want to present a live tcpdump of every packet in- and out of the network connection, as that probably is to much. Likewise, you don’t want a progress-bar progressing without useful information, or even worse a progress bar not actually representing progress (0-99% in a flash of a second and then an excruciating several minutes for the last 1%).

To be honest, the cloud symbol sitting there without any purpose >99% of the time is confusing. It doesn’t provide active feedback most of the time. Particularly because it can be pressed, doesn’t actually ā€œpressā€ visually, and sometimes has an effect, but sometimes appears it doesn’t.

I think the sync feedback should represent active synchronization, both for long (many files over a slow internet connection) and short (1 file over a local network) sync actions, and preferably isn’t visible without sync (or should represent a clear resting state). Think about why users might get agitated from the (lack of) feedback.

Personally I would separate the ā€œbuttonā€ function from the feedback function, make it clear when the last sync took place, what the result was and why a user might want to press the button (i.e. a form of discoverability).

In summary: good design is difficult, but you and your team probably already knew that :slight_smile:

Like a good backup strategy, you might consider doing things in a certain way if you are unaware of risks or user behavior in the case of design, and thus design things wrong (although with the best intentions). And it’s usually easier for individual users to critique your design, than it is for the designer to create. Although perhaps frustrating at times, it’s probably best to assume user error doesn’t exist. Extreme exceptions allowed.

@anon6914418, yes, we know that :wink: Unfortunately, discoverability is the #1 problem throughout all aspects of iOS. The Sync icon, actually, always does something: It initiated the sync. To show this it switches to a minimal progress indication of a few percent. When the sync completes without doing too much it falls back to completely clear. When the sync runs longer, it becomes the progress bar.

In an early build of V2 we had the sync status sheet popping up every time a sync ran initiated by user action but quite a few beta testers considered this inconsistent because it didn’t pop up every time the sync ran. But that would, of course, also be not desirable. So we came up with the iOS-y solution of using the icon itself and reduce the feedback to a minimum. Especially Apple’s iOS apps have removed sync feedback completely and ā€œjust workā€ (or don’t).

We’ll give it a few more thoughts.

I noticed that, but I’m not sure whether all users do. It’s also somewhat illogical to me, as it’s not progressing beyond the first few percents. Users might think ā€œDid it fail?ā€ or ā€œDo I need to press it again?ā€

Did you consider using a rotating symbol comparable to the time machine symbol in macOS? When you press that, it doesn’t actually backup but tells you whether TM is performing a back up or is at rest. You are then able to review the last backup time, it’s result and if required activate a backup session. When the symbol is turning, you know it’s busy performing a backup.

As you probably have been since the beginning of DT :slight_smile:

Which would be a good thing, as Don Norman mentions in the video, human centered design is an iterative proces. You’re never ā€œdoneā€. User feedback should preferably be used to improve you product, although users themselves might very well suggest a wrong (door) design.

ā€œwhen you switch away from an appā€¦ā€ — that’s the thing — I hadn’t switched away. But after two or three minutes DEVONthink To Go would close on its own, leaving me at the Springboard. (This is all while the iPad was plugged-in/charging.)

Re: icon ā€œdotsā€. Forgive me being imprecise (not helpful, I know), but when I said ā€œdotsā€ I think I meant ā€œtrianglesā€; you seem to have understood me, anyway. :slight_smile:

But after two or three minutes DEVONthink To Go would close on its own, leaving me at the Springboard.

That indicates a crash, not normal behavior of the application.

I figured. :wink:

Happened five or six times in a row. I put it down to the sync operation having too many files to sync or index at once (five or six thousand, if memory serves).

Part of the trouble is that I can’t think of a good solution (Dropbox and iCloud have, in general, taught us that sync happens automagically in the background, without requiring any user intervention), so I don’t have ready examples of how I think it should behave. That said, I’m not at all averse to actually being able to manually trigger sync as in DEVONthink. It’s a good thing.

The other issue is that, as a web designer, I know that things go more smoothly when my clients come to me with clear descriptions of problems — not when they ask me to implement their ā€œsolutionsā€ (that typically introduce more problems of their own). ā€œBut this other site does X! Why can’t we just do that, too?ā€ is paving the road to hell with (at best) neutral intentions.

So I’m reluctant to suggest anything. :smile:

Question: someone earlier in this thread suggested Bonjour sharing. In your experience, is that a fast and reliable option that might mitigate issues I’ve been experiencing? I’m not asking anyone to bash iCloud, but might using Bonjour instead of iCloud prove faster, in that iCloud would no longer be playing traffic cop in the middle, acting as an unintentional bottleneck?

Yes, Bonjour is generally a much faster more reliable, and undoubtedly more private sync option. Note it only works on your local network, but people often don’t require remote syncing off their network.

On the Mac…

In DEVONthink…

  1. Preferences > Sync > Bonjour Options…
    • Check Enable Incoming Connections.
    • Leave the Port blank unless you have a known port to assign.
    • Enter a mandatory Password. You will use this when connecting on the other devices.
  2. Leave DEVONthink running.

On mobile…

In DEVONthink To Go…

  1. Go into Settings > Sync: Locations
  2. You should see a sync location for the Mac. Click the green plus button next to it.
  3. Set the options per your choice and touch Save.
  4. Enter the password you entered on the Mac.
  5. When it has connected, touch the sync location to show the databases list and flip the switch next to databases you want to import.

Also, be aware: Bonjour can be used to Sync between devices, IF:

  1. The devices are on the same network
  2. The network is private or one that allows Bonjour connections or non-standard ports. (Public and corporate WiFi sometimes disallow these.)
  3. Your firewall or an application like Little Snitch is Off or has exceptions added for DEVONthink’s traffic.
  4. Both devices are On and running DEVONthink / DEVONthink To Go 2 (and DTTG2 must be active, regardless of the Sync method).

Note: In situations where Bonjour traffic may be disallowed, you can connect an iOS device to your Mac via a standard Lightning cable to create an ad-hoc network for Bonjour syncing.

1 Like

If you tag or quote me your chance of getting an answer slightly increases :slight_smile:

It’s much faster as it works over your LAN, assuming you have a route from your i(Pad)OS device to your macOS machine. That has nothing to do with the quality of iCloud whatsoever, but simply because you bypass the internet all together. Bonjour does require an open port on macOS (DT and the macOS firewall usually opens it automatically), which you might consider a security risk, but that’s up to you of course. Depending on your situation it might be easiest if your macOS machine is running 24/7.

An alternative Bonjour sync might be to have your i(Pad)OS function as server, but that definitely requires manual interaction to pull data into DT.

Either way, never have multiple devices (with either DT or DTTG) configured as a server in your network.

Personally I have the best experience with a WebDAV server on a NAS. This eliminates open ports on macOS, but of course requires an active fileserver on your network (the NAS). It also seems to result in a more or less fluent background sync in my case, although i(Pad)OS prioritizes apps like DTTG based on the frequency of use, if I understand correctly. Frequent use of DTTG should therefore result in frequent background activity, and a high chance of background sync.

This could result in something like this:

macOS (DT3) —webDAV — NAS — webDAV — i(Pad)OS

The NAS thus serves as a central storage, with DT and DTTG acting as clients of the sync store there. If I import any data into DT or DTTG, it usually takes less than a minute for the data to automatically propagate to all devices connected to the NAS. But expecting real-time sync is pushing it in my experience.

@BLUEFROG can correct me if I’m wrong, but I think the clients connecting to the WebDAV sync store on the NAS (both macOS and i(Pad)OS device(s)) can independently sync to a cloud sync store as well. Do take into account that cloud sync is not similar to off-site versioned back-ups (any errors or ransomware locked files most likely propagate rapidly to all stores), although you do have one off-site copy of your data might your macOS and i(Pad)OS devices get stolen or burn down etc.

That said, I think it makes sense to connect at least a RAID1 array to the macOS machine and keep one of at least three disks off-site. I’ve even started backing up tot DVD-R (yes, really) as an additional barrier to prevent data loss. Some people prefer cloud back-up services, but all these choices are up to you of course and depend on risk or already present backup facilities.

clients connecting to the WebDAV sync store on the NAS (both macOS and i(Pad)OS device(s)) can independently sync to a cloud sync store as well

Yes, this is possible as DEVONthink supports having multiple active sync locations.
It’s definitely not the first thing we’d suggest doing, but the possibility does exist for when the need arises.

Yes, that’s a crash. Do you have sending crash reports to developer enabled in iOS’ Settings > Privacy?

I have just enabled these crash reports. My iPad should be sending you lots of them today. Initial sync over Bonjour worked great on my iPhone but my iPad is taking many, many attempts to pull in data from my Mac. It’s frustrating, as you might imagine.

It’s the fact that each database has to start over from scratch every time — even if it was ¾ synchronized when it crapped-out — that makes this such a time-consuming babysitting task.

Any suggestions?

1 Like

How does one do this? I’m at my wit’s end trying to sync data onto my iPad — either the regular wireless Bonjour connection to my Mac times out or DEVONthink To Go crashes.

Did you connect the iOS device to the Mac via its Lightning cable?

I did. Don’t see anything different, though. Still getting timeouts. My two largest databases haven’t synchronized to the iPad yet.