Monday, 17 November 2008

Fedora Installation Process

Ok, I am a little bit late with this post (since last time I installed Fedora it was F10 beta), but I though I'll write down some steps on what I usually do to not forget all of it during next installation...

Pre-requisities


Separate /home partition, separate /home partition, separate /home partiton. And whatever else parition with data (like /var/ftp). This is a necessity if you want to frequently do clean installs but don't want to back up your data.

Live Spin.

Before Installation


Boot your Live CD/DVD (I noticed DVD is faster so I use DVD in favour of CD even though the iso image fits on CD), mount your partitions. Move your home folders to something like /my/home.old, you will transfer your settings after your user is already created. Backup your settings in partitions that gets formated. In my case /etc/rc.d/rc.local, /etc/vsftpd, /etc/sysconfig/iptables /lib/firmware/b43.

In case you are dual booting, back up you /boot partition (/boot/grub/grub.conf, /boot/System.map*, /boot/config-*, initrd-*, vmlinuz*, xen* sans kernels you don't want to keep should be enough). It would be really nice if Anaconda could detect already existing GRUB installation and offer to either update GRUB, while keeping the settings, or just add its own settings... Currently I even cannot add a boot option when I want to boot a system with root on LVM (or at least I don't know how)...

Backup your evolution settings (File->Backup Settings...)

Installation


Fire up install. In the parititioning section, use custom layout. Format system paritions and SWAP, set mount points for data partitions. I tend to format /boot as well, but Anaconda can handle installing GRUB to nonformated one as well (if you do it this way, you just need to do some cleaning after the installation, but you don't need to back it up, since files Fedora replaces should be backuped to *.rpmsave). In the bootloader section, let it install grub. There's usually no need to set anything else in the installator (sans some basic settings like your time zone, language or root password).

After Installation


First recreate all the users. Select UIDs and GIDs manually to match the old ones, move the settings you want to keep from the /my/home.old/* to the new folders, delete the rest (meaning the /my/home.old). I usually keep epiphany, gajim, ssh, pgp, mozilla, anthy, scim, texlive and liferea settings and some gconf settings (those for NetworkManager), inkscape palletes, some certificates and all data. Update the system, reboot. Install echo-icon-theme and gtk-nodoka-engine-extras and set my favourite combinations. Set up the destkop looks.

Add rpmfusion repositories.

Install my favourite applications (I use yum to do it, but PackageKit is a good option as well): inkscape, gimp, epiphany, midori, stardict, gajim, deluge, liferea, kanatest, gnumeric, texlive, gnuplot, rpm-build, mplayer, cvs, git. Install dictionaries for gajim, IRC plugin for empathy/telepathy, fedora-packager and echo-artist, let PackageKit figure out needed additional gstreamer packages by trying to play your favourite videos/music in totem or rhythmbox. Set up rhythmbox to look for songs in my ~/Music directory. Turn on metacity compositing. Restore evolution settings and check new mail.

Well, that's about all I do during the installation, I hope I didn't forget something so that next time the situation where I am in a train and want to fire up an application I forgot to install will not happen again... And well... not much usable blog post for others, I think, but at least I have some sort of installation todo list for myself...

Echo Icon Theme "Perspective", Part III

It's been a while since I've last blogged about this topic. It's mostly because new semester is keeping my spare time low... But anyway I thought I should take the first step and make some conclusions from my previous posts.

We are starting Echo Perspective


Ok, it's not official yet and there are still things that need to be done, but I am practically starting new parallel icon set to the current Echo called Echo Perspective. As the name suggests it's going to be more or less same as the current one, only we'll be using perspective.

Since we are starting basically on a clean field we can afford some more or less radical changes to the current looks, like complete redesign of some icons, slightly different looks, etc. I've drawn a proof-of-concept video-display icon to outline what way I'd like Echo Perspective to take. My goals are (in no particular order):
  • usability - an icon must be easily recognisable at all sizes, the metaphor must suggest it's meaning and thus must not be too much complex
  • looks - we are aiming at the same time at more realistic look, we'd like to be slightly more realistic looking than mango or tango, but slightly less than oxygen
  • modern - we will use modern metaphors where appropriate, for example we'll use wide screen flat LCDs in favour old 4:3 CRT ones
  • cross desktop - we aiming this icon set to be default in some future version of Fedora, this means we need to satisfy as much Fedora users as we can, so we need to support all major Fedora desktop environments like Gnome, KDE or XFCE



What's Next


Well, we need to set up our infrastructure to allow us easily push Echo Perspective icons to our git repository. I am working on that, but given the amount of free time I currently have, it'll take a while. But we can create the icons without pushing them to git in the mean time. And there are a few decisions that need to be made.

Directory Based Icons


From time to time, we are criticised for not having the directories blue in Echo. Also the design is pretty oldish, modern systems have folders that are standing. Now the questions is, how to make them in Echo Perspective? Any ideas? Any designs? I'd like the wider community to help with this one. You need not to create whole icon - concept design is all we need. I hope we can gather a few and decide later which one to use. I've set-up a wiki page for it, but you can as well send the designs to the fedora-art-list.

Trash Can


Trash can is another icon that is in dire need of redesign. We'd like our trash can to look more modern, perhaps made of metal, perhaps from coloured glass, perhaps semitransparent, whatever. Submit your ideas on the above mentioned wiki page or at fedora-art-list.

Sunday, 26 October 2008

Echo Icon Theme "Perspective", Part II.

Last time I've explored the area of planar projections and outlined some candidates that are either used in current icon themes, or might be used there. This time I've taken these candidates and created two different echo styled icons in these projections. I've chosen arrow and package – one represents action icon, with the well-distinguished echo trait of having white inner outline on such icons, and the other represents mimetypes with usually more complex shape.

I've put the all together in one image, also with current echo images and some upstream selection – gnome-icon-theme, Tango!, the upcoming Mango! and Oxygen. You can see for yourself (click on the image to get the original resolution):


There's one notable point – all the upstream icon themes use very similar projection types, and we should probably reflect that in Echo as well to better work with them.

Now let's take a look at the Echo sketches. You can see there three parallel projections and three perspective projections. For now we skip the fact that in some angles the package look better than in others and that it would be better if I closed it more in some of them – I decided to make all of the packages exactly same in the original "3D image".

First compare the looks. For me the winner for this section is the second perspective (from the left) followed by dimetric projection. The left-most one would probably look much better if more closed, like in Mango!

Second take a look at usability. Basically all the icons have very good defined metaphor, only the left-most one feels a little awkward in this case - but as I said previously, it would get much better if as much closed as in Mango! So in this category there is no clear winner.

Next we ought to take a look at "desktop integration". All current desktop are 2D and it will most likely stay that for a considerable future that way. So if we go to much overboard with 3D it might get a bit akward. Imagine you are clicking an icon that does not face forward to you, but is is slightly rotated. I feel that that is the main problem in current Echo. That leaves possible good candidets the left-most and right-most perspective icons and cabinet projection, and with one eye closed the dimetric projection.

Finally lets compare them with current upstream. Obviously there is no other choice than the left-most perspective.

Conclusion


During my "trip" to the projection area it appeared that Echo would probably be better off if we
  • Reduced the used projections to 2 types (one of which is Flat)
  • Start working with perspective projection, with similar setting that is used for upstream icons
  • Aim to be 100% consistent with the projection usage


What do you think?

Saturday, 18 October 2008

Echo Icon Theme "Perspective", Part I.

One of the most common complaints about echo-icon-theme we receive is that echo is inconsistent in usage of it's "perspective". Why in quotes? Because the word perspective, which has been used since Echo started some years ago, is incorrect. Read on if you want to know why.

Basically what we are trying to achieve when creating icons is bringing real world objects which are 3D (actually 4D, but the fourth dimension is time and we usually paint objects how they look in a concrete spacelike hyperplane, time is "stopped") onto 2D canvas. Such an attempts are mathematically pretty well described and the correct word to use for it is projection.

First take a look, how Echo Icon Theme or Gnome Icon Theme copes with it. Gnome basically uses two different types of projections:

perspective projection (from a certain point of view), it's called On The Table Perspective in tango guidelines


and a plain 2D image of the front face of the object, it's called On The Shelf Perspective in tango guidelines


Appart from that, here and there, there are various slightly different types of projections used, sometimes perspective, sometimes not


On the other side, echo basically uses three different types of projections, neither of them perspective. That's basically where the complaints come from - you can see two icons, both of which will have different projection. Even though we have some rules which projections use for which icons that should idealy help discern whether it's an action icon or not, due to how the icons are used, the rules become less clear.

First we use plain 2D like gnome, in our guidelines listed as Flat Perspective


for action icons we use Cabinet Projection, in our guidelines listed as On The Table Perspective


and for non-action icons we use Trimetric Projection (with certain axes settings, defined in guidelines), in our guidelines listed as Isometric Perspective


Well, I guess most of you get already why I used the quotes around word perspective in the begining. But it would also be good to better explain the various words I used above and add an example image.

So, I'll start with some sorting of projections. Among the most known types of projections there are perspective projections - that's how we actually see the world and is most natural to us - parallel projections - these are especially useful for technical drawings and such, as axes settings is all you need to know to draw a concrete object preciselly into it, because lines that are parallel in 3D are parallel in the resulting picture as well. For further info look at wikipedia's Planar_projection article.

The parallel projection further divides into ortographic projections and oblique projections. In Echo we use both. First one subset of ortographic projections are axonometric projections, one of which is the well-known isometric projection. We use trimetric projection, because all the axes have different scales and the angles between the axes are different to each other. You can read more at wikipedia's Axonometric projection article.

Oblique projections are pretty much similar to the plain 2D, in that that the front face is drawn same as in 2D and the third axis is going of in some angle (we use 37° in echo). In the cabinet projection which we use in Echo, the lengths in the third axis are cut in half compared to the other two. You can read more at wikipedia's Cabinet projection article.

The remaining projection we use for creating icons is the perspective projection. As I outlined above, 3D objects projected on 2D using this projection should appear to our eyes with same properties as when looked at them in 3D (with one eye closed). You can read more at wikipedia's 3D projection article.

And as promised, here's an image showing 3D cube projected on plane using various types of planar projections


Next time, I'll outline how would echo-styled icons look using these various planar projections.