Hi, I’m Jessica, a Developer Advocate on the Facebook Open Source team. In this blog, I’ll take you behind the scenes to show you how Facebook supports and sustains our open source products – specifically PyTorch, an open source deep learning library. With every new release version, PyTorch pushes out new features, updates existing ones, and adds documentation and tutorials that cover how to implement these new changes.
On May 5, 2020, PyTorch released improvements to Tutorials homepage with new content and a fresh usability experience out into the world (see the Twitter thread) for the community. We introduced keyword based search tags and a new recipes format (bite-sized, ready-to-deploy examples) and more clearly highlighted helpful resources, which resulted in the fresh homepage style you see today.
Something Went Wrong
We’re having trouble playing this video.
As the framework grows with each release, we’re continuously collaborating with our community to not only create more learning content, but also make learning the content easier.
What Changed
The tutorials refresh project focused on re-envisioning the learning experience by updating the UX and updating the learning content itself.
Our 3 major goals for the refresh were:
Reduce blocks of text and make it easy for users to find important resources (e.g. PyTorch Cheat Sheet, New to PyTorch tutorials)
Improve discoverability of relevant tutorials and surface more information for users to know about the available tutorial content
Create content that allows users to quickly learn and deploy commonly used code snippets
And we addressed these goals by:
Adding callout blocks with direct links to highlight important resource such as the beginner tutorial, the PyTorch Cheat Sheet and new recipes
Adding filterable tags to help users easily find relevant tutorials; and formatting the tutorials cards with summaries so users know what to expect without having to click in
Add callouts with direct links to highlight important resources
Improve discoverability of relevant tutorials and surface more information for users to know about the available tutorial content
Add filterable tags to help users easily find relevant tutorials. Reformat tutorial cards with summaries so users know what to expect
Create content that allow users to quickly learn and deploy commonly used code snippets
Create a new learning format – Recipes. These are bite-sized, actionable examples of how to use specific Pytorch features, different from our previous full-length tutorials
Why We Made These Changes
Now, what drove these changes? These efforts were driven by feedback from the community; two sources of feedback were the UX research study and direct community interactions:
UX Research study – Earlier in 2020, we conducted a UX research study of our website in collaboration with the Facebook UX Research team to understand how our developer community is using the website and evaluate ways we can improve it to better meet their needs
In-person events and online feedback – The team gathered community feedback about existing tutorials to help identify learning gaps.
We used these channels of input to fuel revisioning our learning experience.
Rethinking the Learning Experience
Given the feedback from the UX Research study and the in-person workshop, we went back and rethought the current learning experience.
3 levels
Level 1: API docs. Currently these exist and they contain code snippets that provide an easily understandable (and reproducible) example that allows a user to implement that particular API
Level 2: The missing puzzle piece
Level 3: Tutorials ideally provide an end-to-end experience that provides users an understanding of how to take data, train a model and deploy it into a production setting using PyTorch. These exist, but needed to be pruned of outdated content and cleaned up to better fit this model
Realized we were missing something in between, content that was short, informative, and actionable. That’s how recipes were born. Level 2: Recipes are bite-sized, actionable examples of how to use specific PyTorch features, different from our tutorials
What Was the Process
Just as it took a large team effort, this was more of a marathon as opposed to a sprint. Let’s look at the process:
Timeline of the process:
Overall, the project took about 6 months, not including the UX research and prior feedback collection time. It started off with the kickoff discussion to align on the changes. We assessed the existing tutorials, pruned outdated content and decided on new recipe topics and assigned authors. In the meantime, marketing and documentation engineers collaborated with our web design team on the upcoming UI needs, created mocks to preview with the rest of the team and built out the infrastructure.
For logistics, we created a roadmap and set milestones for the team of authors. We held weekly standup meetings, and the team bounced ideas in chat. The changes were all made in a staging branch in GitHub, which allowed us to create previews of the final build. Next, the build process. Many of the recipe authors were first time content creators, so we held a live onboarding session where we discussed teaching mindset, writing with an active voice, outlining, code standards and requirements; and this was all captured in a new set of content creation documentation.
The bulk of the process was spent in building out the content, copy editing and implementing the UI experience.
With the product out the door, we took some time to perform a team retrospective – asking what went well? What went poorly? What can we do better next time? In addition, we continue to gather ongoing feedback from the community through GitHub issues.
Moving forward, we are brainstorming and forming a longer-term plan for the PyTorch learning experience as it relates to docs and tutorials.
Ways to Improve
Looking back on ways we could have improved:
Timeline – Our timeline ended up taking longer than anticipated because it had been coupled with a previous version release and team members were serving double-duty working on release content, as well as tutorials refresh content. As version release approached, we took a step back and realized we needed more time to put out a more polished product.
Testing – In software development, if there is an impending deadline, typically testing is the first thing to get squished; however, more focused testing will always save time in the bigger picture. For us, we would always welcome more time for more CI tests of the tutorial build, as well as beta tests of the user experience. Both of these are ongoing works in progress, as we continue to improve the tutorials experience overall.
What’s Next
So what’s next? We understand that this was just one change in a larger landscape of the overall PyTorch learning experience, but we are excited to keep improving this experience for you, our dedicated PyTorch user.
We would like to hear from you about your experience in the new tutorials. Found a tutorial you loved? Tweet about it and tag us (@PyTorch). Ran into an issue you can help fix? File an issue in https://github.com/pytorch/tutorials. We are excited to continue building the future of machine learning with you!
To learn more about Facebook Open Source, subscribe on YouTube, or follow us on Twitter and Facebook.
Sometimes, social media can bring out the best in a community.
John Filippone, operations manager of Piedmont Tire and Auto and an administrator on the popular “Western Prince William Chatter” Facebook page, has rallied the group of 23,000-plus to help the family of a local high school athlete battling brain cancer.
So far, he’s raised $16,500 of his $20,000 goal.
Last spring, 16-year-old Ryland Harris, a junior at Brentsville High School who wrestled and played football and baseball, was diagnosed with grade 4 glioblastoma, an aggressive form of brain cancer.
Since then, the teenager has undergone brain surgery, radiation, chemotherapy and immunotherapy.
Ryland’s family says “to know him is to love him.” His infectious smile, work ethic and kindheartedness have inspired his medical teams and helped power him through cancer treatments.
Every year, Piedmont Tire and Auto gives away a set of tires. In the past, the tires have gone to local teachers, first responders, doctors and nurses, military.
A few months ago, Filippone helped Ryland’s family make his wish to drive come true, fixing up a car with new tires and some other repairs.
That gave Filippone the idea to turn his annual tire giveaway into a fundraiser for Ryland and his family. For a donation of $20 or more, Piedmont is randomly picking donors for free tires, free oil changes for a year, free state inspections for five years, free front and rear brakes and a free alignment.
And through a single Western Prince William Chatter post, Filippone rallied other local businesses for the charity raffle, including:
Wayne Pollack with a Touch of Grass, who is donating four lawn treatments for a yard up to 1/2 acre.
Robert Trainer and Tiffany Trainer, owners of Creators of Total Comfort, have donated free HVAC maintenance valued at $500.
Gina Leska Sanford, owner of LasterTag2U, is donating a party for 10 for laser tag.
J.R. Deering, owner of Pro Edge Painting, is donating a bedroom makeover.
Tony Anzelone , owner of Bianchi Carpet Cleaning, is donating a free whole house carpet steam cleaning, as well as Joe Bouch with JCB Carpet.
And the big prize, former Washington Football Team coach Joe Gibbs has agreed to give a call to one lucky winner.
Other business donors include Rachel Maddox with One Step Flooring, Vinny Di Giovanni with Tony’s Pizza in Bristow, B&M International Steel Company and Heather’s Painted Treasures. Filippone said several other businesses have also donated services and prizes.
All of the money raised will go directly to Ryland and his family to help with medical bills.
Filippone said within two days of posting about the fundraiser on Western Prince William Chatter, the effort had already raised $15,000 toward the $20,000 goal.
And while the Facebook group might be full of posts griping about traffic or complaining about the wrong cheese on a fast-food sandwich, Filippone said local residents are always ready to come together in times of community need.
“The power of social media when used correctly can be so positive,” Filippone said.
A lawyer posted a tongue-in-cheek warning to users of a community Facebook group that made a serious point about being careful what people share online.
While many of us make great use of Facebook groups to keep in touch with local communities, it’s worth bearing in mind that not everyone on these groups is of the same mind.
Recently there was a warning posted by former police officer Sian Smith about unsuspecting dog owners giving away too many details of their pets which could then fall prey to criminals.
Shared thousands of times on Facebook pages, the former officer posted: “As a former Police Officer of 20 years, it’s concerning to see a new hashtag on social media #MeetMyDog challenge whereby you post a photo of your dog and provide lots of information about them.
The Liverpool Echo sends newsletters on a wide range of topics – including our daily news bulletin, now going out three times a day.
There are others on what’s on, politics, court news, Knowsley, Wirral, and arts & culture, as well as both Liverpool FC and Everton FC.
Signing up is free and it only takes a minute for you to get the biggest stories, sent straight to your inbox.
3) Tick as many boxes as you like, for each newsletter you want.
4) Press Save changes and that’s it!
“Although this may seem like a bit of fun, it would not take a would-be dog thief long to work out where you live.
“Given the alarming increase in dog thefts, please be careful what you are posting on social media about your wonderful dogs. #KeepYourDogsSafe”.
Expressing similar concerns, a lawyer posted in Penny Lane Gossip earlier this week a more general warning about sharing details on line.
She posted: “Just a little shout out to please think about how much information you are sharing in your posts.
“This is quite a big group and, as with any Facebook group there will be lurkers and people you cannot vouch for.
“Please think before posting with information about your house, home security, holiday dates, the fact that you have a giant cat flap that a full grown man could climb through, where you keep your car keys, or the fact that you have a regular engagement with her from number 43 so you are out of the house every day between 3pm and 4pm.
Find the number of people vaccinated near you by entering your postcode below
“I think sometimes we are drawn into a false sense of security on friendly groups and forget that actually we don’t know a lot of the people.
“For all some of you know, I could be an American cat posing as a lawyer,” adding: “To clarify, I am not a cat, I am a lawyer…. although if I was a cat posing as a lawyer that is exactly what I would say.”
The light hearted post with a serious message received hundreds of likes and many comments.
One person replied: “I’ve had the same thought exactly… I never post holiday dates on social media.”
Another response said: “Very good point. It’s so easy to say who you live with and what your daily routine is cos you’re chatting to friendly people, but you’re right you just never know who’s lurking getting this info!”
Do you have good advice about how to stay safe online? Let us know in the comments below
Another post made a good point about “fun” online quizzes that many people play to pass the time.
It read: “Absolutely right. Your name is your public tag on Facebook.
“A post going around my Facebook as a ‘fun’ question was “what was No1 on your 7th birthday?
“It’s not hard to work out your year of birth from that, if you have your birthday date (not year) on your profile, you now given it away, if you post about your street the only information scammers need is the house No. which isn’t hard to find.
“I certainty don’t want my name, address and date of birth on Facebook. Do you?”
Facebook and Instagram are more in sync than ever. One of the perks of this integration is that you can cross-share your Instagram stories and posts to Facebook to easily boost your content’s reach. Here’s how to do it.
For this to work, you’ll first need to link your Facebook and Instagram accounts.
Open the Instagram app on your Android smartphone or iPhone, then tap your profile picture in the bottom-right corner.
Select the three-line menu icon in the top-right corner of the tab to reveal a side menu and head into “Settings.”
At the bottom, tap the blue link for “Accounts Center.”
Visit the “Accounts and Profiles” section.
Here, tap “Add Accounts” and sign in to your Facebook profile.
Once you’ve authenticated yourself, the Instagram app will ask you whether you’d like to enable “connected experiences.”
This will let you cross-post content and access other Facebook functionalities, such as Messenger’s instant messaging features, via Instagram. When you do this, you also allow Facebook to club your data from both platforms to personalize ads and suggest new profiles to follow.
Tap the “Continue” button, then “Finish Setting Up” to proceed.
Go back to the “Accounts Center” and select “Your Story and Posts.”
Under the “Automatically Share” section, toggle on “Your Instagram Story” to cross-post each one of your future Instagram Stories to Facebook. The “Your Instagram Posts” option enables you to do the same for your grid posts.
Apart from a profile, you can even automatically forward your Instagram stories and posts to a Facebook page’s timeline from the “Share to” menu.