Next Puppy 5.0.2 29 September 2011
Posted: Sat 13 Aug 2011, 15:51
Background
One of the biggest problems that followed Puppy's history is its growing memory usage and size. Even with all its eye-candy, Puppy 4.2.1 was lighter than current members of the Puppy family.
There is a good reason for this: the thumb rule that says software expands over the course of its development. This is true; most of the software packages used by Puppy indeed grew since Puppy's first appearance in 2003.
Also, Puppy gained big amounts of fat during the transition from the 4.x series to the more automated 5.x series, which is built using Woof. Many packages that were included in the early Puppy 4.x series made their way into recent Puppy versions, although they were totally unneeded.
Additionally, although the high degree of automation gave Puppy developers more control over the choice of packages shipped with each release, it also pulled in lots of unneeded files and packages from other distributions, such as distribution-specific documentation. The intimate knowledge of each and every package included in the release was gone.
About two years passed since the first Woof-built Puppy and recent Puppy releases still contain lots of bloat; much of it originates in desktop environments such as GNOME.
The most common strategy in the battle against Puppy's growing size has been the removal of functionality, for the sake of size. The best example for this is Xorg_High, a genuine piece of must-have functionality in a modern operating system. I believe this isn't the way to go.
What I do believe is that it is possible to reduce Puppy's size, using strict quality assurance tools, creativity, imagination and new ways of doing things. Good examples for this are XZ Utils and AdvanceCOMP; they were not available in the early days of Puppy.
Moreover, I believe it's possible to add functionality, while reducing size. I'm totally against all sorts of user-friendly installers (such as Quickpet) that provide easy means for installing important applications that should ship with Puppy, such a web browser. Because nearly all users would eventually download those packages, installers don't really solve the problem; they just split Puppy's download into two parts, a less functional Puppy and all the missing functionality, one click away.
The only way to bring Puppy's size down and improve its performance is re-imaging the way it is built; that's where Next Puppy steps in.
Introduction
Next Puppy is a minimalistic puplet which strives for elegance, efficiency, stability and long-term support.
It goes back to the early Puppy 5.x days and reinvents the way Puppy is developed; with its small size and great speed, it represents Puppy's true spirit.
It follows the one-application-per-task philosophy and favors minimalistic, small screen friendly applications. Each application built and included in Next Puppy is constructed automatically and goes through a quality assurance procedure and thorough optimization.
Next Puppy is based on Puppy Squeeze, a Puppy built using binary package of Debian's stable branch.
Key Features
- Low memory usage of 35 to 40 MB, longer battery life and great performance.
- Soft and smooth text rendering that is easier on the eyes, which is good for passionate writers and news addicts.
- Elegant looks.
- Good support for small screens, which is good for netbooks and old machines with 15' or 17' monitors.
- Geek-friendliness.
Included Software
Next Puppy ships with an assorted collection of snappy applications that leave you with no doubt that your hardware's true power is unleashed:
- Linux kernel 2.6.39.4, patched with the BFS scheduler by Con Kolivas to improve performance.
- The Window Maker window manager, which implements the the elegant NextSTEP user interface.
- The Firefox web browser.
- Sylpheed, a small e-mail client and news reader.
- Transmission, a small BitTorrent client.
- emelFM2, a small two-pane file manager.
- Leafpad, a minimalistic text editor.
- rxvt-unicode, a tiny terminal emulator.
- Xarchiver, a small archive manager.
- DeaDBeeF, a lightweight music player.
- rgbPaint, a basic image editor.
- MPlayer, a media player.
- Feh, a minimalistic image viewer.
- Zathura, the smallest PDF document viewer there is.
- Aumix, a small volume mixer.
- scrot, a screen capture tool.
- Trayfreq, a processor frequency and better monitor.
Note that Next Puppy lacks certain applications that are present in official releases:
- A word processor and a spreadsheet application: Abiword and Gnumeric could be easily stuffed in 2 to 5 MB, but they're not needed when comparable web applications exist. Also, most people with office needs would prefer LibreOffice.
- An IRC client; the main use for an IRC client in Puppy is its IRC channel, but it's available through Web IRC, too.
- A contact manager and a password manager: both introduce security and privacy risks, so they're not included.
- A download manager: modern web browsers ship with sufficient download managers so a separate application is nothing but duplicate functionality that harms the one-application-per-task philosophy.
Looks
Next Puppy also looks nice; its looks are comparable to the standard among major distributions that are at least five times bigger and not even close to its speed:
- The lightweight Xfce theme engine.
- The Vanilla-DMZ mouse cursor theme, which is widely accepted as the de-facto theme among major distributions.
- The Droid font, which is the default in Xubuntu and Android.
- A vanilla Fontconfig that makes text appear as in bigger distributions.
- An improved FreeType with the Infinality patches that make fonts easier to read and much smoother.
Performance
In order to improve Next Puppy's performance, it includes a number of innovative enhancements uncommon (or not existing at all) in today's Puppy releases:
- A small D-Bus package, which consumes less resources.
- A tiny Bash, which makes every shell script executed consume less precious memory.
- The non-crucial D-Bus and CUPS (which provides printing support) are included, but disabled by default.
- Tray icons are known to be big memory eaters; Next Puppy has only the free memory applet and Trayfreq.
- Support for 3D acceleration though Mesa, out-of-the-box; no need for Xorg_High.
- Next Puppy takes advantage the xz support in Squashfs in order to achieve much smaller size and faster boot times.
Size
Also, in order to keep Next Puppy slim and healthy, it is size-optimized:
- Most documentation is available online and therefore, it is removed.
- Unneeded artwork is removed.
- Support for uncommon languages is removed, but available through add-on packages.
- Unneeded libraries and packages are removed; Next Puppy has no GNOME dependencies.
- Next Puppy is optimized; all compressed files shipped with it are re-compressed, all images are optimized, binary files are stripped and so on.
Notes
- Certain applications (including Transmission) won't work out of the box, because they want D-Bus enabled. In order to enable it, go to the boot manager (System -> "BootManager configure bootup") and open the system services manager, using the button on the bottom. Then, tick the box next to "dbus" and reboot your machine.
- CUPS, which handles all printing-related functionality, is disabled by default. If you need support for printing, you can enable it through the boot manager, too.
Download
Required:
ISO: next-5.0.2.iso (93 MB)
devx module: devx_next_5.0.1.sfs (63 MB)
The devx module is required if you intend to build packages or do any sort of programming.
Extra:
Kernel sources: kernel_sources-2.6.39-4.sfs (82 MB)
MD5 hashes:
MD5 hashes for all Next Puppy files can be found here and the kernel sources' are here. Once you download a big file, calculate its hash and make sure it matches.
Future Version
- New X from Debian backports
- Openbox
- ObConf
- tint2
- wbar
- Clearlooks
- Abiword
- Gnumeric
- Osmo
- Smaller imlib2 package, without the testing programs
- D-Bus and CUPS enabled by default
- SDL
- Xpad
- Small bug fix in the menu generator
- Homebank
- Parcellite
- Gcolor2
- gtk-theme-switch replaces LXAppearance
- GdMap
- Searchmonkey
- mhWaveEdit
- Pidgin
- A menu entry for viewing the webcam using MPlayer
- Dia
- Hunspell and Enchant for spell checking in Firefox and Abiword
- PuTTY, a true must-have for remote administration (SSH and Telnet)
- Dropbear (SSH server and client)
- tcpdump (packet analyzer)
One of the biggest problems that followed Puppy's history is its growing memory usage and size. Even with all its eye-candy, Puppy 4.2.1 was lighter than current members of the Puppy family.
There is a good reason for this: the thumb rule that says software expands over the course of its development. This is true; most of the software packages used by Puppy indeed grew since Puppy's first appearance in 2003.
Also, Puppy gained big amounts of fat during the transition from the 4.x series to the more automated 5.x series, which is built using Woof. Many packages that were included in the early Puppy 4.x series made their way into recent Puppy versions, although they were totally unneeded.
Additionally, although the high degree of automation gave Puppy developers more control over the choice of packages shipped with each release, it also pulled in lots of unneeded files and packages from other distributions, such as distribution-specific documentation. The intimate knowledge of each and every package included in the release was gone.
About two years passed since the first Woof-built Puppy and recent Puppy releases still contain lots of bloat; much of it originates in desktop environments such as GNOME.
The most common strategy in the battle against Puppy's growing size has been the removal of functionality, for the sake of size. The best example for this is Xorg_High, a genuine piece of must-have functionality in a modern operating system. I believe this isn't the way to go.
What I do believe is that it is possible to reduce Puppy's size, using strict quality assurance tools, creativity, imagination and new ways of doing things. Good examples for this are XZ Utils and AdvanceCOMP; they were not available in the early days of Puppy.
Moreover, I believe it's possible to add functionality, while reducing size. I'm totally against all sorts of user-friendly installers (such as Quickpet) that provide easy means for installing important applications that should ship with Puppy, such a web browser. Because nearly all users would eventually download those packages, installers don't really solve the problem; they just split Puppy's download into two parts, a less functional Puppy and all the missing functionality, one click away.
The only way to bring Puppy's size down and improve its performance is re-imaging the way it is built; that's where Next Puppy steps in.
Introduction
Next Puppy is a minimalistic puplet which strives for elegance, efficiency, stability and long-term support.
It goes back to the early Puppy 5.x days and reinvents the way Puppy is developed; with its small size and great speed, it represents Puppy's true spirit.
It follows the one-application-per-task philosophy and favors minimalistic, small screen friendly applications. Each application built and included in Next Puppy is constructed automatically and goes through a quality assurance procedure and thorough optimization.
Next Puppy is based on Puppy Squeeze, a Puppy built using binary package of Debian's stable branch.
Key Features
- Low memory usage of 35 to 40 MB, longer battery life and great performance.
- Soft and smooth text rendering that is easier on the eyes, which is good for passionate writers and news addicts.
- Elegant looks.
- Good support for small screens, which is good for netbooks and old machines with 15' or 17' monitors.
- Geek-friendliness.
Included Software
Next Puppy ships with an assorted collection of snappy applications that leave you with no doubt that your hardware's true power is unleashed:
- Linux kernel 2.6.39.4, patched with the BFS scheduler by Con Kolivas to improve performance.
- The Window Maker window manager, which implements the the elegant NextSTEP user interface.
- The Firefox web browser.
- Sylpheed, a small e-mail client and news reader.
- Transmission, a small BitTorrent client.
- emelFM2, a small two-pane file manager.
- Leafpad, a minimalistic text editor.
- rxvt-unicode, a tiny terminal emulator.
- Xarchiver, a small archive manager.
- DeaDBeeF, a lightweight music player.
- rgbPaint, a basic image editor.
- MPlayer, a media player.
- Feh, a minimalistic image viewer.
- Zathura, the smallest PDF document viewer there is.
- Aumix, a small volume mixer.
- scrot, a screen capture tool.
- Trayfreq, a processor frequency and better monitor.
Note that Next Puppy lacks certain applications that are present in official releases:
- A word processor and a spreadsheet application: Abiword and Gnumeric could be easily stuffed in 2 to 5 MB, but they're not needed when comparable web applications exist. Also, most people with office needs would prefer LibreOffice.
- An IRC client; the main use for an IRC client in Puppy is its IRC channel, but it's available through Web IRC, too.
- A contact manager and a password manager: both introduce security and privacy risks, so they're not included.
- A download manager: modern web browsers ship with sufficient download managers so a separate application is nothing but duplicate functionality that harms the one-application-per-task philosophy.
Looks
Next Puppy also looks nice; its looks are comparable to the standard among major distributions that are at least five times bigger and not even close to its speed:
- The lightweight Xfce theme engine.
- The Vanilla-DMZ mouse cursor theme, which is widely accepted as the de-facto theme among major distributions.
- The Droid font, which is the default in Xubuntu and Android.
- A vanilla Fontconfig that makes text appear as in bigger distributions.
- An improved FreeType with the Infinality patches that make fonts easier to read and much smoother.
Performance
In order to improve Next Puppy's performance, it includes a number of innovative enhancements uncommon (or not existing at all) in today's Puppy releases:
- A small D-Bus package, which consumes less resources.
- A tiny Bash, which makes every shell script executed consume less precious memory.
- The non-crucial D-Bus and CUPS (which provides printing support) are included, but disabled by default.
- Tray icons are known to be big memory eaters; Next Puppy has only the free memory applet and Trayfreq.
- Support for 3D acceleration though Mesa, out-of-the-box; no need for Xorg_High.
- Next Puppy takes advantage the xz support in Squashfs in order to achieve much smaller size and faster boot times.
Size
Also, in order to keep Next Puppy slim and healthy, it is size-optimized:
- Most documentation is available online and therefore, it is removed.
- Unneeded artwork is removed.
- Support for uncommon languages is removed, but available through add-on packages.
- Unneeded libraries and packages are removed; Next Puppy has no GNOME dependencies.
- Next Puppy is optimized; all compressed files shipped with it are re-compressed, all images are optimized, binary files are stripped and so on.
Notes
- Certain applications (including Transmission) won't work out of the box, because they want D-Bus enabled. In order to enable it, go to the boot manager (System -> "BootManager configure bootup") and open the system services manager, using the button on the bottom. Then, tick the box next to "dbus" and reboot your machine.
- CUPS, which handles all printing-related functionality, is disabled by default. If you need support for printing, you can enable it through the boot manager, too.
Download
Required:
ISO: next-5.0.2.iso (93 MB)
devx module: devx_next_5.0.1.sfs (63 MB)
The devx module is required if you intend to build packages or do any sort of programming.
Extra:
Kernel sources: kernel_sources-2.6.39-4.sfs (82 MB)
MD5 hashes:
MD5 hashes for all Next Puppy files can be found here and the kernel sources' are here. Once you download a big file, calculate its hash and make sure it matches.
Future Version
- New X from Debian backports
- Openbox
- ObConf
- tint2
- wbar
- Clearlooks
- Abiword
- Gnumeric
- Osmo
- Smaller imlib2 package, without the testing programs
- D-Bus and CUPS enabled by default
- SDL
- Xpad
- Small bug fix in the menu generator
- Homebank
- Parcellite
- Gcolor2
- gtk-theme-switch replaces LXAppearance
- GdMap
- Searchmonkey
- mhWaveEdit
- Pidgin
- A menu entry for viewing the webcam using MPlayer
- Dia
- Hunspell and Enchant for spell checking in Firefox and Abiword
- PuTTY, a true must-have for remote administration (SSH and Telnet)
- Dropbear (SSH server and client)
- tcpdump (packet analyzer)