Standardization of Puppy Linux Desktop and App Platform

What features/apps/bugfixes needed in a future Puppy
Message
Author
mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

Standardization of Puppy Linux Desktop and App Platform

#1 Post by mistfire »

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

bark_bark_bark
Posts: 1885
Joined: Tue 05 Jun 2012, 12:17
Location: Wisconsin USA

#2 Post by bark_bark_bark »

I disagree on the need for standardization. I believe fragmentation is very important to have. Standardization removes freedom of choice and usually creates a system the user has no control over.
....

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#3 Post by mikeb »

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

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#4 Post by mistfire »

@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.

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#5 Post by mistfire »

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

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#6 Post by mistfire »

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

linuxcbon
Posts: 1312
Joined: Thu 09 Aug 2007, 22:54

#7 Post by linuxcbon »

In linux, nobody cares about blablablablablablablablablablablablablablablablablablablablablabla, we only care about results.
Stop talking and make it. Show us what you can code and create. Or just don't say anything and let the real coders and testers (=real men) do the job. :D

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#8 Post by mikeb »

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.

preaching to the converted here.

Note the likes of yaf splash/gxmessage are haccy scripts to something else just to add to the fun :D

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

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#9 Post by zigbert »

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

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#10 Post by mistfire »

@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.

mistfire
Posts: 1411
Joined: Wed 05 Nov 2008, 00:35
Location: PH

#11 Post by mistfire »

@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.

bark_bark_bark
Posts: 1885
Joined: Tue 05 Jun 2012, 12:17
Location: Wisconsin USA

#12 Post by bark_bark_bark »

people need software that does things differently because people are different. This is why fragmentation is needed and one of the many reasons of why it's bad that so many distributions are virtually the same.
....

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#13 Post by mikeb »

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

wboz
Posts: 233
Joined: Wed 20 Nov 2013, 21:07

#14 Post by wboz »

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.
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" :)

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.

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#15 Post by mikeb »

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

User avatar
NeroVance
Posts: 201
Joined: Wed 10 Oct 2012, 23:00
Location: Halifax, Canada

#16 Post by NeroVance »

zigbert 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
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 applications :shock:

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.

bark_bark_bark
Posts: 1885
Joined: Tue 05 Jun 2012, 12:17
Location: Wisconsin USA

#17 Post by bark_bark_bark »

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.
....

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#18 Post by mikeb »

Use whatever desktop you like.... choose one that sticks to linux desktop standards as that makes design/packaging simpler.
Its not about resticting choice but eliminating compatability problems.

mike

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#19 Post by mikeb »

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

User avatar
neerajkolte
Posts: 516
Joined: Mon 10 Feb 2014, 07:05
Location: Pune, India.

#20 Post by neerajkolte »

Hi mike,
Is that how it's done in xfce, or other desktops?

- Neeraj.
"One of my most productive days was throwing away 1000 lines of code."
- Ken Thompson

“We tend to overestimate the effect of a technology in the short run and underestimate the effect in the long run.â€￾
- Amara’s Law.

Post Reply