ADVERTISEMENT

Finding 'Joy in the Air'

Published Dec 21, 2021 12:20 pm
Joy in the Air by Capt. Jose Mari 'Joy' Roa.

New book chronicles personal tales of adventure vis-à-vis events in Philippine aviation history

Do you geek out over airplanes? So does, pilot and TV host, Capt. Jose Mari ‘Joy’ Roa, of the flying-adventure program Asian Air Safari writes his first book entitled, Joy in the Air, a first-hand account of his one-of-a-kind life journey.

Capt. Joy Roa’s path to aviation has not been “calm air and blue skies” all the way. After his very first plane crash-landed on its maiden test flight, he would bounce back from waves of setbacks that would have disheartened fainter hearts.

More than just a string of aviation tales told with a mix of candor and self-deprecating humor — the 25 chapters of this book trace Capt. Joy’s growth in multiple fronts, beginning in 1977, when his aviation career began.

On the most basic level, the narrative describes how a somewhat mischievous young man — bored and in search of direction — stumbled onto his identity after he shifted from motorcycles to airplanes.

The author on a Cessna Citation Mustang in one of his round-the-world flights.

Not wanting to be boxed in as a pilot, he grabbed charter opportunities, hunted warbirds, and gained proficiency in diverse aircraft, including hot air balloons, floatplanes, turbo props, jets, and helicopters.

Blazing trails as an aviation entrepreneur, he set up Air Ads, Inc. and diversified into hangaring; pilotage contracts; aircraft trading, management, insurance support, and restoration; commuter services, and managing big events like the annual Philippine International Hot Air Balloon Fiesta.

Always seeking fun, he organized weekend fly-ins with aviator friends from the Philippines, Japan, Thailand, and Hong Kong — frequenting Boracay, Amanpulo, and El Nido, long before these became popular destinations. From informal flying circles, he would move on to active roles in national, regional and international aviation organizations.

As all of these take place, he reflects on the events and changes that shaped the Philippine aviation industry over the years.

This volume pauses in 2005, the year Capt. Joy turned 50 and launched the TV show, Asian Air Safari. At that point, by his own admission, he could not lay claim to financial success. His true wealth lay in friendships, networks, shared experiences, and precious lessons learned — in life, in flying, and in business.

Filled with aviation photographs collected over the span of 30 years, and chockfull of adventures and misadventures from the Philippines’ far-flung islands to big cities like New York, Tokyo, Paris, and Milan, as well as unexplored places like Sepilok (Malaysia), Lubbock (Texas), Whitehorse (Canada), and Kiev (Ukraine), Joy in the Air is a thrilling read for aviators and non-aviators alike.

For more information on the book and author, please send an email to: [email protected].

Related Tags

aviation Asian Air Safari Captain Joy Roa chartered flights
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.