Twitter found itself isolated this week as other major social media platforms moved to block users from spreading the name of a CIA officer that conservatives contend filed the extraordinary whistleblower complaint against President Donald Trump that triggered House impeachment hearings.
Facebook said it would block references to the supposed whistleblower’s name under its policy against “coordinating harm.” And YouTube said Friday it was doing the same and would block images as well.
But Twitter said it would permit such references, including posts that name the person conservative media say is the whistleblower and show pictures claiming to depict him as well.
This split came after repeated warnings by the whistleblower’s lawyers that publicizing a name puts that person and the person’s family at risk. The lawyers sent a sharply worded cease-and-desist letter to the White House on Thursday, demanding that President Trump stop calling for the publication of the whistleblower’s name, calling the tactic a “reckless and dangerous” form of intimidation.
But a campaign among conservative publications, activists and social media users to surface the identity of the supposed whistleblower appeared only to grow on Friday, two days after the president’s son, Donald Trump Jr., tweeted the name. Conservative commentator Candace Owens, for example, twice posted tweets that purported to name and show images of the whistleblower.
While the first was later deleted, the second quickly reached a wide audience, retweeted or liked about a hundred thousand times.
In response to a request for comment from The Washington Post, Owens called the whistleblower “a treasonous spy with deep ties to the Democrats.”
Her language echoed that of the president, who has said that whoever passed information to the whistleblower was “close to a spy.”
“You know what we used to do in the old days when we were smart with spies and treason, right?” Trump added. “We used to handle it a little differently than we do now.”
The president’s threatening language has added fuel to an online crusade to unmask and intimidate officials who have raised alarms about Trump’s dealings with Ukrainian President Volodymyr Zelensky. Since the whistleblower filed his complaint Aug. 12, a clutch of named diplomats have come forward to corroborate the concerns that Trump was pressuring Ukraine to open investigations that would bolster unfounded conspiracy theories about the 2106 election and damage the presidential campaign of former vice president Joe Biden.
Trump’s call for the whistleblower to be identified led to a campaign by Trump supporters to use the unregulated online ecosystem to circulate a name that remains unconfirmed by mainstream news organizations, many of which have policies to withhold information when an individual may be at risk.
Meanwhile, Trump’s eldest daughter, Ivanka Trump, said in an interview Friday with the Associated Press that the individual’s identity was not “particularly relevant.”
Twitter defended its decision to allow the sharing of the CIA officer’s name, despite acknowledgement that such tweets might violate Twitter’s policies.
“Per our private information policy, any Tweets that include personally identifiable information about any individual, including the alleged whistleblower, would be in violation of the Twitter Rules,” said company spokeswoman Katie Rosborough.
But Rosborough said the Owens tweet and others did not violate that policy because the tweets did not share the supposed whistleblower’s home addresses, contact information or financial details. Twitter policy permits “sharing information that is publicly available elsewhere, in a non-abusive manner.”
That includes the name, birthdate or employment of a person, as well as descriptions of a person’s physical appearance and “gossip, rumors, accusations, and allegations.”
While whistleblowers enjoy protections under federal law designed to encourage government employees to report wrongdoing without fear of retaliation, Heidi Kitrosser, a law professor at the University of Minnesota, said those protections would not prohibit private individuals from seeking to unmask a whistleblower. But, she added, there could be other possible legal recourse.
“If a person’s life is in danger, then there could be criminal ramifications,” said Kitrosser, though she added that First Amendment considerations would be involved in any possible argument about incitement to violence.
Most news organizations, including The Washington Post, have withheld the name of the whistleblower, whose complaint about Trump’s call with his Ukrainian counterpart has been largely confirmed by diplomats and others with firsthand knowledge as well as by a reconstructed transcript released by the White House. The whistleblower’s name has been kept confidential by U.S. officials, in line with federal law designed to prevent retaliation.
Facebook said Wednesday that it would block references to the supposed whistleblower’s name in response to Washington Post queries about advertisements on the platform that sought to circulate it. Facebook spokesman Andy Stone said, “Any mention of the potential whistleblower’s name violates our coordinating harm policy, which prohibits content ‘outing of witness, informant, or activist.’ We are removing any and all mentions of the potential whistleblower’s name and will revisit this decision should their name be widely published in the media or used by public figures in debate.”
Lawyers for the whistleblower did not respond to requests for comment Friday regarding the policy decision by Twitter. But on Wednesday – before Facebook said it would remove the ads – they said social media platforms have an ethical responsibility to protect “those who lawfully expose suspected government wrongdoing.”
“This is particularly significant in this case where I have made it clear time and time again that reporting any suspected name for the whistleblower will place that individual and their family at risk of serious harm,” said the attorney, Andrew Bakaj, on Wednesday. “To that end, I am deeply troubled with Facebook seeking to profit from advertising that would place someone in harm’s way. This, frankly, is at the pinnacle of irresponsibility and is intentionally reckless.”
This is not the first issue on which Twitter and Facebook have split. Twitter recently announced it would ban political ads, while Facebook both allows them and permits politicians to lie and mislead in them, exempting this form of political speech from the platform’s fact-checking process.
Messenger API to support Instagram
Today, we are announcing updates to the Messenger API to support Instagram messaging, giving businesses new tools to manage their customer communications on Instagram at scale. The new API features enable businesses to integrate Instagram messaging with their preferred business applications and workflows; helping drive more meaningful conversations, increase customer satisfaction and grow sales. The updated API is currently in beta with a limited number of developer partners and businesses.
Instagram is a place for emerging culture and trend creation and discovering new brands is a valuable part of this experience. Messaging plays a central role in helping people connect with brands in personal ways through story replies, direct messages, and mentions. Over the last year, total daily conversations between people and businesses on Messenger and Instagram grew over 40 percent. For businesses, the opportunity to drive sales and improve customer satisfaction by having meaningful interactions with people on Instagram messaging is huge.
“Instagram is a platform for community building, and we’ve long approached it as a way for us to connect with our customers in a place where they are already spending a lot of their time. With the newly launched Messenger API support for Instagram, we are now able to increase efficiency, drive even stronger user engagement, and easily maintain a two-way dialogue with our followers. This technology has helped us create a new pipeline for best-in-class service and allows for a direct line of communication that’s fast and easy for both customers and our internal team.” – Michael Kors Marketing
Works with your tools and workflows
Businesses want to use a single platform to respond to messages on multiple channels. The Messenger API now allows businesses to manage messages initiated by people throughout their Instagram presence, including Profile, Shops, and Stories. It will be possible for businesses to use information from core business systems right alongside Instagram messaging, enabling more personal conversations that drive better business outcomes. For example, businesses integrating with a CRM system can give agents a holistic view of customer loyalty. Furthermore, existing investments in people, tools, and workflows to manage other communication channels can be leveraged and extended to support customers on Instagram. This update will also bring Facebook Shops messaging features to the Messenger API so businesses can create more engaging and connected customer experiences.
To get started, businesses can easily work with developers to integrate Instagram messaging with their existing tools and systems.
Increases responsiveness and customer satisfaction
Customers value responsiveness when they have questions or need help from businesses. For the first time on Instagram, we’re introducing new features that will allow businesses to respond immediately to common inquiries using automation, while ensuring people are seamlessly connected to live support for more complex inquiries. One of our alpha partners, Clarabridge, reported their client brands had improved their response rate by up to 55% since being able to manage Instagram DMs through their platform.
The updates to the Messenger API are part of our overall effort to make it easier for businesses to reach their customers across our family of apps.
Messenger API support for Instagram is currently in beta with a focus on providing high quality, personalized messaging experiences on Instagram while increasing business efficiency. Adidas, Amaro, Glossier, H&M, MagazineLuiza, Michael Kors, Nars, Sephora and TechStyle Fashion Group and other consumer brands are already participating in the beta program. We are excited about early results some businesses saw during alpha testing, including higher response rates, reduced resolution times, and deeper customer insights as a result of integrations. We’re also testing with a limited number of developer partners; and are delighted at the initial response.
“On average, brands have saved at least four hours per agent per week by streamlining social community management within the Khoros platform, plus shortened response rates during business hours — which is crucial to meet as customers who message brands on social media expect a quick reply.” – Khoros
Required migration to token-based access for User Picture and oEmbed endpoints
As part of our Graph API 8.0 release, we announced breaking changes to how developers can access certain permissions and APIs. Starting October 24, 2020, developers need to migrate to token-based access in order to access User Picture and oEmbed endpoints for Facebook and Instagram.
This post outlines these changes and the necessary steps developers need to take to avoid disruption to their app.
Facebook will now require client or app access tokens to access a user’s profile picture. Beginning on October 24, 2020 queries for profile pictures made against user IDs without an access token will return a generic silhouette rather than a profile picture. This is a breaking change for partners. While client or app tokens will be required for user ID queries, they will continue to be a best practice (and not required) for ASID queries for the time being.
Facebook and Instagram oEmbed
We are also deprecating the existing Legacy API oEmbed endpoints for Facebook and Instagram on October 24, 2020, which will be replaced with new Graph API endpoints. If developers don’t make this change and continue to attempt to call the existing oEmbed API, their requests will fail and developers will receive an error message instead. These new endpoints will require client or app access tokens or ASID queries.
Ready to make the switch? You can read more about these changes in our developer documentation for User Picture and also visit our changelog for Facebook OEmbed and IG OEmbed for details on how to start calling these Graph API endpoints.
PyTorch Tutorials Refresh – Behind the Scenes
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.
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
- Creating a new learning format, Recipes, and 15 brand new recipes covering some of the most popular PyTorch topics such as interpretability and quantization as well as basics such as how to load data in PyTorch
- In summary:
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.
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!