It depends on what your users need to view and/or see.
The article you reference hits on a key point on #3:
Use tabs only when users don’t need to see content from multiple tabs simultaneously. If people do need to compare the info behind different tabs, then having to switch back and forth puts an added burden on their short-term memory, increases cognitive load and interaction cost, and lowers usability compared to a design that puts everything on one big page.
If your users need to complete a process:
then moving between tabs can be difficult, because you’re asking the user to memorize information which is now out of their sight. The way around this is to put completed information inside the tab bar.
We see this with payment ‘step throughs’ on one page that act like an accordian (okay, not really tabs), where the status is put into the header (with icons like a checkmark to indicate complete).
If your users need to cross reference info for viewing only:
Tabs can work (but see quote above!). If there’s a logical coherence between the material being referenced, you might just want to group the content together (but I don’t know your use case).
Test with your users, and make sure that users don’t suffer understanding by not seeing simultaneous content.
Information can be sequenced in time or adjacent in space: Sequenced in time tradeoffs mean more memorization (if the content needs to be compared and analyzed.).
download bmml source – Wireframes created with Balsamiq Mockups
Update: for eCommerce context as updated question.
You could use amazon’s example (and countless other sites) where the product page has the ‘related’ options.
The content can display either:
- what users bought with this
- what users also searched for
- what the business owners are promoting (do we want to sell more movies than books? what’s our business goal?)
Amazon has a slider users can view horizontally. If you needed to, you could use some pills or tabs for filter by content type, or stack bands of content vertically (although that could get noisy!).
See this quick image: