Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.
Posted By: shevegenI think what you seem to propose is a system that does not care about where something is installed at (physically), and it will be using logical "classifiers" instead (in your example "Internet" which can be found under "Applications") It reminds me a bit - as idea - about the usage of a database instead of a file system (which would make queries easier because you only have to ask the database and can view this model in any way you want... reminds me of the MVC pattern ;-) )
Anyway, this logical abstraction in general is a rather good idea.
Just for clarification though - I detest being forced to *only* double click on something to launch/start it. I am too much in love with konsole these days ... :-)
However I think you have to untie this idea from the "bundled download" approach because this seems to ask for a lot of extra work, and Gobolinux at times really lacks... manpower :-)
If you look at the mailing lists, and on some other sites, one big concern is the management of the recipes and so on, because it is a lot of work (currently at least)
"However, my main point is that it shouldn't matter if Firefox is in /Applications or /Applications/Internet"
"For starters, I think ChrootCompile should be made the primary means to compile a program, and the
user should be prompted whether or not he wants to contribute his successful Recipe and
Package after a successful compilation."
test
Posted By: MichaelPosted By: MohjiveThat way you'll only have duplication when downloading.You say that like it's a good thing.
Posted By: giddieI agree — I think at least in the main store packages should not have dependencies bundled. However, I think it should be possible to package several programs together so that they can de distributed that way if need be. More than that, I think that packaging a program shouldliterallybe a simple as zipping the program directory — no script involved.
Posted By: giddieIf he wants to launch Firefox, he can open Konqueror (or Dolphin), go to /Applications/Internet and double-click on Firefox
Posted By: giddieI think ChrootCompile should be made the primary means to compile a program, and the user should be prompted whether or not he wants to contribute his successful Recipe and Package after a successful compilation.
Posted By: giddieConsider a launch menu (e.g. K Menu, Windows Start menu, etc...) What's it for? It's an abstraction — it shows a customisable view of the user's applications.Yes. That's a good thing. You can have multiple ways of accessing programs, to go with different ways of thinking about what you're doing at the time, or different locations. Mac OS does have shortcuts now, and also the dock.
Posted By: giddiehe can open Konqueror (or Dolphin)And if he wants to open Konqueror, he...
Posted By: giddieIf he wants to launch Firefox, he can open Konqueror (or Dolphin), go to /Applications/Internet and double-click on Firefox.Wow, that's... ungainly. Mac OS does do it that way, yes, but nobody actually likes it. That's why everybody has a dock a mile wide with all their applications on it. Menus are actually a good abstraction for this situation; desktop shortcuts work too, but once you're a layer beyond that it's just unpleasant.
Posted By: giddieOK, so I'm using the GUI as an example, but the CLI is currently suffering even more. All programs are always on the path. There's not even an abstraction layer for the user to organise. I won't go into that now though.Could you? When is that actually a problem? You don't notice something's in the path until you try to use it. Having them not be in the path would make things worse, not better. You are able to organise an abstraction with aliases if you want, and much more powerfully than with this system. You're also going to have to hack at either the shell or the kernel to make directories executable.
Posted By: giddieBoth of those are on the way. ChrootCompile does have some issues, as Mohjive pointed out, but I think we can avoid most of them with USE flags, which are also in the plans and something I'm interested in working on.
I think there are ways that this could be fixed. For starters, I think ChrootCompile should be made the primary means to compile a program, and the user should be prompted whether or not he wants to contribute his successful Recipe and Package after a successful compilation.
Posted By: MohjiveWell, I don't see any problem with adding a few KB to the download, if that saves one from downloading even bigger dependencies, which one might not be aware of is needed at the time of download.It's not a net saving, you're still downloading the dependency. You might if you were only using one library out of many in a program, but not often. You're just downloading it always, rather than only when you actually needed it. Not everybody is being limited by their "slow" 54Mbps wireless...
Posted By: MohjiveBasic packages would still be created as just a tarball, but one could make extended packages, which bundles some libraries the application is dependent on, with a script.I am in favour of making it possible to do this, just not of making it necessary. And if making two versions of the package all the time is too much, losing the extended one rather than the basic. Or if it's confusing to have them both, of only having the basic ones.
Posted By: MohjiveThen you can download the package off-site and still be able to install it even though your system doesn't have the dependencies installed.Which is nice if you know that you don't, of course. I just don't think that's a common enough case to waste bandwidth on the rest of the time, or to create confusion over. If it's possible to do both in an easy-to-understand way, that's fine.
Posted By: MohjiveWhat's the difference between bundling some dependency libraries and bundling whole dependency applications? Basic packages would still be created as just a tarball, but one could make extended packages, which bundles some libraries the application is dependent on, with a script.
If he wants to launch Firefox, he can open Konqueror (or Dolphin), go to /Applications/Internet and double-click on FirefoxThere are packages with more than one binary. How would that be handled?
The problem with only using ChrootCompile is that *only* the features depenent on the applications listed in the Dependencies file will be built.
Posted By: MichaelConsider a launch menu (e.g. K Menu, Windows Start menu, etc...) What's it for? It's an abstraction — it shows a customisable view of the user's applications.Yes. That's a good thing. You can have multiple ways of accessing programs, to go with different ways of thinking about what you're doing at the time, or different locations. Mac OS does have shortcuts now, and also the dock.
he can open Konqueror (or Dolphin)And if he wants to open Konqueror, he...
If he wants to launch Firefox, he can open Konqueror (or Dolphin), go to /Applications/Internet and double-click on Firefox.Wow, that's... ungainly. Mac OS does do it that way, yes, but nobody actually likes it. That's why everybody has a dock a mile wide with all their applications on it. Menus are actually a good abstraction for this situation; desktop shortcuts work too, but once you're a layer beyond that it's just unpleasant.
OK, so I'm using the GUI as an example, but the CLI is currently suffering even more. All programs are always on the path. There's not even an abstraction layer for the user to organise. I won't go into that now though.Could you? When is that actually a problem? You don't notice something's in the path until you try to use it. Having themnotbe in the path would make things worse, not better. You are able to organise an abstraction with aliases if you want, and much more powerfully than with this system. You're also going to have to hack at either the shell or the kernel to make directories executable.
It's not a net saving, you're still downloading the dependency. You might if you were only using one library out of many in a program, but not often. You're just downloading it always, rather than only when you actually needed it. Not everybody is being limited by their "slow" 54Mbps wireless...
Posted By: giddieExactly the same way GoboLinux currently deals with it — have them all on the path. I'm not suggesting anything hugely radical here. This just involves the ability to specify a default binary for an application.But then how do you access the others? Say, OpenOffice, which has seven, all of which are individually useful.
Posted By: giddieMy argument was that using shortcuts and launchers is a bad way to do it, and that allowing the user to structure the /Applications folder would be a more elegant (and user-friendly) solution.And mine was the opposite.
Posted by: giddieI think the use of shortcuts should be avoided because they're ambiguousHow so? Because deleting them doesn't uninstall the program? You're also able to have multiple shortcuts to the same thing if you want, which can be useful (and would be especially useful with things laid out how you're planning). So since you're going to have to have them anyway at the DE level, there's really no reason to move the programs around at all.
Posted by: giddieNo desktop operating system can operate without a filesystem viewer. As far as I can tell, it will always be a fundamental part of an OS in one way or another.I'm pretty sure I don't have one here, so that's just not true.
Posted By: giddieKonqueror will always reside on the bar.That seems an odd constraint. I also don't think it's a usability improvement to have to open several windows with active clicks to get to an application. It's exceptionally annoying having to do that on OS X. That part is an interface question, though, so we'll leave it out. It's perfectly possible to map the filesystem to a menu, like you say.
Posted By: giddieOK, for starters, how do you find a small tool for converting graphics files that you know you installed a while back, but you just forgot the name of? Please carefully consider my suggestion here before dismissing it. The problem with the path is that it is pretty much impossible to search, and the human mind is bad at recalling, but good at recognising. If you do `ls /bin`, you'll have a hard time sifting through all of it. GoboLinux has almost solved it, since we can do `ls /Programs`, but that can still get quite hairy to search through. I'm still routing for `ls /Applications/Tools/Graphics` to find that program, or `ls /System/Programs/Tools/Graphics` if it's shared by a lot of programs.You can organise things that way now (with symlinks, and just as easily as moving them in Konqueror, I think). Or even better, when the program created a categorised menu shortcut for itself. I just don't think this is a useful enough or common enough scenario to be worth any trouble, certainly not the trouble that this would involve. But I can see that this is a case where it would be useful to organise them this way if it came up.
Posted By: giddieFinally, I also wanted to clarify that I'm not suggesting we make directories executable. No more so than they currently are in GoboLinux. What I'm suggesting is a different way to merge them into the system, which apparently is pretty much already on the cards. Beyond that, my ideas involve a few modifications here and there to Scripts for the CLI and KDE for the GUI.You're going to have to patch the shells to make it work from the command line, or else just ignore it. And you're limiting the use of the system to KDE only, which is not an option. From that perspective this is a no-go from the start. Of course it wouldn't actually be necessary to use it that way, and leaving them all in /Programs would make things function mostly as they do now.
Posted By: giddieI wonder if you might find this idea interesting — if we do use a FUSE filesystem to sandbox each application, we could detect when a program tries to read from a library that is not provided by any known package on the system, and prompt the user to download the library, rather than just having the program crash for "no reason". This could help catch mistakes in dependency lists.That, I'm all on board with. I do like the idea of being able to sandbox programs, and it'd be nice for usability. I'm not sure if it's possible to catch that without writing our own filesystem driver, though, but if it is it'd be great.
Ultimately, I think the problem is we're looking at this from the perspective of different paradigms. You're very much seeing it from the perspective of a high-level single-user GUI, and I'm not
It's the kind of simplicity that complicates things even further, not to mention extendability.
"because I saw this behavior way to often when some secretary accidentally
deletes a shortcut for her favorite Zuma-game on a Windows desktop and then
runs to me (I was a local admin) screaming for help..."
Posted By: giddieI went on to suggest the RISC OS solution of placing the Applications folder on the bar, so that when you click on it you get a menu view of your applications.
But then how do you access the others? Say, OpenOffice, which has seven, all of which are individually useful.
No desktop operating system can operate without a filesystem viewer. As far as I can tell, it will always be a fundamental part of an OS in one way or another.I'm pretty sure I don't have one here, so that's just not true.
Ultimately, I think the problem is we're looking at this from the perspective of different paradigms. You're very much seeing it from the perspective of a high-level single-user GUI, and I'm not.
`cp Foo--1.0--i686.tar.bz2 /Programs` is a false metaphor, while dragging and dropping is less so.
$ cp Firefox.tar.bz2 /Applications
$ MergeApp /Applications/Firefox.tar.bz2
$ firefox
I'm not sure that `rm /Programs/Foo` would be possible to make work properly (because it would have to recurse, and detecting when it's actually being deleted isn't possible until after everything is gone, plus moving between filesystems has a lot in common with deleting). It also only works if you're running as the superuser, which isn't such a great idea. It only works well when there's only one application per package.
I also don't get what the problem is with having programs in the path; you don't know they're there until you try to use them, so you gain absolutely nothing by removing them [...]
Posted By: vazubI think that shortcuts are a good thing and a huge improvement from running binaries directly. This way, the ignorant user is less likely to harm some applications, as they reside hidden to him and he deals with abstractions only. I say this, because I saw this behavior way to often when some secretary accidentally deletes a shortcut for her favorite Zuma-game on a Windows desktop and then runs to me (I was a local admin) screaming for help...
Again, in Windows environment (I still don't know it is handled on Linux, besides the obvious command-line) you can use the shortcut to run a program with specific arguments.
Posted By: tsohmm, why not toss the idea of apps out the window?
remove the k menu from the bar, and have people operate on a files and actions basis?
and then create a install system that can install stuff based on what file types and actions a person wants to perform?
kinda like how in konqueror right now one can rightclick on a file or dir and select actions from the menu, but extend this to the n-th degree?
Posted By: giddieI'm shuddering on the inside here. I think the only way to make it work reasonably would be to mandate that programs contain exactly one executable, and have separate OpenOffice.org Writer, Calc, ... programs. That's perfectly doable, of course.Posted By: MichaelBut then how do you access the others? Say, OpenOffice, which has seven, all of which are individually useful.Now that's quite a constructive question. I guess we can have a file in the program folder, like the Dependencies file, listing some actions that can be performed with the application. That can be mapped onto a menu in the GUI, or listed on the CLI.
Posted By: giddieHow do you organise files? Maybe we have a different idea of a filesystem viewer here. I would considerls,cp,mvand friends a filesystem viewer. Is that what you're talking about? If we're still talking about GUIs, there's no way you're going to do anything useful without a view of your files...You're right, I wasn't thinking of them as filesystem viewers, because they're not in the same sense that Konqueror is (they don't include the "activate" action). But no, I don't have a GUI filesystem viewer on my home computer.
Posted By: giddieThe way I look at it, making applications relocatable promotes system modularity, which makes a multi-user system easier to manage.I think it makes things a mess. There are also some performance issues, yes, but they're not compulsory so it doesn't bother me that much.
Posted By: giddieWhat's wrong with the metaphor here?That's a pretty horrible interface, to begin with. Why do I have to take two steps to run something? And remember some godawful pathname? I don't think that's good usability. It's a good situation to have magic behaviour, really; "Run Firefox" and it finds the program, merges it, and runs the single binary it contains. But the metaphorical problem is in treating a file as multiple things at once, as well as the "copy" operation. From a drag-and-drop perspective it works perfectly; I'm really not sure why it doesn't gel at this level. From the CLI an "install" operation or similar seems to make more sense, maybe because at that level you're more aware of it as a file?$ cp Firefox.tar.bz2 /Applications
$ MergeApp /Applications/Firefox.tar.bz2
$ firefox
Posted By: giddieThermquestion is a good one, which I was aware of. I'm hoping that it can be solved with FUSE. The superuser considerations are also valid. I'll be honest here and say that I haven't thought far enough ahead to have a solution to this. I'm sure there must be one though.The rm one probably can't (you can't detect a directory's being deleted until after its contents have been), but it might be possible to work around it with suitable guesswork (find all the links/references/etc that point there once it's been deleted and remove them). Actually, what happens if you delete a program that's been merged into another chrooted environment? It seems like that would cause problems.
Posted By: giddieThe problem is that the PATH namespace is getting large. Unless we introduce some modularity, we'll end up with name clashes. What happens if someone ignorantly decides to create some random app called Dolphin? You can't have two executables named "dolphin" on the path.Ok, I can see the theoretical problem there. I'm not sure it's really such a practical one (the only case I can think of where that's happened is mkpasswd). But it is a good point all the same; wanting to use multiple versions of the same program causes the same issue. It certainly will be possible to run an application in a restricted environment if you want to, probably including your DE (but you'd be stuck with what you started with then, I think).
Posted By: giddieHaving a PATH cluttered with executables I don't recognise also gives me a feeling of being overwhelmed. I don't know what most of them do!I don't buy this part, though. You don't know what's in the path unless you make a point of looking at it. Tab completion might show you a few extras you weren't looking for, but you've thrown it out the window by changing what's in the path after it's already built its cache.
Posted By: giddieAlternatively, we could have a "launch with special options" selection in the filer.I'm shuddering again. That's a good feature to have, but making it be used all the time is just silly. I'm not sure you'll have better luck introducing people to the concept of "launcher" scripts than shortcuts, either.
Posted By: MohjiveFor launcher/desktop/files/environment I have only one reply: Rox Desktop already does this afaik.
Posted By: MichaelI'm shuddering on the inside here. I think the only way to make it work reasonably would be to mandate that programs contain exactly one executable, and have separate OpenOffice.org Writer, Calc, ... programs. That's perfectly doable, of course.But then how do you access the others? Say, OpenOffice, which has seven, all of which are individually useful.Now that's quite a constructive question. I guess we can have a file in the program folder, like the Dependencies file, listing some actions that can be performed with the application. That can be mapped onto a menu in the GUI, or listed on the CLI.
The way I look at it, making applications relocatable promotes system modularity, which makes a multi-user system easier to manage.I think it makes things a mess. There are also some performance issues, yes, but they're not compulsory so it doesn't bother me that much.
I would actually be on board with a system like I described earlier, with a set of Programs directories that were union-mounted together. That serves a good purpose (splitting /Programs across filesystems, and having user-specific /Programs), and as a side effect it would let you do (most of) your crazy scheme here.
What's wrong with the metaphor here?That's a pretty horrible interface, to begin with. Why do I have to take two steps to run something? And remember some godawful pathname? I don't think that's good usability. It's a good situation to have magic behaviour, really; "Run Firefox" and it finds the program, merges it, and runs the single binary it contains. But the metaphorical problem is in treating a file as multiple things at once, as well as the "copy" operation. From a drag-and-drop perspective it works perfectly; I'm really not sure why it doesn't gel at this level. From the CLI an "install" operation or similar seems to make more sense, maybe because at that level you're more aware of it as a file?$ cp Firefox.tar.bz2 /Applications
$ MergeApp /Applications/Firefox.tar.bz2
$ firefox
Having a PATH cluttered with executables I don't recognise also gives me a feeling of being overwhelmed. I don't know what most of them do!I don't buy this part, though. You don't know what's in the path unless you make a point of looking at it. Tab completion might show you a few extras you weren't looking for, but you've thrown it out the window by changing what's in the path after it's already built its cache.
Posted By: giddieWhy? I'm sorry, I simply don't see how you came to that conclusion from what I said. I guess I must have been unclear. I'm not suggesting anything different from what GoboLinux already does — all the executables are in the program folder. The only new idea I'm suggesting here is an extra file in Resources that lists the executables so that there's the option of presenting the user with a choice. It just means that the user has the choice of/Applications/OpenOffice/bin/swriterandRunApp /Applications/OpenOffice. The latter will present the user with a list of options and ask him which he wants to run. The GUI would use the file to present the user with the same options when he double-clicks on the application directory.I know what you're suggesting, I was just shuddering at the idea of having to access them that way. Packaging them up as OpenOffice-{Writer, Calc, Base, Impress, ...} would be preferable to adding yet another interface to access them.
Posted By: MichaelBeing realistic here, none of this is going to happen
Freely relocatable applications might be doable with appropriate magic within the other areas (rewriting config files when you move programs). The rest of it won't; the "make everything an AppDir" idea has come up before,
Being realistic here, none of this is going to happen
I'm quite disappointed that there have been very few positive comments about the idea
~/Menu
|-- Boring Office Crap
|-- Games
| -- RPGs
| -- Newest RPG (current) <--- this a symlink
| -- Newest RPG (v. 1.0.0) <--- this is also a symlink
I'm sure I must be missing something.