-
-
Notifications
You must be signed in to change notification settings - Fork 348
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Discussion] GUI Redesign Mock Up #2848
Comments
For comparison, this was what I came up with for an ElectronUI rewrite (@DasSkelett, an old build on Windows was still working, so finally a screenshot!): The left drawer slides in and out to allow game instance selection. Can't show the modules list because fails to load due to file format changes, but it's similar to what you have there. |
Very cool! I didn't know there was an Electron UI. Are you still developing it? An Electron UI would solve all the issues I'm setting out to solve with the Xamarin UI. |
I got a certain distance with it and ran out of steam, then recently when I tried to get it working again on Ubuntu the node-js tools wouldn't play nice. So far I'm having more luck on Windows. The code is here if you'd like to take a look. I'm working on rebasing it on current master, so there may be a force push on this branch in the near future: https://github.com/HebaruSan/CKAN/tree/feature/electron-ui |
Interesting. Do you think it's still worthwhile to pursue a Xamarin based UI? |
I don't know. Maybe? I don't want to discourage your idea, but if you'd rather take that ElectronUI branch across the finish line, I'd obviously be delighted to see it completed. To be clear, this was a private experimental skunk-works project that I was trying just to see how far I could get, not an official team-planned project, so it's not any more officially-endorsed than a Xamarin UI. Anticipated/encountered challenges with it:
|
Rebase and force-push completed. If you check out the branch, try this to build: ./build --configuration=Release
./build electron-ui |
Oops, that build won't generate a working package, because the net-core PR changed the path to the CKAN.dll that it was using. I need to go shopping for a bit, but I'll try to push a commit to fix that afterwards... EDIT: All clear, should work after the latest force-push. |
This comment has been minimized.
This comment has been minimized.
KSP is written using the unity engine, which is C#. Most of the mods are also written in C#, so it was decided early on that tapping into the same mind-share made sense. Flutter appears to be written in Dart. Though the architecture is built to accommodate different front-ends, so someone could potentially write a Flutter UI if they wanted to. |
I just stumbled upon this alternate Mac client that apparently uses CKAN's metadata but none of its code (it's written in Swift): It uses a two-pane layout with a mod list on the left and mod details on the right: |
Given the current situation with Catalina, it might be prudent to link to this client on the Readme or on releases, at least as an interim measure until the official client works on Catalina. |
The only problem I see is the lack of re-use of the CKAN core. CKAN is a lot more than just a gui, in fact the core was written before the GUI. I think it's wonderful other projects are getting use of our metadata (it's licensed to allow this freely), but the team are already spread thin support wise and short of being a front end for the strong guarantees the core makes about how mods are managed it would have to remain a separate unofficial client for CKAN metadata. |
I don't think we could officially endorse that client to users, as it's missing a lot of core features (e.g., it doesn't support upgrading mods or I was mainly sharing it here to make others aware and to show the UI. |
Mac developers! @winsmith @WowbaggersLiquidLunch Mac development has lagged behind primarily because we do not have Mac developers on the team. You can change that. Join! Help! At the very least if all of the lone wolf Mac developers who want to write a Swift client were to collaborate, there would be a better chance of finishing something and maintaining it over the long term. Or, @jbrot has been continuing to make updates to his Xamarin branch, maybe he could use some assistance? |
That’s a good point! I’ll have a look tonight and see where I can bring myself in! |
Thanks for tagging my project here @HebaruSan ! I completely agree that mac developers need to collaborate, so we can get a proper Swift/Cocoa client out. Personally, I don't think I will be able to contribute to the Xamarin branch tho. I have practically zero knowledge in C#. |
@winsmith I took a lot of inspiration from your Launch Pad, during my initial development of neuCKAN. We should definitely collaborate. |
So I have a question about the Xamarin thing. Is it a requirement to develop the UI in Xamarin? I'd vastly prefer working on a standalone OSX user interface with some kind of bindings to the CKAN core. It'd look better, it'd be more future-proof because it's not dependent on Xamarin updating their libraries to the newest MacOS, it'd be way more accessible for vision impaired users, and it'd be more Mac-like. Is there a way forward in this direction? |
I did play around with https://avaloniaui.net/ this weekend. The library is .NET core based and is cross platform as well. The UI works like the WPF forms for windows. Maybe this is an idea as well? Edit: Correcting typos and grammar issues |
If you really want to maintain using .Net, then, go with Xamarin Forms and later migrate to MAUI, but I believe a Flutter port would be nicer :) |
That's neat @XanatosX. Cross platform and license compatible with the project!
@nosmirck my last comment still applies. You'd be more than welcome to write a frontend in whatever framework you desire. |
Is there any update on efforts to make the GUI cross-platform? How complex is the current WinForms GUI code? My thought would be to rewrite the UI in something with cross-platform support that would still look basically the same like Tk. Is anyone actively working on this? |
Also not sure if this is redundant with #1840. |
So far the way it has worked is that a few times a year, somebody does a drive-by with a new suggestion for a language/platform/library/whatever, then disappears without actually writing any code. Hi! 😉 I still have my ElectronUI branch and spent some time recently getting it working again on Linux and updating all the dependencies. So many things had changed or broken (gotta love the Node.js https://github.com/HebaruSan/CKAN/tree/feature/electron-ui/ElectronUI |
Well you have just managed to talk me out of using Electron. Or anything else JavaScript-based for that matter. I might try to do something with Python in tkinter, but others (i.e. #1840) have been talking about using GTK#, and I'm not sure where their progress is on that |
Okay, I just looked at the source code for one class in the GUI namespace, and I'm beginning to understand why this happens. May I suggest nuking the whole GUI from orbit? |
I'm guessing there would be a few complaints from Windows and Linux users if we did that. :) |
“It’s the only way to be sure.”
…Sent from my iPhone
On Sep 21, 2022, at 2:28 PM, Joel Croteau ***@***.***> wrote:
Okay, I just looked at the source code for one class in the GUI namespace, and I'm beginning to understand why this happens. May I suggest nuking the whole GUI from orbit?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.
|
Please pardon my bumping this… Any updates? I am playing KSP on Windows again, so a GUI for Linux or Mac is less of a priority for me. In any case it’d be nice to have all of CKAN be cross-platform. |
No.
The current GUI works fine on Linux. |
As I mentioned in #2799, I am planning on creating a new GUI for Mac OS X that better integrates with the system. Right now, my plan is to write a new GUI in Xamarin, which will provide a native UI instead of using mono's implementation of Winforms.
Since I will be writing an entire UI either way, this seems like a good opportunity to redesign how the CKAN UI looks. Since Xamarin also supports Windows and Linux (via GTK), I could bring this UI to Windows and Linux if it is received well. This is my first mock up for what a redesigned UI could look like:
I would love to hear any feedback. Is this a reasonable direction to take CKAN? If this seems like a reasonable approach, I will then mock up the rest of the UI to make sure the new UI has feature parity with the old. Then, after further discussion, I will actually implement the UI per the mock-ups.
The text was updated successfully, but these errors were encountered: