KDE Applications/Cross Platform Issues: Difference between revisions
Line 9: | Line 9: | ||
==Semantic Search== | ==Semantic Search== | ||
Apps shouldn't assume Baloo is available or running on any other platform | Apps shouldn't assume Baloo is available or running on any other platform and should gracefully degrade features. We may need abstraction for native search engines? | ||
==KIO== | ==KIO== |
Latest revision as of 19:58, 8 July 2014
This page summarises issues with running KDE applications on non-Linux platforms and proposed solutions.
On Linux we have package mangers to install many extras that applications require, or have daemons running to provide services. We cannot rely on these existing on other platforms
DBUS, Systemd and Other Daemons
Installing and running non-native daemons and services is often difficult on other platforms and may require elevated privileges. Applications should avoid directly accessing such daemons and instead use shared abstraction APIs.
Semantic Search
Apps shouldn't assume Baloo is available or running on any other platform and should gracefully degrade features. We may need abstraction for native search engines?
KIO
Should not be installed or relied upon on non-Linux platforms.
Icon Sets
The full FDO standard icon themes are far to large to ship with every download, especially Oxygen. Apps may need to reduce the icons included in their packages to just those icons they need. A common tool is probably needed to determine this.
Translation Files
Translation files are normally installed via the package manager. On other platforms they must either all be included in the initial install (unnecessary bloat), be available as an extra installer download (not very user friendly), downloaded dynamically by the installer, or made available via GHNS.
Spelling Dictionaries
Spelling dictionaries face the same issues and potential solutions as Translations, but are less commonly used.
System Settings
A number of shared libraries and services may need configuring by the user. On Plasma we have System Settings to access the required KCMs, but this is not recommended for other desktops (Gnome, etc) and platforms (Windows, Mac). Any extra KCMs needed by an application must be included in their own config dialog or made accessible via a separate menu item. This should be a run-time determination based on whether the app is running under Plasma or not. A common way for doing this should be determined.
Update Notification
We need at minimum a mechanism to notify Apps on non-Linux platforms that an update is available for download. Some platforms may offer a native option for updates depending on how the apps were distributed in the first place. An advanced option may be to have a KDE updater, like Apple, Adobe and Google have for Windows.
TODO: Investigate what options Qt offers.
Icons on buttons
We should automatically default to the native platform preference.