3 ms·
I would like to second part of this more concisely for emphasis because I think designers too often get caught up and let usability suffer for the sake of "usab
by munk-a 4y ago
I would like to second part of this more concisely for emphasis because I think designers too often get caught up and let usability suffer for the sake of "usability".
Please, for the love of god, let open up anything on your site in a new tab.
- OJFord 4y agoIt's not really just about (UI/UX) design, to be fair, being able to open in a new tab requires that it's a directly navigable 'page' by URL to begin with. With SPAs, that's often not true for entire 'pages', never mind modals and views you might not be expected to want in a new tab but do.
- munk-a 4y agoThat's a quite fair point, but as a counter point in most business cases you do want specific views (even specific searches and user applied filters) to be addressable - it's one reason why I think the history/location API is such a necessity for SPAs. And if you do have an address like example.com/#widget/view?hideWhitespace=false then you can bind your link href to that address and then, if the link is engaged without modification, do your fancy SPA stuff. I also think in the modern world that as long as your assets are all properly versioned with good cache control headers using actually web requests for navigation instead of a self-contained SPA makes a lot less sense. Once upon a time an SPA was a solution to shifty internet, limited bandwidth and rich web experiences - those arguments have become a lot less valid in the modern world. (this is a topic extremely near and dear to my heart as a (eh-sorta) full stack developer that needs to suffer through many poorly built applications as a user)
- zwkrt 4y agocouterpoint: users don't care if your page is SPA. They care about opening new tabs.
- irrational 4y agoExactly. It don’t care if it takes more work for you as a developer to make everything a pageable URL. Just make it work the way I expect it to work.
- afarviral 4y ago... and developers don't care if users like new tabs, they write SPAs.
- number6 4y agoAfter spending a day trying out a new framework my junior dev asked me: "why don't we do it the old way? We would have finished the first feature already. We can do everything the framework does already with our old tools" So I reverted my changes and worked on features instead of stack
- zelphirkalt 4y agoQuite a good thing for a junior dev. Not being swept away by hype and being focussed on the thing one actually should accomplish. I don't know that person, but this smells like there is potential.
- jameshart 4y agoThat junior developer’s name? Albert Einstein.
- yakshaving_jgt 4y agoGive that junior a promotion.
- OJFord 4y agoI'm not defending it! I hate it too! I was just responding to it being a criticism of 'designers', maybe I misread that, but my initial reaction was as above, that it's not completely trivial to allow, or like it necessarily comes for free and has been 'turned off' by design.
- zelphirkalt 4y agoWhen users want to open things in new tabs (hopefully having a state representing URL), then there might be something about the website, that does not actually want to be a single page web application. Sometimes users simply want to "open things for later viewing" or bookmark things. Basic functionality of any modern web browser.
- robertoandred 4y agoThere are plenty of SPAs that can open things in new tabs just fine and there are plenty of MPAs that can't.
- aidenn0 4y agoI made almost the exact same comment as GP elsewhere. One thing that I noticed is that more than half the time "open in new tab" is broken, I can click the link, copy the URL, open a new tab, paste the url and get what I wanted. It's so maddening.
- bryanrasmussen 4y agoOften the problem if you develop something as a SPA then your framework probably has different state management solutions built in that you will develop with, without any way to easily tie that state to a particular url or to pass a bunch of state to a new window. Thus opening new window puts you in default state of the SPA. This is of course maddening if the site should not be a SPA but was developed that way because when you are running a company and need to build things quickly it is easier if you just have one toolbox labelled SPA-building tools and pull that out and get going.
- KronisLV 4y ago> It's not really just about (UI/UX) design, to be fair, being able to open in a new tab requires that it's a directly navigable 'page' by URL to begin with. I'd argue that each individual view in your app should have a routable URL, otherwise sharing links to anything is basically impossible, as is bookmarking certain pages, or even reloading them. > With SPAs, that's often not true for entire 'pages', never mind modals and views you might not be expected to want in a new tab but do. Some claim that modals are bad design and I wholeheartedly agree, though for a variety of reasons they still keep showing up across numerous systems. I guess a compromise could be giving the modal open state its own URL so the app would know what to do if the page is refreshed (the modal would still be open), but somehow that doesn't get much attention either. An especially clever option (for niche cases) would be being able to open a modal in a tab/window of its own, without the surrounding UI, when opened directly through the URL/new tab/new window, but show it inline in the app during normal navigation. Then again, many dislike pop-ups either because that's not really the direction in which web development went, though I can see why in certain sites they could be useful (e.g. CRUD apps with lots of boring tables and element selection). Oh well.
- drekipus 4y agoI think the worst design is when it's a control-click that will open a new tab, but the SPA trips itself up and goes back to the homepage/index nothing is more painful when, after scrolling through an control-clicking some things that might be what you're looking for, seeing 5 or more tabs open, and then realising that they're all just the default homepage.
- afarviral 4y agoIm a new react developer and it's extra work figuring out how I'd update the page from which you created the new tab without replacing it to trigger a state change. In the case of sites that render data synced to a datastore. Using a timer, sure, but thats not wildly efficient. There must be ways, they're just an extra consideration.
- afarviral 4y agoNote: Coming from someone who hates when middle click doesn't open a new tab... so I get why you care.
- amatecha 4y agolinks that go to other "pages" (even just conceptually) should get their own route so you can link to them directly. you can use something like react-router to do this, and it's very easy to extract the active route and know what view to render. or if I'm totally off the mark, maybe I misunderstood what you mean :)
- runarberg 4y agoYou can sync localstorage and sessionstorage between tabs, you only have to listen to the right events. I haven’t used indexeddb much, but I’d be surprised if that doesn’t sync between tabs as well. If you are saving all the state in memory—which I think is the default for most popular frameworks—then you’ll have to do something more clever. If you have a backend server as a single source of truth, then you should probably be using websockets if it is vitally important that your users get real updates of new data. I’m sure there are popular react libraries that will handle each of these cases. It is extra work for sure, but usability improvements usually are, and if you know what you are doing, this will not cost that much extra in maintenance.
- nextaccountic 4y agoI don't understand.. opening on a new tab should do exactly the same as opening a blank tab, typing the address and pressing enter In particular it shouldn't change the original page at all, that's the whole point! Now, if the original page is the kind that updates in real time (due to accesses from other tabs or even from other machines), just use a web socket!
- undefinedzero 4y agoThis is mostly a developer mistake, not that of a designer. You can easily make buttons appear as links, so there's no excuse not to handle this the correct way. You also have to disconnect styling from HTML tags for your headings to get the h1>h2>h3 order semantically correct for accessibility and SEO. Regardless, I think designers making links appear as buttons is bad practice, but you usually don't have much influence over design as a developer.
- jameshart 4y agoWhy would the visual hierarchy of your headings not also reflect the semantic hierarchy you implement for accessibility and SEO?
- amelius 4y agoCan't browsers automate this by duplicating the current tab and then clicking the link?
- KronisLV 4y ago> Please, for the love of god, let open up anything on your site in a new tab. Meanwhile, I've seen plenty of enterprise software and even banking sites, that: * try to prevent you from having more than one tab open * try to prevent you from having more than one session open I get that sometimes server side state can throw a spanner into the works otherwise, when you can't write a proper stateless app/API, or write any kind of an app well enough either, but it's very annoying when you run into one of those systems. More so, sometimes the explanation for this is "security", which just feels like the people behind the system design wanted to be lazy in regards to various lifecycles in the application. If I have my internet banking site open, pay for some goods in an e-commerce store in another tab through the banking integration and then refresh the banking site, me being signed out of it feels like a design flaw, not a "security" feature. But oh well, you don't really get a say in these things, your bank is going to do whatever they feel like in regards to their UI/UX, as will those behind whatever piece of enterprise software that you have to use, or that you'll have to write in accordance with the requirements. It's up there in regards to annoyance, much like ctrl clicking some element, just to discover that it doesn't let you open up new tabs, or maybe even right clicking something or trying to select text, just to realize that neither works and you have to copy whatever you need out of the source of the page.
- iggldiggl 4y agoAnother annoying pattern I've encountered in some online shops: The product list technically uses proper links that you can left/right/middle-click to your heart's content, except they've also attached an "onclick" listener to the link, so even if you've right/middle-clicked because you actually wanted to open a new tab, the current page still starts navigating to the link target, too.