Standardization of Puppy Linux Desktop and App Platform
Standardization of Puppy Linux Desktop and App Platform
Puppy Linux is a superb Linux Distribution. However developing and deployment applications for Puppy Linux is not yet very easy.
Here is the problem:
Mostly Puppy Linux distros rely on shell scripts as backend and widget toolkits as GUI frontends. Shell scripts is standardized, however the widget toolkits is heavily fragmented. One developer uses gtkdialog, the other uses yaff-splash, etc. So the packages across Puppy Linux is heavily fragmented. For example Package A works on Puppy-A but it doesnt work on Puppy-B although they are both Puppy and have the same CPU architecture.
Both Windows and Android can deploy their applications quickly with less problem across their variants because of one thing -- STANDARDIZATION.
The development their application was almost standardized. They drafted their application framework and what software must be used especially on Android (In my opinion, this is the least defragmented software application because their application can deploy on almost all android OS and devices with less or no dependencies) its uses Dalvik VM for their applications.
On Windows, their Native API is standardized also the API for creating GUI and the Desktop Enviroment is nearly standardized. So the runtime libraries are the only problem.
Its now time to standardize the Application Platform for Puppy Linux especially the GUI frontend. It must be answer the following questions:
1. What GUI Frontend and notification must be used?
2. What Desktop Environment should be used?
3. What Application Framework should be used?
Standardizing the Application Platforms and GUI for Puppy Linux makes the development of Puppy Linux Application much easier and also more consistent Desktop Environment for Puppy Linux with less software fragmentation and better interoperability with other Puppy Linux versions/derivatives as long their CPU architectures are the same.
I hope that you consider my ideas and suggestions for the better of Puppy Linux. Thank you
Here is the problem:
Mostly Puppy Linux distros rely on shell scripts as backend and widget toolkits as GUI frontends. Shell scripts is standardized, however the widget toolkits is heavily fragmented. One developer uses gtkdialog, the other uses yaff-splash, etc. So the packages across Puppy Linux is heavily fragmented. For example Package A works on Puppy-A but it doesnt work on Puppy-B although they are both Puppy and have the same CPU architecture.
Both Windows and Android can deploy their applications quickly with less problem across their variants because of one thing -- STANDARDIZATION.
The development their application was almost standardized. They drafted their application framework and what software must be used especially on Android (In my opinion, this is the least defragmented software application because their application can deploy on almost all android OS and devices with less or no dependencies) its uses Dalvik VM for their applications.
On Windows, their Native API is standardized also the API for creating GUI and the Desktop Enviroment is nearly standardized. So the runtime libraries are the only problem.
Its now time to standardize the Application Platform for Puppy Linux especially the GUI frontend. It must be answer the following questions:
1. What GUI Frontend and notification must be used?
2. What Desktop Environment should be used?
3. What Application Framework should be used?
Standardizing the Application Platforms and GUI for Puppy Linux makes the development of Puppy Linux Application much easier and also more consistent Desktop Environment for Puppy Linux with less software fragmentation and better interoperability with other Puppy Linux versions/derivatives as long their CPU architectures are the same.
I hope that you consider my ideas and suggestions for the better of Puppy Linux. Thank you
-
- Posts: 1885
- Joined: Tue 05 Jun 2012, 12:17
- Location: Wisconsin USA
fragmented standards for gui/menus/systems/build enviroments in general etc is counterproductive to creativity since developers have to expend much more effort catering for multitudes of quirks and variations rather than on developing the core software.
The windows' boringly standard api has for years fostered a huge growth in amazing software...indeed their vista + plus upsetting of that applecart has hampered progress.
Puppies non standard ways are anachaic in nature and a pain in the arse generally... unless repositories of broken/incompatible packages are your idea of fun. Indeed this is recognized and some devs have endevoured to have some kind of standard approach in order to move forward.
mike
The windows' boringly standard api has for years fostered a huge growth in amazing software...indeed their vista + plus upsetting of that applecart has hampered progress.
Puppies non standard ways are anachaic in nature and a pain in the arse generally... unless repositories of broken/incompatible packages are your idea of fun. Indeed this is recognized and some devs have endevoured to have some kind of standard approach in order to move forward.
mike
@bark_bark_bark standardization does not meant to break the freedom. Puppy Linux is open source not a proprietary one so you have still a freedom. My point was to create a default standard on puppy linux application framework. In order to have a consistent application development and deployment across puppy linux versions/derivatives with less problems such as dependencies. Also it removes fragmentation of software distribution. The goals for puppy linux will be much better.
A freedom without guidelines can cause chaotic situation and the goal will have no direction.
A freedom without guidelines can cause chaotic situation and the goal will have no direction.
Software fragmentation is bad on OS and application ecology. It is an obstacle towards productivity and interoperability.
Think of this, before Android and iOS is developed, the mobile application development is very heavily fragmented. Because there are many symbian platforms and j2me platforms. So mobile applications at that time is not very well-adopted by the mobile users even by the developers. It can cause what we called CRASH just like VIDEO GAME CRASH of 1977.
Sadly to say, in Linux almost all softwares is almost fragmented. Display Servers, Desktop Environments, Widget Toolkits, etc are fragmented. Yes it is the power of open-source, we have a freedom but unfortunately have no UNITY. No unity, no directions at all.
Unlike in Windows, Mac OS X and Android. They united by one standard, by one API, and one application framework. So many PC users are like to use it and many developers want to develop applications for it.
We can have a standard without interfering the freedom and philosophy. It just a guideline in order to have unity, direction, and better productivity in software ecology.
And this approach must begin with Puppy Linux. Puppy must unify the core software components. Especially the Desktop Environment, File Managers, and Interprocess Communications. Instead from come various developers, it can be reduced to at least 3 to 5 components developers.
Example:
Present Puppy Linux Components:
-JWM (Joe Wingbermuehle)
-Rox-Filer (Thomas Leonard)
-GTK
-Pnethood
-gxmessage
-pupmessage
-yaff
-gtkdialog
Standardized Puppy Linux Components
-XFCE (Olivier Fourdan)
-Thunar (File management and file share access)
-xfce-notify
-gtkdialog
-GTK
Think of this, before Android and iOS is developed, the mobile application development is very heavily fragmented. Because there are many symbian platforms and j2me platforms. So mobile applications at that time is not very well-adopted by the mobile users even by the developers. It can cause what we called CRASH just like VIDEO GAME CRASH of 1977.
Sadly to say, in Linux almost all softwares is almost fragmented. Display Servers, Desktop Environments, Widget Toolkits, etc are fragmented. Yes it is the power of open-source, we have a freedom but unfortunately have no UNITY. No unity, no directions at all.
Unlike in Windows, Mac OS X and Android. They united by one standard, by one API, and one application framework. So many PC users are like to use it and many developers want to develop applications for it.
We can have a standard without interfering the freedom and philosophy. It just a guideline in order to have unity, direction, and better productivity in software ecology.
And this approach must begin with Puppy Linux. Puppy must unify the core software components. Especially the Desktop Environment, File Managers, and Interprocess Communications. Instead from come various developers, it can be reduced to at least 3 to 5 components developers.
Example:
Present Puppy Linux Components:
-JWM (Joe Wingbermuehle)
-Rox-Filer (Thomas Leonard)
-GTK
-Pnethood
-gxmessage
-pupmessage
-yaff
-gtkdialog
Standardized Puppy Linux Components
-XFCE (Olivier Fourdan)
-Thunar (File management and file share access)
-xfce-notify
-gtkdialog
-GTK
Software fragmentation is bad on OS and application ecology. It is an obstacle towards productivity and interoperability.
Think of this, before Android and iOS is developed, the mobile application development is very heavily fragmented. Because there are many symbian platforms and j2me platforms. So mobile applications at that time is not very well-adopted by the mobile users even by the developers. It can cause what we called CRASH just like VIDEO GAME CRASH of 1977.
Sadly to say, in Linux almost all softwares is almost fragmented. Display Servers, Desktop Environments, Widget Toolkits, etc are fragmented. Yes it is the power of open-source, we have a freedom but unfortunately have no UNITY. No unity, no directions at all.
Unlike in Windows, Mac OS X and Android. They united by one standard, by one API, and one application framework. So many PC users are like to use it and many developers want to develop applications for it.
We can have a standard without interfering the freedom and philosophy. It just a guideline in order to have unity, direction, and better productivity in software ecology.
And this approach must begin with Puppy Linux. Puppy must unify the core software components. Especially the Desktop Environment, File Managers, and Interprocess Communications. Instead from come various developers, it can be reduced to at least 3 to 5 components developers.
Example:
Present Puppy Linux Components:
-JWM (Joe Wingbermuehle)
-Rox-Filer (Thomas Leonard)
-GTK
-Pnethood
-gxmessage
-pupmessage
-yaff
-pmount
-gtkdialog
Standardized Puppy Linux Components
-XFCE (Olivier Fourdan)
-Thunar (File management and file share access)
-xfce-notify
-gtkdialog
-GTK
Think of this, before Android and iOS is developed, the mobile application development is very heavily fragmented. Because there are many symbian platforms and j2me platforms. So mobile applications at that time is not very well-adopted by the mobile users even by the developers. It can cause what we called CRASH just like VIDEO GAME CRASH of 1977.
Sadly to say, in Linux almost all softwares is almost fragmented. Display Servers, Desktop Environments, Widget Toolkits, etc are fragmented. Yes it is the power of open-source, we have a freedom but unfortunately have no UNITY. No unity, no directions at all.
Unlike in Windows, Mac OS X and Android. They united by one standard, by one API, and one application framework. So many PC users are like to use it and many developers want to develop applications for it.
We can have a standard without interfering the freedom and philosophy. It just a guideline in order to have unity, direction, and better productivity in software ecology.
And this approach must begin with Puppy Linux. Puppy must unify the core software components. Especially the Desktop Environment, File Managers, and Interprocess Communications. Instead from come various developers, it can be reduced to at least 3 to 5 components developers.
Example:
Present Puppy Linux Components:
-JWM (Joe Wingbermuehle)
-Rox-Filer (Thomas Leonard)
-GTK
-Pnethood
-gxmessage
-pupmessage
-yaff
-pmount
-gtkdialog
Standardized Puppy Linux Components
-XFCE (Olivier Fourdan)
-Thunar (File management and file share access)
-xfce-notify
-gtkdialog
-GTK
slax with xfce4 gives me this.... makes life soooooo much easier when it comes to packages.Standardized Puppy Linux Components
-XFCE (Olivier Fourdan)
-Thunar (File management and file share access)
-xfce-notify
-gtkdialog
-GTK
preaching to the converted here.
Note the likes of yaf splash/gxmessage are haccy scripts to something else just to add to the fun
I don't think puppy is a good choice for a campaign of standardisation really....it likes being a mess...gives some people a sense of power perhaps....that's why you will only get hostility.
mike
I think this discussion is important. Not because it will give any answer, but it put things in perspective...
Over the last years, Puppy has become more standardized then it was in early stages. We have left a lot of backends, and I think these has been some good moves. BUT, we also need diversity, so a rigid standard is not what I want. And it might happened in the future, that we need yet another lib/api to get things rolling...
- tcl/tk is not required anymore
- gtk-1 was left when we entered Puppy 4
- yaf-splash is replaced by a gtkdialog wrapper
- cdrdao is gone
- jwm has become something like a standard
- Boxes and dialogs in Woof-CE is slowly moving from pupxmessage/xmessage/gxmessage/Xdialog towards gtkdialog
Over the last years, Puppy has become more standardized then it was in early stages. We have left a lot of backends, and I think these has been some good moves. BUT, we also need diversity, so a rigid standard is not what I want. And it might happened in the future, that we need yet another lib/api to get things rolling...
- tcl/tk is not required anymore
- gtk-1 was left when we entered Puppy 4
- yaf-splash is replaced by a gtkdialog wrapper
- cdrdao is gone
- jwm has become something like a standard
- Boxes and dialogs in Woof-CE is slowly moving from pupxmessage/xmessage/gxmessage/Xdialog towards gtkdialog
@zigbert you are right. However in the middle of diversity there must is a unity behind of it in order to have an interoperability across puppy linux versions.
In my opinion, it must be diversed but less fragmentation. Just like Android, there is a large diversity of android devices but their applications run across each devices and android version with less problems.
For the past several years of observing and testing Puppy Linux and the derivatives, I observed that there is lack of unity across of it which can cause package dependency problems on application or sometimes the application does not work at all. I realized that developing Puppy Linux application will be difficult because of the observations that I found.
Having a standard/guidelines (not a rigid standard) makes better directions for puppy linux. Its makes also both user and developer-friendly.
In users' perspective, it makes the application installation easier and run without problems.
In developers' pespective, you can deploy applications without worrying the dependencies or having a doubt if your application that you written work in other system.
In my opinion, it must be diversed but less fragmentation. Just like Android, there is a large diversity of android devices but their applications run across each devices and android version with less problems.
For the past several years of observing and testing Puppy Linux and the derivatives, I observed that there is lack of unity across of it which can cause package dependency problems on application or sometimes the application does not work at all. I realized that developing Puppy Linux application will be difficult because of the observations that I found.
Having a standard/guidelines (not a rigid standard) makes better directions for puppy linux. Its makes also both user and developer-friendly.
In users' perspective, it makes the application installation easier and run without problems.
In developers' pespective, you can deploy applications without worrying the dependencies or having a doubt if your application that you written work in other system.
-
- Posts: 1885
- Joined: Tue 05 Jun 2012, 12:17
- Location: Wisconsin USA
diversity in applications.... standardisation of user interfaces ....the 2 can co exist.
Lets put it another way...jwm/rox/xfce4/kde/gnome/icewm/fluxbox......they all have something in common...they do sod all themselves and are simply there to help the user run software that DOES do something. By having a confusion of program launchers and system backends to deal with it makes life awkward for software writers.
The other point is dependancy matching...hijacking some other distros repository at least 'should' solve that problem assuming ALL binaries are actually sourced from said distro.
Another help is to compile apps with the lowest version needs as possible to give the widest usage.
mike
Lets put it another way...jwm/rox/xfce4/kde/gnome/icewm/fluxbox......they all have something in common...they do sod all themselves and are simply there to help the user run software that DOES do something. By having a confusion of program launchers and system backends to deal with it makes life awkward for software writers.
The other point is dependancy matching...hijacking some other distros repository at least 'should' solve that problem assuming ALL binaries are actually sourced from said distro.
Another help is to compile apps with the lowest version needs as possible to give the widest usage.
mike
You definitely have the right idea. Something I learned late in life was that if you start off posts with "in my observation" or "it seems to me" or "i suggest" ... you can have the same post content but people's reaction will change from "don't tell me what to do" to "you have some good ideas and lets discuss further"mistfire wrote:@linuxcbon, Im just sharing my ideas and suggestions. If the Puppy Linux is an open source. Then the community must be open for suggestions, ideas, and comments from the users and tester in order to improve the Puppy.
Just a suggestion
But in a do-ocracy like Puppy I do not think you will get people to agree on a standard. I personally don't have the skills to build my own Pup, but if I did and I didn't like XFCE, I'd just build and publish my own variant. The best way to standardize is to contirbute to a puppy that is so well received (like Tahrpup) that the temptation to use an alternative is low And of course if you want to standardize on something that's not Tahrpup then actually you are working against standardization ... you're just working for what YOU want.
perhaps the reference to xfce is to its use of desktop standards such as for the menus and application associations rather than a preference for that particular window manager.... I like that a desktop file works as intended in the system for example without any hacky scripts. In short...use software that uses standards rather than its own one off methods...jwm is a major culprit in that respect.
Standards also help if you want to globalise...ie for the rest of the world that don't speak english. I noticed the network wizard had its own little corner for translations totally removed from the usuall accepted place.
mike
Standards also help if you want to globalise...ie for the rest of the world that don't speak english. I noticed the network wizard had its own little corner for translations totally removed from the usuall accepted place.
mike
The only gripes I have are the loss of Tcl/Tk, other than that, having a good standard is useful, though I do admit I actually loathe the constant usage of Bash for graphical applicationszigbert wrote:I think this discussion is important. Not because it will give any answer, but it put things in perspective...
Over the last years, Puppy has become more standardized then it was in early stages. We have left a lot of backends, and I think these has been some good moves. BUT, we also need diversity, so a rigid standard is not what I want. And it might happened in the future, that we need yet another lib/api to get things rolling...
- tcl/tk is not required anymore
- gtk-1 was left when we entered Puppy 4
- yaf-splash is replaced by a gtkdialog wrapper
- cdrdao is gone
- jwm has become something like a standard
- Boxes and dialogs in Woof-CE is slowly moving from pupxmessage/xmessage/gxmessage/Xdialog towards gtkdialog
But then again, for Tcl you could easily use Gnocl which I believe was in some puppies before 4.x and had some amazing looking programs that worked well too.
But I will admit, keeping a good standard for development is important, though some software is going to be written in different languages than the norm, but if they can maintain a consistent look, that's typically a good thing.
Just my two cents.
-
- Posts: 1885
- Joined: Tue 05 Jun 2012, 12:17
- Location: Wisconsin USA
I still defend the idea of having different desktop environments. Especially considering how many of us use old computers, I think having choices like JWM and fluxbox rather than being forced into using buggy and bloated monsters like GNOME is a nice thing to have.
People are ALL different.
XFCE is the Linux Desktop that works best for me and it meets my needs and the environment I am in..
Other people see KDE the best for them and the environment they are using it in.
There are even people who only use the command line because it works best for them.
People are ALL different.
XFCE is the Linux Desktop that works best for me and it meets my needs and the environment I am in..
Other people see KDE the best for them and the environment they are using it in.
There are even people who only use the command line because it works best for them.
....
http://www.murga-linux.com/puppy/viewtopic.php?t=97046
ok good example...his solution should be to simply add a desktop file to the desktop folder.... but he will have to resort to other one off methods instead.
mike
ok good example...his solution should be to simply add a desktop file to the desktop folder.... but he will have to resort to other one off methods instead.
mike
- neerajkolte
- Posts: 516
- Joined: Mon 10 Feb 2014, 07:05
- Location: Pune, India.