Boards: Compact View for Cards

+1

It is a shame things like that go ignored for so many years. I preparing for migration and deeply disappointed. Many of the users have small screen laptops and this will make the acceptance much harder

+1

Does anyone know if Asana is working on this? I can see the first request in this forum was raised back in 2017… The tasks in the board view are crazy(!) big, can only see about 5 tasks at a time on the screen which is way too little. Would love a functionality where you can compress the task size in some way without changing to the list layout.

1 Like

amazed that Asana hasn’t done something about this yet - the board view is about 70% whitespace vertically… please fix this!

1 Like

Totally agree, I find the wasted white space is really annoying. Would love not to have to scroll so much. This really should be more of a priority.

+1 for more compact Kanban layout

3 Likes

+1

Note: Not a solution but marked as such to elevate a key reply

Hi there, AsanaWorms I made a temporal solution for my team and myself:

You will need:

  1. Google Chrome
  2. Any Extension for CSS customization (User CSS fits for me)
  3. Optional: Tampermonkey extension

You will get:
Customization of paddings in cards on board view

Optional you also can get:
Colored cards for different teammates (but they should have avatars images)

CSS for changing paddings

.BoardCardLayout–withoutImage {
margin:5px
}
.BoardCardLayout-assigneeDueDateActions {
margin: 0px 5px 0px 5px;
}
.BoardCardLayout-titleAndIndicator {
margin: 0px 5px 0px 5px;
min-height: 15px;
position: relative;
}
.BoardCardLayout-projectPills {
margin: 0 5px 5px 5px;
}
.BoardCardLayout-parentTask {
margin: 5px 5px 5px 5px;
}
.AvatarPhoto–small {
height: 15px;
min-width: 15px;
width: 15px;
}

:root .DesignTokenThemeSelectors-theme–darkMode {
–color-card-background: #303031;
}
.BoardCardPotPills-potPill {
border-radius: 3px;
height: 2px;
margin: 4px 2px 0;
width: 20px;
}

CSS for changing colors with Tampermonkey Script

/* Custom border colors for different avatar images /
.avatar-vv {
–color-card-background: #2E2E3E; /
Red */
}

.avatar-am {
–color-card-background: #2A382F; /* Blue */
}

.avatar-af {
–color-card-background: #382730; /* Green */
}

.avatar-ak {
–color-card-background: #302E27; /* Magenta */
}

User CSS Extension Screenshot

Steps to manualy reproduce padding changes
  1. Inspect Asana page in inspect mode
  2. Find margins and paddings
  3. Change values and add code to User Css Extension

Colorize cards by asignee:

  1. Inspect page and search for avatars URL
  2. Change my Tampermonket script created with help of GPT by pasting your own avatar images URLs
  3. Run script for app.asana.com
  4. Add “CSS for changing colors with Tampermonkey Script” to User CSS Extension
Tampermonkey script code

// ==UserScript==
// @name Asana Custom Avatar Styling
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Apply custom styles to avatars based on their image URLs in Asana
// @author YourName
// @match ://app.asana.com/
// @grant none
// ==/UserScript==

(function() {
‘use strict’;

console.log("Asana Custom Avatar Styling script loaded");

function applyCustomStyles() {
    var avatarImages = document.querySelectorAll('.AvatarPhoto-image');
    console.log(`Found ${avatarImages.length} avatar image elements`);

    avatarImages.forEach(function(imageElem) {
        var style = imageElem.style.backgroundImage;
        var imageUrlMatches = style.match(/url\("([^"]+)"\)/);
        if (imageUrlMatches && imageUrlMatches[1]) {
            var imageUrl = imageUrlMatches[1];
            console.log(`Processing image: ${imageUrl}`);

            // Attempt to find the closest ancestor with the specified class
            var closestAncestor = imageElem.closest('.ThemeableCardPresentation');

            if (closestAncestor) {
                // Apply the class based on the image URL
                if (imageUrl.includes('1204264560660149')) {
                    closestAncestor.classList.add('avatar-vv');
                } else if (imageUrl.includes('1204237930707562')) {
                    closestAncestor.classList.add('avatar-am');
                } else if (imageUrl.includes('1205782425267599')) {
                    closestAncestor.classList.add('avatar-af');
                } else if (imageUrl.includes('1206148388129113')) {
                    closestAncestor.classList.add('avatar-ak');
                }
                // No else block needed if we're only interested in specific avatars
            } else {
                console.warn('Closest ancestor with class .ThemeableCardPresentation not found for image URL:', imageUrl);
            }
        } else {
            console.warn('Image URL pattern match failed or image does not match interested URLs for element:', imageElem);
        }
    });
}

// Apply styles once DOM is fully loaded
document.addEventListener("DOMContentLoaded", applyCustomStyles);

// Optionally, observe for changes in the DOM if new avatars can be dynamically loaded
var observer = new MutationObserver(applyCustomStyles);
observer.observe(document.body, {childList: true, subtree: true});

})();

What to change in script?

Your Images URLs in brackets:
imageUrl.includes(‘1204264560660149’)

Tampermonkey screenshot

1 Like

I’m not sure how this is considered solved? Is there still a place to add my vote for this to be added to as a feature request? Alexei’s solution may work for some, but I have plenty of people on my boards who are not capable to implement CSS.

@Casey_16, I updated that post to mark it as a key reply (as best we can with this software).

To vote, please click the title to scroll to the top and vote by clicking the purple Vote button.

Thanks,

Larry

Board view was a big reason I started using asana… The card size creates alot of friction for me now- We need a compact card option! The size/format that’s used on the calendar weekly view would be perfect. Give us slim tiles so we can see more tasks on small screens and drag n drop to our hearts content :pray:

2 Likes

Hi everyone! I’m Sara, a Product Manager at Asana, excited to share we just launched two features that will help make board cards more compact. If you go to Options –> Layout Options, you’ll now see two new settings that allow you to:

  1. Customize the width of board cards to make it “small”, “medium” (the default), or “large”
  2. Choose to hide all images on the cards in board view.

As always, thank you to everyone on the forum who raised this request and helped my team identify the opportunity to solve it. Hope you enjoy, and please continue to share feedback on what you think!

4 Likes

Well done, @Sara_Shmueli and team!!!

Thanks,

Larry

2 Likes