Justin Cook is a Funimation producer. A lot of anime with English dubs will have his name included in their respective entry's staff list. Thanks to technical limitations, like MAL prioritizing anybody with a "producer" role and his database ID being 203, which will most of the times be smaller than everybody else's, he always shows up at the very start of most of those lists when he isn't really behind those.
I'm not saying he shouldn't be on these lists, but the current situation almost makes it seem like he's behind almost every popular anime which is obviously not the case.
This issue isn't limited to him but he's the most prominent example.
MadanielFL said: He was credited as Chief Producer on Dimension W and as an Associate Producer on Fire Force
Clearly differentiating between these exceptions and everything else MAL credits him for could be a first step. According to AniDB, Mass Effect: Paragon Lost and Dragon Age: Blood Mage no Seisen and the two anime you mentioned seem to be the only non-dub projects he worked on.
I'm gonna quote my comment from that thread then...
IridescentJaune said: +1! I'd rather see directors, writers, and character designers like OP mentioned instead of producers first.
I didn't know who Justin Cook is prior to this thread. OP made me look him up in the DB. LOL. So he's "the Producer from FUNimation" and also a VA.
I literally laughed when I read Justin Cook and was reminded of that thread. I'd rather see other staff like directors or original character designers than producers first.
Totally agree, also I'm tired of seeing his ugly mug all over everything.
That said there is other American staff that get shown on the front page before the Japanese staff. If I remember right this site was once partially owned by funimation and another anime localizer so I thought it was a remnant of that.
Regardless though I think that the site should separate Japanese staff and Localization staff and have an option to only show Japanese staff the way they do with voice actors
Kristiwazhere said: If I remember right this site was once partially owned by funimation and another anime localizer so I thought it was a remnant of that.
Regardless though I think that the site should separate Japanese staff and Localization staff and have an option to only show Japanese staff the way they do with voice actors
Kristiwazhere said: If I remember right this site was once partially owned by funimation and another anime localizer so I thought it was a remnant of that.
Regardless though I think that the site should separate Japanese staff and Localization staff and have an option to only show Japanese staff the way they do with voice actors
When was that?
I'm pretty sure Funi never owned this site...
@MadanielFL
Ah, maybe it was just a misconception that was being thrown around, I'm not sure when it was but it would have been before I started using the site.
Kristiwazhere said: Ah, maybe it was just a misconception that was being thrown around, I'm not sure when it was but it would have been before I started using the site.
Well I don't think that ever happaned, you said funi and also another localizer.
But I think no localizer whatsover owned part of this site....
I'm back here again because I keep seeing the producer. LOL. The original creator should be the first one we should see or on top. I don't want to keep opening the Characters & Staff tab and scroll down just to see the original creator, etc. I know we can go to the related manga page to check for the mangaka but that's not really efficient.
I don't really care about the billing (like in movie credits) if the system is because of that... I just wanna see the directors, writers, character designers, etc. (as they're more relevant) than the producers.
@Recycledcontent I checked the page and I had to open the Characters & Staff tab and scroll down to see the original creator, directors, animators, etc. 🤦
Now, I kinda want a script to hide all the producers as they aren't really relevant to me.
Since the admins are "taking suggestions" after they posted MyAnimeList Acquired by Gaudiy Inc., maybe we can bring this up. I'm so tired of seeing producers especially the one mentioned here on most anime pages. I know we should also appreciate the producers for producing anime but the original creators, directors, writers, character designers, animators, etc. are more relevant. I don't really care if their reasoning is because of the billing like in film posters and credits... blah... blah... blah...
Perhaps they can at least allow us to sort the staff with check and uncheck buttons and let us set our choices as our default.
Honestly, they should just check all the threads in the Suggestions and Support boards for suggestions and bug reports.
@Recycledcontent I checked the page and I had to open the Characters & Staff tab and scroll down to see the original creator, directors, animators, etc. 🤦
Now, I kinda want a script to hide all the producers as they aren't really relevant to me.
IridescentJaune said: Now, I kinda want a script to hide all the producers as they aren't really relevant to me.
hopefully the new owner's do make this change, but if not here is the script.
// ==UserScript==
// @name MyAnimeList - Move Producers to Bottom
// @namespace http://tampermonkey.net/
// @version 1.0
// @description Moves staff with the 'Producer' role to the bottom of the list, but ignores 'Executive Producer'.
// @author ShaggyZE
// @match https://myanimelist.net/anime/*
// @match https://myanimelist.net/manga/*
// @grant none
// @run-at document-idle
// ==/UserScript==
(function() {
'use strict';
// Helper function to define which roles to move.
const isProducerToMove = (roleText) => {
// Condition: Move if the role includes 'Producer', BUT NOT if it includes 'Executive Producer'.
return roleText.includes('Producer') && !roleText.includes('Executive Producer');
};
try {
const staffHeader = Array.from(document.querySelectorAll('h2'))
.find(h2 => h2.textContent.trim().toLowerCase() === 'staff');
if (!staffHeader) {
return; // No "Staff" section found, do nothing.
}
//
// CASE 1: Handle the two-column layout with the "unwrap, sort, re-wrap" logic.
//
const twoColumnContainer = staffHeader.parentElement.nextElementSibling;
if (twoColumnContainer && twoColumnContainer.classList.contains('detail-characters-list')) {
console.log('MAL Staff Sorter: Detected two-column layout. Applying re-flow logic.');
const leftColumn = twoColumnContainer.querySelector('.left-column.fl-l');
const rightColumn = twoColumnContainer.querySelector('.left-right.fl-r');
if (!leftColumn) return; // Should always exist, but a good safety check.
// STEP 1: "Unwrap" all staff tables into a single array, in their original visual order.
const allTables = Array.from(twoColumnContainer.querySelectorAll('table'));
// STEP 2: Partition the single list into "others" and "producers".
// This preserves the relative order of non-producers.
const otherStaff = [];
const producers = [];
allTables.forEach(table => {
const roleElement = table.querySelector('td small');
if (roleElement && isProducerToMove(roleElement.textContent)) {
producers.push(table);
} else {
otherStaff.push(table);
}
});
// If no producers were found, there's nothing to do.
if (producers.length === 0) {
console.log('MAL Staff Sorter: No producers found to move.');
return;
}
// STEP 3: "Sort" by creating the new, final list.
const sortedStaff = otherStaff.concat(producers);
console.log(`MAL Staff Sorter: Re-ordering ${sortedStaff.length} staff members. Moving ${producers.length} producer(s) to the end.`);
// STEP 4: "Re-wrap" the sorted list back into the columns.
// First, clear the original columns completely.
leftColumn.innerHTML = '';
if (rightColumn) {
rightColumn.innerHTML = '';
}
// Calculate the split point. The left column gets the extra item if the total is odd.
const midpoint = Math.ceil(sortedStaff.length / 2);
sortedStaff.forEach((table, index) => {
// Fill the left column until the midpoint is reached.
if (index < midpoint) {
leftColumn.appendChild(table);
} else {
// Fill the right column with the rest.
// If a right column doesn't exist, they'll just go into the left column.
const destination = rightColumn || leftColumn;
destination.appendChild(table);
}
});
//
// CASE 2: Handle the standard single-column layout on dedicated "Characters & Staff" pages.
//
} else {
console.log('MAL Staff Sorter: Detected single-column layout.');
const listParent = staffHeader.parentElement.parentElement;
let currentElement = staffHeader.parentElement.nextElementSibling;
const tablesToMove = [];
while (currentElement && currentElement.tagName === 'TABLE') {
const roleElement = currentElement.querySelector('td small');
if (roleElement && isProducerToMove(roleElement.textContent)) {
tablesToMove.push(currentElement);
}
currentElement = currentElement.nextElementSibling;
}
if (tablesToMove.length > 0) {
console.log(`MAL Staff Sorter: Found ${tablesToMove.length} producer(s). Moving to bottom of the list.`);
tablesToMove.forEach(table => {
listParent.appendChild(table);
});
} else {
console.log('MAL Staff Sorter: No producers found to move.');
}
}
console.log('MAL Staff Sorter: Reordering complete.');
} catch (error) {
console.error('MAL Staff Sorter: An error occurred.', error);
}
})();