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

Tuesday 8 July 2008

Folder or Directory?

Well, I have a (probably bad) habit of using word folder (and it's Czech translation) when talking about computer directories, and sometimes I get corrected by the listener. So I wondered which is the correct usage - should I use folder, directory, or is either fine? I must also confess that the Czech equivalents for folder (složka) and directory (adresář) are causing me the same pain - I don't know which one is the correct. So I picked up my English dictionary (I don't have a Czech one, therefore I picked the English one) and looked up the words:

folder noun 1 a folded cover or large envelope for holding or filling loose papers. 2 a computer directory containing a number of files. 3 NAmer a leaflet or brochure

directory noun 1 an alphabetical or classified list, e.g. of names, addresses, telephone numbers, etc. 2 on a computer, a list of the files contained in a disk. 3 formerly, a book or collection of directions or rules, esp concerning forms of worship.

Now, the Czech counterpart for folder has more or less the same meaning (etymologicaly) as the first meaning of folder, and the counterpart for directory means basically a list (sorted) of addresses - it's even created from the word address, in Czech adresa.

So if I look on the original meanings (or in case of directory its current meaning outside of the computer world) of the words both in Czech and in English, I come to a conclusion that usage of folder is more meaningful than usage of directory, yet in linux it seems directory is the word of choice. I guess I am as confused as in the begining...

Any thoughts on this matter?

Saturday 5 July 2008

openSUSE 11.0 vs Fedora 9 Gnome/Desktop Live CD

I've downloaded openSUSE Live CD in hopes that it could help me resolve issues with Fedora 9 (see my previous post)... Well, does not seem likely.

First I put the DVD into drive and booted the computer. And I was lost even before I could boot. The boot choices were worded in a such way I didn't know what to chose (err. rather what the choice will do) and help seemed completely unrelated. Well, so I chose what seemed most likely and hoped it will boot the Live CD. And it did! I was pleasantly surprised how fast the Live CD was. It was nearly like if it was run from HDD. No slugishness, nearly no UI freezes, generally responsive. Well, if I compare Fedora 9 Desktop Live CD, I must ask - where did we go wrong? Fedora Live CD is sluggish (on the same old Athlon 900 MHz) machine, the drive is damn loud, UI is most of the time unresponsive...

But that's probably about all good about suse. Their menu is just awful. I cannot imagine how anyone can use that piece of software. So I switched to traditional menu - alas, they again have it sorted in a way that it took me like forever before I've found terminal. Why do they use four-level menus for applications? Who was that insane to suggest such a choice?

But ok, well, one can get used to that, a worse thing is that wifi didn't work. I don't know why - the kernel is same version as in fedora. That's a dissapointment, since in Fedora Live CD it works flawlessly. Anyway, it could just be a firmware missing, so I gave it a go and click install to harddrive.

Well, I can only say it was so frustrating experience, I ended up not installing it. First the partition managing seems so unnatural that I didn't figured out how to custom paritition it to my liking (as opposed to partition editor in anaconda), luckily I've prepared 10 GB empty partition beforhand with gparted on Fedora, so that openSUSE only used this partition (though it deleted it then rectreated extended partition instead and created what seemed like subpartitons to me in it).

But the thing that stopped my efforts was setting up GRUB. It took me about 5 min. before I got to know that it will install to MBR on sda (but that's my fault, it was nicely visible). That wouldn't be a problem if it knew about Fedora's GRUB that was already there. I even tried their option which was called something like "propose merging with existing GRUB layout" which didn't changed anything. And bacause I didn't want to break my Fedora installation, I decided to stop trying, because this obstacle seemed to much for me :-(

My Dissapointment with Fedora 9

Firts let me say - no, I am not going away from Fedora 9, but this release seems fatal for my sister's desktop computer (but works quite fine on my laptop).

When I first installed Fedora 9 (around beta) I was possitively impressed with it, as many things were improved and appart from video slowness everything seemed fine. The video fix required some action on my part + waiting for final. I switched to EXA in xorg.conf and in some of the updates for intel driver the slowness went away. If it wasn't for recent happenings I'd call Fedora 9 the best release ever, but now I am inclined to say the opposite - the worst Fedora release ever.

First brasero does not burn anything. It gets to the burn process, but never writes anything on the DVD, neither shows any progress (remains at 0%) nor any crash/fail messages. However it does not wreck the DVD and nautilus burned it fine, so I thought - oh, upstream has some bugs, it'll get fixed eventually.

But in the past two weeks I've encountered updates that broke a lot. First my computer started freezing (hard freeze) when connecting to wireless. Ok I switched to wired and waited for the fix (it's already fixed). Then gdm stopped loading. Ok I startx-ed from runlevel 3 to get my desktop running and waited for next update of gdm which fixed things. Today, I tried to burn an iso image of xfce spin of Fedora 9 I generated yesterday for purposes I describe later in the post. Nautilus fails. WTF? I remembered some rant about Fedora 9 updates on the planet fedora, in which the author said burning as user broke. So I tried burning it as root - successfully.

Well, as I use updates-testing, I can say these things are kinda expected, so I take them more like some kind of fun - you know, it's boring when everything works all the time :-D But that's for my laptop. Sister's desktop computers seems to hate Fedora 9.

The configuration is pretty old, odd and self-built - Athlon 900 MHx, GeForce 2 MX 400, 512 MB RAM, two HDDs (10 GB and 200 GB), one DVD burner, wifi card, SB Audigy 2. But it sort of worked with Fedora 6 - except for the wireless card. It was so much of a hassle to get it to work, that neither me (who wasn't able to get it work when we bought it), nor my father (who painfully got it work after hours spent on internet) wanted to do again. That's the reason I haven't upgraded to Fedora 7 or 8. Finally, in Fedora 9 the wireless card works out of box and my sister for some reason needed OpenOffice.org 2.4, so I decided to upgrade.

At first I had some problems with mislabled LVM (I have it extended over the two HDDs to gain more space). This I fixed with some help at, IIRC test-list (Fedora 9 was still in beta stage and I thought it was a bug in anaconda). Nevertheless I got it eventually installed.

I installed it using Live CD, because that way I can test if it works and the installation is faster. However after some time (and updates) problems started to appear - settings started to break. First what you notice is either missing wallpaper in GDM or notification message saying that default configuration for power manager is missing. WTF is that?! This does not happen all the time, which is strange even more. Also the worst case is after login missing icons in menus, missing wallpaper, metacity (if it is metacity) loaded in some strange mode with only window caption and one button in windows, panels layout totally off, half of the applications not working.

So I decided to try again and do another clean install. Install went fine, first log-in as well, but then kerneloops. Hm... I tought, it might not be fatal and sent that oops to devs. The issued yum update. During the update process, I got another kernel oops and several crashes - mostly of gconftool2 during some post-install stuff of some packages. Of course, after restart, the computer behaved broken and after loggin in, I got another kernel oops.

So one another install. Went fine, logged in, everything OK. Logged out - problem here: settings again could not be loaded. OK, restart to runlevel 3, startx and see if everything is OK, and do the updates, for convenience, do the updates from my laptop via ssh. Everything was OK, only on the command line I noticed a warring that /home/mso/.metacity/sessions/default.ms is missing. But that seems to be OK. After the updates I rebooted the computer to see, that it broke again. So reboot to runlevel 3 and startx to see that the computer is still broken. Also this time I got various gconf related messages, like that cursor size is set to 0 which is invalid, that window manager is not set, ... Also, when loggin in as mso, it says that /home/mso does not exist, even though I can cd to it :-/ That does not happen if I create new users, though the brokeness is even more for the new user - panel crash and the crash message displayed by bugbuddy is utterly useless.

So I decided to try build already up-to date spin - with xfce instead of gnome. Everything went fine, until disk formating with anaconda. It said that the disk is locked and crashed during format. Well, I give up now. I install once again the Desktop Spin, to have at least something on the computer and in the meanwhile I am downloading OpenSuSE 11.0 Gnome Live to see if it'll behave better.

Does anyone has suggestions how to fix/debug these issues, or what distro I might try?

Wednesday 2 July 2008

Designing system-software-{update,install} echo icons

Yesterday I started working on system-software-update and system-software-install echo icons. As usual I first explored how's it done in other icons themes. Let's take a look:
Icon Theme system-software-install system-software-update
Gnome Icon Theme
Tango
?
Oxygen
?
Bluecurve
Mac OS X
?

As you can see, there are various designs for the icons, some of which use similar metaphors... I played with some of these designs and added mine, and after discovering that creating axonometric icon with globe and two arrows that would be nice and recognizable is almost impossible, I ended up with these three designs:


After some, so far little, feedback on the fedora-art-list it seems to me that the icon in the middle is best for the system-software-install and the icon on the right for the system-software-update.

What do you think?

Update 1: Following suggestion in the comments, I added another variant - two blue arrows.

Update 2: I added another two variants (they differ in colour only) that better symbolizes the "refresh" part of the update. And I've just noticed that I made the arrows counter-clock-wise :-D Hope it doesn't matter much ;-)
Update 3: Based on the reactions here and on the art-list here are some results:

system-software-install:

system-software-update:

I think for the system-config-update, the second one (two coloured arrows without package) would be probably the best, even though it kind of lacks context. However as it will be in the System->Administration menu, I guess the two arrows, one symbolising removal of buggy software, another addition of new improved one, will work good enough.

Gecko is getting worse?!

First let me start with a simple statement: I wrote this post from Midori web-browser. If you'd like to guess why, read on.

I didn't want to write this particular post so soon, but I just couldn't hold it any more. In four hours of doing random stuff on computer, gecko managed to anger me to the point I just couldn't go to sleep before writing a rant about it.

First it started with Firefox only, now it's happening to Epiphany, too. Gecko is eating my CPU. I cannot explain why, I cannot tell when, because it's totally random. Just out of the blue, my laptop starts to be dreadfully slow, and until I kill epiphany, it stay such (well, I have never had the patience to wait more than 2 or 3 minutes, so in longer time it might fix itself).

Why ranting about it today? Because it happened twice and both when I was doing my favourite stuff. First I was sketching some echo icons (I'll perhaps write a post about those tomorrow) and suddenly inkscape started to be so slow that it was literally unusable. I wondered what happened to it, and after about 2 minutes I finally fired up system monitor to see if there is anything to see - and there was! Epiphany, which was on the background, on a different virtual desktop, was sucking up CPU. I killed it (I kill epiphany instead of closing it to keep my session saved) and inkscape immediately stared to behave normally.

Next, I was watching some series and in one of interesting scenes the video started playing so slowly that it was pretty quickly out of sync with audio. I went WHOA? My CPU should handle that well. So I paused the playing, got out of the fullscreen view and looked what was happening. Again, CPU was 100% used! While doing nothing! This time I fired up new tab in terminal and killed epiphany. CPU use immediately droped to 0% and I could watch the rest of the episode.

Why I rant about gecko and not epiphany? The reasons are simple - when xulrunner in Fedora was still 1.9b5, this thing happened to firefox. Quite cassualy. But epiphany was fine. BUT. After update to 1.9 final (and waiting for epiphany rebuild, because the mozilla guys again change something so that most xulrunner apps started crashing) epiphany started to suffer from this issue as well. I can only ask: what are you guys at mozilla doing? Preparing for next release? Putting random infinite loops to gecko code, so that you can remove some of them in next release and say it's faster and more efficient? Gah.

Anyway, don't take the last few senteces seriously, it's over too much exagerated what might be the worst case scenairo behaind the curtains ;-)

And why do I not file a bug against it?

  • I am lazy

  • Someone probably have done it already

  • I'd rather spent my time debuging webkit than gecko

  • I have better things to do than trying to figure out some random, hard to reproduce bug in gecko

  • If I go crazy, I can use epiphany with webkit backend - even though it lacks some features I use, it works



And yeah, you might ask, isn't it a result of me having 50+ opened tabs assorted into 4 windows? My answer would be - old gecko handled it well, webkit handles it even better than that, why gecko 1.9 cannot?

And one random rant for the end: is it just me, or does firefox/gecko does not remember me being logged in here on the blog? It behaves like I am not logged, when I click log in, it quickly discovers I am already logged, but when I go back to my blog homepage it still thinks I am not logged in. WebKit does not suffer this issue, which makes my blog managing easier to do in webkit based browsers...

Update 1: On suggestion from Kevin Kofler, I hereby thank all the people involved in KHTML, WebKit, WebKit gtk port and epiphany for they hard work towards perfect *nix web-browser engine and lightwieght native-gtk web-browser :-) Well, I could also include konqueror folks, but for some reason I don't like it's UI...