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.

Saturday, 1 November 2008

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.

Tuesday, 7 October 2008

My New Timetable

Ok, so the winter term finally started and I am comming to school again (yay, this year I am having a bunch of interesting stuff like quantum theory or relativistic physics and it's also about time I start working on my Bachelor's thesis - I'll be working on Space-times of Minkowski and Kerr from a circular orbit). And with that comes the need for new timetable and I enjoy making it looking good. This year I've created one I am pretty much satisfied with so I though I'd share it with you ;-)



Source SVG: http://mso.fedorapeople.org/designs/rozvrh.3.zs.svg

As you can see I used three colours, each with two different variants. Darker versions are for lectures, brighter for excercises. Blue is for mandatory classes, orange for semi-mandatory and green for the rest (classes that are either voluntary or intended for higher study year than I am in). It was made in inkscape and it makes use of layers (ctrl+shift+L) and it is pretty easy and straightforward to edit it to fit your needs.

Thursday, 2 October 2008

Echo Monthly News Issue 2

We've just released the second issue of the Echo Monthly News. This
issue focuses on these topics:

  1. New Icons

  2. Updated Tutorials

  3. Guidelines Update

  4. Releases

  5. Echo Enabled in Rawhide as Default Icon Set

  6. Icons We Need to Create for F10

  7. Roadmap Updates


Read more at https://fedorahosted.org/echo-icon-theme/wiki/MonthlyNews/Issue2.

Tuesday, 30 September 2008

X being unstable in F9?

Dear lazy web, I just hit a strange bug again that I know not at all how to handle. My screen just went all "broken" - some sort of black/purple/I-don't-remember-the-other-colours pattern was displayed there - meaning the X was dead. I knew that something's wrong because it hasn't happened for the first time and in the past I was more patient and tried to do something with that state. If I wait, X restarts but goes wrong again and this repeats several times until it stays in the broken state. The only thing I can do is to turn the computer off by hitting the power button which inhibits correct turn off of the computer - meaning the kernel is still accepting messages and working but the broken X block every keyboard input. If I recall correctly, I can still see and move the mouse pointer.

This happens really scarce, so scarce I don't remember what I was doing when it happened last time, but this time it happened when I tried to switch tabs in firefox and I have a feeling it happened in a similar situation before, but I don't remember. So in case this happens again, next time I can check with this post if the situation is same...

And until then, can someone directs me what to do? I tried looking in XOrg.log and /var/log/messages but there does not seem to be anything indicating the problem. I don't know what's causing it, where the bug is, how to triage it. Does anyone have similar experience or even better already know about a bug that's causing this? Or know where else can I look to for more info? I'd appreciate any input.

I have an intel video card and appart from having metacity 2.23.21 pulled from rawhide with compositing turned on I have pretty much ordinary, up-to-date F9 environment...

UPDATE: As per mcepl's suggestion, I've filled a bug against xserver. Hope it helps. If you suffer similar issue, leave your comments and logs there.
https://bugzilla.redhat.com/show_bug.cgi?id=464878

Monday, 29 September 2008

I've fell in love...

...with Ruby.

Yeah, I am neither proffesional nor studied programmer, but I like coding from time to time. I've learnt Pascal (Turbo Pascal implementation) and Delphi during my basic and high school studies and FreePascal and basics of C in my first year on University (we had a Programming for Physics classes). Then I switched to C completely as I started working on gtk-nodoka-engine and I love it, and even though I have basics in C++, I like C more. But lately a rather unexpected competitor came into my view - Ruby. Up until recently it was a hit-and-miss and frantical searching in documentation to get things done (I decided to make the echo-artist scripts in Ruby, since the code I based it off was already in Ruby), but now I decided to learn it properly and the more I read, the more I like it.

It's really a great programming language and truly Object Oriented one (unlike various "object oriented" hacks/workarounds/whatever of C, like Objective C or C++). You know it's great that everything is an object so you can easily do things like
100.times {puts 'I like Ruby!'} (prints "I like Ruby!" hundred times),
['Peter', 'Martin', 'Nicu'].each {|name| puts "Hi #{name}!"} (welcomes Peter, Martin and Nicu) or
1.upto(200) {|num| printf "Try #%05d\n", num} (if you know C you'll get what this does).
And I am just at the begining still...

And one usual rant at the end. Again I updated xulrunner and again epiphany started eating CPU... So I am again temporarily using WebKit backend in ephy... I hope WebKit-gtk gets the still missing functionality I need implemented soon so that I could get rid of gecko in my browser for good... (Yes, I've already gave up on gecko, but for WebKit I try my best with filling bugs I notice and RFEs). And of course, this post was also written from ephy with webkit backend.

Monday, 15 September 2008

Batch of new mail-* Echo icon

There is a lot icons we need to create for Fedora 10. So we started to make them.

Today I've finished creating all the mail-* icons (both for Actions and Status context). Some of there were previously missing others had inconsistent various size variants and many missing size variants. So I reworked them all in one batch. It's been a lot of work, since it's a lot of icons and not all of them are perfect, but they can be improved later, when/if needed.

It's total of eleven Action icons and six Status icons, so I created two animated GIFs for preview purposes.





Since there is a lot of work to do still, we're constantly looking for new contributors. The only requirements are some basic skill in inkscape and willingness to invest your spare time into making Echo icons. If you are interested, drop us a mail in the fedora-art-list.

There is not much you need to know to get started. These are the most important things you need to have in mind when creating an echo icon ("sorted" as they came up to my mind):

  • We have our own colour palette which you should use in inkscape

  • We use darker contrastive borders compared to lighter fills. This helps defining the icon shape

  • We use three different projections (incorrectly called perspectives in the Guidelines). On the Table for 32x32 and bigger Action icons, Isometric (actually some kind of axonometric) for other contexts for 22x22 and bigger sizes and Flat (plain 2D) for the rest (you can see all the mentioned perspectives in the above icons). Look into Perspective Guidelines for definitions.

  • Brightest spots of fills are on top of objects and little to the right

  • We use simple shadows for all sizes sans 16x16

  • We prefer gradients to highlights/reflections

Sunday, 14 September 2008

Allowing Anonymous Comments

I was asked on #fedora-art to allow anonymous comments on my blog. Previously I allowed only google accounts and openid so it's understandable that some people who'd like to comment could not because they have neither. I am a little bit afraid that allowing anonymous comments will result in spam hitting my blog, but I don't want to moderate eihter (since I can moderate only all posts or none).

After a brief thinking I decided I'll put anonymous comments on probe and enabled them. If it works well, I'll leave it at that, if not I'll disable them again.

What are your experiences with anonymous comments? Do you allow them?

Friday, 12 September 2008

GStreamer is the future?

Hi, with today's news I though I'd share some sentiments I have about the future (and partly present) of multimedia (meaning only video and audio in this post) in linux.

First take a look of what we have now. We have two major libraries written to do the job and another two players doing the same, but with their own libraries integrated. I am talking about gstreamer, xine-lib, mplayer and vlc.

Let me state I was originally a huge fan of xine-lib but during some of the recent Fedoras (namely Werewolf and Sulphur) I slowly dissolved from it for various reasons I explain later. During the same time I became a frequent user of gstreaer and mplayer. I haven't ever been a fan of vlc and I don't like it's ui, but that's not what I'd like to talk about in this post.

So, with linux expanding to desktop machines we need to have also some good way of playing various multimedia ranging from youtube videos through full HD mpeg4-AVC/h264 to our favourite songs in mp3. Or we'd like to share our screencasts in theora, back-up favourite recordings saved in FLAC or burn an audio CD out of our vorbis encoded music collection. And to add to this lot something more - there are zillions of various containers from aging AVI, through "home-made" OGG or playstation 3 compatible MP4 to modern "I can do anything" matroska.

To be able to keep up with the world we need a solid framework that has good enough code, and is easilly expandable to contain new codecs. That's where mplayer or vlc fail - you cannot build up a serious app using their libraries (since they are shipped together with the player), you can just wrap up the player into nicer gui. Also the pace of adoption of new codecs is rather slow (as I'll explain later on some examples).

This is where gstreamer and xine-lib comes. Xine-lib is pretty interesting library, since it has similar capabilities to mplayer it's one of the "great three" of linux video players - mplayer, vlc and xine (which is official frontend to xine-lib). It has great amount of configurability, which makes it more geek-friendly, but everything has it's buts. The design of the library is not that great, as can be proved how much time it took before it could be reasonably split to free and nonfree (patented stuff) version, also it seems not be able to "keep pace" with the age (it took far too long before they get good enough pulseaudio audio output working), it seems to be more susceptible to crashes than gstreamer or mplayer and does not seem to be good on hardware (seem to need more power to play videos).

That, and the continual (and rather fast) improvement of gstreamer drove me away from xine-lib based applications (though I still keep gxine around, partly because I maintain gxine package for fedora). And why gstreamer? You *could* say it's rubbish, but cannot anymore. Yes, back in Fedora 6 it was the half-working default (implemented in totem). That it wasn't "good enough" was proved by most of users switching totem to xine-lib backend, installing xine, gxine or kaffeine, or going the mplayer/vlc way. Not anymore. Over the past few releases it wastly improved no only thanks to it's plugins system.

In gstreamer (as my understanding of the basics is) you have the basic framework and a lots of separately installable plugins (though batched together in logical packs) which can make it rock. Most likely you'll have installed only the base and good plugins which covers almost everything in the FLOSS codecs, containers, ... world. In addition to that, to be able to play more widely used content, you need to install bad and ugly plugins, or perhaps the ffmpeg plugin (ffmpeg is library for decoding/encoding using of the MPEG codecs and more). That makes the framework more robust, more configurable and also easiest to implement new codecs to.

One of the examples where you can find only a limited number of players being able to play it THEORA video in Matroska container. It's perfectly correct usage, adhers to both THEORA and Matroska specifications, but behold - xine-lib based players cannot play it, vlc cannot play it. And "rare combination" excuse does not stand a chance. It's working flawlessly with mplayer, it's working flawlessly with gstreamer - that's two working implementations already. GStreamer can even both encode theora video to matroska container and read it afterwards, mplayer (resp. mencoder) wasn't capable of muxing matroska last time I checked.

Now another example is adopting of brand new and partly "scientific research" codecs like Dirac or Schroedinger. Did you know that the only way how to encode video using schroedinger codec with fedora is using gstreamer? Did you know that the only way how to play Dirac/Schroedinger videos, be it either in OGG or Matroska, is to use gstreamer? Yes, there are patches for mplayer, xine-lib, ... but they're not in. Why? Because it's a patch and that means modifying source code and it needs to be accepted by the developers of xine-lib, resp. mplayer, first. In gstreamer though, the only thing you need to do is write a plugin - that means you do not need to wait till your code is accepted, it does not need to be, because it's standalone. It can be published and installed separately. And that is a great advantage.

And to add more fuel to the gstreamer camp, it seems there will be a way, thanks to gstreamer being plugin-ready, RPM being able to know what plugin handles what, PackageKit being able to install and depsolve all the needed plugins and plugin (yet-to-be-written) being able to tell PackageKit that gstreamer needs plugin to handle this or that, and given you have all necessary repositories installed (in Fedora case it's most likely livna, or rpmfusion in the future); the installation of codecs will be completely automatic. GStreamer sends a request to PackageKit to install missing plugin (more exactly to install something that provides the necessary functionality), PackageKit hopefully finds it in the repos (thanks to RPM being able to provide information about what content the plugin handles), resolve all the needed dependencies and tada - you can play the video.

I just can't wait to see this in actions!

The only thing that still keeps mplayer on my machine is its support for SSA/ASS styled subs. Not only it can parse it, but it can also render the advanced styling correctly. I wonder if there is a RFE for this in gstreamer bugzilla already, or whether I should move my butt and file one :-D

PS: I am too lazy to add references this time (partly due to me being ill), so use google to find what you'd like to read more about, e.g. googling for "dirac video" gives you on the first hit the homepage of the Dirac and Schroedinger codecs.

Echo - New package releases, first echo-add-icon script bug

Luya just hit first echo-add-icon script bug - it adds incorrect file references in the build scripts if the folder is empty (sans Makefile.am) before the commit (in this case it added system-root-password.svg.png to 256x256/status Makefile.am). I fixed the commit as well as the bug in echo-artist script.

New releases


echo-icon-theme-0.3.3 (built for F-8 and F-9)
latest git snapshot built for Rawhide
echo-artist-0.1.1 (built for F-8, F-9 and Rawhide)

Please update the echo-artist package as soon possible (even though the
chances of hitting the aforementioned bug are rather small).

Also, for the F-8/F-9 packages - please test them and post your results to Bodhi (the fedora update system, it's referenced above for the releases).

Thursday, 11 September 2008

Fedora 10 Artwork

OK, it's around Beta Freeze and as usual we need some feedback for the artwork that's gonna be in Fedora 10. I'll start with Echo icons and follow to the traditional release-dependent things (wallpapers, etc).

Echo Icon Theme


As some of you already knows, echo-icon-theme has been approved as Fedora 10 Feature under the condition that we achieve good enough coverage. First we need to know *what* exactly is good-enough coverage, especially given that the current default has lot of gaps too... The consensus seem to be that we need to cover about the same icons as the current default on the Desktop Live Spin. So, I booted F9 Live and examined which icons are needed. I came up with this list [1]. Based on this list, I counted that the current coverage of what we need to have done for F10 is about 89 %.

Prior to that we focused our efforts at filling the Gnome Menu Bar. We have pretty good coverage of the first level menus and just ending with coverage of second level menus in the System menu. The improvement in System->Administration is vast, since there were about three or four different icon sets used and many of the icons were blurry...

Join Us!


We still need to create about 35 new icons for Fedora 10 and many more after then, also there are lots of icons that might profit from refinement/rework and icons that have missing various sizes. But there are only 2 people actively working on Echo currently which basicaly means we are overwhelmed by work. Therefore it would be great if more people joined the efforts. Creating an icon isn't that much hard. To get started you just need basic skills with inkscape, we'll help you with the rest.

If you are interested to join, pick up some icon to create/modify, tell us (one the fedora-art-list) that you are interested in it and start working on it following the guidelines [2] and first step of the Adding New Icon Set how-to [3]. After you are done send us a notice on the art-list and work with us on further improvements (if we have some suggestions). Once we accept the icon, we'll tell you what to do next :)

F10 Themes


Yesterday I've created, imported and built the themes that made it to Round 3. Install them by
yum --enablerepo=rawhide install gears-backgrounds invinxble-backgrounds neon-backgrounds solar-backgrounds, select them in your wallpaper preferences and give us some feedback on the art list. We still haven't decided which one will be in F10 final, so your opinion might help us decide :)

The candidates are:

Gears [4]




InvinXble [5]



Neon [6]



Solar [7]



References


[1] https://fedorahosted.org/echo-icon-theme/wiki/ToDo/BaseSet
[2] https://fedorahosted.org/echo-icon-theme/wiki/Guidelines
[3] https://fedorahosted.org/echo-icon-theme/wiki/AddingNewIconSet
[4] https://fedoraproject.org/wiki/Artwork/F10Themes/Gears
[5] https://fedoraproject.org/wiki/Artwork/F10Themes/InvinXble
[6] https://fedoraproject.org/wiki/Artwork/F10Themes/Neon
[7] https://fedoraproject.org/wiki/Artwork/F10Themes/Solar

Wednesday, 10 September 2008

Primary selection/clipboard support landed in WebKit-gtk

You know the cool feature in linux that you can just select text to add it to clipboard and the middle-click somewhere to paste it? Well, the first part (select to add to clipboard) just landed in webkit. Cool, after proper font fall-back (though only for freetype backend) this is another thing I was itching to have working :-D Kudos to Alp Toker who seems to do most of the work on GTK port of WebKit I benefit from (i.e. he's fixing bugs I care most about) :-) For those interested, here's the bug report which will be closed only after also paste on middle click is in:

https://bugs.webkit.org/show_bug.cgi?id=17267

I'll be sure to build new WebKit package with this fix as soon as possible.

Fast Package Review for F10 Themes needed

Hi,

As per request from Mo I've packaged Round 3 themes for Fedora. The most finished one is Solar, so it has the traditional 4:3 and 16:9 wallpaper with daylight changes, Gears have two different wide-screen wallpapers, InvinXble has one wide-screen wallpaper and Neon has one 4:3 wallpaper. In order to get it to F10 beta, we need to have it in repos as soon as possible, thus request for fast review:

https://bugzilla.redhat.com/show_bug.cgi?id=461818
https://bugzilla.redhat.com/show_bug.cgi?id=461819
https://bugzilla.redhat.com/show_bug.cgi?id=461820
https://bugzilla.redhat.com/show_bug.cgi?id=461821

Update 1: Spot has just reviewed the packages (my thanks goes to him), so now I'm waiting for the CVS Admin procedure to be done.

Update 2: Warren and Tibbs have just done the CVS admin procedure (my thanks goes to them), and the packages are already built.

gears-backgrounds-0.0.1-2.fc10.noarch.rpm
invinxble-backgrounds-0.0.1-2.fc10.noarch.rpm
neon-backgrounds-0.0.1-2.fc10.noarch.rpm
solar-backgrounds-0.0.1-2.fc10.noarch.rpm

Tuesday, 9 September 2008

Some WebKit news

Ok, with the recent talks about brand new browser by Google, I think I can post some "status-update" on the state of WebKit-gtk. Why? Because google chrome uses WebKit as its rendering engine - and that's very good news. With Google being directly interested in WebKit development we could say that bright future awaits. Google uses it, QT4.4 has it in, now we only need to implement it in gnome.

Among various speed and stability improvements there is one big news for me (at least) in the WebKit bugzilla. Patch [1] for correct font fallback (so far only for freetype backend) for the gtk port of WebKit [2]. I've built a RPM package [3] with this patch included and the result is great - I can finally read Japanese with WebKit.

One of the worse news is that it seems Epiphany 2.24 will still use gecko, well, what can I say... Take your time and do it right and I'll be happy to wait (and test and report bugs) :-p

[1] https://bugs.webkit.org/attachment.cgi?id=23155&action=view
[2] https://bugs.webkit.org/show_bug.cgi?id=16792
[3] http://mso.fedorapeople.org/packages/RPMS/i386/WebKit-gtk-1.0.2-0.15.svn35913.fc9.i386.rpm

Sunday, 7 September 2008

Making High Quality Screencasts

Ok, I think I have finally figured a good way how to make high quality screencasts. So I'll write here about it here, both so that I have a place to look to when I forgot and for my readers ;-)

Needed Software (Package Names)


gtk-recordmydesktop
oggvideotools
mkvtoolnix-gui
subtitleeditor (or any other subtitle editor)

All the software is available in Fedora.

Recording the screencast



First, it's good to prepare what you are going to show so that you can record the screencast in one go. When you have decided what are you gonna show and how, open Applications -> Sound & Video -> gtk-recordMyDesktop. In the opened window you see a preview of your desktop in which you can select the area of the desktop you are going to record. If you are going to record just one application it might be useful to let it select the are for you by selecting a window you are going to record.

Set Video Quality to 100 (you want to record the screencast in highest possible quality, don't you) and if you don't want to record sound (which I do not) uncheck the check box to the left of Sound Quality. By clicking Save As you can select which the filename (and directory) to which the screencast will be saved.

Now, when you set everything, hide the window either by clicking ctrl+H or right-clicking on "record" icon in your notify are and selecting hide. Then you can start recording by left-clicking the record icon in your notify are. The icon will change to "stop". When recording, when you right-click on it the recording will pause (and the icon will change to "pause"), when you right-click on it once more it will resume. When you'll left-click on it the recording will stop and encoding (unless you encode on the fly, which can be set in settings) will start.

Once the encoding is finished you can close the gtk-recordMyDesktop and extract usefull data from it (since the .ogv file generated by it contains some skeleton track it renders it almost impossible to work with). We'll do that using oggSplit. Just open terminal, navigate to the directory you have the .ogv file in and run oggSplit <filename>.ogv. It will extract the video (and audio) track(s) into usable files. The file with video track will be named theora_*.ogg. Rename it to your liking.

Creating Subtitle Commentary



Now it's time to create subtitle commentary. You can do it with your favourite subtitle editor, the one I chose is subtitleeditor. I'll not delve into how can you create subtitles because it's pretty straightforward. Just bear in mind that you need the subtitles kept on the screen long enough so that the readers will be able to read them and they should better explain what is happening in the screencast.

Creating the subtitle commentary is good practice mostly because:

  • Deaf people can read it

  • It's easier to translate than spoken word

  • Text does not have "strange whatever accent"



Combining Things Together



Now the most important thing is to put things together in one file. Open Applications -> Sound & Video -> mkvmerge GUI. You'll probably need only the Input tabs but if you are creating some more sophisticated/long screencast the other tabs might come handy too. First add all source files (the ogg file with video, the file(s) with subtitle(s), file with audio, ...) - just click on Add and add anything you want.

In General Track Options you can set for each track various settings. For audio and subtitle tracks it is good practice to select a language it is in. It is also not a bad idea to add Track name to each track.

Finaly set output filename (ending with .mkv) and hit Start muxing and you are done.

Adding Translation



The very same way you put the things together in the previous step, you can also add other tracks to already finished Matroska file. But, in case you'd like to add new subtitle translation you'll probably need one of the subtitle file in the screencast first so that you won't have to do it all from the start.

First open Applications -> Sound & Video -> mkvinfo. In it open the screencast Matroska file you'd like to translate and look for tracks. If the Matroska file has subtitle track, then sooner or later you'll find a track which will have Track type: subtitles at ... See whats Track number of that track. Suppose it's 2. Now open terminal and run mkvextract tracks <filename>.mkv 2:<subtitle-filename>. It might look like this:

$ mkvextract tracks echo-add-new-icon.mkv 2:echo-add-new-icon.ass
Extracting track 2 with the CodecID 'S_TEXT/ASS' to the file 'echo-add-new-icon.ass'. Container format: SSA/ASS text subtitles
progress: 100%


Now translate the subtitles using your favourite subtitle editor save them into some file and add it to the original screencast using mkvmerge GUI tool.

Some Screencasts Created This Way



Originally I researched how to do high quality screencasts because I needed to create screencasts accompanying various Echo tutorials.

Here are some:
echo-set-up.mkv
echo-update.mkv
echo-add-new-icon.mkv

Links


recordMyDesktop Homepage
oggvideotools Homepage
mkvtoolnix Homepage
Matroska Homepage
Theora Homepage
New high-quality totaly open (as in freedom) video compression format Dirac and its Schrodinger implementation (available in Fedora repositories)
Wikipedia article about Matroska container, OGG container, Theora video, Free Lossless Audio Codec (FLAC), Vorbis audio, Dirac/Schrodinger video.

Friday, 5 September 2008

I'm going to FUDCon



Tomorrow (at Saturday) I am going to FUDCon in Brno. I just found my connection to there and it seems I'll be able to be there around 9:30 CEST (UTC+2), supposing that train won't be delayed with is nearly impossible with Czech Railways... Since the connection isn't best, I'll need to skip the social event (or join for only a little while) since last train that can get me home leaves at 20:23 CEST :-(

Anyway, we'll probably keep a session with Nicu about Fedora Art (F10 Themes, Echo, Nodoka, ...) so if you are interested, come to talk with us :-)

Monday, 1 September 2008

Echo Monthly News - Issue 1

The echo-icon-theme development team just officially released its first
Echo Monthly News Issue. In this release we cover these sections:

  1. New Icons
  2. "Huge" icons - 256x256
  3. One Canvas Work-Flow
  4. Automating the secondary jobs
  5. Echo for Fedora 10?
  6. Future plans
  7. Request for feedback

Since it's our first release it is not perfect and therefore we will
appreciate any feedback, suggestions for improvement, etc. at the
fedora-art-list and #fedora-art at irc.freenode.net :-)

Or you can add comments here, in my blog ;-)

Sunday, 31 August 2008

Some memories from Slovak Paradise

Although I didn't originaly intended to blog about my vacation at the begining of August in Slovak Pradise, today I decided some photos and memories might be worth sharing with the world ;-) So this post will be mostly images with short commentary...

Being Czech, going to Slovak Paradise means traveling about a half a day by car. And there are two important things when you travel - your friends and enough food :-D

Now, what would I expect from vacation? I like hiking - so mountains, forests, rocks, rivers - in short beautiful nature. And here's one of the shots from our first daylong trip:
We did a wrong estimate for the first day and so in the second part of the trip, we began to be pretty exhausted (and thirsty), but still we hoped to achieve what we wanted and progressed steadily up - until we lost the marks :-D Well, about a hour later, we met the marks again, but we accidentally avoided the destination of our trip - a huge rock on a top of a mountain. Since we had some time still, we decided to go up - which was a good choice. After some endless ascent, we finally reached the bottom of the rock:We decided to give it a try and after another five or ten minutes of climbing, we arrived at the top and had a short break.


The rock was freakingly high, as everything beyond its edge seemed terribly deep bellow us. On the photo it does not look that much terrifying though...
Because we exhausted ourselves on the first day, the second day we went on a rather refreshing sightseeing - to Spišský hrad (castle). It was pretty big I'd say and it was pretty interesting day.Our best trip was however another day. It was another daylong (bag-laden) trip to Údolí Suché Bělé (I'd translate it, unskillfully, to English as Dry White Valley). There were lots of waterfalls, ladders and chains so it was also fun. I think the photos speak for themselves...

However, as all nearly-horizontal ladders were made of wood, it was not uncommon to have been broken here and there...
And this is what happens when you let your guard down - your friends will take it as an opportunity to take a photo of your supposedly sleeping self :-D
Well and that's all for this post. I tried my hardest to select the best images from the set we brought back with us from there ;-)

Thursday, 28 August 2008

Echo August 2008 News

New Icons

We've created/fixed some new icons, concretely:

  • preferences-system-date

  • preferences-system-firewall

  • preferences-system-users

  • printer

All of them are used in they System -> Administration menu and part of our work towards filling this menu with Echo icons (since most of applications in there don't have even new-gnome-styled icons).

"Huge" icons - 256x256

With the introduction of One Canvas Workflow (will be explained bellow) I decided I could try doing more detailed and realistic looking version of the printer icon:

Nicu was seemingly pleasured with the new introduced HW brand - Echo and noted that if such device indeed existed it would definitely worked with Fedora out of box.

I'd like to hear others opinion of using such style for these icons. The basic differences from other styles are semitransparent borders (usually with opacity set to 0.3) and more detail. Other than that it remains same as other sizes. If we agree on this style, I'll add it to Guidelines, together with source for the echo brand ;-)

One Canvas Work-flow

Together with creating the printer icon, I explored jimmac's idea of one canvas workflow. In my short experience it is superior work-flow to our current one and also makes automating many steps of icon creation easier. Most importantly it helps artist to focus more on the process of designing/drawing the icon rather than various "secretary" jobs around...

Together with the desire to automate as much of the secondary work as possible I needed to bring the work-flow to yet another level - so you need to add label to the 48x48 icon (which therefore needs to be
grouped) and set it to scalable. It is so that the script can recognize that it's the very icon intended to be installed into the scalable folders (and delete the rest).

Initial screen-cast showing this and subsequent commit of the icon to git is available at my fedorapeople page.

I'd like to make this work-flow the preferred one for echo-icon-theme creation so if no one steps in, I'll add it to Guidelines.

Current version of template which can be used as base in Inkscape to create icons using this work-flow is attached to a mail I sent to fedora-art-list.

Automating The Secondary Jobs

One Canvas work-flow makes one thing much easier - ability to create script which takes the source icon and add it to git repository. I called this script echo-add-icon and it's already available in echo git repository. It takes the source SVG, generates PNGs for all included sizes and SVG for the scalable "size" and put all, including source into their rightful places in the git repository. The original source is put into /sources/base/one-canvas/ to make it distinct from the legacy sources (i.e. one source SVG per one size). It currently pushes only to base folders, but can be easily extended to ask if we want to push to base or to extras.

It does not make branch specific changes (i.e. adding symlinks / adding to build system) but I hope to implement it as well in some future version of the script. It also does not push the changes back to fh.o only prints a message to the user that he should do so.

Another script is meant to simplify the git set up process. I called it echo-set-up and is also uploaded to git. It does all the steps needed for starting work with the repository.

Yet another script is make for updates (useful e.g. when we introduce new branch to echo git repo). It updates all branches, if some of the branches is missing, it correctly creates it. I called it echo-update and it's also available in echo git.

I also plan to add one another simple script, probably called echo-new-icon that would take latest version of the one-canvas template and create new icon (with given name) from it. Similar to what rpmdev-newspec do for spec files ;-)

I plan to package these scripts for fedora under the name echo-artist, therefore I added some necessary things like license (LGPLv2.1+) or credits (since the first script is based off jimmac's).

Echo for F10?

It has been briefly discussed on the fedora art list whether to include Echo in F10 as our default icon theme and whether submit it as a Feature. Many people seemed to agree that it would not hurt pinging fesco about it, but that the main decision would probably be done by Art and Desktop teams.

Further Plans

Apart from creating new icons and plans mentioned above, I also hope to update/extend various echo related how-to's to reflect the new methods of echo icon creation/addition.

Apart from that I'd like to make some "promo" page that would be intended for potential contributors and contained all info they need to know to get started and other similar info.

Request for Feedback

As usual, I am more than open for all kinds of feedback, especially about the huge size guidelines, the new scripts and one canvas work-flow. If you have ideas how to further improve some of the above mentioned things, or just comments to what I said, would like to start contributing to Echo, ... feel free to reply either here, in comments, drop a mail in fedora-art-list, or, if you wish, drop a private e-mail to me (you can use e.g. the fedora address: mso AT fedora project DOT org [note: the address is "obfuscated" as a spam prevention and there are not any spaces in the original]) :)

Tuesday, 26 August 2008

Echo, Nodoka, One Canvas, Ruby and New Fedora Certs

It's been some time since my last post, so several things pilled up since then I'd like to talk about. So first about Echo, One Canvas and Ruby.

We ought to keep up with latest technology and make the process of creating new Echo icons as easy/effective as possible. As already mentioned in the fedora-art-list there is a new workflow of creating the icons - One Canvas Workflow. As the name suggests, it means that you create all the icon sizes from 16x16 to 256x256 in one file. It has the obvious advantage of possibility of all the icons sharing the same gradients, direct comparison, ... The question is, how to make all the required PNGs from the one canvas SVG. Jimmac has an answer.

Basically the workflow means that you use some inkscape features like layer functionality (you can display/hide layer editor via ctrl+shift+L) or object labeling. First you need to have two layers - one supporting for the script that will generate the PNGs later, and one with the actual artwork. The supportive one needs to be named 'plate', the artwork one 'artwork' (required by the script). On the plate you draw squares with the desired icon sizes (from 16x16 to 256x256) and distribute them in the canvas so that 22x22 and 24x24 are used for the same image and the others are separate. In the artwork layer you just draw the icons over the prepared squares in the plate layer. It's good thing to lock the plate layer to avoid accidental drawing to it.

Finaly group the separate icons into separate groups (one group for one icon) and because we need to know where the icon gets installed to, add Description = (substitute with e.g. devices for printer icon) to Document Metadata.

Now that would be enough to generate all the PNGs, as is done in Jimmac's ruby script. But in Echo Icon Theme we also distribute Scalable images (SVGs). So I needed to extend the script to generate the desired SVG as well. First it needs to somehow identify what will be erased from the source SVGs and where the rest will be moved to. I decided that best way is to use inkscape's labeling functions. So select the icon artwork intended for the SVG (usually the 48x48 one), it needs to be one group, select obejct properties [ctrl+shift+o] and set Label to scalable. Do the same for the rectangle bellow in the plate layer (that's needed to reposition the icon).

Now, to the script. First I decided we need only the one icon variant, so I dropped the code iterating through all icons. Next I needed to somehow edit the SVG to remove all unnecessary objects change the canvas size and correctly place the scalable icon on it. Since I had never done anything in ruby up until yesterday it proved a rather long job, but finally, after about 4 hours of experimenting, reading REXML docs and googling, I've managed to put together working script. I am not sure though if it's written correctly, since I don't know how memory is allocated/freed in ruby, know practicaly nothing about ruby syntax, ... Anyway here's the code:

#!/usr/bin/env ruby

require "rexml/document"
require "ftools"
include REXML
INKSCAPE = '/usr/bin/inkscape'
SRC = "./svg"

def renderit(file)
svg = Document.new(File.new("#{SRC}/#{file}", 'r'))
context = svg.root.elements['//dc:description'].text
svg.root.each_element("//g[@inkscape:label='plate']/rect") do |icon|
dir = "#{icon.attributes['width']}x#{icon.attributes['height']}/#{context}"
cmd = "#{INKSCAPE} -i #{icon.attributes['id']} -e #{dir}/#{file.gsub(/\.svg$/,'.png')} #{SRC}/#{file} > /dev/null 2>&1"
File.makedirs(dir) unless File.exists?(dir)
system(cmd)
print "."
#puts cmd
end
end

def expungeit(file)
svg = Document.new(File.new("#{SRC}/#{file}"), 'r')
context = svg.root.elements['//dc:description'].text
plate = svg.root.elements["//g[@inkscape:label='plate']/rect[@inkscape:label='scalable']"]
x = plate.attributes['x']
y = plate.attributes['y']
artwork = svg.root.elements["//g[@inkscape:label='artwork']/g[@inkscape:label='scalable']"]
translate = "translate(-#{x},-#{y})"
artwork.add_attribute(Attribute.new('transform', translate))
canvas = svg.root.elements["/svg"]
canvas.add_attribute(Attribute.new('width', '48'))
canvas.add_attribute(Attribute.new('height', '48'))
plate = svg.root.elements["//g[@inkscape:label='plate']"]
plate.elements.delete_all('')
svg.root.each_element("//g[@inkscape:label='artwork']/*") do |icon|
label = icon.attributes['inkscape:label']
if (label != 'scalable')
icon.parent.delete_element(icon)
end
end
dir = "Scalable/#{context}"
File.makedirs(dir) unless File.exists?(dir)
f = File.open("Scalable/#{context}/#{file}","w")
svg.write(f, -1, false)
f.close
cmd = "#{INKSCAPE} --vacuum-defs -l Scalable/#{context}/#{file} -f Scalable/#{context}/#{file}"
system(cmd)
end


file = "#{ARGV[0]}.svg"
if (File.exists?("#{SRC}/#{file}"))
renderit(file)
puts "\nRendered PNGs from #{SRC}/#{file}"
expungeit(file)
puts "\nCreated scalable SVG icon from #{SRC}/#{file}"
else
puts "[E] No such file (#{file})"
end


And here's the image (google accepts only PNG, but SVG is available on my fedorapeople page):


Next thing I have in mind are Nodoka improvements. I've done some further coding and improved the button rendering and added styled entry rendering. Even those two are still not complete, let alone the rest, but the progress is here. See in the following images.






And finally some words about new fedora cerificates. I had some problems with it like not being able to log into koji web interface or not being able to upload new sources for RPMs. It turned out that my user certificate was generated too early, still in the time when the problems with infrastructure were ongoing (kudos to infra guys for fixing it). So after the reason was discovered I am finally able to do all my work I do in Fedora.

That also means I updated subttitleeditor. Please test and report if it works for you. The update for F8 is here
https://admin.fedoraproject.org/updates/subtitleeditor-0.22.3-1.fc8

and for F9 here
https://admin.fedoraproject.org/updates/subtitleeditor-0.22.3-1.fc9

Saturday, 2 August 2008

oggvideotools - Thanks for That Package!

In my previous post I outlined some ways that could lead to good screen-cast. One of the biggest issues I have had have been that the gtk-recordMyDesktop output contained skeleton track which rendered that file nearly uneditable. I tried various magic with mencoder to be finally able to extract the theora video into something other, something that can be processed by mkvmerge. It could not be however played by totem. And the same was with the result mkv.

But not anymore. Recently, when checking mail, I noticed in fedora-extras-commits list interesting package - oggvideotools. And now, at the end of my wits, I remembered it, looked into the archives to find that it's actually a new package and have been built on Tuesday. So I downloaded the package from koji (I didn't checked whether it's already in repos), installed it and looked on the content. One of the binaries caught my attention: oggSplit. I wondered how it's used, but as traditional -help or --help or man didn't worked and the program homepage showed only what it does but not how it does, I tried feeding it one of the ogv files.

The result is rather pleasing. It generated two ogg files, one named theora-[some-probably-hex-number].ogg and named unknown-[another-number].ogg. And voila, the theora-*.ogg one works, mkvmerge with it works, ... COOOOL. The unknown-*.ogg probably contains the skeleton track and I'll delete it right away. It's also probably result of this oggSplit output:
unknown type ID 325334135

So, I can safely say that I can do a high-quality screen-cast in matroska file with theora video, now :-)

Friday, 1 August 2008

Making Good Screen-casts - How To?

I am gradually making some screen-casts for echo tutorials and I wonder what is the best way to make them. There is a lot of options and one needs to choose... What I've done so far is available on my Fedora People page.

First thing to choose is the application that will do the actual screencast. From rough investigation I discovered these three that are available in fedora/livna:
  • instanbul - easy to use, however almost non-existant configuration, output compressed terribly much, which makes the video small but ugly
  • xvidcap - configuration options are pretty good, you can customize the output as much as you want, however tend to freeze during captioning, also does not support encoding to theora
  • gtk-recordMyDesktop - seems to support output only to ogv/theora/vorbis, not very well handled area selection, adds skeleton track to the output, usage not very intuitive
So after some thinking I dismissed instanbul, as the output does not have the desired quality (and I cannot do anything about that) and xvidcap due to frequent freezes (before that I managed to record one 3 min long screencast though). That leaves gtk-recordMyDesktop.

Next, we need to decide about the content - will we add commentary? If yes, will it be spoken or via subtitles? Subtitles are very good for translating, you just use the original one and use e.g. subtitleeditor (in fedora repos) to make a translation without changing the subtitles timing/styling. Also it's good for deaf people. On the other hand, you need to show the subtitles somewhere, which might render the part of screen on which they are shown unreadable. You can minimize the costs by using styled subs (e.g. ASS/SSA) to position the subtitles, but you'll then need special programs that can handle the styling (e.g. mplayer with -ass option).

Audio has the drawback that it can be hard to understand, for the person doing the screencast harder to create (not all of us are good English speakers), also it's harder to make a translation. So I guess subtitles are overally a better choice.

Now what format choose for video? If I had a choice, I'd go with MPEG-4/AVC (H264) which is excelent format with probably the best quality to compression ratio (and is pretty much used for most of HDTV content). It has however a drawback of being patent encumbered which renders it not an option for videos targeted on all Fedora users (even though you can play it in Fedora if you install additional codec packages from livna, but that's not an official Fedora repository). Software patents also put out of the game most of the other codecs, which leaves Theora. It has pretty good quality to compression ratio and is already the output of the gtk-recordMyDesktop, so if you are content with the compression, you don't need to recompress/re-encode the video.

Lastly we need to choose a container format. In opensource world the best choices are probably OGG/OGM/MKV (listed in no order). I don't know if OGG can handle subtitle tracks and OGM seems to be rather hack of OGG to better support videos. It's not much widely used either. On the contrary Matroska Video (mkv) is designed to be portable, fast, open, ... It can contain almost anything which renders it almost ideal container for shipping videos (it can contain multiple video, audio, subtitle tracks, fonts, various other files..., and yet it's generally very fast). It also comes with handy tools that makes adding new subtitle or audio track to existing video a piece of cake [mkvmerge(-gui)].

So what's my choice? It's obvious from the previous text:
  • gtk-recordMyDesktop
  • Theora
  • ASS/SSA subtitles
  • Matroska Video (mkv)
  • (optionally Vorbis audio)
What do you think? Do I have even better choices?

Thursday, 31 July 2008

Nodoka GTK Engine 0.8.x - continuation

So, I successfully passed through the exam, "enjoyed" the vacations (I caught some sort of flu, it only lasted for 2 or 3 days however) and did some more work on the design for the next nodoka stable branch. I also started writing the documentation for it, which can be found on my Fedora People page.

As mentioned in the documentation, I'll introduce new configuration options among which there is one called style. It will have three different values to choose from. The first one is CLASSIC, which is basically a continuation of the current design and will mostly contain small adjustments or fixes, plus it will most likely will be able to cope with the new configuration options. I made a fake screenshot in inkscape of The Widget Factory window to outline what the small changes will most likely be in the near future. These changes will also get backported to the 0.7.x branch and will most likely be present in Fedora 10. Here's the image:



The second one is MODERN and is an evolution of the CLASSIC one, but features more drastic changes, like theming previously "non-themed" widgets, introducing gradinents where previously weren't, etc. It will most likely be default in Fedora 11. See for yourself:



The last choice is GLOSSY and is actually being designed by Andy Fitzsimon. It won't be default in Fedora (or at least next two releases), but available via the gtk-engine-nodoka-extras package ;-) The widget factory mockup is not complete yet, but here's the WIP:



Most of the stuff I posted here is also at the 0.8.x Brainstorming wiki, the GLOSSY one will be added there as soon as it's finished. Until then you can follow the thread that started it on the fedora-art-list.

[sarcasm_mode=ON] BTW. I write the documentation in Plain TeX and I think that Plain is the only true God of typesetting and that all LaTeX-ists are heretics and need to be exterminated :-D [/sarcasm_mode] Hehe, just joking, I really write it in Plain, but the rest is just a big fat lie :-p

As usual I am greatful for any kind of (constructive) feedback. You can leave it either here in the comments, or in the fedora-art-list. Or, if you happen to see me on IRC on #fedora-art we can discuss it there as well, my nick is msourada.

Monday, 21 July 2008

Nodoka GTK Engine - towards next big release

Well, I've got some time and ideas how to improve the nodoka gtk2 engine and started working on the new branch (0.8.x), though only in inkscape and in wiki so far... It's a little sad that I have to wait a little more to do more work since in Thursday I've got exams from Classical Electrodynamic (though Special Solutions to Maxwell Equations would be more fitting because most of the time we did electrostatics and magnetics :-D) and after that I'll go on a short vacation. If I wasn't a lazy bum I would have done it a month ago already... Anyway, back to the topic. What's big on the next release?

The next branch of nodoka will recive something what you might call face-lift. I started redesigning the gradients, though in a evolution-like way. Also I made designs for previously 'unthemed' things, like arrows, radio/check buttons, etc. The goal of this release is to complete consistent and complete engine+set of themes that will be natural evolvement of the previous releases and at the some making itself distinguishable from other big players like Clearlooks, Murrine or Aurora. Another goal is to make the engine highly customizable, while maintaining the over speed - we like both speed and configurability, after all :-)

As I've already created a bunch of designs, I think the vacation might come handy - after then I'll check your reactions, suggestions, comments, ... and see which way I'll eventually take. So if you have some ideas, comments, suggestions, ... feel free to either add a comment here or drop a mail at the fedora-art-list.

In my initial mail to the art list I mentioned Fedora 10 release, but when I started designing I came with a lot of ideas and it seems more realistic to make it in time for Fedora 11. The reasons are obvious - it'll take some time to finish the art designs, given the current state of things the code, mostly the drawing functions, will need a major rewrite and extensions and I'll need to think how to make the code effective. It'll take a long time before I'll be able to build something consistent enough to push it even to rawhide, and I don't wan't to start testing just weeks before final release.

So, as the things are now, I think the most possible scenario is early branching of nodoka for F-10 which will make the new packages appear in Rawhide just after the release. Then we'll have the full release cycle to fine-tune the design, perhaps make a Qt4 port, and sort out most bugs.

And now some teasers:




More stuff can be found on the wiki page I created as a "container" for all 0.8.x branch related info.

And the future? Well, now I have a feeling like the 0.8.x branch could be the last pre-1 release. And what would be in the 1.0.0? Perhaps finally support for RGBA, more widgets animation (optional), perhaps some dynamic widgets stuff (optional) and of course it should definitely work well :-D Well, it would be great if the 1.0.0 release was released about the time GTK 3.0 will be out, since it seems like GTK 3.0 will be the first gtk+ version to sort out the problems with theming entries and progress bars and it also looks like GTK 3.0 would also be RGBA enabled. Well, we'll see what the future brings :-D