Well nobody seems to comment on ‘good stories’ – maybe I should rant more often? Anyway, it seems I have a reputation in the GNOME world as being an arsehole, so why not. Threat’s about employers reading the blog? Yeah nice one.
I realise I was going to offend the author of packagekit – but seriously, this is not ready for release as the main package ui on any distro. If what it did it did well it might be ok, but it has some time to go. Maybe he needs some offending to get his arse into gear and make it happen and prove me wrong? It’s out there in the wild now as the primary update interface on a public release of a popular distribution – he’s gotta expect criticism, and he’s gotta expect at least some rants – it’s not like i’m mailing the guy or spamming his blog’s comments – it’s my blog. If the app is busy, it needs to make that obvious, not just sit around for 10’s of seconds appearing to do what you asked, and then come up with a blank list for no apparent reason. I have the fastest net connection I can buy but it was a bit busy at the time – still, why does packagekit not cache any meta data, at least for the current session? How come it takes 100mb to run yum – if that’s all it’s doing – I thought surely it was doing more than that? Installing 1 package at a time is not good enough – computers are designed to run batch processes automatically, why force me to handle it? Why is every operation serialised when many don’t need to be? The machine was fine when running yum by itself (even with the ‘busy’ network), so it isn’t the cpu/memory or network (it wasn’t swapping even running the update thing). You can complain that I need a faster box or net – but I don’t need either for running anything else I want to run.
I’ll just say one more thing – you can’t have it both ways – if it wasn’t ready for prime time you should have asked Fedora not to use it – or by getting it in the distribution you get the exposure and fame and flashing lights – but have to expect the exposure to generate a range of opinions, from positive to negative. It isn’t personal (how could it be, we don’t know each other) – although it is impossible not to take it that way I know.
Ubuntu is mostly fine – but after giving it a pretty good run I think it’s just not for me. It’s too focused on newbies or windowsies, not ‘veteran’ linux users – yes, that is their target of course, but attracting developers wouldn’t hurt them either. Venting my personal frustration in my own blog should be ‘allowed’, and I don’t think I need to ask anyone for permission. Debian is known for making strange decisions by an overly politicised process by strong-willed individuals – my opinions there are nothing new (and that is all I meant by ‘*BSD like’ btw).
And yes Synaptic is quite nice. The only thing I don’t really like about it is that it’s quite slow at searching, and listing packages. I can’t remember what I used on suse (10), but from (a somewhat unreliable) memory i thought it was faster/nicer to use.
Umm, if the network cable comes loose, I’d presume the network would come back online all by itself when it got plugged back in – just like it always has? I certainly shouldn’t be logged in and running a crapplet (NB: i didn’t invent the word) for it to reconnect for example, or run any command as root. Do you run a desktop on a web server just to configure it’s network? Can’t their cables also get knocked out?
I installed ‘everything’ (desktop, web server, developer) but of the 3 applications I use daily on any computer – one wasn’t installed. Of course i’m going to complain about some fluff that is installed that directly affects my user experience that was installed instead – hey at least the man pages and info files are there. And are you saying packagekit is not installed by default in most configurations? I’d never heard of it – how could I go looking through dozens of packages to remove it? I imagine any ‘desktop’ would include the other stuff too. I’ve been there and done that – trying to tune my system exactly how I wanted before I installed it. All I did was end up with a broken system and wasting even more time fixing it at both ends. I rarely even run the disk partitioner anymore either,since i’ve had more than one failed install by trying to get things how I wanted it.
As for mono – I don’t hate mono. Mono is ok, technically quite a feat too – I think the effort could have gone elsewhere personally (hint: that means it’s opinion), but although it might not be obvious, I do know where Miguel is coming from and I ‘get’ what he is trying to do, and it is a good thing that someone is doing it, and that they have plenty of financial backing to pursue it, and the grand vision and enthusiasm for it. Ok, initially I was lumbering with evolution, bonobo and e-tree and thought he was just starting another ill-fated quick-results project he’d leave for someone else to finish! But that was the very early days – I worked on a mono plugin for Evolution after all – but nobody seemed to want it so I gave up. However he had to expect political backlash from many people given he was effectively cloning MS technology … and much later on the novell-ms deal didn’t help – no matter what the (secret) realities are of it, it’s done, and it will always be hanging over the project for some people – WHICH IS A TERRIBLE SHAME because so much time and effort has gone into it and there are plenty of good ideas and technology there. Politics in and around technical projects totally sucks, but that’s the reality. Time will tell anyway – and tends to iron out issues like this by itself.
For me, currently there’s no apps I need that use it (f-spot is a really good app but i dont need it), and I want to avoid the temptation to write .net code at home (odd yes, but indeed true). And yes I do have personal misgivings about any MS technology in general, and specifically any on my Linux box, but that was just the icing on the cake. What I hate is .NET itself. I use it at work. On a Windows box. That’s a lot to hate. At least with mono there’s the potential that one day they’ll be able to address the main memory issue with any vm based system – of having multiple virtual machines running for separate applications. Would putting them all in 1 environment work? They do it for Java for enterprise/backend applications – how come it isn’t used for desktop applications as well? If the whole desktop and most of the applications ran from a single vm it would probably do rather well – probably better than ‘n’ C applications which have to initialise each application toolkit separately and which share only read-only c library data and code between them (and an order of magnitude better than ‘n’ C language engines loading (and compiling) ‘n’ language ‘scripts’ which load ‘m’ language ‘libraries’ and sharing only the memory-mapped C library parts between them). (where by ‘C’ I means pre-compiled memory-mappable code/data).
I do rather dislike python mind you. Somewhat how I dislike visual basic. I don’t really hold strong opinions about any other languages but those two. Well, javascript isn’t that high on my list either, tcl has some issues at that. On reflection maybe the reason is simple – the generally bad experience (IN MY EXPERIENCE – it’s called opinion, not everyone agrees with that opinion, but it’s mine, and I hold it) from vb/python apps. And well, BASIC sucks.
BTW with Fedora, my install was still left with init running at level 3 (vi fixed that). I’m not sure I ever told it I didn’t want X running (I installed a desktop system afterall). Maybe it had something to do with a text-mode install, but I can’t remember being given the option to turn off/on X (apart from setting it up).
Agree with most. Except that I grew out of my hate for .NET. The first five months while I had to use it professionally I had some sort of a dislike for it. But as I learned about C# actually being a better Java, I started to like it a lot instead.
Being a former Delphi user, I actually like Visual Studio .NET too. Microsoft gets it when it comes to developer tools.
I never liked Visual Basic, neither did I ever like Visual Basic .NET (which was why I disliked .NET, as my then-employer forced me to use Visual Basic .NET instead of C#). I never liked Python (and I did code a few larger projects in it).
What I like even more than the Mono project which he started, about Miguel, is his enthusiasm and passion for technology. It has inspired me several times and I’m sure it has inspired hundreds of other people too.
As a Ubuntu user I have not yet used PackageKid. I do like the idea of an actual API for package-management that can be shared and depended on by applications. I agree that if they want it in a distribution, that it has to be ready (not finished, but at least ready). Not just usable.
Hi Michael :-) I for one was amused, entertained & informed by your blog, so what else is necessary: go for it. Also (somehow) didn’t find your new E-mail address – and I suspect the @ximian is not forwarding that well anymore. ATB. Michael.
Here is a comment for you attention whore. And that is just my personal opinion. ;)
Ah, the good old “what if future employers read your blog” threat always makes me laugh.If future employers dont like what they read then why would I want them to be future employers?
2 years and counting on .net – and i really didn’t mind it at first, i’d already done a bit and it was nothing unusual to pick up. But the bad doco, crappy environment (i find vs really really painful, and xp really awful too), lack of source, closed/pay per use mentality, and general ms-ness of it (it’s a certain something …) all ground me down over time. The project uses WPF, and WPF’s documentation is woefully inadequate for it’s complexity. Basic C# is ok technically – but so are lots of things. At the end of the day I just don’t enjoy using it.
As for pk – it’s trying to be a odbc for package managers eh? I could see the point if it were maybe as some internal api that wraps the backends for a given front-end meta-package manager application, that’s one thing, but a shared api? All it seems to do is double the bugs any application has to deal with and forces you to work at the lowest-common denominator. And how many package manager gui’s does the world need? One that works well will do. And aren’t they all slow enough already without adding more abstraction? The debianites are even all up in arms about it not supporting their favourite (and utterly perfect) format ‘properly’, so there’s already some issues with one of its apparent core goals (even if the author is right – it’s that damn political thing again and it cannot be avoided). And many distributions actually distinguish themselves by their own gui installer – hard to convince those to use it.
The UI might have more legs – as a sort of meta-packager. A noob doesn’t want to see every single rpm (or particularly – deb – they love their fan-out) listed, they just want to see ‘open office’, or ‘firefox’, and be able to click ‘add’ and have it done (do they even really care about specific versions? doubt it). Actually bugger noobs – most of the time that’s anyone wants, i particularly dislike hunting through synaptic looking for all the doc and header packages I need for something I already installed. e.g. click on ‘open office’ you get a checkbox-list of a few options – like dictionary languages or firefox extensions, maybe even some basic config options perhaps. Click ‘Do It!’ and it ‘smartly’ goes away and does it for you. Maybe that’s what they’re thinking – because right now the main view doesn’t really work well – listing each and every rpm the way they do in a cluttered list (and it works less well than others that just have a text list).
Add a web-service with a central repository of distro-neutral contrib stuff cross referenced with a google code/sourceforge type thing, and you could really have something on your hands. Use the knowledge you built up during this process to implement an even better base package format and system, and get people using your package system instead of/in parallel with the distro’s one, and let users ‘choose their own’ distro. Maybe even the potential of a real killer app there. Maybe the mono guys should do that, fill it with their super mono apps for everyone to easily install and try out – you could even run bits (hell – all) of them from inside the installer’s vm to finish the config or try-before-you-buy and show the awsome powerness of the sandboxed vm. Well if anybody wrote all-safe code anyway ;-)
They need something different – a list of packages, and an install button and a dependency check is nothing new, and it’s been done better and faster before.
Meeks – gmail like all the cool kids.
Thanks Björn – ta, I was never hugged enough as a child I guess. ;-)
“But as I learned about C# actually being a better Java, I started to like it a lot instead.”
Being better than Java is not really a feat and something to boast. Ever heard about Smalltalk ? Lisp ? everyone is talking of adding closures to the next version of Java, the JDK7. Lisp had closures probably before you were born. Java corporate drones were proud of their “Garbage Collected” language when so many did so much more before Java 1.0.
The thing with package management applications is their insistance on writing a cool database frontend to show you all packages. I don’t want a package manager. I want to have packages installed when I need them. So if I double-click an open-office file, the package manager installs Open Office if it’s not there and opens the file. Maybe pop up a dialog saying “you don’t have an app for opening odw files, which ones do you want? [[OPEN-OFFICE]] [ABIWORD] [KWORD]”, but likely just install the best one.
The same goes for Firefox extensions (or GStreamer plugins or whatever). Put all of them into my extension manager, and when I select them, install them.
If you then get me a right-click => uninstall in the applications menu, I’m happy.
The rest is for advanced users and they prefer a terminal and using apt-get or yum directly anyway.
@zucchi: I suggest you read some of the FAQ’s about PackageKit as it’s pretty obvious you don’t understand what PackageKit is. PackageKit is planned to be used by Fedora, Ubuntu, Mandriva, OpenMOKO, OpenSuse, Foresight, Poldek, and we’re in discussions with some other big vendors too. But maybe they’ve all got it wrong and you are indeed correct. Let’s wait and see.
@otte:
>So if I double-click an open-office file, the package manager installs Open Office if it’s not there and opens the file
That’s the plan. I’m currently making the needed changes in rpm to allow that to happen for Fedora 10.
Well, what you described about Ubuntu is pretty much accurate, this mail is enough for illustration. However one thing is wrong. They do want developers — Python developers. In the old days they exclude packages deems vital for most Asian users within Ubuntu CD (input methods, languages…), in exchange for: (you bet.) python devel packages. The reason is python developer is one of their important user base. I can’t find the exact reference now, but this sentence is burnt in my brain forever.
hughsie: no matter how many big-players (for extreme values of big) you convince of PackageKit, if you don’t listen to your users it’ll nonetheless fail.
My advise for you as PackageKit’s maintainer is to at least take note of Zucchi’s complaints.
But you don’t have to take it. Of course.
Hughsie does not need to listen to criticism, because he already researched everything before he started writing anything. At least that’s what he always says to any criticism.
I’d argue that f-spot is not a shining example of a Mono app either. Like tomboy it seems like a whole lot of hype for what it actually delivers. Its import dialog is a bit lacking, and the filesystem organization method is painful if you want to share photo libraries between applications. If I’m looking for a picture in Nautilus, I’m going to be looking for the event it was part of, not the exact date it was taken. My options when looking for a photo to send someone should not be “find it in f-spot first” or “trial and error filesystem searching.” But I suppose if you only access your photos from one computer/application, and always use your photo manager for anything image-related, f-spot is nice.
The only Mono app that I’m pretty impressed with is Banshee, but Rhythmbox does enough that I don’t really need to install Mono for one app.
@Hughsie,
The problem isn’t whether all of the big distros use it or none of them. The problem is that NOW it is not ready for use by everyone and his dog. I hope it will be one day in the not-too-distant future, since I really do like the idea of it. Fedora made a mistake in choosing it at this point, and so would Mandriva, Ubuntu and what not had they already made the switch.
Right now, it belongs in Rawhide and other equivalents of Debian Sid (and maybe smaller distros where the impact of such a big change would be smaller). The lack of speed is one reason, and enough for me to stay clear of it until it has matured (to be honest, the speed is so abysmal that I could checkout the latest Gnome or KDE trunk and compile myself a new DE before PK was finished downloading abiword…okay, a slight exaggeration there but the speed is the MAJOR off-putting thing right now). Only tried PK using Fedora and Foresight though so it might be a flaky implementation on their part.
Still, take this for what it is intended as: not a flame but a hope that you and whoever else works on PK will take your time and make sure PK can become the unified packaging tool Linux needs. It isn’t now but it could become one if it isn’t rushed to be a part of the big distros prematurely. If it is rushed, that will only hurt PK in the long run.
Honestly, packagekit’s slowness while it was populating the list of packages available to install surprised me when I first used it with Fedora 9, too. I hope it will improve the speed issue. One of the features of linux desktop _was_ it could be possible to use it on an older box. Sadly, not anymore.
Very nice writeup, I like your way of explaining the issues and actually I do find you keep a pretty friendly tone. I agree with most of your points – that is, I mostly like python, only the fact that it tries to be somewhat much too dynamic can cause a lot of pain. Maybe Genie can become the answer to that problem at some point.
What are zucchi’s complaints exactly ? That PackageKit isn’t ready for prime time ? Well, maybe that’s why other distributions have not integrated it *yet*. ;)
However, Fedora has always been some kind of a lab for emerging technology. I, as an enthusiastic Fedora user, am thrilled to have PackageKit in Fedora 9 so I can play with it, have a look at what it will become, and help the devs improving it by submitting bug reports.
That’s exactly why I love Fedora, because it’s exciting to test all these new stuff. I can understand that some others prefer waiting for stable and finished apps, but I simply can’t wait with them :)
Go on hughsie, PackageKit is definitely not ready, but (reading from the FAQ), its goal is trully admirable.
Regarding the X thing, yes, text mode install will leave you with initdefault of 3. We use the same logic for detecting your video card at install time as at runtime, and we try really really hard to give you graphical install if we possibly can. So if you ended up in a textmode install, it’s either because you asked for it – and are thus the sort of person who doesn’t want X anyway – or because we failed to run X in the installer and thus almost certainly it’s not going to work at runtime either.
It’s not completely clear from this post or the original whether this is what happened to you. If you got graphical install but initdefault 3, that’s a bug. I don’t think there should be any way that can happen, but I’ll give the code another look. If you still have the fedora install around and wanted to file a bug about it (attaching /var/log/anaconda.xlog so I can see what hardware you have) that’d be great, otherwise I’ll just keep an eye open for that issue in the future.
ajax: ok, fair enough. I asked for text-mode install just to avoid any possible x glitches – given that after i rebooted i got some configuration box and from that i configured X, i thought it would then turn it on.
Yeah, if you configure X from firstboot-tui then it should probably get turned on for you. I don’t know if that code exists in F10 anymore, but I’ll take a look and throw things at clumens as necessary so that works.