On Friday, the San Francisco 49ers held their second of 13 training camp practices at the SAP Performance Facility in Santa Clara, which started at 10:15 a.m.
The consensus on Thursday was that the 49ers defense outshined the offense. On Friday, most felt the offense rebounded nicely. Don't tell that to head coach Kyle Shanahan, though.
"I almost saw it opposite," Shanahan told reporters. "I thought we were better yesterday than today. I don't know about completions-wise. I'll get in there and watch the film in a little bit. I thought the defense had two real good days, did a little better than the offense yesterday. And I thought today was a big difference.
"I was a little more disappointed today. A little too many [missed assignments], too many offsides, things like that. I don't think the offense had a very good rhythm today."
RELATED Kyle Shanahan comments on Lil Wayne swag, Mike McGlinchey pumping up the fans before practice
Below are some notes from Friday's outing.
Quarterbacks
While some deep passes from Jimmy Garoppolo to Marquise Goodwin were the offensive highlights on Thursday, shorter mid-range completions dominated Friday's practice, reports Cam Inman of Bay Area News Group.
Jimmy Garoppolo to George Kittle. #49ers pic.twitter.com/Fpzzy8AJH0
— Eric Branch (@Eric_Branch) July 27, 2018
No practice report would be complete without some Garoppolo stats. Inman had him (unofficially) completing 4-of-5 in team drills while C.J. Beathard completed all eight of his throws. Beathard even completed a 40-yard pass down the left sideline to wide receiver Max McCaffrey.
"Jimmy Garoppolo was sharp and spread the ball around," wrote Chris Biderman of Niners Wire. "C.J. Beathard also had a good day pushing the ball downfield."
Running Backs
Matt Breida stood out both in the running and passing games.
"Matt's real consistent," Shanahan said after practice. "He ran like that throughout OTAs, he ran like that yesterday, and it seemed like he ran pretty good today. Matt hits it hard. He goes full speed whether we have pads on or not. He's going to find that hole, and when we do give him some space, he hit it hard and I think there were a few runs today that we gave him a little bit of space on. That's why everyone saw him open up a couple of times."
"Running back Joe Williams had a nice run by making a decisive cut up the middle of the field on an outside zone play," reports Biderman. "Williams has looked explosive at times, while other runs have been bogged down by strong play from the defense."
Fullback Kyle Juszczyk caught two short passes from Garoppolo during 7-on-7 drills.
Wide Receivers
Rookie Richie James continues to impress and hauled in multiple passes on Friday. He is making a strong case this offseason that he belongs on the 53-man roster.
Aaron Burbridge had two catches, one over the middle on a pass from Beathard and the other along the right sideline from Garoppolo, according to Joe Fann of 49ers.com.
Offensive Line
While Joshua Garnett got the start at right guard on Thursday, it was Mike Person's turn on Friday. Free agent acquisition Jonathan Cooper continues to work back from a knee injury.
Defensive Line
DeForest Buckner appeared dominant during practice.
"His day got off to a quick start by tipping Garoppolo's arm and forcing an incompletion on the first throwing play of team drills," wrote Biderman. "Buckner was a handful for the offensive line throughout the session."
Fann reports that Buckner also had many would-be sacks during practice.
"Cassius Marsh and Jeremiah Attaochu also had solid days," Fann added. Both had what would have been sacks against Beathard.
Linebackers
Brock Coyle continues to impress during training camp. He managed to strip the football away from Marquise Goodwin on a crossing route during 7-on-7 drills.
Defensive Backs
Antone Exum hauled in an athletic interception off of Beathard during 7-on-7 drills.
Richard Sherman continues to practice with his new teammates after being medically cleared on Wednesday. He spent the offseason rehabbing from a ruptured Achilles.
"On Friday, Sherman again lined up at left cornerback," writes Matt Maiocco of NBC Sports Bay Area. "He backed off against Goodwin and surrendered a 15-yard completion on an out-route. Two plays later, Victor Bolden worked that side of the field for a completion at the sideline. After practice, Sherman spent extra time working alongside cornerback Tyvis Powell on their techniques in bump-and-run coverage."
Richard Sherman laying out for a ball during position drills is 100% Richard Sherman. #49ers pic.twitter.com/s97iWzqDWT
— Rob Lowder (@Rob_Lowder) July 27, 2018
Special Teams
Wide receiver Dante Pettis, who signed his four-year rookie contract on Wednesday, rookie cornerback D.J. Reed, and wide receiver Victor Bolden worked on kickoff returns.
Added Note
Peter Panacy will be taking over the training camp coverage over the coming weekend, which includes the 49ers' first padded practice on Saturday. Be sure to give him a follow on Twitter at @PeterPanacy.