3 ms·
> 1. Write the GUI natively per platform. This is best from a UX perspective but is expensive and you probably need different developers working on different pl
by jcelerier 5y ago
> 1. Write the GUI natively per platform. This is best from a UX perspective but is expensive and you probably need different developers working on different platforms. Other downside is that really advanced functionality is harder to implement and sometimes the performance of native APIs is poor and hard to improve (Apple has this problem frequently).
That really depends on the software though. I develop a media software and my users are adamant that they want the exact same look&feel across the three main desktop platforms (to the point that I had to use freetype everywhere for font rendering - thankfully easy with Qt). Also had the same case for a customer at a previous job - I remember comparing screenshots across macOS and Windows until they matched in a pixel-perfect way.
On the other hand, if you're writing, say, a productivity app, calendar, notes manager, most likely it is better for it to fit to each platform.
Although I personally also prefer to use the same apps across platforms, e.g. my main combo no matter whether I'm on Linux / macOS / Win32 is Zim for note-taking, Strawberry for music, Qt Creator for IDE, Seafile for data exchange, Telegram and ripcord for chat, Krita for image manipulation, Darktable for raw photo processing, Digikam for photo collection management ; DaVinci Resolve for video editing.
With the exception of Zim and Darktable which are GTK, all the others are Qt-based.
- Wowfunhappy 5y ago> I develop a media software and my users are adamant that they want the exact same look&feel across the three main desktop platforms Are these end-users, or just the person in charge? I find it hard to believe that the actual users of the software would care about this.
- freedomben 5y ago> media software If this is editing audio or video, I can 100% believe that. Anything with complex controls that a user has to learn, or keyboard shortcuts, it really matters to end users. I worked on a Qt app quite a few years ago and that wasn't a media app but it was a complex GUI. Our end users also wanted the exact experience regardless of platform. On a related note, if you need a rich UI I totally recommend using Qt on the frontend and the backend. Qt isn't just UI libs. There are a bunch of super useful server-side libraries as well that you can use. We used protobufs and had unbelievable performance on the front end and backend. It was a beauty to behold.
- jcelerier 5y agoend-users. It's very important for them to have the software be exactly the same no matter the platform, as it's somewhat common to start a work on e.g. a mac as a first draft and finish it on a windows or linux machine where the production actually runs.
- ClumsyPilot 5y agoThe mantra that end users want native app is tired and was always pulled out of one's backside. Productivity applications like 3Dmax, Photophop, Eagle, Blender and others can take years to master. Even Excell and Word fall into this category. The last thing a professional needs is to learn the same software 3 times and keep up to date with 3 diverging implementations
- bobbylarrybobby 5y agoThe point of making native apps is that once one has learned how to use the computer, they’ve simultaneously learned the basics of using every single native app made for it. If a Mac app uses control C to copy instead of command C just to achieve parity with the windows version, that would likely be considered a bug, not a feature.
- jcelerier 5y agoI'm honestly not sure it really matters for most people. This year I taught a bit of programming with p5.js to design students who are between 18 and 22-23 years old. Over ~50 students, maybe 2/3 were aware that keyboard shortcuts even existed. To them their computer is merely a gateway to Adobe tools.
- toomanybeersies 5y agoThose were students. That's like spending time with computer science students, then saying only 2/3 of software engineers are even aware that git exists. Most graphic designers I've met have been more adept with keyboard shortcuts than I am. It's impossible to be productive in Photoshop or Illustrator just using a mouse to click on menu items. Beyond copy+pasting, I use barely any shortcuts, I generally use zsh and type commands instead. But in media workstation software, keyboard shortcuts are the equivalent to unix commands for programmers.
- ClumsyPilot 5y agoShould Starcraft have different UI and keyboard shortcuts on Mac and Windows? Should a Marine's steampack use command instead of ctrl on a Mac? Ofcourse this question makes no sence, the game is so different from 'normal' apps, it has no copy paste! Learning Blender, Eagle, Inventor or Starcraft requires you to learn about a hundred keyboard shortcuts and hundreds of UI aspects that are spesific to that domain. There are very expensive, large pieces of software that require thousands of hours to master. Thats why Photoshop looks the same on every platform. To suggest they should use os native controls basically indicates you have no experience with them - there are no standard OS cotrols for bevel, extrude, build siege tank, or start network rendering.
- elsjaako 5y agoIt's funny you mention media software. GTK was originally written as a toolkit for GIMP (It stood for GIMP Tool Kit).