ADVERTISEMENT

Focused amid the gunfire, an AP photographer captures another perspective of attack on Trump

Published Jul 29, 2024 05:17 am
30AP PHOTO.jpg
Republican presidential candidate former President Donald Trump is helped off the stage at a campaign event in Butler, Pa., on Saturday, July 13, 2024. (AP Photo/Gene J. Puskar)

BUTLER, Pa. (AP) — Gene Puskar has been with The Associated Press for 45 years. Based in Pittsburgh, his career has spanned a wide range of events including the nuclear accident at Three Mile Island, the Sept. 11 attack that downed Flight 93, Stanley Cups and World Series, many presidential and campaign events and, his favorite, the Little League World Series. Here's what he had to say about making this extraordinary photo.

Why this photo

It was a political rally assignment like hundreds before that I've covered over 45 years with The Associated Press – until it wasn't.

I arrived at the Butler Farm Show at 8 a.m. for hopefully - most don't start on time - a 5:30 p.m. appearance by former President Donald Trump and the traffic was already backed up to get into the parking lot.

A fairway of Trump merchandise tents were in place and business was boomin'. At 8 a.m.!

The Secret Service designated 10:30 a.m. as the pre-set time for photographers to stake out their spot on the back riser camera stand. I was to be stationed right in the center, 100 feet from the podium. We marked our spots with a tripod or ladder, mine with a giant AP in bright green tape on it.

By 11:30 the pre-set was over, and the Secret Service locked down the site for a security sweep. We were allowed to return, this time through security, at 1 p.m.

A steady stream of local, state and federal politicians riled up the crowd from 1-6 p.m. as they waited for Trump. I stood shoulder to shoulder with three other photographers and cameramen, hot, dehydrated, hungry - waiting for the main attraction to appear at center stage.

How I made this photo

Finally - shortly after 6 p.m. - Trump made his entrance. He stopped every few feet to point to folks in the audience and pump his first and smile. This is often the time photographers have a chance to make a picture, with the candidate or president gesturing and interacting with supporters. The end of remarks is a good time, too, when the subject also works the crowd.

I had my trusty Sony A1 attached to a Sony 400mm f2.8, with a 1.4x telextender on it, sitting on a carbon fiber mono-pod resting on my shoulder. I also had a Sony A9 III with a 28-200mm lens on it.

After turning to supporters who lined the grandstand behind the podium, Trump began his comments.

The microphone on the podium was too high. I was right in his face. So, unless he looked up or to the side, making a worthwhile photo was impossible. After an initial frenzy of shooting photos once he started speaking, I settled down to look for expressive gestures.

These speeches can go on a long time, sometimes over an hour and a half.

Relatively early into Trump's remarks, he was explaining a graph that showed the number of illegal immigrants who have entered the U.S., he looked to his right, my left, at the giant screen projection when …

a CRACK! CRACK! rang out. I knew it wasn't a firecracker.

I knelt down on the riser, which still left me about 5 feet in the air, and I looked to the Secret Service snipers on the roof to the right of the stage, my left, whom I had photographed taking their positions nearly four hours earlier.

A few more reports of gunfire. Trump ducked out of frame, then there was a scramble of Secret Service. The agents swarmed the downed candidate, who was still hidden behind the podium.

This image is one of the first I shot once the Secret Service deemed it safe to move Trump after being assured the shooter was down.

It was a few frames later when Trump insisted that his Secret Security detail allow him to pump his fist and yell "fight!" to the crowd, captured by colleague Evan Vucci.

I then followed Trump as he was assisted in a swarm of Secret Service to his SUV.

Why this photo works

The photo speaks for itself. The old saying goes; Question: What does it take to make a great picture? Answer: F11 and be there.

I was there because the AP assigned me there. This is a great responsibility. To those who much is given, much is expected. I simply did what was expected of me as a AP photographer. What tells me I got the shot are the many people at the AP who tell me that I got it. And what makes me feel good/proud is that the AP feels good about the job I did that day.

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.