Release Notes for Safari Technology Preview 34

Safari Technology Preview Release 34 is now available for download for macOS Sierra and betas of macOS High Sierra. If you already have Safari Technology Preview installed, you can update from the Mac App Store’s Updates tab. This release covers WebKit revisions 217978-218629.


  • Added WebRTC options to the Developer menu
  • Disabled Legacy WebRTC API in the Experimental Features menu by default (r218169)
  • Changed behavior to close NetworkProcess WebRTC sockets as soon as the Web Process no longer needs them (r218432)
  • Added support for receive-only SDP offers through addTransceiver (r218431)
  • Changed handling capture status based on MediaStreamTrack (r218399)
  • Changed RTCPeerConnection to return RTCSessionDescriptionInit instead of RTCSessionDescription (r218335)
  • Fixed a cloned MediaStreamTrack to not mute the other tracks using the same source (r218497)
  • Fixed RTCPeerConnection getReceivers() to return transceivers that have an active receiver but no active sender (r218182)
  • Fixed the screen going into sleep mode during WebRTC video (r218151)


  • Fixed high CPU usage when entering fullscreen or seeking during MSE video playback (r218463)
  • Fixed seeking during MSE video playback where audio would begin playing long before rendering the video (r218150)
  • Fixed video flashing black when switching back to a tab (r218291)
  • Improved media controls rendering for long-loading media files (r218600)
  • Prevented media elements continuing to load media data after navigation (r218016)


  • Made Object.assign faster by rewriting it in C++ (r218348)
  • Reduced Structure size (r218070)
  • Updated RegExp.prototype.[@@search]] implementation according to the latest specifications (r218051)
  • Fixed PreTypedArray constructor with a string to not throw an exception (r218082)


  • Applied img-src CSP directive to favicon loads (r218015, r218026)
  • Implemented W3C Secure Contexts Draft Specification (r218027, r218028, r218155, r218196)
  • Restricted filtered painting across cross-origin boundaries with transforms (r218300)
  • Added allow-popups-to-escape-sandbox attribute support for <iframe> elements (r218000)
  • Added Subresource Integrity as an experimental feature (r217996)

Web Inspector

  • Added grid to image previews to clarify transparency and image size (r218159)
  • Fixed console message icons that overlap the source location (r218243)
  • Fixed pretty print, type info, and code coverage buttons disappearing after switching tabs (r218305)
  • Fixed SVG files and favicon files that don’t display properly (r218298)
  • Fixed the search highlight not showing up in resources when paused (r218359)
  • Fixed showing non-shadow children of an element with a shadow root (e.g. <video>) (r218020)


  • Fixed the meter element not respecting the writing direction (r218468)
  • Fixed WebGPU contexts to have a back reference to the canvas element (r218624)
  • Fixed CSS transitions added while page is not visible so they start animating when the page becomes visible (r217997)
  • Fixed IndexedDB.getAll() use inside a Web Worker (r218041)


  • Moved SubtleCrypto from the experiemental features menu (r218129)
  • Removed unsupported AES_CMAC, DH, and CONCAT (r218030)


  • Fixed several miscellaneous bugs found from web platform tests (r218216)


  • Added an experimental feature setting for asynchronous frame scrolling (r218534)


  • Exposed the inline property as an accessibility attribute (r218226)

Bug Fixes

  • Fixed header rendering incorrectly when initially loaded (r218257)
  • Fixed scrubbing backward on a YouTube video

Are Cultural Organizations Built to Fail to Scale?

My new audial obsession is the podcast How I Built This, in which Guy Raz interviews entrepreneurs who built notable companies. The podcast offers incredible stories behind the making of businesses like Chuck E Cheese, Southwest Airlines, and Zuumba.

One of the biggest questions on my mind as I listen is: why isn’t my industry scaling up the way these businesses do? I can think of many extraordinary innovators in the nonprofit cultural sector--people and organizations creating brilliant programs, site-based experiences, and products. Many of these projects seem replicable. But I can think of only a few who have scaled up and out in a meaningful way.

Why aren’t our collective best ideas growing and spreading all over the world? Why aren’t more cultural organizations franchising, scaling, and replicating like comparable businesses?

Here are a few of my hypotheses (and I’d love to hear yours in the comments). I am not suggesting that any of these factors are bad or immutable. I'm suggesting they may be reasons we aren't scaling.

Precarious business model. Even if an institution or a project is fabulous, it may not have a solid, replicable business model behind it. If the work is financially dicey on the scale of one building, it can be disastrous to scale up.

Too much emphasis on innovation. The more we tinker with and change our products, the less time we spend scaling those products. Arts institutions have beat the innovation drum for decades now. Change may be necessary... or it may distract us from opportunities to grow.

Too complex and diversified a business. Cultural organizations tend to have many programs, projects, audiences, and goals. Businesses that scale are simpler and more focused. If it would take a thousand-page manual to replicate your programs (which are always changing!), it's too hard to reproduce.

Friendly industry that encourages sharing and copying. There are no NDAs in the nonprofit culture sector. Professionals share program models, exhibitions, and design techniques across organizations, often for free. This intermixing means there's less distinctive value to scaling any one entity's offerings.

Too much emphasis on unique experience and local idiosyncrasy. Many cultural organizations put the singular, authentic experience first. Many of us are proud of how our cultural organizations reflect and respond to our local communities. This can lead to assumptions--not always true--that what works here can't be copied and won’t work somewhere else.

Skills mismatch. The skills needed to create an incredible program are different from those needed to spread that program around the world. Our industry cultivates and rewards creative dilettantes who make beautiful things. We often look with suspicion on MBAs and people who want to commodify our work.

Mission mismatch. What's the upside for cultural organizations to scale? Most don't see any benefit to spreading that program around the world. It might be nice if it happened, but it's not the goal. The goal is local engagement, authenticity, scholarship, prestige, or keeping the lights on and the art pumping. I suspect most of us would be loathe to cut programs or make hard tradeoffs in favor of scale. The argument for it isn't worth the pain.

What's missing on this list? What counter-examples have you seen?

Please share your questions or comments! If you are reading this via email, you can join the conversation here.

Job Opening: Curious about focusing on DH development?

You might have seen our opening for a Senior Developer—we’re now seeking an additional colleague for our R&D team: DH Developer! Apply here (posting number #0621212), or read on for more information.

We welcome applications from women, people of color, LGBTQ, and others who are traditionally underrepresented among software developers. In particular, we invite you to contact us even if you do not currently consider yourself to be a software developer. We seek someone with the ability to collaborate and to expand their technical skill set in creative ways.

This is a full-time position, with flexibility to help you achieve a healthy work-life balance. Like all our team members, this role includes 20% of your time devoted to your own research initiatives and professional development. This “personal R&D” time includes  access to our experimental humanities makerspace, other high-end facilities, and expert collaborators and mentors.

About us

The University of Virginia Library is the hub of a lively and growing community of practice in technology and the humanities, arts, and social sciences. As part of that community, the Scholars’ Lab has risen to international pre-eminence as a library-based center for digital humanities. The Scholars’ Lab collaborates with faculty, librarians, and students on a range of projects and tools, including spatial humanities, interface design, innovative pedagogy, data visualization, text analysis, digital archiving, 3D modeling, virtual reality and gaming, and other experimental humanities approaches.

The Library and the Scholars’ Lab are committed to diversity, inclusion, and safe spaces, and we have focused recent speaker series and practice on accessibility and social justice (check out our team-authored charter for more on our values). We welcome curious, critical, and compassionate professionals who are keenly interested in the overlaps between technology and the humanities (literature, history, art, cultural heritage, and related fields).

The Scholars’ Lab currently consists of 11 staffers (plus a senior developer role), as well as an amazing cohort of graduate fellows and makerspace technicians.

Anticipated salary range: $65,000-75,000, plus benefits such as professional development/conference travel funding, health insurance, and retirement savings plan


Under the direction of the Head of R&D for the Scholars’ Lab in the UVA Library, the DH Developer

  • works with scholars from the humanities and social sciences to understand their needs and define project goals
  • provides professional opinions on appropriate project deliverables and reasonable schedules for completion of projects
  • collaborates on building applications that enable scholars and library users to collect, manage, produce, manipulate, or analyze digital information resources in interesting ways
  • writes original code, and tests and improves on existing code
  • learns about and engages with new technologies toward widening and deepening the Scholars’ Lab’s pool of staff expertise
  • creates documentation for both internal Lab and external non-technical audience use


Minimum requirements:

  1. Experience equivalent to one full-time year with either a programming language (such as—but not limited to—PHP, Ruby, Python, Java), or HTML, CSS, and JavaScript
  2. 2 years of web development experience, with tech skills demonstrated in an accessible portfolio of work.
  3. Familiarity with a code version control system such as Git.
  4. Ability to work and communicate with technical and non-technical collaborators.
  5. Either education through the master’s level or equivalent experience through your job, hobbies, or other activities, preferably in the humanities or library/information science.
  6. Interest in the humanities (literature, history, art, cultural heritage, etc.)


  1. Graduate degree or equivalent professional or other experience in the humanities or social sciences.
  2. Knowledge of and interest in the digital humanities.
  3. Experience with collaborative project work.
  4. Experience with any of the following: data collections, analysis, visualization, and interpretation; front-end web development and design; back-end web development; systems and database management; text analysis or image analysis methods and tools; frameworks such as Rails, Django, and Zend; TEI, XML, Solr, Cocoon, Tomcat.
  5. Experience taking initiative to suggest or begin new projects, and to carry out projects with little supervision.


You can apply here (posting number #0621212), but please feel free to reach out with any questions—for yourself or a friend—by emailing or tweeting @scholarslab or @literature_geek. In particular, we’re very happy to talk with anyone who’s interested, but not sure whether they have the required technical background. All job discussions will be treated as confidential.