helloSystem / hello

Desktop system for creators with a focus on simplicity, elegance, and usability. Based on FreeBSD. Less, but better!
2.3k stars 57 forks source link

Standardizing App format #53

Open CyanoMox opened 3 years ago

CyanoMox commented 3 years ago

I write this because I want to express my two cents on app format. I think we should support only ONE type of application format (excluding spare executables files). I read in https://github.com/helloSystem/hello/wiki/Architecture that there are 3 suggestions of which format we could use. But I think that it would a better idea to not rely on nothing else than AppImage.

Here are my points: 1) AppImage is a well-known and reliable distro-agnostic app packaging system. This means that apps are already bundled this way by more and more developers. No need to reinvent the weel another time, even if following GNUstep idea.

2) We should reduce terminal usage, and so repository and ppa needings. Mere Mortals definitely don't want them. To achieve this, we should even not include a standard package manager (aka pgk, apt, pacman, etc). Everything sould be accessible by "googling" and standard FTP download & Drag'n'Drop in Applications folder.

3) AppImages can be easily brought to other non-Hello systems even if they don't support GNUstep-like or ROX-style type of app packing. This shoudn't be possible by "inventing" another non-common and unsupported style of app allocation. AppImage is well known and shared in major Unix-like distros nowadays. Maybe we could include both Linux and BSD types of executables, so Linux users should not use Alien utility.

4) Using ".app" folders could confuse unaware Mac users.

5) If a non-AppImage .pkg is dragged into Applications folder, we should configure a dipendency-discovery system (such as dpkg) to download them an then we should repack the app in a working AppImage, wich is still bringable to other systems without any other effort. No single terminal line needed for that, this should "Just work".

Notes:

Hope I'm not a fool :D. -Cyano

probonopd commented 3 years ago

AppImage is a well-known and reliable distro-agnostic app packaging system

Work is underway to make it possible to use the existing AppImages that have been built with Linux in mind on FreeBSD systems including helloSystem.

We should reduce terminal usage

Hello @Cyano, welcome and thanks for sharing your thoughts.

The goal is to make the terminal entirely optional.

Linux users should not use Alien utility

No alien utility needed. The Linuxulator on FreeBSD can run Linux executables.

Using ".app" folders could confuse unaware Mac users

.AppDir and .app bundles are already supported by helloSystem, since they offer a very convenient way of providing editable open source applications. E.g., many of the helloSystem Utilities and Preferences applications are written in PyQt5, which means that you can right-click on them, select "Open in new Tab", and edit their source code right there...

image

I suggest to use a smaller name for that apps, without capitalization

Lowercase means command line tool, uppercase means graphical application. Like it has been on Mac OS X since forever.

.appkg extention

The extension for AppImage is .AppImage.