HaikuDepot improvement ideas

I think haiku already does a decent job there though… Perhaps libraries could be hidden but the other such package types already have filters. Some packages that provide libs also provide applications as well though.

And always it should be possible to disable any filtering of that type to manually install a library for non packaged apps or development purposes.

1 Like

Funny thing is haiku’s UI is already as good as most of those (with exception of installation progress etc…)

I’m just spitballing and haven’t looked at the code yet but wouldn’t it be possible for each package manager Haikudepot + pkgman to report installation status to the PKG daemon which could then send status BMessages to all the packages so you’d get system wide status updates on installs? Because it’s possible to run several package manager instances at once.

So Haikudepot could have a pop-up drawer of progress bars and stats for all packages being installed and a global progress bar and stats display if that drawer is closed.

Allowing the user to navigate categories and search through them would make everyone’s life easier. But everything relevant should be listed in a search, not hidden by some filter inside a menu. Hiding anything by default would be bad, so instead of that, it’s best if the most relevant packages show up first, like Mint’s Software Manager does.

HaikuDepot still needs some refinement to make it easier for people to discover software. The more software, the harder to deal with a long list. So the categories are a must.

1 Like

My gosh man have you read nothing I’ve written… I’m all for having most filtering disabled by default. Exception being hiding of lib devel source type packages… People that need those can uncheck the filter.

Just sort by rating by default etc… Featured packages could just get rated 5 stars by default untill they get actual reviews.

I read what you wrote and I disagree with any default filters. Is that hard to believe? Developers are also users. If they need some library installed, they shouldn’t know there’s a filter they have to disable before they search.

And rating the apps with 5 stars by default is a possible solution. A better one would be for the package manager to have some meta information about a package, if it’s a base package, an optional package, a dependency or library, or multiple of those criteria, if they apply. Or maybe just if it’s a base package, but anyway, the ratings are super easy. Once they would be implemented, it won’t take long for people to rate the majority of the existing software, and I think no one will rate a library.

Honestly I’d be fine with no filters by default but id probably turn a few on. Little to no filters though would be fine by me. However many people are daunted by the info overload of Linux package managers so some filters probably should be there in the default image.

Also preferences should be tied to your Haikudepot login :smiley: a global prefs backup kind of like MS does might be nice too … Either archive offline to usb or sync to cloud storage etc…

Perhaps if you type in a search that is specific enough filters should be overridden if the result fits in the list.

Many search engines also suggest results with filters disabled or suggest disabling enabled filters if no results are returned. eBay is a good example of this.

The categories, subcategories, ratings and reviews are the best filters because they’re organic. They do a great job responding to the personal needs (an app in a certain category) and the community feedback (ratings and reviews).

Preferences saved with the login? Well, as long as the users can easily reach the software they need without seeing tons of software, I think it would rather complicate things having filters and save them on the Haiku servers. A lot of checks would have to be performed for that feature, and probably only a few advanced users would take advantage of it. Not even the Linux distros don’t need extensive filters with their 50k+ packages, so their software managers are still good.

But if Haiku would allow the users to save something in the HaikuDepot, that would be collection of software, like the Mozilla Collections released years ago. Being able to create collections and set visibility (private, public) would be really cool. You could easily have collections for multiple PCs, so when you do a fresh install you just login and apply the right collection and you’ll be ready to work in minutes. :stuck_out_tongue:

The public collections could serve as marketing for Haiku, or collections of software for certain purposes - programming in X, debugging/reporting/etc, or some users could recommended their favorite set of default apps for various uses, and so on.

Yes collections and being able to do lan copy of packages between machines logged in with the same Haikudepot user or perhaps a friend/linked user for Enterprise type support.

That would be faster and save server load also.

Oh, package caching would be awesome. A squid transparent proxy can do that, but it’s out of the reach of any normal user. If a separate machine could play the role of a local cache, Haiku would rock the world. :smile:

1 Like

It would be great for local testing of indev packeges too across all my machines.

I can imaging a feature where you right click on an installed package or collection / meta package and get a pop-up with options to send to PC, send to removable drive etc… and all depends get sent to an archive/folder on that drive or machine or group of machines.

( technically meta packages should already supported I think just make an empty package depend on others.)

1 Like

As far as linking machines on a network, you could advertise or request to link 2 machines and pop up a dialog on the remore or local machines to authorise it disabled by defailt of course or Enterprise guys could just ship an image with pre linked systems.

There’d probably have to be a license exception or licensing agreement with large companies to do that though. Perhaps a method of generating revenue?

If this ticket would happen, any HaikuDepot instance configured as a local package cache could advertise itself in the network and the clients could look for it to get packages from it. :smiley: Magic!

2 Likes

So probably sshfs etc…?

Although that wouldn’t be scalable…

Stoutly disagree. (-: I find Ubuntu, Mint, Solus, … package managers seem to assume that everybody wants all options. This might seem sane if your are building software, customising servers, or just generally like tweaking everything you possibly can change, but most people are not that way. Showing so much detailed pieces of programs to people who want to install a photo manager or spreadsheet program is like showing many cards full of all the ingredients to people who sit down at a restaurant, instead of just showing the menu. normally, hungry people don’t want to customise every possible element of a dish; they just want to say “I’d like Foo, please.” and know something probably nice will arrive.

I personally prefer when the development libraries and other sorts of dependency files are not shown unless actually requested, because I cannot even count the number of times I’ve want from a package tool some list of usable tools to try and instead got a list cluttered nearly to uselessness with components of tools which I can’t use directly.

For personal computing, “sane defaults” seems to me to mean “Don’t show behind-the-scenes components when I ask for complete products.”. For a developer (which I am only sometimes), having all the components available in the list might help; a developer is also a power user, and should know to investigate menus. Although a nice “Show All” or “Show Program Components” or similar, displayed next to the results and thus needing only one click (or keystroke), might be good. Or even: search using a modifier key, like shift-Enter to get all results without touching any setting?

Even when installing development tools, I frequently find the listing of all those components/libraries annoying. Say I want to install an IDE or compiler for something like Lisp. In this case I do not want to scroll through page after page of things which use Lisp or which are add-on libraries for Lisp, just to find the available Lisp flavours and IDEs on the current platform.

The components are all just noise until I have some program that can use them. Even then, a normal user just chooses to install the program, and the package manager installs any necessary components invisibly.

2 Likes

I’m not sure if you got the chance to look at my screenshots and read what I said about this. With Mint, the “noise” is out of the way because the ratings and reviews sort the software and the least used packages always end up at the bottom. So the community does the job on its own.

I just checked if the Mint Software Manager will give me result for libsdl and I got nothing. It looks like the Mint team covered this. Oh well, I guess if a developer or a user who wants to install dependencies for some program they want to compile from source, they can search and install any library from the terminal. Less user friendly, but it still works.

Regarding installing a photo manager, Haiku doesn’t have categories. Most of the time the names of the apps do not reflect what they do, so finding them all is close to impossible, unless you have a heroic level of patience to go through all the packages. In Mint, you click Graphics and Photography, and you get a list of relevant apps sorted by the community. No typing, just two clicks to the relevant results. That something that would be very nice in HaikuDepot. Of course, the ratings and reviews would also help making quick decisions when you know nothing about your options.

Doing it by rating alone is ugly.

Haiku technically does have categories in haikuports that info isn’t reflected in Haikudepot though.

You know the getoo portage like directories so app-graphics etc… So that may just mean reorganizing haikuports a bit and using that diretory structure as the category.

1 Like

Although I saw your screenshots and read your postings, I supposed I didn’t believe that Mint addresses the issue. But then, I should probably not have mentioned Mint in my own post, as the last time I used it was a few years ago. x-:

As far as names not matching purposes, if the package manager searches descriptions, and if the descriptions are reasonably useful, this is not so much of an issue.

This seems to be my experience with most package managers. Sometimes, even a perfectly relevant item will have a cryptic/clever/cute name like FoonlyFoo1-3x and a description that merely states “Installs the FoonlyFoo package 1.3x”, so then you only find it by accident or if somebody tells you.

Sure, but this isn’t the case for Mint’s program. First, you choose a category. That alone significantly lowers the number of results being displayed. If there are subcategories, even better. And then there’s the combination of ratings (1-5) and number of reviews. If HaikuDepot would separate the software by categories, even without ratings and reviews it would be much easier to discover software for certain needs.

The descriptions are the packager’s responsibility. The software managers show everything available, so I’m not sure which weird package you found like that, and what distro and package manager, but the Mint Software Manager is actually quite helpful.

Actually… There seem to be categories in HaikuDepot? Your certitude had me doubting. And _Dario_ even tested searching within a category. Seems to work. Or did you want more categories and/or subcategories?

I’m obviously missing something here.

[Edit: Forum decided that Dario’s nick should be italicised because it includes matching underscores. Fixed with preformatting.]

Yes there are categories, I just booted the beta1 ISO. However, they act strangely. By default, the Show only featured packages is checked, and you see nothing in HaikuDepot. Un-check the box and the apps will show up. But then choose any category and nothing shows up, regardless of the state of that checkbox. It’s either a bug of the feature isn’t fully implemented.