Jump to content
⚠ Known Issue: Media on User Profiles ×

Vortex Criticism


pacfish

Recommended Posts

That's a level 151 requirement. Why aren't you better than the greybeards yet?

Purge mods doesn't work as intended with the buttons I've pressed. I'm not sure if it's a bug or not because I'm currently in a profile with no content related to it. Mods were previously installed without the profile option turned off. The bug would be the first profile didn't copy over or ask if I wanted to copy over the metadata related to the current installation of mods. I have it working now. If you want to try and recreate, go for it. I'm busy insulting recruiters for sending an email with a signature "Sincerely yours, FirstnameLastname"

It wasn't apparent I'm an ass?

 

edit: easier to read, promise.

Edited by pacfish
Link to comment
Share on other sites

@Tannin How exactly are you tracking how many people were using NMM and MO? Considering the fact that not all mods are available only on nexus i don't see how you can have real comparison on user base.

 

Measuring success on user base even if the data you have is real - is bad idea. Most of the users had NMM thrown in their face at the main nexus page. They never discovered alternatives. Doesn't mean NMM is more successful.

 

Many users are computer noobs that just wanted the mod installed in one click without thinking what could go wrong and things did go wrong when they used NMM.

MO was always the choice of those who want to mod the hell out of their game and have everything safe and easy to troubleshoot.

 

Ease of mod installation NMM was more successfull (many noobs that liked this) but doesn't come even close to MO when it comes to modding possiblities and that's what mod manager should do.

 

I know you will find some smart way to respond to this to try to prove me wrong (coz nexus pays and you need to do things they want) but you can't disprove this fact - considering how many software developers there are, you got your job for one reason - Your software (MO) was way better then NMM. And it is again way better in form of Vortex then that "brake the game mod manager" called for short NMM.

 

That is what i call success.

 

Also on many topics OP was correct - Vortex can be visually improved.

Link to comment
Share on other sites

@Tannin How exactly are you tracking how many people were using NMM and MO? Considering the fact that not all mods are available only on nexus i don't see how you can have real comparison on user base.

You are correct that a real comparison isn't possible, we can only estimate. The number I gave was based on ips connecting to the Nexus Mods API so as long as you have _some_ mods

from nexus you would be counted. Actually, you should be, even if not because MO used Nexus to look for its own updates. Still, I said 7% of the Nexus userbase, not modders in general.

We have no good numbers from Beth.net or Steam or whatever but going by their download numbers they are huge. It's easy to see that the vast majority of mod users are happy with very simple tools.

 

Measuring success on user base even if the data you have is real - is bad idea. Most of the users had NMM thrown in their face at the main nexus page. They never discovered alternatives. Doesn't mean NMM is more successful.

Careful, I wasn't talking about "success" so much as trying explaining why I can't "force" a MO-like tool on users that expect an upgrade to NMM.

MO is what it is. It turned out good, I'm happy with it and I'm glad it's being continued. But it's not a direct competitor to NMM, same as Wrye Bash isn't.

There is certainly overlap in the target audience, but they are not the same.

 

Many users are computer noobs that just wanted the mod installed in one click without thinking what could go wrong and things did go wrong when they used NMM.

MO was always the choice of those who want to mod the hell out of their game and have everything safe and easy to troubleshoot.

Exactly my point. MO is good for what it does, but it has a narrower focus and is such more specialised, both in what games it targets and what users.

There is nothing wrong with that, there is also nothing wrong with other tools having other aims.

Vortex is designed to replace NMM, not MO or Wrye Bash. If users who'd previously used MO or WB like Vortex better then that is great - we try to make Vortex

the best tool for every user - but first and foremost it is the NMM replacement.

 

Also on many topics OP was correct - Vortex can be visually improved.

I don't disgaree at all, Vortex an be improved in many ways and it's not like we have any plan to wrap up development on it and go away, it will be improved continuously.

But

a) We have over 250 issues (bugs and enhancement requests) on github and dozens of tasks in our own lists. Each thing you propose for improvement has to be prioritised

against all the other work we have

b) Even though I'm currently the only developer on Nexus we do have a UI designer, another full time dev incoming and potentially voluntary devs willing to contribute.

We need to be able to distribute work to individuals, there is no reason all these requests should have to be done by the same person just because the user decided

to put them into one post.

 

With "collection" post like this, the only way for us to do that would be to break it up into tasks ourselves, trying to maintain the intend of the user and context

(because although there are many points in one post, they aren't necessarily clearly kept separate so you can't just cut at some point and expect the new task to

represent what the user wanted)

This can become very time consuming, especially if the post is a mixture of rant and constructive criticism.

So when I'm asking people to send requests as individual feedbacks, that's really not me trying to be obnoxious, it's to avoid considerable work and misunderstandings

down the line, when the task is actually being worked on.

Link to comment
Share on other sites

I've submitted 4 different feedback tickets through vortex over the UX. 3 for the dashboard and 1 for that "management" area.

I apologize, I still haven't found the time to install another game to actually view the way the management button functionality but judging by your gui abilities and what you have shared with me, I think my suggestions are a little bit more creative and intuitive.

 

I'll send more after confirmation that my complaining has met the standards you laid out in previous posts. Otherwise let me know how it can be done better.

The feedback wasn't sent anomalously and even includes a screenshot with my user name displayed. Should be pretty obvious which ones are mine with time stamps and titles.

 

@anon

We all got our strengths. Mine is complaining about UX while being trash at writing about it. Tannin's isn't graphical UX nor accepting a compliment because numbers don't agree with it. :wink: [The UX of MO was a solid 8.0 out of 10]

 

edit: And one about color choice / brush stroke size - because orange and thin white letters go so well together.

 

@Tannin, how do I add or clarify what is meant in an already submitted post with a picture? Words, especially mine, may not have been clear and I wanted to illustrate with my MS paint skills. and ... hogwash, 1 programmer start to finish - that's the only way to do it - the people I worked with in my data structures and algorithms class didn't even know how an if statement worked. I believe in you! Just gotta gitgud man.

Edited by pacfish
Link to comment
Share on other sites

 

b) Even though I'm currently the only developer on Nexus we do have a UI designer, another full time dev incoming and potentially voluntary devs willing to contribute.

We need to be able to distribute work to individuals, there is no reason all these requests should have to be done by the same person just because the user decided

to put them into one post.

 

You think just because it's open source that people capable of improving your work will?

If it wasn't in typescript I might have actually been willing to request a fork to make these changes myself - but I'm lazy and would rather complain about something than learn a new syntax and libraries so I can do the things I'm suggesting. I AM NOT TRYING TO START A WAR ON WHICH LANGUAGE IS BETTER, but what was the design choice for choosing TS? I am not sure, but I don't think it's compatible on Linux and if Steam AND Vulkan can pick up some real movement, will vortex be compatible?

Edited by pacfish
Link to comment
Share on other sites

@pacfish: Your issues are now exported to github: https://github.com/Nexus-Mods/Vortex/issues so if you want to add images to illustrate you can do that there.

 

Regarding Typescript: The choice was between javascript or any language that translates to javascript because we decided on the project goals and the UI framework (electron) before picking the language (as you absolutely should, you don't decide what tool to use before deciding what you want to build, you don't go out and say: I want to build something with a hammer, what can I build with a hammer).

TS is a pretty nice language for a scripted language and relatively close to C#, which was an advantage considering we also have C# code (the fomod installer) to integrate.

 

Now your last points I don't get. Of course Typescript is compatible with linux. Again, TS is simply "compiled" to JS (the compiler is available on Linux and MacOS as well) and that is interpreted by the v8 interpreter (chrome) embedded in node.js/electron. This runs on windows, linux and mac. The problem with portability isn't the TS code but the native code written in C# and C++, that is harder to port.

So Steam isn't a problem, during development we had vortex running on linux, auto-detecting a steam-installed factorio and happily installing mods for it.

Now Vulkan (the graphics api) doesn't matter at all to Vortex, I'm not sure why you think it would.

Link to comment
Share on other sites

Tannin,

 

just out of curiosity... Maybe I'm getting too old (being a sw developer for more than 30 years now), but I don't get that development towards JIT compiled or interpreted script languages like JavaScript or any of its offsprings.

 

I don't mind RT environments like Java or .Net, they're well developed, capable, performant and save.

 

But that whole nodejs movement really puzzles me. I just don't see the advantage. Especially client-side! Even server-side I wouldn't use it, but for other reasons.

 

And honestly, even though I understand that Vortex is far from being optimized and polished, the sluggishness of the whole UI experience, especially while the tool is busy with something, doesn't really encourage me that the development environment is really capable enough for what Vortex is trying to do. Any classic multithreaded app wouldn't have a problem with granting a responsive UI while the tool is busy with some processing.

 

Another thing is that it doesn't play nicely with standard Windows functionality. Chrome seems to try to emulate standard Windows control behaviour, but that doesn't work perfectly and breaks many conventions. Another thing I don't see any advantage in.

 

This is not meant as a rant or criticism, I just want to understand the reasoning behind that decision. Do you still think it was the best way to go ahead?

Link to comment
Share on other sites

Well, there are different factors really.

 

Node.js was born out of the wish to use the same code on server and client. When you have a website you're often forced to write code that communicates (directly or through shared data) between server and client and then you'd have to write code to handle that communication twice, once in JS and usually the other side in PHP or Java or something.

Later people realized that with node.js you could technically turn entire web application into desktop applications, tools like discord or slack have one code-base for their web-based applications and desktop applications.

 

But it also turned out that Node.js made asynchronous (not multi-threaded, that's not the same thing) code very easy to get right and safe. That, combined with the fact that JS interpreters are extremely well optimised and built to interact directly with native code, real world node.js code is frequently found to be faster than equivalent Java or .Net code. The callback-driven node.js approach to asynchronicity is now actually frequently copied in other languages (see https://en.wikipedia.org/wiki/Vert.x for example)

And you're plain wrong about "Any classic multithreaded app wouldn't have a problem with granting a responsive UI". Multithreading is nice in theory but you also need developers capable of implementing it correctly and the time to do it.

If you look at MO, have a long mod list and then scroll in that list, you will find scrolling in Vortex is actually smoother (as long as you're not doing anything in the background), and there is actually potential for optimising Vortex further. File downloads, deployment, ... don't have to run in the main process, it's just easier and more robust for now.

 

Optimising MO in any significant way would be a scary endeavour because it's borderline impossible with Qt to have complex table data and only update/redraw the data that changes without risking race conditions. In Vortex updates/redraws happen way more granular (unless I mess up). So yes, C++ is faster than JS, but if you have to do 10 times more work to achieve the same thing that isn't going to matter much.

And on tasks that actually require a lot of processing, JS can simply use a native library.

And Java has never been even close to adequate for UI-heavy applications (needing to display many controls at once), I can count the number of Java applications with responsiveness I'd consider acceptable on one hand.

 

Another point is that there is no "standard windows functionality" anymore. MS gave up MFC ages ago, tried to push people towards C# and System.Forms, then they gave that up for WPF/XAML. Then they gave that up without providing any replacement. Today MS themselves use JS/HTML/CSS for the UI in their newer tools.

 

The other problem is that Windows isn't a dominant platform anymore, if you develop software today you usually also want a (smaller) version for Android, iOS, the web and maybe even MacOS, you can't do that with any of that with any of the MS ui kits.

 

And then you have the factor of experience. QT/QML is nice and I guess XAML is/was nice too, but as a company you'll have a hard time finding an experienced developer, those are in short supply. But open a job position for a JS/HTML/CSS developer as a reasonably sized company and you will have a hard time reading the applications faster than they come in. And they will work cheaper than a senior C++/Java/.Net dev too.

 

Node.js plays nicer with Windows core functionality and can be extended easier than Java and it plays nicer with other platforms than .Net.

 

And node.js/electron isn't great but (depending on your goals) it's probably the least worst alternative in a sea of horrible.

 

Hrmm, this turned out to be more rambling than I intended...

Link to comment
Share on other sites

Thank you for the update and the info on TS. I should probably use critical thinking skills with why it's named typeSCRIPT before having asked that but it after being able to look at the code, it looked like a mixture of C# and .NET. A revision of .NET is eventually coming over due to MS platinum level donation.

 

Tannin, when was modding a game a singular task? "As long as you have nothing going on in the background". If I'm waiting for my singular stream to download 19 mods, you can be damn sure I'm not sitting there waiting patiently staring at the download progress bar. I will have 40 tabs open with facebook, youtube, twitter, instagram, pornhub, twitch, and whatever music site is used these days open. I might be starting a stream or recording for my 2 viewers as well. Since my bandwidth isn't capped out due to the limitation in the software, I will probably be streaming netflix and torrenting the game I'm downloading mods for (perks of not being a premium subscriber is my data connection isn't hogged by vortex). And I'll probably be playing Battleships or something because my attention isn't divided enough already.

We are of course talking about the average user who just expects things to work, right?

Also there was something in a news article about getting JS into a multithreaded environment that is so bad for security that the feature has been delayed until they can address it (I'll see if I can find the link if you're interested). I appreciate that you care a little bit for our security when choosing to not take chances with unsafe return calls.

 

When designing a tool, make sure you require the user to already have that tool to open that tool up. *points at packaging on scissors*. The language doesn't matter as long as you know what you're doing, do it right. Libraries help reduce the amount of work but aren't always the best solution. There is a youtube video that criticized it's own library using the example "from muffin.muffin import MUFFIN" which they eventually converted to "import muffin" and reduced the amount of noisy programming to do what was the entire point of that module. Using libraries opens the program up to the same vulnerabilities as the library. Higher use doesn't mean better or worse. Apache's libraries have had a slew of problems related to security in the past ... or is that just Java?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...