Lessons from Contributing to Webkit and Blink

Total Page:16

File Type:pdf, Size:1020Kb

Lessons from Contributing to Webkit and Blink Lessons from Contributng to WebKit and Blink Bruno de Oliveira Abinader WebKit, Chromium/Blink commiter abinader.com.br [email protected] abinader @ irc.freenode.org 2 / 25 Contents ➢ Briefng on WebKit and Blink ➢ The WebKit development process ➢ The Blink development process ➢ Comparisons against Linux Kernel development process ➢ Final thoughts 3 / 25 Briefng on WebKit ➢ Web engine: Used by apps to render web content ➢ Open source: Both BSD and LGPL licenses ➢ Community-oriented: Apple, Google, Intel, Samsung... ➢ Multple targets: Desktop, Mobile, Tablets ➢ Multple ports: Cocoa, Qt, EFL, GTK, OpenGL, Cairo 4 / 25 WebKit: Project Statstcs ➢ Started in 2001 (fork of KHTML) ➢ Open sourced in 2005 ➢ 4.8 million LOCs (C++, C, Objectve-C) ➢ ~300 commiters, ~130 reviewers ➢ ~40% of browsers market share (Nov '12) ➢ Afer Blink: ~8.5% (Safari), ~40% (Chrome) (Sep '13) 5 / 25 WebKit: Lines of Code WebKit is open sourced Blink is forked 6 / 25 WebKit: Commits / Month All time 12 months 30 days Blink is forked Commits 140887 23635 1545 Contributors 497 303 86 7 / 25 WebKit: Actve Contributors Top 10 contributors Apple Google Nokia Research in Motion Igalia Intel Samsung Univ. Szeged Adobe Blink is forked Torchmobile 8 / 25 Briefng on Blink ➢ Fork of WebKit as of April 2013 ➢ Single port: Chromium ➢ Not standalone: Chromium's content layer implementaton ➢ JavaScript engine: V8 (WebKit uses JavaScriptCore) ➢ Multprocess architecture: Browser + Renderer processes ➢ Difers from WebKit2 API multprocess architecture 9 / 25 Blink: Diferent Goals ➢ Greater freedom in implementng WebCore's features ➢ Experimental features can be enabled on runtme ➢ Avoid vendor prefxes: ➢ No more -{moz,webkit,opera}-<property> polyflls! ➢ Lighter codebase: ➢ Cleaned inherited build systems, platorm and port-specifc code ➢ Move non-core layout and rendering code to Chromium 10 / 25 Blink: Lines of Code LOCs gets stabilized: ~2.5 MLOCs March 2013 April 2013 (cleanup starts) (Blink is forked) 11 / 25 Hierarchical Map Directory hierarchy Reviewer Owner (WebKit) (Blink) Can commit patches Areas of knowledge Commiter Can follow bugs / trigger try bots s u t a t Contributor* S Amount of people 12 / 25 WebKit: Submitng patches Bugzilla 1. Create / Select a bug 2. Create patch / build / test 3. Upload patch Gardening patch 4. Early warning system Manual commit 5. Request review fag (R?) 6. Request commit queue fag (CQ?) 7. Patch is landed 13 / 25 WebKit: Becoming a commiter ➢ Have around 25 reviewed patches landed ➢ Good judgement and understanding of project policies ➢ Good collaboraton skills ➢ Nominaton requires support of at least 3 reviewers: ➢ 1 to nominate, 2 to acknowledge ➢ Process happens inside reviewers-only mailing list 14 / 25 WebKit: Becoming a reviewer ➢ Have around 100 reviewed patches landed ➢ Serious understanding of the source code ➢ Had informally reviewed other patches already ➢ Ensure reviewed patches follows project policies ➢ Exceptonal judgement on source code changes 15 / 25 WebKit: Newcomer tps *For more memes, go to webkitmemes.tumblr.com :-) 16 / 25 Blink: Submitng patches Chromium issues 1. Create / Select a bug 2. Create patch / build / test Codereview Bug gets notfed 3. Upload patch 4. Try bots Retries 3x 5. Request review (LGTM?) Manual commit 6. Trigger commit queue bot 7. Patch is landed 17 / 25 Blink: Gaining status ➢ Commiter: ➢ Follows the same criteria as WebKit ➢ Can be speed up if already a WebKit commiter ➢ Owner: ➢ Have provided high quality reviews / design feedback ➢ Be a Chromium project member for at least 6 months ➢ Have submited a substantal number of non-trivial changes ➢ Had commited patches to the afected directory within 90 days ➢ Bandwidth to contribute with other owners 18 / 25 Linux Kernel: Development Process ➢ Vanilla releases made by Linus Torvalds ➢ Stable and Experimental releases also available ➢ New releases every 2-3 months ➢ WebKit / Blink: Version depends on target browser ➢ Patch lifetme: Quick for minor fxes, years for large and/or controversial changes ➢ WebKit / Blink: Faster triaging tmes 19 / 25 Linux Kernel: Process stages 1.1. Design Design Ofen done without involving community 2.2. Early Early review review Patch gets posted to relevant mailing list 3.3. Wider Wider review review Patch gets accepted by a subsystem maintainer 4. Merging into 4. Merging into Merging usually done by Linus Torvalds mainlinemainline 5.5. Release Release Developer should take responsibility for the code 20 / 25 Linux Kernel: Comparisons ➢ Design step: ➢ WebKit and Blink promotes openness on current development ➢ i.e. “Intend to implement/ship” emails on Blink-dev ➢ Early review: ➢ WebKit uses bugzilla, Blink uses Rietveld (codereview) ➢ Good to track history / separate issues in a logical scope ➢ Plus: WebKit's Early Warning System, Blink's try bots 21 / 25 Linux Kernel: Comparisons ➢ Wider review / merging into mainline: ➢ A reviewer/owner acknowledgement usually is enough ➢ In the worst case, patches can be rolled back ➢ Integraton: EWS/Try bots always have HEAD ➢ If the patch fails, developer takes responsibility to rebase / update ➢ Testng on the fy: Layout tests as replacement for unit tests 22 / 25 Linux Kernel: Comparisons ➢ Hierarchy model: ➢ Developer → {driver, sub} maintainer→ subsystem maintainer → Linus Torvalds ➢ Developer → Andrew Morton → Linus Torvalds ➢ If a patch touches 2+ places maintained by 2+ maintainers, “Acked-by” enters in scene ➢ Getng patches inside depends on fnding the right maintainer ➢ Remember WebKit meme on having a bad tme? :-) 23 / 25 Final thoughts ➢ WebKit, Blink and Linux Kernel projects are: ➢ Open source, community-oriented projects ➢ Strict in terms of development processes ➢ Meritocracy-based hierarchy levels ➢ WebKit and Blink awesomeness: ➢ Automatzed patch triage system (including tests) ➢ Bug tracking system / history (web tools) Questons? :-) Thank you. References: ohloh.net – charts, statstcs linuxfoundaton.org – Linux Kernel development steps webkit.org | chromium.org/blink – general informaton bitergia.com – top contributng companies Decks available in slideshare.net/brunoabinader abinader.com.br [email protected] abinader @ irc.freenode.org.
Recommended publications
  • Extending Basic Block Versioning with Typed Object Shapes
    Extending Basic Block Versioning with Typed Object Shapes Maxime Chevalier-Boisvert Marc Feeley DIRO, Universite´ de Montreal,´ Quebec, Canada DIRO, Universite´ de Montreal,´ Quebec, Canada [email protected] [email protected] Categories and Subject Descriptors D.3.4 [Programming Lan- Basic Block Versioning (BBV) [7] is a Just-In-Time (JIT) com- guages]: Processors—compilers, optimization, code generation, pilation strategy which allows rapid and effective generation of run-time environments type-specialized machine code without a separate type analy- sis pass or complex speculative optimization and deoptimization Keywords Just-In-Time Compilation, Dynamic Language, Opti- strategies (Section 2.4). However, BBV, as previously introduced, mization, Object Oriented, JavaScript is inefficient in its handling of object property types. The first contribution of this paper is the extension of BBV with Abstract typed object shapes (Section 3.1), object descriptors which encode type information about object properties. Type meta-information Typical JavaScript (JS) programs feature a large number of object associated with object properties then becomes available at prop- property accesses. Hence, fast property reads and writes are cru- erty reads. This allows eliminating run-time type tests dependent on cial for good performance. Unfortunately, many (often redundant) object property accesses. The target of method calls is also known dynamic checks are implied in each property access and the seman- in most cases. tic complexity of JS makes it difficult to optimize away these tests The second contribution of this paper is a further extension through program analysis. of BBV with shape propagation (Section 3.3), the propagation We introduce two techniques to effectively eliminate a large and specialization of code based on object shapes.
    [Show full text]
  • Opera Mini Application for Android
    Opera Mini Application For Android Wat theologized his eternities goggling deathy, but quick-frozen Mohammed never hammer so unshakably. Fain and neverfringillid headline Tyrone sonever lambently. reapplied his proles! Tracie meows his bibulousness underdevelop someplace, but unrimed Ephrayim This application lies in early on this one knows of applications stored securely for example by that? Viber account to provide only be deactivated since then. Opera Mini is a super lightweight browser that loads web pages faster than what every other browser available. Opera Mini Browser Latest News Photos Videos on Opera. The Opera Mini for Android lets you do everything you any to online without wasting your fireplace plan It's stand fast safe mobile web browser that saves you tons of. Analysis of tomorrow with a few other. The mini application for opera android open multiple devices. Just with our site on a view flash drives against sim swap scammers? Thanks for better alternative software included in multitasking is passionate about how do you can browse, including sms charges may not part of mail and features. Other download option for opera mini Hospedajes Mirta. Activating it for you are you want. Opera mini 16 beta android app has a now released and before downloading the read or full review covering all the features here. It only you sign into your web page title is better your computer. The Opera Mini works the tender as tide original Opera for Android This app update features a similar appearance and functionality but thrive now displays Facebook. With google pixel exclusive skin smoothing makeover tool uses of your computer in total, control a light.
    [Show full text]
  • Cocoa Touch & Iphone
    Music Appreciation 243: Introduction to Rick Astley Evan Doll [email protected] Alan Cannistraro [email protected] Thursday, April 2, 2009 Thursday, April 2, 2009 Welcome to CS193P: iPhone Application Development Evan Doll [email protected] Alan Cannistraro [email protected] Thursday, April 2, 2009 Staff • Lecturers ■ Evan Doll [email protected] ■ Alan Cannistraro [email protected] • Student TAs ■ Troy Brant [email protected] ■ Paul Salzman [email protected] • “Professor Emeritus” ■ Paul Marcos [email protected] Thursday, April 2, 2009 How many of you... • Are familiar with object-oriented programming? • Have developed software with Mac OS X? • Have developed apps for the iPhone? Thursday, April 2, 2009 Lectures, Sections, Office Hours • Lectures ■ 320-105, Monday & Wednesday 3:15 – 4:30 PM • Optional Section ■ 200-205, Friday 3:15 – 4:05 PM as announced ■ Guest speakers, additional topics ■ First one will be next Friday 4/10 • Office Hours ■ Troy and Paul will be holding office hours ■ Time & location TBD, check website for details Thursday, April 2, 2009 Requirements • Prerequisite: CS 106B/X • Recommended Book: None, we’ll use Apple documentation • You must have access to an Intel-based Macintosh ■ Running Mac OS X 10.5 Leopard ■ iPhone SDK (Not available on cluster computers!) • Owning an iPhone or iPod Touch is not required ■ Assignments may be done with the iPhone Simulator ■ Loaner iPod Touches should be available, more details to come Thursday, April 2, 2009 Enrollment • Response has been phenomenal again
    [Show full text]
  • Telenor Takes the Mobile Internet to the Masses
    Telenor takes the mobile Internet to the masses The Mobile Internet Asia project hit the ground running this spring. Telenor is on its way to bringing the Web to the masses on both feature phones and smartphones. Today Asia is experiencing the world’s most rapid growth when it comes to mobile Internet usage. In the past two years alone, mobile Web traffic has tripled on the continent, making Asia the source of 18 percent of the world’s mobile Web browsing (source: Statcounter, Pingdom). In order to play a central role in capturing a share of this growth, Telenor Digital Services kicked off the Mobile Internet Asia (MIA) project in April this year. A mobile Internet leader in Asia “Telenor Group and its Business Units have, for several years now, focused on the importance of mobile Internet in Asia, and we have run pilot projects in this area to find the best solutions that meet the needs of our customers,” says Sissel Henriette Larsen, Vice President and Head of Services, Telenor Asia. “By starting the MIA project now, we are making a formal move to become leaders in mobile Internet in Asia. We want to tap into this explosive growth and the best Internet experience to customers.” The MIA project, under the Telenor Digital Services umbrella, includes two main focus areas: “Build the Base” and “Smartphone”. Each focus area shares the goal of establishing Telenor as a leader in providing mobile Internet. However, the two work streams differ in terms of who is targeted and how. Accelerating smartphone growth in Asia The Smartphone work stream within in MIA project is newly headed by Mark (Amarit) Sukhavanij, effective July 1, 2012.
    [Show full text]
  • Wireless Assistive Head Controlled Mouse with Eye-Blink Detection for Enhanced Actions
    Turkish Journal of Physiotherapy and Rehabilitation; 32(2) ISSN 2651-4451 | e-ISSN 2651-446X WIRELESS ASSISTIVE HEAD CONTROLLED MOUSE WITH EYE-BLINK DETECTION FOR ENHANCED ACTIONS ALAN FRANCIS CHEERAMVELIL1, ARJUN ALOSHIOUS2, N. DHARANIDEVI3, S. VARUN4, ABEY ABRAHAM5 5Assistant Professor, Department of Information Technology, Rajagiri School of Engineering & Technology, Kerala, India- 682039 1,2,3,4Student, Department of Information Technology, Rajagiri School of Engineering & Technology, Kerala, India-682039 [email protected], [email protected], [email protected], [email protected], [email protected] ABSTRACT The Wireless Assistive Head Controlled Mouse with Eye-Blink Detection for enhanced actions is an assistive Human Interface Device aimed at quadriplegic people. The current pandemic has made the world more reliant on digital means of communications than ever before and people with motor disability have no means to access these resources. A majority of them have good head movement but no torso movement. The proposed device uses a Gyroscope sensor to accurately map the user’s head movements to the corresponding mouse coordinates. The device works with Bluetooth Low Energy technology enabling the user to control the digital devices at a comfortable range without the hassle of wires. The plug-N-play feature allows the use of the device without additional drivers. For more sophisticated usage scenarios, the user can choose between the various traditional mouse operations using a desktop software with the help of the eye-blink detection using image processing. Keywords— Assistive technologies; Persons with disability; Gyroscope sensor; Human Computer Interaction; Eye-blink Detection; I. INTRODUCTION According to the Census conducted in 2011, persons with disability (PwD) constitute 2.21% of the total population in India.
    [Show full text]
  • Preview Dart Programming Tutorial
    Dart Programming About the Tutorial Dart is an open-source general-purpose programming language. It is originally developed by Google and later approved as a standard by ECMA. Dart is a new programming language meant for the server as well as the browser. Introduced by Google, the Dart SDK ships with its compiler – the Dart VM. The SDK also includes a utility -dart2js, a transpiler that generates JavaScript equivalent of a Dart Script. This tutorial provides a basic level understanding of the Dart programming language. Audience This tutorial will be quite helpful for all those developers who want to develop single-page web applications using Dart. It is meant for programmers with a strong hold on object- oriented concepts. Prerequisites The tutorial assumes that the readers have adequate exposure to object-oriented programming concepts. If you have worked on JavaScript, then it will help you further to grasp the concepts of Dart quickly. Copyright & Disclaimer © Copyright 2017 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial.
    [Show full text]
  • What Is Dart?
    1 Dart in Action By Chris Buckett As a language on its own, Dart might be just another language, but when you take into account the whole Dart ecosystem, Dart represents an exciting prospect in the world of web development. In this green paper based on Dart in Action, author Chris Buckett explains how Dart, with its ability to either run natively or be converted to JavaScript and coupled with HTML5 is an ideal solution for building web applications that do not need external plugins to provide all the features. You may also be interested in… What is Dart? The quick answer to the question of what Dart is that it is an open-source structured programming language for creating complex browser based web applications. You can run applications created in Dart by either using a browser that directly supports Dart code, or by converting your Dart code to JavaScript (which happens seamlessly). It is class based, optionally typed, and single threaded (but supports multiple threads through a mechanism called isolates) and has a familiar syntax. In addition to running in browsers, you can also run Dart code on the server, hosted in the Dart virtual machine. The language itself is very similar to Java, C#, and JavaScript. One of the primary goals of the Dart developers is that the language seems familiar. This is a tiny dart script: main() { #A var d = “Dart”; #B String w = “World”; #C print(“Hello ${d} ${w}”); #D } #A Single entry point function main() executes when the script is fully loaded #B Optional typing (no type specified) #C Static typing (String type specified) #D Outputs “Hello Dart World” to the browser console or stdout This script can be embedded within <script type=“application/dart”> tags and run in the Dartium experimental browser, converted to JavaScript using the Frog tool and run in all modern browsers, or saved to a .dart file and run directly on the server using the dart virtual machine executable.
    [Show full text]
  • Opera Software the Best Browsing Experience on Any Device
    Opera Software The best browsing experience on any device The best Internet experience on any device Web Standards for the Future – Bruce Lawson, Opera.com • Web Evangelist, Opera • Tech lead, Law Society & Solicitors Regulation Authority (2004-8) • Author 2 books on Web Standards, edited 2 • Committee member for British Standards Institution (BSI) for the new standard for accessible websites • Member of Web Standards Project: Accessibility Task Force • Member of W3C Mobile Best Practices Working Group Web Standards for the Future – Bruce Lawson, Opera.com B.A., Honours English Literature and Language with Drama Theresa is blind But she can use the Web if made with standards The big picture WWW The big picture Western Western Web A web (pre)history • 1989 TBL proposes a project • 1992 <img> in Mosaic beta. Now 99.57% (MAMA) • 1994 W3C started at MIT • 1996 The Browser Wars • 1999 WAP, Web Content Accessibility Guidelines (WCAG) • 2000 Flash Modern web history • 2000-ish .com Crash - Time to grow up... • 2002 Opera Mobile with Small Screen Rendering • 2005 WHAT-WG founded, W3C Mobile Web Initiative starts • 2007 W3C adopts WHAT-WG spec as basis for HTML 5 • January 22, 2008 First public working draft of HTML 5 Standards at Opera • 25 employees work on standards • Mostly at W3C - a big player • Working on many standards • Bringing new work to W3C • Implementing Standards properly (us and you!) (Web Standards Curriculum www.opera.com/wsc) Why standards? The Web works everywhere - The Web is the platform • Good standards help developers: validate; separate content and presentation - means specialisation and maintainability.
    [Show full text]
  • Google Security Chip H1 a Member of the Titan Family
    Google Security Chip H1 A member of the Titan family Chrome OS Use Case [email protected] Block diagram ● ARM SC300 core ● 8kB boot ROM, 64kB SRAM, 512kB Flash ● USB 1.1 slave controller (USB2.0 FS) ● I2C master and slave controllers ● SPI master and slave controllers ● 3 UART channels ● 32 GPIO ports, 28 muxed pins ● 2 Timers ● Reset and power control (RBOX) ● Crypto Engine ● HW Random Number Generator ● RD Detection Flash Memory Layout ● Bootrom not shown ● Flash space split in two halves for redundancy ● Restricted access INFO space ● Header fields control boot flow ● Code is in Chrome OS EC repo*, ○ board files in board/cr50 ○ chip files in chip/g *https://chromium.googlesource.com/chromiumos/platform/ec Image Properties Chip Properties 512 byte space Used as 128 FW Updates INFO Space Bits 128 Bits Bitmap 32 Bit words Board ID 32 Bit words Bitmap Board ID ● Updates over USB or TPM Board ID Board ID ~ Board ID ● Rollback protections Board ID mask Version Board Flags ○ Header versioning scheme Board Flags ○ Flash map bitmap ● Board ID and flags Epoch ● RO public key in ROM Major ● RW public key in RO Minor ● Both ROM and RO allow for Timestamp node locked signatures Major Functions ● Guaranteed Reset ● Battery cutoff ● Closed Case Debugging * ● Verified Boot (TPM Services) ● Support of various security features * https://www.chromium.org/chromium-os/ccd Reset and power ● Guaranteed EC reset and battery cutoff ● EC in RW latch (guaranteed recovery) ● SPI Flash write protection TPM Interface to AP ● I2C or SPI ● Bootstrap options ● TPM
    [Show full text]
  • Programming Java for OS X
    Programming Java for OS X hat’s so different about Java on a Mac? Pure Java applica- tions run on any operating system that supports Java. W Popular Java tools run on OS X. From the developer’s point of view, Java is Java, no matter where it runs. Users do not agree. To an OS X user, pure Java applications that ignore the feel and features of OS X are less desirable, meaning the customers will take their money elsewhere. Fewer sales translates into unhappy managers and all the awkwardness that follows. In this book, I show how to build GUIs that feel and behave like OS X users expect them to behave. I explain development tools and libraries found on the Mac. I explore bundling of Java applications for deployment on OS X. I also discuss interfacing Java with other languages commonly used on the Mac. This chapter is about the background and basics of Java develop- ment on OS X. I explain the history of Java development. I show you around Apple’s developer Web site. Finally, I go over the IDEs commonly used for Java development on the Mac. In This Chapter Reviewing Apple Java History Exploring the history of Apple embraced Java technologies long before the first version of Java on Apple computers OS X graced a blue and white Mac tower. Refugees from the old Installing developer tan Macs of the 1990s may vaguely remember using what was tools on OS X called the MRJ when their PC counterparts were busy using JVMs. Looking at the MRJ stands for Mac OS Runtime for Java.
    [Show full text]
  • User Manual Introduction
    Item No. 8015 User Manual Introduction Congratulations on choosing the Robosapien Blue™, a sophisticated fusion of technology and personality. With a full range of dynamic motion, interactive sensors and a unique personality, Robosapien Blue™ is more than a mechanical companion; he’s a multi-functional, thinking, feeling robot with attitude! Explore Robosapien Blue™ ’s vast array of functions and programs. Mold his behavior any way you like. Be sure to read this manual carefully for a complete understanding of the many features of your new robot buddy. Product Contents: Robosapien Blue™ x1 Infra-red Remote Controller x1 Pick Up Accessory x1 THUMP SWEEP SWEEP THUMP TALK BACKPICK UP LEAN PICK UP HIGH 5 STRIKE 1 STRIKE 1 LEAN THROW WHISTLE THROW BURP SLEEP LISTEN STRIKE 2 STRIKE 2 B U LL P D E O T Z S E R R E S E T P TU E R T N S S N T R E U P T STRIKE 3 R E S E R T A O R STRIKE 3 B A C K S S P T O E O P SELECT RIGHT T LEF SONIC DANCE D EM 2 EXECUTE O O 1 DEM EXECUTE ALL DEMO WAKE UP POWER OFF Robosapien Blue™ Remote Pick Up Controller Accessory For more information visit: www.wowwee.com P. 1 Content Introduction & Contents P.1-2 Battery Details P.3 Robosapien Blue™ Overview P.4 Robosapien Blue™ Operation Overview P.5 Controller Index P.6 RED Commands - Upper Controller P.7 RED Commands - Middle & Lower Controller P.8 GREEN Commands - Upper Controller P.9 GREEN Commands - Middle & Lower Controller P.10 ORANGE Commands - Upper Controller P.11 ORANGE Commands - Middle & Lower Controller P.12 Programming Mode - Touch Sensors P.13 Programming Mode - Sonic Sensor P.14 Programming Mode - Master Command P.15 Troubleshooting Guide P.16 Warranty P.17 App Functionality P.19 P.
    [Show full text]
  • 'Inside Track' Mobile App Beta Testing
    PITTSBURGHOPERA page 1 Pittsburgh Opera ‘Inside Track’ Mobile App beta testing Thank you for being a beta tester for our new ‘Inside Track’ functionality within the Pittsburgh Opera Mobile App. Background on Pittsburgh Opera Mobile App The Pittsburgh Opera Mobile App launched in 2016. It was built using a platform called Instant Encore, which is the leading software provider of performing arts mobile apps in North America. The app, which is free and available for both iOS and Android devices, features a plethora of opera content. Examples include performance and event schedules, bios on our Resident Artists, ticket purchasing, video excerpts, and more. Instant Encore has recently added functionality which enables patrons in the theater to receive content during an actual performance. The content, which is all visual (photos/text), is meant to enhance the patron’s experience during the performance, by providing context, background information about the composer or piece being performed, etc. Pittsburgh Opera has installed this software in our app, and is testing it during the fall performances at the Benedum. Over the winter we will be rolling out new, custom-built functionality which allow us to include audio content as well. We are calling the combined product ‘Inside Track’. We want to make sure that we have worked out any kinks with the ‘phase 1’ software (i.e. visual content only) prior to launching phase 2 (audio content.) How to download the app The Pittsburgh Opera mobile app is available for free download in the App Store for iOS devices and Google Play for Android devices.
    [Show full text]