ADVERTISEMENT

STREAM REVIEW: 'Soul' is good for the soul

Published Dec 22, 2020 03:23 pm

It’s not easy to distil into a single theme what Pixar’s new movie, "Soul," is all about. But in broad strokes, "Soul" is about, well, life. What is it worth? How did we get the way we are? What are we supposed to do? Why are we even here, and where are we going? What happens when we’re done? Weighty themes no doubt for an animated film, but the scribes and visual wizards at Pixar handle them with a deft touch.

"Soul" tells the story of Joe, enthusiastically played by Jamie Foxx. Joe is a middle school band teacher dealing with well, life. His students are mostly uninterested, his job mediocre and thankless, and his future decidedly less than bright.

But he does have one passion in his life, jazz. Jazz, or what Joe’s father called Improvisational Music, fills Joe’s mind from morning till night, and he’s very good at it as well. Like many of us, Joe is the type of person who thinks he could make it big if he only had the chance. When that chance comes, he grabs it and nails it, seemingly sending his life on a brighter path.
Until things go sideways.

After a freak accident, Joe finds himself on a celestial escalator to the great beyond. Naturally he tries to get away and back to earth, his life, his music career, is just about to start, after all. In his attempt to escape heruns into 22, (Tina Fey) a self-centered, disobedient soul who refuses to be born, and then the fun begins.

Representing all these abstract constructs visually, the artists liberally play with color, shape, size and dimension. The result is strange, almost but not-quite disconcerting, and very whimsical, with the cute fluffy new souls herded lovingly by what are essentially cubist guardians. In short, its trippy. Think an animated Defending Your Life or What Dreams May Come, with the classic Donald Duck in Mathemagics Land vibe and you’ll get the gist of what to expect when you go visit places like the Great Before, and the Hall of Everything.

"Soul" is easily director Pete Docter’s, most cerebral work, which is something as his last animation was Inside Out which heavily focused on emotions and child psychology. Here he and co-director/co-writer Kemp Powers tackle metaphysics, and they do so in a humorous and entertaining way. With all the abstract concepts floating around the however, it feels more like a grown-up’s film that you could bring not-so young children to, rather than a kid’s movie that has something for adults, which is usually more Pixar’s wheelhouse.

Not to say its completely void of child-friendly scenes. Moonwind, a sort of hippie/mystic and his land-bound pirate ship played by Graham Norton provides even more eye-catching kookiness to the film. And about half way through Joe and a cuddly, fat cat (Felines are always welcome) Find themselves in funny antics as well.

The title is a clever play on words. Soul could mean a spirit, as in some sort of animating force, or a certain passion or gusto for something, as well as a kind of music, all aspects of which are touched upon in the film. Soul, the movie, is as entertaining as it is thought provoking, making its us, the audience ask deep questions about ourselves, and leaves us with a warm fuzzy feeling along with some suggested answers.

"Soul" will be opening in select theaters on December 25, 2020. Check out the Walt Disney Studios Philippines Facebook page for participating cinemas.

Related Tags

Soul Pixar Netflix
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.