-
Notifications
You must be signed in to change notification settings - Fork 82
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
Usability feedback #390
Comments
I decided to persevere a little, and I read the documentation. While that shouldn't be necessary, it is at least pretty good! More thoughts:
|
For reference, this is how it works in Designspark PCB: There's a library manager, which is a separate window. The only types of things are Components, Symbols ("Schematic Symbols") and Footprints ("PCB Symbols"). Each component just maps the pins in a symbol to the pads of a footprint: Conceptually it is waaay simpler. I think there are some limitations, like I remember having trouble getting it to realise pins were internally connected - i.e. on a battery connector I don't need to actually connect all three ground pins. And I can't recall exactly how gates work, but honestly I've never had to because it is such a rarely used feature. Probably too late to change your entire library system, but I think you could definitely improve it by renaming some things, and possibly by adding a "simple part" that is restricted to a single gate ("Unit"). |
Thanks for the perspective from a first-time user.
No, see the replies to #379
Perhaps renaming "Top Schematic" to "Schematic" is good enough since we currently don't have hierarchical schematics.
From an organisational point of view, this doesn't make sense, that's what the pool manager is for. So how about a button that opens the project's pool in the pool manager?
Seems reasonable, I might implement it in the near future.
Which part of the list is too large/small?
Unit is indeed an invention of mine (naming things is hard, loosely inspired by KiCad), but an entity in Horizon EDA is somewhat similar to an entity in VHDL. Not sure to which extent we should put documentation in the UI.
Done in 8fa9452.
Good point. Swap groups were there from day 1 to indicate which pins are swappable with one another. (Swap group 0 is not swappable, pins in other groups are swappable with pins of the same group). Even though pin swapping hasn't been implemented so far, I though that it was worth having to have the information there if pin swapping finally lands. Given that pin swapping hasn't made it in the past three years and very few units actually have swappable pins, removing this from the UI is probably the best solution for now if no one objects.
The pool only gets updated after closing the unit editor. Since the pool update is really fast these days, updating the pool right after saving to reflect the changes seems like something that makes sense to implement.
3009711 sets this buttons sensitivity accordingly. That button is intended to be used with connector entities where pin name == pad name. What was your expectation from this button?
Grab and drag the line and start dragging or select it and invoke the move tool by pressing
Draw a polygon in the outline layer. Which thing did you look for that didn't work?
Place a text on the silkscreen layer. Either press
Nope, not going to happen. Many feature-rich applications have stretched the classical menu bar way beyond its intended complexity and users unfortunately grew accustomed to it. See that video from microsoft on why they moved form the usual file, edit menu to ribbons. The current way of accessing all features is a searchable menu invoked by pressing space. Discoverability of that menu is currently being worked on. in #119
Thanks for the nice words :)
Can you elaborate, what did you expect? |
See my above comment, naming things is hard and I thinks that there's an advantage to name things unambiguously. The whole Pool manger UI assumes that the user at least glanced over https://horizon-eda.readthedocs.io/en/latest/pool-why.html
Symbols are directly linked to units. When you want to create a part from an existing entity, then just pick it when clicking create part. Horizon's way of dealing with all of this is certainly more complex than other EDA tools, but allows for easy reuse of items to avoid redundancy.
Go check out the part wizard. (package tab) That one makes creating parts with all-new symbol/unit/entity much more streamlined.
Seems a bit to prominent for something that's usually not required. Right-clicking on the pool on the start page will bring up a menu with the desired option. |
Yeah that would definitely help. I also think there is plenty of space so you could change the layout to vertical and add some explanatory text. Excuse my MS paint skills:
Yeah that would be really useful.
I'd expect this to be a splitter: It seems like it automatically resizes the table to fit its contents, but the fact that the divider isn't a splitter just irks my subconscious GUI convention instinct. I also can't resize the columns. What happens if I have a component with a really long name?
Well I think it's definitely possible to go too far, but I have yet to use a tool that did!
Yeay!
Sounds sensible to me!
Ah yeah I eventually figured out that I had to select all the pads on the right and then click "Auto map". Since it was enabled with none selected I figured it should do something without having to select any pins (hopefully map all of them!). I think if it is disabled until you select something that might be good enough. It also wasn't terribly obvious to me that I could select multiple pads - you can't select multiple pins and there's no visual difference between their UIs.
Ah yeah I found that in the documentation. Maybe a few common shortcuts could be added here: Or you could make the black tool row (which is great btw) always present: Incidentally it took me quite a while to realise that track routing is modal, and that you have to press enter (or escape? hard to know which one!) to exit it. Also it would be nice if undo worked within the tool. I think a traditional photoshop-style tool box would really help here.
Ah yeah, found that out from the documentation too. I dunno really, I guess some kind of "Define board outline" tool? Again a toolbox would help here. Also, in some part of the program (I think the package editor?) you have a nice help text shown under the layer selector that explains what they are. That is awesome. I hadn't come across "courtyard" before. It would be nice if it did the same thing in the board editor.
Ah cool, once I found the spacebar menu everything was a lot easier!
Sure but the hamburger is exactly the same thing except now you only get one unnamed menu which is even worse! I think ribbons are a reasonable interface though. Does GTK support that?
I guess the weirdness is that it treats projects and the pool manager as the same kind of thing. In the OSX preferences it kind of makes sense because the keyboard settings and mouse settings are the same kind of thing, and if I'm changing mouse settings I'm probably not changing keyboard settings at the same time. But in Horizon I definitely want to have a project open and also edit the pool, but it doesn't seem like I can do that.
Thanks for the reply! Since my last message I went back to Designspark PCB but it couldn't do something I wanted - obround through holes. So I went back to Horizon and managed to figure out the difficult buts and have now ordered a PCB. Definitely will be sticking with Horizon now. It's a very simple board for injecting messages into the HDMI DDC/CI channel. (Feel free to tell me how many horrible mistakes I've made!) Thanks for all the great work. This is definitely the best FOSS EDA program. Also, so that I'm not just complaining about things, one area that looks like it needs improvement is CI - there's only a Windows download at the moment and not for the latest release. I'd highly recommend using Azure Pipelines for that. The interface is pretty slick, and they provide free builders for Windows, Linux and Mac. I've used other CI systems like Travis and Appveyor, and they just aren't as good. Travis has a pretty terrible UI, doesn't support Windows and Mac and Linux are always horribly outdated. Appveyor is much better but it doesn't support Mac. It's not open source but its so much better than the competition I don't think it's sane to pick anything else. I could set it up for you if you like? Here's one I did earlier to build MyPaint on Mac (I gave up because GTK doesn't support pressure on Mac). |
Does this mean that the relationship between units and symbols is 1:1? You can't have two units using the same symbol? If so what is the point of having separate files for them? |
Why would you want two units using the same symbol? In Horizon EDA, Units+Entities are the single source of truth for the netlist representation of a part contrary to (most) other tools where the symbol defines the pins. A symbol merely is a graphical representation of a Unit. Symbols are separate from units for two reasons:
Hm, not too bad, @atoav your thoughts?
Done in 66e66c6
The name column will get bigger, but I get your point, so we now have a movable splitter d093adf
I see, do you have any ideas to improve on this? I'm also n
Not really and I try to stick to the GNOME interface guidelines as best as possible. and I currently don't see the use case for ribbons. The hamburger menu is only used for things that have global scope and there aren't too many of them.
You can. There's an option "New window" in the hamburger menu or you just open another window by starting the app a second time. Pool and project manager started out as separate apps but got eventually merged since having two entry points for the app was deemed as too confusing.
Depends on what resolution you want to run with this adapter, but HDMI usually runs at several Gbit/s and thus requires differential pairs with controlled impedance.
There is, 1.1.1 is bugfix release that just fixes the Which other downloads do you wish for? Currently, Horizon EDA is distributed in these ways:
I recently had a look at building a PPA to provide an easy-to-use way for ubuntu users, but the process of building a PPA was too complicated for me to bother.
All tools are modal. Both the draw net line and route track tool stay active until you explicity exit them by either right click or escape.
Unfortunately, that's not going to happen, as undo/redo is handled outside of tools.
In every PCB layout tool, I've used so far the board outline is defined by drawing something (either line or polygon) in the appropriate layer, so horizon EDA isn't special in that regard. But I see that a draw outline tool that's just the draw polygon tool with the layer set to outline could make things more discoverable. @atoav what do you think of this? One more thing: The part wizard got moved to the parts tab so it's easier to find. |
I am all for it. Maybe we can find a more concise wording to avoid users glazing off into the distance and ignoring a wall of text, but this is definitly more helpful than nothing.
I understand if you don't want to do this, but I had to think about the way Photoshop does this in it's Bezier Path tool: when you draw a path there, you can press Backspace and it will delete the last point you created without exiting the tool. This could be useful for the
etc. whatever you can think of. Could be really practical |
Hmmm it's definitely tricky! How about a "Select all" button above the pads, but not above the pins? Not sure about that though. Designspark PCB does it with a single table which I feel is a little more understandable, but I also found it really convenient that you can map the pads one by one by double clicking on the pads (and it automatically advances - nice work)! Perhaps the tables should be swapped, so it's like "here are the things you can change on the left, and here are the values it can have on the right", which maybe feels more normal? Not sure about this though.
Ha yeah I figured that might be an issue but hopefully it will work at some low resolution for testing purposes. I have no idea how to route differential pairs anyway so 🤷
Ah ok that is a shame. Might be worth noting in the Readme or Releases.
Ah shame. I can live without it though. It took Blender like 10 years to implement it so you've got time!
Yeah I definitely made it a bit long. :-) Thanks for the great software, and for already fixing loads of these issues - I am really impressed! |
Both very welcome changes : ) |
Excellent work! |
I had a quick play around with Horizon without reading the manual (it's definitely possible to make EDA software that doesn't require a manual for the most part). It's pretty slick - waaaay easier to use than Kicad. Still not as obvious as Designspark PCB which is my current tool of choice, but I thought you might appreciate the feedback anyway:
In general this is pretty awesome and I have high hopes for it, but there are still lots of "That button didn't seem to do anything. What do I do now?" moments. Still way better than Kicad though where literally every moment I tried to use it was like that.
Good luck!
The text was updated successfully, but these errors were encountered: