realm-studio icon indicating copy to clipboard operation
realm-studio copied to clipboard

Support Dragging Realms OR Fix Your Open Dialog

Open bdkjones opened this issue 1 year ago • 2 comments

Describe the bug

When building Mac apps using Realm, the database files are saved in ~/Application Support/your.app.identifier/someFile

Realm-Studio can't access this location because someone forgot to add showHiddenFiles to the NSOpenPanel sheet. Someone ALSO forgot to add the ability to just drag and drop a Realm database onto the window and/or Dock icon, which would be the best solution.

To Reproduce

Steps to reproduce the behavior:

  1. Attempt to open a Realm database in any hidden folder on a Mac.

Expected behavior

The "open file" sheet should show hidden folders, which are the most common location for Realm files during app development.

Screenshots

n/a

Versions:

  • OS: macOS 12.5.1
  • Studio Version 11.2.1

Additional context

Please invest more time and polish into this app. It's painfully slow and clunky on macOS. And you should REALLY care about that, because if my first exposure to Realm had been through this app, I'd have instantly dismissed Realm as comically slow and therefore useless.

The issues abound:

  1. The first-launch forces you to provide an email address. (Because you like filling your list with [email protected], I guess?)
  2. Drag/drop support is missing. You can't even drop a Realm database file onto the Dock icon to open it! That's like Mac 101.
  3. Launch times are painfully slow.
  4. Once you open a database file of non-trivial size, the entire UI simply disappears for a bit while it loads. "Uh, did it crash?"

Basically, this app is just a terrible, terrible advertisement for a really great database system. Please discard the cross-platform JS nonsense and build a couple awesome, native apps so that Realm's capabilities really shine.

Importantly

Non-native apps always have these sorts of issues and performance problems. (Spotify, Slack—heck, you can drag VSCode's window to resize it and watch the screen tear so badly, you'd think it's 1991 again.) I realize I've harshly critiqued Realm Studio, but that shouldn't be taken as an attack on the people who did this work. The root of the problem is the non-native tech stack, not a lack of effort or skill by the people involved.

bdkjones avatar Sep 06 '22 09:09 bdkjones

@bdkjones

Thank you for your honest feedback. It gives us something to think about.

About native vs non-native apps: we went the non-native route to be able support both Mac and Windows users (surprisingly many Android developers are on Windows) with the same code base.

Circled back to the original request. Adding support for drag/drop should ideally work for all operating systems we support.

kneth avatar Sep 06 '22 13:09 kneth

@kneth Great! Adding drag/drop support would greatly help. Currently, I have to copy the Realm file to a location that Realm-Studio can see, which is a bottleneck.

I understand why the non-native route was tempting: less work, shared code, cheaper. But Realm isn't a small startup anymore, so hopefully Mongo can invest a bit in maintaining native apps on the major platforms. The experience is just much better with native apps.

bdkjones avatar Sep 06 '22 20:09 bdkjones