New Package Management System (For You AppCenter Developers)

Bismillahirrahmanirrahim.

Maybe people don’t understand what I have written in many forums even in Launchpad about single offline installer. I will explain briefly now by this post. See at this pictures:

mockup-appcenter-scheme-normal

This scheme shows us the normal way our distro doing installation. Retrieve packages from the internet then install them then the installer saved on same directory (/var/cache/apt/archives).

What I Proposed to You I

mockup-appcenter-scheme-1

This scheme, at the main point is, the package manager (your AppCenter) must be able to save the installer (DEB/RPM) into specific folder based on the name of program. Why? You can see the “magical app” created by Indonesian guy Fajran Iman Rusadi: http://repo.ugm.ac.id/apt-web. This web app (Github: https://github.com/fajran/apt-web), has helped thousands of Indonesian Ubuntu users because it can give you the complete links into an application. Simply, enter an aplication name, the links appear, download all links into a folder, and install all packages on that folder. Try that first so you can understand closely this proposal. My proposal just a desktop implementation (similiar but not same) for APT-WEB. Why, once again, why? Because offline system has so many benefits even more than just normal installation system above. If we mix all downloaded packages, we don’t know which is the dependencies for one app. Different if the downloaded packages can be saved on separate folders. Offline installation system allows you to give the folder to another user so you can help your friends and neighbours.

Look at this screenshot. I have some folders contain apps I like. I download them by APT-WEB.

saved-packages-specific-folders

How to use the folder? So easy. We Indonesians, because of APT-WEB, we habitually use sudo dpkg -i *.deb on the directory. So, if your AppCenter has implemented this Proposed Installation System I, your users just do sudo dpkg -i *.deb again for installaing what he removed yesterday. No need to download it again.

To be clear: you can just add this feature to your AppCenter/package manager as an option. You don’t need to change the normal system to Proposed System I.

What I Proposed to You II

mockup-appcenter-scheme-2

Actually this is the one reason why this blog named DREAM. Yes because this is my dream since first time using Mandriva some years ago. I dreamed someday I can just install an app by one installer only. Not more than one. How? By combining the Normal System and Proposed System I. You don’t need to change radically the repo system. No, don’t do it. But change your AppCenter/package manager to do these:

  1. do the Normal System (OK)
  2. do the Proposed System I (not yet)
  3. accept what user select from installed program (not yet)
  4. ZIP down the folder which is the name selected by user (not yet)
  5. copy the ZIP into another folder (not yet)

See? Just a modification to Normal System. The second option is these:

  1. do the Normal System (OK)
  2. don’t do the Proposed System I (OK)
  3. accept what user select from installed program (not yet)
  4. do filtering/selecting from mixed and crazy-crowded folder (/var/cache/apt/archives/) which are the correct dependencies for the selected program (not yet)
  5. copy the filtered packages into one folder (not yet)
  6. ZIP the folder (not yet)

The most headacheable part is number 4. This part is what I asked on many forums and as I know nobody can do it until now. And, if the last part is OK (ZIP), then it is amazing if your AppCenter/package manager can convert the ZIP into RUN. Single offline installer.

Benefits of Proposed I

  1. Your users can save the installers for further installments.
  2. Your users can give the  folder to their friends. At least, their distro version is same. Further ideas are waiting.
  3. Your offline users (such as majority in Indonesia) can install app without any difficulties anymore. Tutorials can be short and simple.
  4. You help your users to save their bandwidth because they don’t need to download again.
  5. You help your users to save their money because of point 4.
  6. You help your users to save their time because they don’t need to searching one by one dependencies by themselves in the /var/cache/apt/archives or on PKGS.org.
  7. You help your users to avoid headache because of point 6.
  8. You can keep the Normal System ahead of this system.

Benefits of Proposed II

  1. Same with Proposed I.
  2. No folder, just one file (single offline installer).

Conclusion

This is just an idea. My idea because I live at a place where internet is expensive. You can take this idea or just abandon it. I wish it is the best for end users and I have feel it 7 years with Windows. Now I see my friends’ smartphone (Android) and I wish the APK-like system comes to Linux desktop. Don’t care what distro you are. You have chances to implement this proposals. Choice is yours! Thank you so much.

Important Notes!

Firstly, this post have begun by some posting I have created on many forums. You can see them here:

  1. [ASK] Tracking Package Dependencies in /var/cache/apt/archives (Ubuntuforums.org)
  2. [ASK] Tracking Package Dependencies in /var/cache/apt/archiv (LinuxMint Forum)
  3. [ASK] Tracking Package Dependencies in /var/cache/apt/archives (Debian Mailing List)
  4. [ASK] Backup Manjaro Installed Applications (Manjaro Forum)
  5. [ASK] apt-get download Untuk Yang Sudah Diinstal (Indonesian Backtrack Team)
  6. [TANYA] apt-cache untuk Instalasi Offline (Ubuntu Indonesia Forum)
  7. [TANYA] apt-cache untuk Instalasi Offline (Kaskus The Largest Indonesian Forum)
  8. The future of package management in Fedora (a Fedoran blog)
  9. I forget where again I posted the ideas.

Secondly, I have found some candidates similiar to my ideas but they are not meets all of my criterias. They are:

  1. PortableLinuxApps.org (the best but not officially accepted by community)
  2. Zeroinstall | Official | (awesome but honestly I don’t understand how the system works)
  3. Keryx | Omgubuntu | Askubuntu | (almost the best and very close to Proposed I above but it seems uncontinued)
  4. apt-get hack | Webup8 (simple, clean, easy but only for us not for newbies)
  5. Synaptic script (why should script if you can make it Proposed I and Proposed II?)
  6. apt-offline | Ubuntu Official Manpages | Fifi | Its FOSS | Debian Admin | Askubuntu | (not same with the name, the PC with apt-offline must be connected to the internet)
  7. apt-cache (it can’t do point 4 at Proposed II second option)
  8. apt-rdepends (some people say it is suite but apparently not)
  9. dpkg-repack (almost perfect and almost out of the box except it only can handle one package)
  10. AptOnCD | Askubuntu | (just wanna backup one installer, not whole system)
  11. Wagung’s Way | Linuk | (the inspiration (beside MegaGlest’s installer) behind Proposed II and the most out of the box hacker in this section. He don’t modificate the AppCenter. He created a new packaging system. Amazing but same with point 1, community don’t see it as a brilliant idea, unfortunately)

So you don’t have to worry.

Thirdly, as the great inspiration of PortableLinuxApps, I have created a mirror server for it. You can access it now http://otodidak.freeserver.me. Hope Allah will bless me.

Best User Experience Design Presentation Example

I found a great presentation from Oracle about OpenOffice Impress last year. At the time, I don’t know  anything about UI or UX. But at the time, I have fallen in love with the presentation. Simply cool presentation. You can enjoy it also here.

Download it 3 MB

 

See it here

 

Project Renaissance Impress OOoCon2010

Trying To Design New Libreoffice Icons

I have posted a call of submission for Libreoffice icons here few days ago. It is unofficial surely. But now, among my daily business, I create some icons I want. I like the glossy ones, or the web 2.0-styled icons. Here my icons created with Inkscape. Below I describe my idea for these icons.


I tried hard to do it simply. Per icon, I decided give only 2 color. Usually I can’t do it because I think unsimple always. That is my fault. But here I wanna keep it simple, Son! I create these icons based on:

  • my contra of nowaday Libreoffice icons especially on sliced top-right corner on every icon
  • pure white icon on Libreoffice starter
  • less glossy icons
  • i hate them all.

I provide the SVG file for this here.

Dreambox

Just simply writing on KDE Notes:

futuristic linux we want is:

  • simple 1 DEB installer for complete app including all dependencies
  • superextract from zipped files when extracting into root folder (no terminal)
  • including 1 download manager like IDM which can be used behind any proxy config and download damn fast
  • has beautiful UI plus ultraconfigurable feature by single special config app (to change all themes, resolution, de, wm, compositor, 3d cube, etc.)
  • has optional UX (like zorin) so user can changes from one UX to another in the same os
  • care with WIN key, to open menu like in unity, gnome3, and cinnamon
  • has unique apps dedicated only for it no for another os
  • has fast file manager and it should can sort by type -> group any files like windows explorer
  • has beautiful iconset (no tango, please) which is glossy like kde oxygen, or blackened flat like faenza

 

What Kind of Application Packaging?

I wanna write such this article since I know the concept of dynamic library in Linux as a contrary of static library in Windows. Why I wanna? Because this difference made Linux disliked by most users in the world. Hey, I want you to use Linux as me too. I don’t have interest to explain technical-style what is library concept, but I only need people understand. Surely, this article contains purely my opinion. Concepts of new installation system in Linux.

Windows Application Installation

  1. You take one EXE.
  2. Double click it.
  3. Installed on system.
  4. Although happen redundancy (duplicating install) some parts of another applications.
  5. But you don’t care enough because your HDD is in 100++ GB or even TB.
  6. Freedom along with users to install.

Linux Application Installation

  1. Too many ways.
  2. Too many options.
  3. Installed on system.
  4. No redundancy but your head could become sick.
  5. Too many another things should be installed along even just wanna install Marble Globe Application.

Problem Example

In Linux, we can make an example. Simply take Marble. Marble is an application focused for education (good aim, Dude) and it is a part of KDE Education Package where it was focused on Geographical teaching. Now, we can make a scenario:

  1. I wanna install Marble.
  2. I select it from Synaptic and apply.
  3. Wow, it looks like many another applications following Marble to be installed. Time felt so long for install (read: download).
  4. Marble has installed successfully.

Advantage: if you install another application from KDE Education Package such as Kgeography or Kalzium or Kturtle, you don’t need to repeat what anything together with Marble has downloaded. As short I know, this is named dynamic linked library style.

Disadvantage: usually users don’t need another. User often just need 1. Okay if user has MB/s connection at home plus Synaptic plus enough fast server. But how if the user belongs to poor country where is no fast connection? So user should download one by one Marble and another applications along it (Linux advance usually call them dependencies)? User should go to one page, then follow instruction “this program needs program C” then follow again “program C needs program D” then follow again “program D needs program E” and next until infinite? No. It is unsmart installation system.

Comparison (for clearing):

  • In Windows, imagine, imagine if you want IDM application, you will also install 100 another applications (dependencies) have to be installed in one time. But, you enough download 1 EXE contains 101 things.
  • In Linux, imagine, imagine if you want Marble application, you will also install only 50 another applications (dependencies) have to be installed in one time. But, you should download them 51 things separately. They are not packaged in one compact installer.
  • I ask you: which is easier? Which is simpler?

Problem: What I typed in disadvantage paragraph is the origin installation system of Linux. Users often love Windows ways. Although it will eats many spaces, okay. Please let user gets all in one packet. It is compact. It will ease user.

Solution?

Maybe Windows style of installation is better. Remember, user should go to a web to download Marble along all dependencies (too many programs to be downloaded) this way: download one program, next “this program needs program A”, next “this program needs program B”, next “this program needs program C”, next until crazy. Look at simplicity of windows:

  1. Install IDM? Accept EULA.
  2. Bla? Next.
  3. Next.
  4. Next.
  5. Finish.
  6. You can use IDM directly.

Enough with one single download. You should download the single installer only. Then the next-next-next system only happen after the program download finished. So, there is no headache. It is should no too many next words in the web, just package them only in single installer, and let the installer verboses in our machine. Don’t let user becomes sick on downloading what he doesn’t know (majority of users don’t know programming).

So, how if the Linux application installation system changed to Windows-like? Or, how if there is a new distro apply this installation system absolutely? Surely complete with a repository contains packaged applications? So you just download a file only from repo to install an application that before you should download too many different items? It is simple for user, Dude. I feel many users from Windows will agree with me 🙂

Solution number 2?

I know when I said this to an advance man in Indonesia, he told that such Linux installation system have been standardized. I think somebody else will give me same reasoning at future. I feel Linux experts don’t want to change this unsmart installation system to one simply and absolutely simplify users. They refuse to change. So I type this for goaling my idea 🙂

How if we keep the origin system with adding this new system? How if there is a new distro provides you old installation system (you will find too many dependencies to be downloaded) and the new one (enough with one installer). You can choose between the old if you want and the new one if you prefer with 🙂

Solution number 3?

Hah? There is solution yet? Oh, alhamdulillah. All praises to Allah. I life with Linux users for some times. I learn from them that solution is always exist. Now hear.

How if we reject my idea but add ‘Give a Friend‘ feature to Synaptic? So, what you installed yesterday in your Ubuntu, you can give the installer (the DEB packages) in one folder to you friend? The system is simply creates one folder in your USB Flash Disk and copy what you program + all dependencies needed to the folder. So your friend just do sudo dpkg -i *.deb. At least, he doesn’t need to download anything. It is smart enough or stupid? You can give a value 🙂

Sure, this solution generates some problems again.

  1. The Ubuntu version must be same → okay.
  2. How if he absolutely doesn’t know Terminal? → go to solution number 4.
  3. How if my Synaptic didn’t save yesterday downloaded program? → avoiding better than curing. Set this at Preferences > Files TAB > check at first radio button.
  4. So on.

Solution number 4?

You should not force anyone to learn Terminal. Will you force me to learn abacus if there is a calculator in my table? I am a terminal user too but please don’t do that to anyone just join. So, we can modify the Synaptic:

How if we reject but inject that system at Synaptic? So when you “Give a Friend”, Synaptic will create one single installer for you? It is simpler than change whole Linux sistem, right? Or this is silly? You can also give a value 🙂

We can imagine this system like this:

  1. Open Synaptic.
  2. Check what program you want to give to your friend. Say: Testdisk.
  3. Click on Give a Friend button beside Apply button.
  4. Choose your folder to save.
  5. Wait for seconds. Synaptic is making single installer. Successfully created at /home/you.
  6. You can copy it to your friend’s machine. And if you want, you can give it to 10.000 friends.
  7. Install it. Simple.

My solution number 3 and 4 are orders for you developers who wanna keep your security awareness or something called ideology. It is your right, Dude 🙂 Nobody forces you.

For who?

I hope somebody feels unsatisfied with Canonical or Red Hat or any major Linux makers, will take this ideas for creating new Linux distro. A “waiting for so long” distro which is dreamed by many users. Dream which is never be attended by most Linux developers.

I believe!

I believe that someday such this distro will be created. Portability, simplicity of installation system, are important! More important than security. Users need your program, not your security awareness, nor your dependencies. They always think simply. They always do 1 thinking at 1 time. Your users are single tasking humans, not multitasking machines. So I imagine someday I will take only one installer from the net and install it in 1000 Linux mahines without any downloading again 🙂

Who will realize this idea someday? I don’t know. Temporaryly, I have satisfied with nowaday Linux system. Ahamdulillah.

Seed…

You know, there is a hope. Apparently, some users be creative by doing something like I imagine about. Look at Indonesia Ubuntu Forum. Look at portablelinuxapps.com. But we are waiting for a new distro 🙂 If Ubuntu have this system, I will be glad. If Fedora, I also be glad. If Blankon, whoa, glad also 🙂 Another, still glad. Let the seed’s growing. And you can see these links:

  1. Offline Installer for Ubuntu 12.04.
  2. Cara Singkat Membuat Offline Installer Ubuntu 12.04.

If you don’t understand Indonesian, you can use Google Translate. You know, what the seed I mean? It is Keryx. An application for downloading app completely with dependencies. If you have not know yet, simply think Synaptic in Windows for downloading applications only and save them to a folder. Aha, that is Keryx. This application runs in Windows (innovative) for helping Linux users in slow connection country. So, in internet cafe (in Indonesia, internet cafes serve majority users who don’t have internet connection; and most internet cafes in Indonesia use Windows) we can run Keryx and download all applications via Keryx, save to flash disk, and install them at home. This app simplify installation in Linux. We can make .run file contains all apps downloaded by Keryx. And this single .run file can act like .exe in Windows. Wowowo, future! I have not use Keryx until now but I feel it is bright way for future Linux installation system.

I admit that Keryx has not meet all my imagination criterias. But this app seems will inspire many new developers to build new comfortable installation system. It is okay. And hope is still flying 🙂 Thanks for reading!

Libreoffice Mockups

What is mockup? A mockup is concept design for user interface of application. Do you know mockup? If no, you can see pictures below. Before, if you interested in design (like me) you should like it. Creating mockup is funny. More funny if you can do the best mockup. Yes although you can’t do the programming to realize your concept. And here, I’ll talk about something become my intense interest for long time. It is my collection for best Libreoffice mockup concepts.

Default Libreoffice User Interface

I take it on my Linux machine. Maybe if you have artistic appetite, you will say the UI is less aesthetic. It is not sweet (although many users have experienced with). I feel this UI unpretty. Truly I jealoused with Microsoft Office 2007/2012 UI. They have good UI (although some users say the UI is slow). Yes they are paid applications, commercial. You should pay to get them so you get balance good UI too. But Libreoffice is open source. Why its UI defeated by Microsoft Office? It should has good UI too because it developed by whole world. Even better than Microsoft Office. Better UI promises better future for Libreoffice, then for Linux. So, take off from this thinking, I do search for mockups. I found them. 

First Libreoffice Mockup Concept

Creator: Paulop

Status: he is not Libreoffice developer

Note: until now, I fail again and again for creating mockup. Now I know mockup can be created by Inkscape and GIMP only. It seems easy but when I try, oh. Creating a 3D book design is easier[1], apparently. Creating mockup needs many patiences, Dude. I am still willing to create mockup, but for now, let me write the mockups I’ve collected only. Let me show the world there are aesthetic mockups over there 🙂

to be continued…

Awesome GNOME 3 Presentations! (Part 2)

Actually I feel unsatisfied when finished previous post ‘Awesome GNOME 3 Presentations!‘. My reason is simple: I dont place all aesthetic GNOME 3 theme presentations yet. Yes I found many great concepts, but at previous post, I don’t upload them all yet. Now my turn. You will see them more.

Boomerang

I don’t see how beautiful is the theme but what I interested with intensely is the way creator makes this presentation picture. Glossy, futuristic, calm, and elegant. I like it so much. My friends (Windowsians) said it is good looking. I say it is cool! Oh, today, after I do search again, I find blue version of this presentation. Here:

Wow, awesome presentation. And just today, I know that creator of this theme and presentation is Malaysian 🙂 Ah, my neighbour country. Directly I comment to his Deviantart page.

to be continued…