( ! ) Deprecated: strip_tags(): Passing null to parameter #1 ($string) of type string is deprecated in /home/jlahijani/Sites/goodui.org/site/templates/_og.php on line 13 Call Stack #TimeMemoryFunctionLocation 10.0000465256{main}( ).../index.php:0 20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55 30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484 40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952 50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416 60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $meta_description = ''; public $data = ['title' => 'Leaks', 'meta_description' => ''] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114 70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184 80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $meta_description = ''; public $data = ['title' => 'Leaks', 'meta_description' => ''] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484 90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060 100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484 110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952 120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416 130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575 140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484 150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952 160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413 172.32055509432require( '/home/jlahijani/Sites/goodui.org/site/templates/_main.php ).../TemplateFile.php:340 182.32105527360include( '/home/jlahijani/Sites/goodui.org/site/templates/_og.php ).../_main.php:64 192.32255526104strip_tags( $string = NULL ).../_og.php:13 " />

Discover UI Design Decisions Of Leading Companies,
From Leaked Screenshots & A/B Tests.


Filter:
Company:

Showing 90 results


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.18402943008ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5177; public $name = 'airbnb-a-b-tests-and-implements-customer-rating-averages-above-search-results'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Implements Customer Rating Averages Above Search Results'; public $number = 48; public $leak_variants = '(RepeaterPageArray) 5180|5181'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.18402943008ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5177; public $name = 'airbnb-a-b-tests-and-implements-customer-rating-averages-above-search-results'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Implements Customer Rating Averages Above Search Results'; public $number = 48; public $leak_variants = '(RepeaterPageArray) 5180|5181'; public $data = [...] }], $options = [] ).../Functions.php:552
200.18412948488include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.18402943008ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5177; public $name = 'airbnb-a-b-tests-and-implements-customer-rating-averages-above-search-results'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Implements Customer Rating Averages Above Search Results'; public $number = 48; public $leak_variants = '(RepeaterPageArray) 5180|5181'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.18402943008ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5177; public $name = 'airbnb-a-b-tests-and-implements-customer-rating-averages-above-search-results'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Implements Customer Rating Averages Above Search Results'; public $number = 48; public $leak_variants = '(RepeaterPageArray) 5180|5181'; public $data = [...] }], $options = [] ).../Functions.php:552
200.18412948488include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.18402943008ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5177; public $name = 'airbnb-a-b-tests-and-implements-customer-rating-averages-above-search-results'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Implements Customer Rating Averages Above Search Results'; public $number = 48; public $leak_variants = '(RepeaterPageArray) 5180|5181'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.18402943008ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5177; public $name = 'airbnb-a-b-tests-and-implements-customer-rating-averages-above-search-results'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Implements Customer Rating Averages Above Search Results'; public $number = 48; public $leak_variants = '(RepeaterPageArray) 5180|5181'; public $data = [...] }], $options = [] ).../Functions.php:552
200.18412948488include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.18402943008ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5177; public $name = 'airbnb-a-b-tests-and-implements-customer-rating-averages-above-search-results'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Implements Customer Rating Averages Above Search Results'; public $number = 48; public $leak_variants = '(RepeaterPageArray) 5180|5181'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.18402943008ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5177; public $name = 'airbnb-a-b-tests-and-implements-customer-rating-averages-above-search-results'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Implements Customer Rating Averages Above Search Results'; public $number = 48; public $leak_variants = '(RepeaterPageArray) 5180|5181'; public $data = [...] }], $options = [] ).../Functions.php:552
200.18412948488include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.18402943008ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5177; public $name = 'airbnb-a-b-tests-and-implements-customer-rating-averages-above-search-results'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Implements Customer Rating Averages Above Search Results'; public $number = 48; public $leak_variants = '(RepeaterPageArray) 5180|5181'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.18402943008ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5177; public $name = 'airbnb-a-b-tests-and-implements-customer-rating-averages-above-search-results'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Implements Customer Rating Averages Above Search Results'; public $number = 48; public $leak_variants = '(RepeaterPageArray) 5180|5181'; public $data = [...] }], $options = [] ).../Functions.php:552
200.18412948488include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #48 from Airbnb.com   |   Mar 9, 2020 Listing

Airbnb A/B Tests And Implements Customer Rating Averages Above Search Results

In this simple experiment, Airbnb tested the display of customer rarings averages on their search results screen. The tested copy was a form of social proof which showed the average rating of the properties for a given city (defined by the search). View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.29973082904ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5001; public $name = 'bol-tests-8-add-to-cart-buttons-with-1-winner'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Tests 8 Add-To-Cart Buttons With 1 Winner'; public $number = 47; public $leak_variants = '(RepeaterPageArray) 5004|5005|5006|5007|5008|5009|5010|5097'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.29973082904ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5001; public $name = 'bol-tests-8-add-to-cart-buttons-with-1-winner'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Tests 8 Add-To-Cart Buttons With 1 Winner'; public $number = 47; public $leak_variants = '(RepeaterPageArray) 5004|5005|5006|5007|5008|5009|5010|5097'; public $data = [...] }], $options = [] ).../Functions.php:552
200.29973086416include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.29973082904ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5001; public $name = 'bol-tests-8-add-to-cart-buttons-with-1-winner'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Tests 8 Add-To-Cart Buttons With 1 Winner'; public $number = 47; public $leak_variants = '(RepeaterPageArray) 5004|5005|5006|5007|5008|5009|5010|5097'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.29973082904ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5001; public $name = 'bol-tests-8-add-to-cart-buttons-with-1-winner'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Tests 8 Add-To-Cart Buttons With 1 Winner'; public $number = 47; public $leak_variants = '(RepeaterPageArray) 5004|5005|5006|5007|5008|5009|5010|5097'; public $data = [...] }], $options = [] ).../Functions.php:552
200.29973086416include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.29973082904ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5001; public $name = 'bol-tests-8-add-to-cart-buttons-with-1-winner'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Tests 8 Add-To-Cart Buttons With 1 Winner'; public $number = 47; public $leak_variants = '(RepeaterPageArray) 5004|5005|5006|5007|5008|5009|5010|5097'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.29973082904ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5001; public $name = 'bol-tests-8-add-to-cart-buttons-with-1-winner'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Tests 8 Add-To-Cart Buttons With 1 Winner'; public $number = 47; public $leak_variants = '(RepeaterPageArray) 5004|5005|5006|5007|5008|5009|5010|5097'; public $data = [...] }], $options = [] ).../Functions.php:552
200.29973086416include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.29973082904ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5001; public $name = 'bol-tests-8-add-to-cart-buttons-with-1-winner'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Tests 8 Add-To-Cart Buttons With 1 Winner'; public $number = 47; public $leak_variants = '(RepeaterPageArray) 5004|5005|5006|5007|5008|5009|5010|5097'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.29973082904ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5001; public $name = 'bol-tests-8-add-to-cart-buttons-with-1-winner'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Tests 8 Add-To-Cart Buttons With 1 Winner'; public $number = 47; public $leak_variants = '(RepeaterPageArray) 5004|5005|5006|5007|5008|5009|5010|5097'; public $data = [...] }], $options = [] ).../Functions.php:552
200.29973086416include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.29973082904ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5001; public $name = 'bol-tests-8-add-to-cart-buttons-with-1-winner'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Tests 8 Add-To-Cart Buttons With 1 Winner'; public $number = 47; public $leak_variants = '(RepeaterPageArray) 5004|5005|5006|5007|5008|5009|5010|5097'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.29973082904ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5001; public $name = 'bol-tests-8-add-to-cart-buttons-with-1-winner'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Tests 8 Add-To-Cart Buttons With 1 Winner'; public $number = 47; public $leak_variants = '(RepeaterPageArray) 5004|5005|5006|5007|5008|5009|5010|5097'; public $data = [...] }], $options = [] ).../Functions.php:552
200.29973086416include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #47 from Bol.com   |   Mar 2, 2020 Product

Bol Tests 8 Add-To-Cart Buttons With 1 Winner

Bol, a leading online retailer in the Netherlands, just completed a beautiful experiment with 8 add-to-cart button variations. Two potentially leading variations (C & G) were then retested in a followup A/B test. Today, we have finally detected that the C version ("In winkelwagen" translated to "Add to cart") has been implemented on all product pages. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.43753293264ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5114; public $name = 'booking-discovers-that-two-search-bars-are-not-better-than-one'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Discovers That Two Search Bars Are Not Better Than One'; public $number = 46; public $leak_variants = '(RepeaterPageArray) 5117|5118'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.43753293264ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5114; public $name = 'booking-discovers-that-two-search-bars-are-not-better-than-one'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Discovers That Two Search Bars Are Not Better Than One'; public $number = 46; public $leak_variants = '(RepeaterPageArray) 5117|5118'; public $data = [...] }], $options = [] ).../Functions.php:552
200.43753296776include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.43753293264ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5114; public $name = 'booking-discovers-that-two-search-bars-are-not-better-than-one'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Discovers That Two Search Bars Are Not Better Than One'; public $number = 46; public $leak_variants = '(RepeaterPageArray) 5117|5118'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.43753293264ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5114; public $name = 'booking-discovers-that-two-search-bars-are-not-better-than-one'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Discovers That Two Search Bars Are Not Better Than One'; public $number = 46; public $leak_variants = '(RepeaterPageArray) 5117|5118'; public $data = [...] }], $options = [] ).../Functions.php:552
200.43753296776include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.43753293264ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5114; public $name = 'booking-discovers-that-two-search-bars-are-not-better-than-one'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Discovers That Two Search Bars Are Not Better Than One'; public $number = 46; public $leak_variants = '(RepeaterPageArray) 5117|5118'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.43753293264ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5114; public $name = 'booking-discovers-that-two-search-bars-are-not-better-than-one'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Discovers That Two Search Bars Are Not Better Than One'; public $number = 46; public $leak_variants = '(RepeaterPageArray) 5117|5118'; public $data = [...] }], $options = [] ).../Functions.php:552
200.43753296776include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.43753293264ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5114; public $name = 'booking-discovers-that-two-search-bars-are-not-better-than-one'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Discovers That Two Search Bars Are Not Better Than One'; public $number = 46; public $leak_variants = '(RepeaterPageArray) 5117|5118'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.43753293264ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5114; public $name = 'booking-discovers-that-two-search-bars-are-not-better-than-one'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Discovers That Two Search Bars Are Not Better Than One'; public $number = 46; public $leak_variants = '(RepeaterPageArray) 5117|5118'; public $data = [...] }], $options = [] ).../Functions.php:552
200.43753296776include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.43753293264ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5114; public $name = 'booking-discovers-that-two-search-bars-are-not-better-than-one'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Discovers That Two Search Bars Are Not Better Than One'; public $number = 46; public $leak_variants = '(RepeaterPageArray) 5117|5118'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.43753293264ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5114; public $name = 'booking-discovers-that-two-search-bars-are-not-better-than-one'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Discovers That Two Search Bars Are Not Better Than One'; public $number = 46; public $leak_variants = '(RepeaterPageArray) 5117|5118'; public $data = [...] }], $options = [] ).../Functions.php:552
200.43753296776include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #46 from   |   Feb 25, 2020 Home & Landing

Booking Discovers That Two Search Bars Are Not Better Than One

In this experiment Booking added a second search bar on their homepage. The intention might have been to provide users a way to filter more destinations by country. Could this scenario have created an akward uncertainty about which form field to engage with? Whether this explanation is true or not, I'm not sure. What we do know however that in the end, the control version with the single search bar prevailed.  View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.54013408792ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5083; public $name = 'netflix-a-b-tests-early-email-capture-at-the-start-of-their-signup-flow-and-it-succeeds'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Upfront Email Capture At The Start Of Their Signup Flow And It Succeeds'; public $number = 45; public $leak_variants = '(RepeaterPageArray) 5086|5087'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.54013408792ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5083; public $name = 'netflix-a-b-tests-early-email-capture-at-the-start-of-their-signup-flow-and-it-succeeds'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Upfront Email Capture At The Start Of Their Signup Flow And It Succeeds'; public $number = 45; public $leak_variants = '(RepeaterPageArray) 5086|5087'; public $data = [...] }], $options = [] ).../Functions.php:552
200.54013412304include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.54013408792ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5083; public $name = 'netflix-a-b-tests-early-email-capture-at-the-start-of-their-signup-flow-and-it-succeeds'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Upfront Email Capture At The Start Of Their Signup Flow And It Succeeds'; public $number = 45; public $leak_variants = '(RepeaterPageArray) 5086|5087'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.54013408792ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5083; public $name = 'netflix-a-b-tests-early-email-capture-at-the-start-of-their-signup-flow-and-it-succeeds'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Upfront Email Capture At The Start Of Their Signup Flow And It Succeeds'; public $number = 45; public $leak_variants = '(RepeaterPageArray) 5086|5087'; public $data = [...] }], $options = [] ).../Functions.php:552
200.54013412304include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.54013408792ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5083; public $name = 'netflix-a-b-tests-early-email-capture-at-the-start-of-their-signup-flow-and-it-succeeds'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Upfront Email Capture At The Start Of Their Signup Flow And It Succeeds'; public $number = 45; public $leak_variants = '(RepeaterPageArray) 5086|5087'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.54013408792ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5083; public $name = 'netflix-a-b-tests-early-email-capture-at-the-start-of-their-signup-flow-and-it-succeeds'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Upfront Email Capture At The Start Of Their Signup Flow And It Succeeds'; public $number = 45; public $leak_variants = '(RepeaterPageArray) 5086|5087'; public $data = [...] }], $options = [] ).../Functions.php:552
200.54013412304include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.54013408792ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5083; public $name = 'netflix-a-b-tests-early-email-capture-at-the-start-of-their-signup-flow-and-it-succeeds'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Upfront Email Capture At The Start Of Their Signup Flow And It Succeeds'; public $number = 45; public $leak_variants = '(RepeaterPageArray) 5086|5087'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.54013408792ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5083; public $name = 'netflix-a-b-tests-early-email-capture-at-the-start-of-their-signup-flow-and-it-succeeds'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Upfront Email Capture At The Start Of Their Signup Flow And It Succeeds'; public $number = 45; public $leak_variants = '(RepeaterPageArray) 5086|5087'; public $data = [...] }], $options = [] ).../Functions.php:552
200.54013412304include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.54013408792ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5083; public $name = 'netflix-a-b-tests-early-email-capture-at-the-start-of-their-signup-flow-and-it-succeeds'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Upfront Email Capture At The Start Of Their Signup Flow And It Succeeds'; public $number = 45; public $leak_variants = '(RepeaterPageArray) 5086|5087'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.54013408792ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5083; public $name = 'netflix-a-b-tests-early-email-capture-at-the-start-of-their-signup-flow-and-it-succeeds'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Upfront Email Capture At The Start Of Their Signup Flow And It Succeeds'; public $number = 45; public $leak_variants = '(RepeaterPageArray) 5086|5087'; public $data = [...] }], $options = [] ).../Functions.php:552
200.54013412304include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #45 from Netflix.com   |   Feb 18, 2020 Home & Landing

Netflix A/B Tests Upfront Email Capture At The Start Of Their Signup Flow And It Succeeds

Once upon a time, Netflix had asked users to enter their email address far down in the signup flow. The email field appeared after a user moved from the hompage, through a series of confirmation steps, and a plan selection - what might officially be counted as the fifth step. All this was challenged with the following experiment where the email field was placed right at the forefront. More so, it also looks like this changed generated some positive impact as it was also rolled out. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.64273523904ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5011; public $name = 'etsy-discovers-a-better-padded-and-wider-search-bar-in-this-a-b-c-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Discovers A Better, Padded And Wider Search Bar In This A/B/C Test'; public $number = 44; public $leak_variants = '(RepeaterPageArray) 5014|5015|5016'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.64273523904ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5011; public $name = 'etsy-discovers-a-better-padded-and-wider-search-bar-in-this-a-b-c-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Discovers A Better, Padded And Wider Search Bar In This A/B/C Test'; public $number = 44; public $leak_variants = '(RepeaterPageArray) 5014|5015|5016'; public $data = [...] }], $options = [] ).../Functions.php:552
200.64283527416include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.64273523904ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5011; public $name = 'etsy-discovers-a-better-padded-and-wider-search-bar-in-this-a-b-c-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Discovers A Better, Padded And Wider Search Bar In This A/B/C Test'; public $number = 44; public $leak_variants = '(RepeaterPageArray) 5014|5015|5016'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.64273523904ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5011; public $name = 'etsy-discovers-a-better-padded-and-wider-search-bar-in-this-a-b-c-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Discovers A Better, Padded And Wider Search Bar In This A/B/C Test'; public $number = 44; public $leak_variants = '(RepeaterPageArray) 5014|5015|5016'; public $data = [...] }], $options = [] ).../Functions.php:552
200.64283527416include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.64273523904ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5011; public $name = 'etsy-discovers-a-better-padded-and-wider-search-bar-in-this-a-b-c-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Discovers A Better, Padded And Wider Search Bar In This A/B/C Test'; public $number = 44; public $leak_variants = '(RepeaterPageArray) 5014|5015|5016'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.64273523904ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5011; public $name = 'etsy-discovers-a-better-padded-and-wider-search-bar-in-this-a-b-c-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Discovers A Better, Padded And Wider Search Bar In This A/B/C Test'; public $number = 44; public $leak_variants = '(RepeaterPageArray) 5014|5015|5016'; public $data = [...] }], $options = [] ).../Functions.php:552
200.64283527416include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.64273523904ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5011; public $name = 'etsy-discovers-a-better-padded-and-wider-search-bar-in-this-a-b-c-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Discovers A Better, Padded And Wider Search Bar In This A/B/C Test'; public $number = 44; public $leak_variants = '(RepeaterPageArray) 5014|5015|5016'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.64273523904ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5011; public $name = 'etsy-discovers-a-better-padded-and-wider-search-bar-in-this-a-b-c-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Discovers A Better, Padded And Wider Search Bar In This A/B/C Test'; public $number = 44; public $leak_variants = '(RepeaterPageArray) 5014|5015|5016'; public $data = [...] }], $options = [] ).../Functions.php:552
200.64283527416include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.64273523904ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5011; public $name = 'etsy-discovers-a-better-padded-and-wider-search-bar-in-this-a-b-c-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Discovers A Better, Padded And Wider Search Bar In This A/B/C Test'; public $number = 44; public $leak_variants = '(RepeaterPageArray) 5014|5015|5016'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.64273523904ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5011; public $name = 'etsy-discovers-a-better-padded-and-wider-search-bar-in-this-a-b-c-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Discovers A Better, Padded And Wider Search Bar In This A/B/C Test'; public $number = 44; public $leak_variants = '(RepeaterPageArray) 5014|5015|5016'; public $data = [...] }], $options = [] ).../Functions.php:552
200.64283527416include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #44 from Etsy.com   |   Feb 10, 2020 Global

Etsy Discovers A Better, Padded And Wider Search Bar In This A/B/C Test

Etsy just completed a cascade experiment with 3 version of their global search bar. Interestingly the cascaded version with all inherited changes, took the lead. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.75103666328ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4955; public $name = 'airbnb-discovers-a-better-calendar-picker-component-from-this-ui-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Calendar Picker Component From This UI Experiment'; public $number = 43; public $leak_variants = '(RepeaterPageArray) 4958|4959'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.75103666328ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4955; public $name = 'airbnb-discovers-a-better-calendar-picker-component-from-this-ui-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Calendar Picker Component From This UI Experiment'; public $number = 43; public $leak_variants = '(RepeaterPageArray) 4958|4959'; public $data = [...] }], $options = [] ).../Functions.php:552
200.75103669840include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.75103666328ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4955; public $name = 'airbnb-discovers-a-better-calendar-picker-component-from-this-ui-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Calendar Picker Component From This UI Experiment'; public $number = 43; public $leak_variants = '(RepeaterPageArray) 4958|4959'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.75103666328ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4955; public $name = 'airbnb-discovers-a-better-calendar-picker-component-from-this-ui-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Calendar Picker Component From This UI Experiment'; public $number = 43; public $leak_variants = '(RepeaterPageArray) 4958|4959'; public $data = [...] }], $options = [] ).../Functions.php:552
200.75103669840include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.75103666328ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4955; public $name = 'airbnb-discovers-a-better-calendar-picker-component-from-this-ui-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Calendar Picker Component From This UI Experiment'; public $number = 43; public $leak_variants = '(RepeaterPageArray) 4958|4959'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.75103666328ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4955; public $name = 'airbnb-discovers-a-better-calendar-picker-component-from-this-ui-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Calendar Picker Component From This UI Experiment'; public $number = 43; public $leak_variants = '(RepeaterPageArray) 4958|4959'; public $data = [...] }], $options = [] ).../Functions.php:552
200.75103669840include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.75103666328ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4955; public $name = 'airbnb-discovers-a-better-calendar-picker-component-from-this-ui-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Calendar Picker Component From This UI Experiment'; public $number = 43; public $leak_variants = '(RepeaterPageArray) 4958|4959'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.75103666328ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4955; public $name = 'airbnb-discovers-a-better-calendar-picker-component-from-this-ui-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Calendar Picker Component From This UI Experiment'; public $number = 43; public $leak_variants = '(RepeaterPageArray) 4958|4959'; public $data = [...] }], $options = [] ).../Functions.php:552
200.75103669840include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.75103666328ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4955; public $name = 'airbnb-discovers-a-better-calendar-picker-component-from-this-ui-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Calendar Picker Component From This UI Experiment'; public $number = 43; public $leak_variants = '(RepeaterPageArray) 4958|4959'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.75103666328ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4955; public $name = 'airbnb-discovers-a-better-calendar-picker-component-from-this-ui-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Calendar Picker Component From This UI Experiment'; public $number = 43; public $leak_variants = '(RepeaterPageArray) 4958|4959'; public $data = [...] }], $options = [] ).../Functions.php:552
200.75103669840include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #43 from Airbnb.com   |   Feb 3, 2020 Product

Airbnb Discovers A Better Calendar Picker Component From This UI Experiment

This was a simple calendar picker experiment that Aribnb recently ran and eventually rolled out. The A/B test contains at least 4 simple UI changes which might have contributed to a positive outcome. And so this also shows us what a slightly better UI component looks like. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.85453781408ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4878; public $name = 'airbnb-attempts-a-big-property-page-redesign-but-it-is-rejected-after-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Attempts A Big Property Page Redesign But It Is Rejected After This A/B Test'; public $number = 42; public $leak_variants = '(RepeaterPageArray) 4881|4882'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.85463781408ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4878; public $name = 'airbnb-attempts-a-big-property-page-redesign-but-it-is-rejected-after-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Attempts A Big Property Page Redesign But It Is Rejected After This A/B Test'; public $number = 42; public $leak_variants = '(RepeaterPageArray) 4881|4882'; public $data = [...] }], $options = [] ).../Functions.php:552
200.85463784920include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.85453781408ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4878; public $name = 'airbnb-attempts-a-big-property-page-redesign-but-it-is-rejected-after-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Attempts A Big Property Page Redesign But It Is Rejected After This A/B Test'; public $number = 42; public $leak_variants = '(RepeaterPageArray) 4881|4882'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.85463781408ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4878; public $name = 'airbnb-attempts-a-big-property-page-redesign-but-it-is-rejected-after-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Attempts A Big Property Page Redesign But It Is Rejected After This A/B Test'; public $number = 42; public $leak_variants = '(RepeaterPageArray) 4881|4882'; public $data = [...] }], $options = [] ).../Functions.php:552
200.85463784920include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.85453781408ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4878; public $name = 'airbnb-attempts-a-big-property-page-redesign-but-it-is-rejected-after-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Attempts A Big Property Page Redesign But It Is Rejected After This A/B Test'; public $number = 42; public $leak_variants = '(RepeaterPageArray) 4881|4882'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.85463781408ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4878; public $name = 'airbnb-attempts-a-big-property-page-redesign-but-it-is-rejected-after-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Attempts A Big Property Page Redesign But It Is Rejected After This A/B Test'; public $number = 42; public $leak_variants = '(RepeaterPageArray) 4881|4882'; public $data = [...] }], $options = [] ).../Functions.php:552
200.85463784920include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.85453781408ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4878; public $name = 'airbnb-attempts-a-big-property-page-redesign-but-it-is-rejected-after-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Attempts A Big Property Page Redesign But It Is Rejected After This A/B Test'; public $number = 42; public $leak_variants = '(RepeaterPageArray) 4881|4882'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.85463781408ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4878; public $name = 'airbnb-attempts-a-big-property-page-redesign-but-it-is-rejected-after-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Attempts A Big Property Page Redesign But It Is Rejected After This A/B Test'; public $number = 42; public $leak_variants = '(RepeaterPageArray) 4881|4882'; public $data = [...] }], $options = [] ).../Functions.php:552
200.85463784920include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.85453781408ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4878; public $name = 'airbnb-attempts-a-big-property-page-redesign-but-it-is-rejected-after-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Attempts A Big Property Page Redesign But It Is Rejected After This A/B Test'; public $number = 42; public $leak_variants = '(RepeaterPageArray) 4881|4882'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.85463781408ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4878; public $name = 'airbnb-attempts-a-big-property-page-redesign-but-it-is-rejected-after-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Attempts A Big Property Page Redesign But It Is Rejected After This A/B Test'; public $number = 42; public $leak_variants = '(RepeaterPageArray) 4881|4882'; public $data = [...] }], $options = [] ).../Functions.php:552
200.85463784920include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #42 from Airbnb.com   |   Jan 27, 2020 Product

Airbnb Attempts A Big Property Page Redesign But It Is Rejected After This A/B Test

Over two months ago I managed to detect this exciting product/property page redesign on Airbnb with at least 17 UI changes. Unfortunately, as hard as the Airbnb team must have worked on these layout improvements, we now can see that the experiment has ended and the old control version (A) remains the better performer. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.95963900992ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4847; public $name = 'airbnb-a-b-tests-search-with-automatic-prompts-which-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests Search With Automatic Prompts Which Gets Rejected'; public $number = 41; public $leak_variants = '(RepeaterPageArray) 4850|4851'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.95963900992ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4847; public $name = 'airbnb-a-b-tests-search-with-automatic-prompts-which-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests Search With Automatic Prompts Which Gets Rejected'; public $number = 41; public $leak_variants = '(RepeaterPageArray) 4850|4851'; public $data = [...] }], $options = [] ).../Functions.php:552
200.95963904504include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.95963900992ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4847; public $name = 'airbnb-a-b-tests-search-with-automatic-prompts-which-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests Search With Automatic Prompts Which Gets Rejected'; public $number = 41; public $leak_variants = '(RepeaterPageArray) 4850|4851'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.95963900992ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4847; public $name = 'airbnb-a-b-tests-search-with-automatic-prompts-which-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests Search With Automatic Prompts Which Gets Rejected'; public $number = 41; public $leak_variants = '(RepeaterPageArray) 4850|4851'; public $data = [...] }], $options = [] ).../Functions.php:552
200.95963904504include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.95963900992ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4847; public $name = 'airbnb-a-b-tests-search-with-automatic-prompts-which-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests Search With Automatic Prompts Which Gets Rejected'; public $number = 41; public $leak_variants = '(RepeaterPageArray) 4850|4851'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.95963900992ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4847; public $name = 'airbnb-a-b-tests-search-with-automatic-prompts-which-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests Search With Automatic Prompts Which Gets Rejected'; public $number = 41; public $leak_variants = '(RepeaterPageArray) 4850|4851'; public $data = [...] }], $options = [] ).../Functions.php:552
200.95963904504include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.95963900992ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4847; public $name = 'airbnb-a-b-tests-search-with-automatic-prompts-which-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests Search With Automatic Prompts Which Gets Rejected'; public $number = 41; public $leak_variants = '(RepeaterPageArray) 4850|4851'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.95963900992ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4847; public $name = 'airbnb-a-b-tests-search-with-automatic-prompts-which-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests Search With Automatic Prompts Which Gets Rejected'; public $number = 41; public $leak_variants = '(RepeaterPageArray) 4850|4851'; public $data = [...] }], $options = [] ).../Functions.php:552
200.95963904504include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.95963900992ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4847; public $name = 'airbnb-a-b-tests-search-with-automatic-prompts-which-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests Search With Automatic Prompts Which Gets Rejected'; public $number = 41; public $leak_variants = '(RepeaterPageArray) 4850|4851'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.95963900992ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4847; public $name = 'airbnb-a-b-tests-search-with-automatic-prompts-which-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests Search With Automatic Prompts Which Gets Rejected'; public $number = 41; public $leak_variants = '(RepeaterPageArray) 4850|4851'; public $data = [...] }], $options = [] ).../Functions.php:552
200.95963904504include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #41 from Airbnb.com   |   Jan 20, 2020 Listing

Airbnb A/B Tests Search With Automatic Prompts Which Gets Rejected

In this listing page experiment, Airbnb tried an very similar search interaction that is already present on Booking.com's homepage. Instead of only asking users for their destination, the search interaction was extended to prompt for travel dates and number of guests. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.06334032488ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4823; public $name = 'netflix-keeps-its-older-price-comparison-table-and-rejects-a-new-plan-layout-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Keeps Its Older Price Comparison Table And Rejects Their New Layout In This A/B Test'; public $number = 40; public $leak_variants = '(RepeaterPageArray) 4826|4827'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.06334032488ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4823; public $name = 'netflix-keeps-its-older-price-comparison-table-and-rejects-a-new-plan-layout-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Keeps Its Older Price Comparison Table And Rejects Their New Layout In This A/B Test'; public $number = 40; public $leak_variants = '(RepeaterPageArray) 4826|4827'; public $data = [...] }], $options = [] ).../Functions.php:552
201.06334036000include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.06334032488ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4823; public $name = 'netflix-keeps-its-older-price-comparison-table-and-rejects-a-new-plan-layout-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Keeps Its Older Price Comparison Table And Rejects Their New Layout In This A/B Test'; public $number = 40; public $leak_variants = '(RepeaterPageArray) 4826|4827'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.06334032488ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4823; public $name = 'netflix-keeps-its-older-price-comparison-table-and-rejects-a-new-plan-layout-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Keeps Its Older Price Comparison Table And Rejects Their New Layout In This A/B Test'; public $number = 40; public $leak_variants = '(RepeaterPageArray) 4826|4827'; public $data = [...] }], $options = [] ).../Functions.php:552
201.06334036000include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.06334032488ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4823; public $name = 'netflix-keeps-its-older-price-comparison-table-and-rejects-a-new-plan-layout-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Keeps Its Older Price Comparison Table And Rejects Their New Layout In This A/B Test'; public $number = 40; public $leak_variants = '(RepeaterPageArray) 4826|4827'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.06334032488ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4823; public $name = 'netflix-keeps-its-older-price-comparison-table-and-rejects-a-new-plan-layout-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Keeps Its Older Price Comparison Table And Rejects Their New Layout In This A/B Test'; public $number = 40; public $leak_variants = '(RepeaterPageArray) 4826|4827'; public $data = [...] }], $options = [] ).../Functions.php:552
201.06334036000include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.06334032488ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4823; public $name = 'netflix-keeps-its-older-price-comparison-table-and-rejects-a-new-plan-layout-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Keeps Its Older Price Comparison Table And Rejects Their New Layout In This A/B Test'; public $number = 40; public $leak_variants = '(RepeaterPageArray) 4826|4827'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.06334032488ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4823; public $name = 'netflix-keeps-its-older-price-comparison-table-and-rejects-a-new-plan-layout-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Keeps Its Older Price Comparison Table And Rejects Their New Layout In This A/B Test'; public $number = 40; public $leak_variants = '(RepeaterPageArray) 4826|4827'; public $data = [...] }], $options = [] ).../Functions.php:552
201.06334036000include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.06334032488ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4823; public $name = 'netflix-keeps-its-older-price-comparison-table-and-rejects-a-new-plan-layout-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Keeps Its Older Price Comparison Table And Rejects Their New Layout In This A/B Test'; public $number = 40; public $leak_variants = '(RepeaterPageArray) 4826|4827'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.06334032488ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4823; public $name = 'netflix-keeps-its-older-price-comparison-table-and-rejects-a-new-plan-layout-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Keeps Its Older Price Comparison Table And Rejects Their New Layout In This A/B Test'; public $number = 40; public $leak_variants = '(RepeaterPageArray) 4826|4827'; public $data = [...] }], $options = [] ).../Functions.php:552
201.06334036000include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #40 from Netflix.com   |   Jan 10, 2020 Pricing

Netflix Keeps Its Older Price Comparison Table And Rejects Their New Layout In This A/B Test

Netflix has been experimenting with the layout of their pricing plans. Challenging the more traditional pricing comparison table, instead they a/b tested three self-contained pricing plan tiles. This newer version however ended up being rejected as we noticed. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.16534153664ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4795; public $name = 'booking-a-b-tests-ghost-buttons-but-their-hopes-fade-away-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking A/B Tests Ghost Buttons, But Their Hopes Fade Away As Predicted'; public $number = 39; public $leak_variants = '(RepeaterPageArray) 4798|4799'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.16534153664ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4795; public $name = 'booking-a-b-tests-ghost-buttons-but-their-hopes-fade-away-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking A/B Tests Ghost Buttons, But Their Hopes Fade Away As Predicted'; public $number = 39; public $leak_variants = '(RepeaterPageArray) 4798|4799'; public $data = [...] }], $options = [] ).../Functions.php:552
201.16544157176include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.16534153664ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4795; public $name = 'booking-a-b-tests-ghost-buttons-but-their-hopes-fade-away-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking A/B Tests Ghost Buttons, But Their Hopes Fade Away As Predicted'; public $number = 39; public $leak_variants = '(RepeaterPageArray) 4798|4799'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.16534153664ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4795; public $name = 'booking-a-b-tests-ghost-buttons-but-their-hopes-fade-away-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking A/B Tests Ghost Buttons, But Their Hopes Fade Away As Predicted'; public $number = 39; public $leak_variants = '(RepeaterPageArray) 4798|4799'; public $data = [...] }], $options = [] ).../Functions.php:552
201.16544157176include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.16534153664ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4795; public $name = 'booking-a-b-tests-ghost-buttons-but-their-hopes-fade-away-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking A/B Tests Ghost Buttons, But Their Hopes Fade Away As Predicted'; public $number = 39; public $leak_variants = '(RepeaterPageArray) 4798|4799'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.16534153664ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4795; public $name = 'booking-a-b-tests-ghost-buttons-but-their-hopes-fade-away-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking A/B Tests Ghost Buttons, But Their Hopes Fade Away As Predicted'; public $number = 39; public $leak_variants = '(RepeaterPageArray) 4798|4799'; public $data = [...] }], $options = [] ).../Functions.php:552
201.16544157176include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.16534153664ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4795; public $name = 'booking-a-b-tests-ghost-buttons-but-their-hopes-fade-away-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking A/B Tests Ghost Buttons, But Their Hopes Fade Away As Predicted'; public $number = 39; public $leak_variants = '(RepeaterPageArray) 4798|4799'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.16534153664ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4795; public $name = 'booking-a-b-tests-ghost-buttons-but-their-hopes-fade-away-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking A/B Tests Ghost Buttons, But Their Hopes Fade Away As Predicted'; public $number = 39; public $leak_variants = '(RepeaterPageArray) 4798|4799'; public $data = [...] }], $options = [] ).../Functions.php:552
201.16544157176include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.16534153664ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4795; public $name = 'booking-a-b-tests-ghost-buttons-but-their-hopes-fade-away-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking A/B Tests Ghost Buttons, But Their Hopes Fade Away As Predicted'; public $number = 39; public $leak_variants = '(RepeaterPageArray) 4798|4799'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.16534153664ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4795; public $name = 'booking-a-b-tests-ghost-buttons-but-their-hopes-fade-away-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking A/B Tests Ghost Buttons, But Their Hopes Fade Away As Predicted'; public $number = 39; public $leak_variants = '(RepeaterPageArray) 4798|4799'; public $data = [...] }], $options = [] ).../Functions.php:552
201.16544157176include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #39 from Booking.com   |   Jan 3, 2020 Listing

Booking A/B Tests Ghost Buttons, But Their Hopes Fade Away As Predicted

Ghosts buttons. We know that this style of buttons is net negative based on this evidence-based pattern. So when Booking ran this experiment, it's no surpirse that it was eventually rejected - a predictable replication. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.26834269008ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4756; public $name = 'amazons-loaded-hamburger-menu-beats-its-older-dropdown-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s Loaded Hamburger Menu Beats Its Older Dropdown Version In This A/B Test'; public $number = 38; public $leak_variants = '(RepeaterPageArray) 4759|4760'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.26844269008ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4756; public $name = 'amazons-loaded-hamburger-menu-beats-its-older-dropdown-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s Loaded Hamburger Menu Beats Its Older Dropdown Version In This A/B Test'; public $number = 38; public $leak_variants = '(RepeaterPageArray) 4759|4760'; public $data = [...] }], $options = [] ).../Functions.php:552
201.26844272520include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.26834269008ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4756; public $name = 'amazons-loaded-hamburger-menu-beats-its-older-dropdown-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s Loaded Hamburger Menu Beats Its Older Dropdown Version In This A/B Test'; public $number = 38; public $leak_variants = '(RepeaterPageArray) 4759|4760'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.26844269008ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4756; public $name = 'amazons-loaded-hamburger-menu-beats-its-older-dropdown-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s Loaded Hamburger Menu Beats Its Older Dropdown Version In This A/B Test'; public $number = 38; public $leak_variants = '(RepeaterPageArray) 4759|4760'; public $data = [...] }], $options = [] ).../Functions.php:552
201.26844272520include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.26834269008ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4756; public $name = 'amazons-loaded-hamburger-menu-beats-its-older-dropdown-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s Loaded Hamburger Menu Beats Its Older Dropdown Version In This A/B Test'; public $number = 38; public $leak_variants = '(RepeaterPageArray) 4759|4760'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.26844269008ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4756; public $name = 'amazons-loaded-hamburger-menu-beats-its-older-dropdown-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s Loaded Hamburger Menu Beats Its Older Dropdown Version In This A/B Test'; public $number = 38; public $leak_variants = '(RepeaterPageArray) 4759|4760'; public $data = [...] }], $options = [] ).../Functions.php:552
201.26844272520include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.26834269008ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4756; public $name = 'amazons-loaded-hamburger-menu-beats-its-older-dropdown-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s Loaded Hamburger Menu Beats Its Older Dropdown Version In This A/B Test'; public $number = 38; public $leak_variants = '(RepeaterPageArray) 4759|4760'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.26844269008ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4756; public $name = 'amazons-loaded-hamburger-menu-beats-its-older-dropdown-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s Loaded Hamburger Menu Beats Its Older Dropdown Version In This A/B Test'; public $number = 38; public $leak_variants = '(RepeaterPageArray) 4759|4760'; public $data = [...] }], $options = [] ).../Functions.php:552
201.26844272520include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.26834269008ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4756; public $name = 'amazons-loaded-hamburger-menu-beats-its-older-dropdown-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s Loaded Hamburger Menu Beats Its Older Dropdown Version In This A/B Test'; public $number = 38; public $leak_variants = '(RepeaterPageArray) 4759|4760'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.26844269008ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4756; public $name = 'amazons-loaded-hamburger-menu-beats-its-older-dropdown-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s Loaded Hamburger Menu Beats Its Older Dropdown Version In This A/B Test'; public $number = 38; public $leak_variants = '(RepeaterPageArray) 4759|4760'; public $data = [...] }], $options = [] ).../Functions.php:552
201.26844272520include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #38 from Amazon.com   |   Dec 27, 2019 Global

Amazon's Loaded Hamburger Menu Beats Its Older Dropdown Version In This A/B Test

At first glance some A/B tests may seem like they are beautifully simple with a single controlled variable. Yet as we look at the experiment in more detail, more and more subtle differences start coming into view. This I think is the case with Amazon's most recent experiment where it seems that only a dropdown menu was shifted into a hamburger one - which ended up winning.  View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.37064384216ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4727; public $name = 'bol-discovers-something-better-than-classic-pulldown-menus-as-expected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers Something Better Than Classic Pulldown Menus, As Expected'; public $number = 37; public $leak_variants = '(RepeaterPageArray) 4730|4731'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.37074384216ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4727; public $name = 'bol-discovers-something-better-than-classic-pulldown-menus-as-expected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers Something Better Than Classic Pulldown Menus, As Expected'; public $number = 37; public $leak_variants = '(RepeaterPageArray) 4730|4731'; public $data = [...] }], $options = [] ).../Functions.php:552
201.37074387728include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.37064384216ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4727; public $name = 'bol-discovers-something-better-than-classic-pulldown-menus-as-expected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers Something Better Than Classic Pulldown Menus, As Expected'; public $number = 37; public $leak_variants = '(RepeaterPageArray) 4730|4731'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.37074384216ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4727; public $name = 'bol-discovers-something-better-than-classic-pulldown-menus-as-expected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers Something Better Than Classic Pulldown Menus, As Expected'; public $number = 37; public $leak_variants = '(RepeaterPageArray) 4730|4731'; public $data = [...] }], $options = [] ).../Functions.php:552
201.37074387728include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.37064384216ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4727; public $name = 'bol-discovers-something-better-than-classic-pulldown-menus-as-expected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers Something Better Than Classic Pulldown Menus, As Expected'; public $number = 37; public $leak_variants = '(RepeaterPageArray) 4730|4731'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.37074384216ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4727; public $name = 'bol-discovers-something-better-than-classic-pulldown-menus-as-expected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers Something Better Than Classic Pulldown Menus, As Expected'; public $number = 37; public $leak_variants = '(RepeaterPageArray) 4730|4731'; public $data = [...] }], $options = [] ).../Functions.php:552
201.37074387728include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.37064384216ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4727; public $name = 'bol-discovers-something-better-than-classic-pulldown-menus-as-expected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers Something Better Than Classic Pulldown Menus, As Expected'; public $number = 37; public $leak_variants = '(RepeaterPageArray) 4730|4731'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.37074384216ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4727; public $name = 'bol-discovers-something-better-than-classic-pulldown-menus-as-expected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers Something Better Than Classic Pulldown Menus, As Expected'; public $number = 37; public $leak_variants = '(RepeaterPageArray) 4730|4731'; public $data = [...] }], $options = [] ).../Functions.php:552
201.37074387728include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.37064384216ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4727; public $name = 'bol-discovers-something-better-than-classic-pulldown-menus-as-expected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers Something Better Than Classic Pulldown Menus, As Expected'; public $number = 37; public $leak_variants = '(RepeaterPageArray) 4730|4731'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.37074384216ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4727; public $name = 'bol-discovers-something-better-than-classic-pulldown-menus-as-expected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers Something Better Than Classic Pulldown Menus, As Expected'; public $number = 37; public $leak_variants = '(RepeaterPageArray) 4730|4731'; public $data = [...] }], $options = [] ).../Functions.php:552
201.37074387728include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #37 from Bol.com   |   Dec 17, 2019 Listing

Bol Discovers Something Better Than Classic Pulldown Menus, As Expected

When Bol ran their list vs grid view experiment, they also included a variation that tested for another very simple change: the exposure of menu options. That is, the listing page variant was designed to check if three more visible pull down options would be better or worse than just showing them hidden inside the pulldown. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.47314515728ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4686; public $name = 'booking-fails-to-replicate-airbnbs-signup-this-experiment-suggests'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Fails To Replicate Airbnb\'s Signup, This Experiment Suggests'; public $number = 36; public $leak_variants = '(RepeaterPageArray) 4689|4690'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.47314515728ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4686; public $name = 'booking-fails-to-replicate-airbnbs-signup-this-experiment-suggests'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Fails To Replicate Airbnb\'s Signup, This Experiment Suggests'; public $number = 36; public $leak_variants = '(RepeaterPageArray) 4689|4690'; public $data = [...] }], $options = [] ).../Functions.php:552
201.47324519240include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.47314515728ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4686; public $name = 'booking-fails-to-replicate-airbnbs-signup-this-experiment-suggests'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Fails To Replicate Airbnb\'s Signup, This Experiment Suggests'; public $number = 36; public $leak_variants = '(RepeaterPageArray) 4689|4690'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.47314515728ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4686; public $name = 'booking-fails-to-replicate-airbnbs-signup-this-experiment-suggests'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Fails To Replicate Airbnb\'s Signup, This Experiment Suggests'; public $number = 36; public $leak_variants = '(RepeaterPageArray) 4689|4690'; public $data = [...] }], $options = [] ).../Functions.php:552
201.47324519240include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.47314515728ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4686; public $name = 'booking-fails-to-replicate-airbnbs-signup-this-experiment-suggests'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Fails To Replicate Airbnb\'s Signup, This Experiment Suggests'; public $number = 36; public $leak_variants = '(RepeaterPageArray) 4689|4690'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.47314515728ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4686; public $name = 'booking-fails-to-replicate-airbnbs-signup-this-experiment-suggests'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Fails To Replicate Airbnb\'s Signup, This Experiment Suggests'; public $number = 36; public $leak_variants = '(RepeaterPageArray) 4689|4690'; public $data = [...] }], $options = [] ).../Functions.php:552
201.47324519240include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.47314515728ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4686; public $name = 'booking-fails-to-replicate-airbnbs-signup-this-experiment-suggests'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Fails To Replicate Airbnb\'s Signup, This Experiment Suggests'; public $number = 36; public $leak_variants = '(RepeaterPageArray) 4689|4690'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.47314515728ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4686; public $name = 'booking-fails-to-replicate-airbnbs-signup-this-experiment-suggests'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Fails To Replicate Airbnb\'s Signup, This Experiment Suggests'; public $number = 36; public $leak_variants = '(RepeaterPageArray) 4689|4690'; public $data = [...] }], $options = [] ).../Functions.php:552
201.47324519240include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.47314515728ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4686; public $name = 'booking-fails-to-replicate-airbnbs-signup-this-experiment-suggests'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Fails To Replicate Airbnb\'s Signup, This Experiment Suggests'; public $number = 36; public $leak_variants = '(RepeaterPageArray) 4689|4690'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.47314515728ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4686; public $name = 'booking-fails-to-replicate-airbnbs-signup-this-experiment-suggests'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking Fails To Replicate Airbnb\'s Signup, This Experiment Suggests'; public $number = 36; public $leak_variants = '(RepeaterPageArray) 4689|4690'; public $data = [...] }], $options = [] ).../Functions.php:552
201.47324519240include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #36 from Booking.com   |   Dec 10, 2019 Signup

Booking Fails To Replicate Airbnb's Signup, This Experiment Suggests

It seems to me that Booking may have attempted a replication or imitation of one of their competitors - I'll let you be the judge. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.57624632696ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4622; public $name = 'netflix-a-b-tests-a-single-plan-recommendation-and-it-becomes-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests A Single Plan Recommendation And It Becomes Rejected'; public $number = 35; public $leak_variants = '(RepeaterPageArray) 4625|4626'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.57624632696ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4622; public $name = 'netflix-a-b-tests-a-single-plan-recommendation-and-it-becomes-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests A Single Plan Recommendation And It Becomes Rejected'; public $number = 35; public $leak_variants = '(RepeaterPageArray) 4625|4626'; public $data = [...] }], $options = [] ).../Functions.php:552
201.57634636208include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.57624632696ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4622; public $name = 'netflix-a-b-tests-a-single-plan-recommendation-and-it-becomes-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests A Single Plan Recommendation And It Becomes Rejected'; public $number = 35; public $leak_variants = '(RepeaterPageArray) 4625|4626'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.57624632696ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4622; public $name = 'netflix-a-b-tests-a-single-plan-recommendation-and-it-becomes-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests A Single Plan Recommendation And It Becomes Rejected'; public $number = 35; public $leak_variants = '(RepeaterPageArray) 4625|4626'; public $data = [...] }], $options = [] ).../Functions.php:552
201.57634636208include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.57624632696ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4622; public $name = 'netflix-a-b-tests-a-single-plan-recommendation-and-it-becomes-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests A Single Plan Recommendation And It Becomes Rejected'; public $number = 35; public $leak_variants = '(RepeaterPageArray) 4625|4626'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.57624632696ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4622; public $name = 'netflix-a-b-tests-a-single-plan-recommendation-and-it-becomes-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests A Single Plan Recommendation And It Becomes Rejected'; public $number = 35; public $leak_variants = '(RepeaterPageArray) 4625|4626'; public $data = [...] }], $options = [] ).../Functions.php:552
201.57634636208include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.57624632696ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4622; public $name = 'netflix-a-b-tests-a-single-plan-recommendation-and-it-becomes-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests A Single Plan Recommendation And It Becomes Rejected'; public $number = 35; public $leak_variants = '(RepeaterPageArray) 4625|4626'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.57624632696ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4622; public $name = 'netflix-a-b-tests-a-single-plan-recommendation-and-it-becomes-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests A Single Plan Recommendation And It Becomes Rejected'; public $number = 35; public $leak_variants = '(RepeaterPageArray) 4625|4626'; public $data = [...] }], $options = [] ).../Functions.php:552
201.57634636208include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.57624632696ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4622; public $name = 'netflix-a-b-tests-a-single-plan-recommendation-and-it-becomes-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests A Single Plan Recommendation And It Becomes Rejected'; public $number = 35; public $leak_variants = '(RepeaterPageArray) 4625|4626'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.57624632696ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4622; public $name = 'netflix-a-b-tests-a-single-plan-recommendation-and-it-becomes-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests A Single Plan Recommendation And It Becomes Rejected'; public $number = 35; public $leak_variants = '(RepeaterPageArray) 4625|4626'; public $data = [...] }], $options = [] ).../Functions.php:552
201.57634636208include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #35 from Netflix.com   |   Dec 2, 2019 Pricing

Netflix A/B Tests A Single Plan Recommendation And It Becomes Rejected

Netflix made a bold move and challenged their traditional 3 plan pricing page with a preselected single plan recommendation. Clear and equally balanced choice vs. a single mid tier plan.  View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.67934756176ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4598; public $name = 'google-also-a-b-tests-the-list-vs-the-grid'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Google Also A/B Tests The List Vs The Grid'; public $number = 34; public $leak_variants = '(RepeaterPageArray) 4601|4602'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.67934756176ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4598; public $name = 'google-also-a-b-tests-the-list-vs-the-grid'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Google Also A/B Tests The List Vs The Grid'; public $number = 34; public $leak_variants = '(RepeaterPageArray) 4601|4602'; public $data = [...] }], $options = [] ).../Functions.php:552
201.67944759688include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.67934756176ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4598; public $name = 'google-also-a-b-tests-the-list-vs-the-grid'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Google Also A/B Tests The List Vs The Grid'; public $number = 34; public $leak_variants = '(RepeaterPageArray) 4601|4602'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.67934756176ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4598; public $name = 'google-also-a-b-tests-the-list-vs-the-grid'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Google Also A/B Tests The List Vs The Grid'; public $number = 34; public $leak_variants = '(RepeaterPageArray) 4601|4602'; public $data = [...] }], $options = [] ).../Functions.php:552
201.67944759688include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.67934756176ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4598; public $name = 'google-also-a-b-tests-the-list-vs-the-grid'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Google Also A/B Tests The List Vs The Grid'; public $number = 34; public $leak_variants = '(RepeaterPageArray) 4601|4602'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.67934756176ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4598; public $name = 'google-also-a-b-tests-the-list-vs-the-grid'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Google Also A/B Tests The List Vs The Grid'; public $number = 34; public $leak_variants = '(RepeaterPageArray) 4601|4602'; public $data = [...] }], $options = [] ).../Functions.php:552
201.67944759688include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.67934756176ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4598; public $name = 'google-also-a-b-tests-the-list-vs-the-grid'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Google Also A/B Tests The List Vs The Grid'; public $number = 34; public $leak_variants = '(RepeaterPageArray) 4601|4602'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.67934756176ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4598; public $name = 'google-also-a-b-tests-the-list-vs-the-grid'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Google Also A/B Tests The List Vs The Grid'; public $number = 34; public $leak_variants = '(RepeaterPageArray) 4601|4602'; public $data = [...] }], $options = [] ).../Functions.php:552
201.67944759688include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.67934756176ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4598; public $name = 'google-also-a-b-tests-the-list-vs-the-grid'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Google Also A/B Tests The List Vs The Grid'; public $number = 34; public $leak_variants = '(RepeaterPageArray) 4601|4602'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.67934756176ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4598; public $name = 'google-also-a-b-tests-the-list-vs-the-grid'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Google Also A/B Tests The List Vs The Grid'; public $number = 34; public $leak_variants = '(RepeaterPageArray) 4601|4602'; public $data = [...] }], $options = [] ).../Functions.php:552
201.67944759688include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #34 from Google.com   |   Nov 25, 2019 Listing

Google Also A/B Tests The List Vs The Grid

Interestingly, Google was also discovered a/b testing the list vs grid pattern just as Bol finished a similar experiment this month. The Google experiment ran on one of their shopping results pages with the specific query for "flowers". And the outcome? Looks like the grid beat the list and was rolled out in this case.  View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.78164887632ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4570; public $name = 'bol-a-b-tests-the-ui-classic-list-vs-grid-view-with-a-clear-decision'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests The UI Classic: List Vs Grid View With A Clear Decision'; public $number = 33; public $leak_variants = '(RepeaterPageArray) 4573|4574'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.78164887632ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4570; public $name = 'bol-a-b-tests-the-ui-classic-list-vs-grid-view-with-a-clear-decision'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests The UI Classic: List Vs Grid View With A Clear Decision'; public $number = 33; public $leak_variants = '(RepeaterPageArray) 4573|4574'; public $data = [...] }], $options = [] ).../Functions.php:552
201.78174891144include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.78164887632ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4570; public $name = 'bol-a-b-tests-the-ui-classic-list-vs-grid-view-with-a-clear-decision'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests The UI Classic: List Vs Grid View With A Clear Decision'; public $number = 33; public $leak_variants = '(RepeaterPageArray) 4573|4574'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.78164887632ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4570; public $name = 'bol-a-b-tests-the-ui-classic-list-vs-grid-view-with-a-clear-decision'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests The UI Classic: List Vs Grid View With A Clear Decision'; public $number = 33; public $leak_variants = '(RepeaterPageArray) 4573|4574'; public $data = [...] }], $options = [] ).../Functions.php:552
201.78174891144include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.78164887632ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4570; public $name = 'bol-a-b-tests-the-ui-classic-list-vs-grid-view-with-a-clear-decision'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests The UI Classic: List Vs Grid View With A Clear Decision'; public $number = 33; public $leak_variants = '(RepeaterPageArray) 4573|4574'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.78164887632ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4570; public $name = 'bol-a-b-tests-the-ui-classic-list-vs-grid-view-with-a-clear-decision'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests The UI Classic: List Vs Grid View With A Clear Decision'; public $number = 33; public $leak_variants = '(RepeaterPageArray) 4573|4574'; public $data = [...] }], $options = [] ).../Functions.php:552
201.78174891144include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.78164887632ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4570; public $name = 'bol-a-b-tests-the-ui-classic-list-vs-grid-view-with-a-clear-decision'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests The UI Classic: List Vs Grid View With A Clear Decision'; public $number = 33; public $leak_variants = '(RepeaterPageArray) 4573|4574'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.78164887632ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4570; public $name = 'bol-a-b-tests-the-ui-classic-list-vs-grid-view-with-a-clear-decision'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests The UI Classic: List Vs Grid View With A Clear Decision'; public $number = 33; public $leak_variants = '(RepeaterPageArray) 4573|4574'; public $data = [...] }], $options = [] ).../Functions.php:552
201.78174891144include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.78164887632ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4570; public $name = 'bol-a-b-tests-the-ui-classic-list-vs-grid-view-with-a-clear-decision'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests The UI Classic: List Vs Grid View With A Clear Decision'; public $number = 33; public $leak_variants = '(RepeaterPageArray) 4573|4574'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.78164887632ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4570; public $name = 'bol-a-b-tests-the-ui-classic-list-vs-grid-view-with-a-clear-decision'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests The UI Classic: List Vs Grid View With A Clear Decision'; public $number = 33; public $leak_variants = '(RepeaterPageArray) 4573|4574'; public $data = [...] }], $options = [] ).../Functions.php:552
201.78174891144include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #33 from Bol.com   |   Nov 18, 2019 Listing

Bol A/B Tests The UI Classic: List Vs Grid View With A Clear Decision

I am continously interested in answering and providing guidance on whether grid or list views are in general better, worse or indifferent as one of many UI patterns. To my surprise, Bol.com the leading Dutch web shop, has recently a/b tested this classic pattern which we were super lucky to detect on their red wine product listing pages. After anticipating their leaked design decision, we eventually learned that lists fared better for Bol. This of course we'll now use as additional and emerging evidence to tip the scales of probability (and hopefully better predict similar future experiments). View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.88445003016ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4541; public $name = 'airbnb-a-b-tests-and-rejects-both-of-these-social-proof-statements'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects Both Of These Social Proof Statements'; public $number = 32; public $leak_variants = '(RepeaterPageArray) 4544|4545|4546'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.88445003016ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4541; public $name = 'airbnb-a-b-tests-and-rejects-both-of-these-social-proof-statements'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects Both Of These Social Proof Statements'; public $number = 32; public $leak_variants = '(RepeaterPageArray) 4544|4545|4546'; public $data = [...] }], $options = [] ).../Functions.php:552
201.88445006528include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.88445003016ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4541; public $name = 'airbnb-a-b-tests-and-rejects-both-of-these-social-proof-statements'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects Both Of These Social Proof Statements'; public $number = 32; public $leak_variants = '(RepeaterPageArray) 4544|4545|4546'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.88445003016ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4541; public $name = 'airbnb-a-b-tests-and-rejects-both-of-these-social-proof-statements'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects Both Of These Social Proof Statements'; public $number = 32; public $leak_variants = '(RepeaterPageArray) 4544|4545|4546'; public $data = [...] }], $options = [] ).../Functions.php:552
201.88445006528include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.88445003016ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4541; public $name = 'airbnb-a-b-tests-and-rejects-both-of-these-social-proof-statements'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects Both Of These Social Proof Statements'; public $number = 32; public $leak_variants = '(RepeaterPageArray) 4544|4545|4546'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.88445003016ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4541; public $name = 'airbnb-a-b-tests-and-rejects-both-of-these-social-proof-statements'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects Both Of These Social Proof Statements'; public $number = 32; public $leak_variants = '(RepeaterPageArray) 4544|4545|4546'; public $data = [...] }], $options = [] ).../Functions.php:552
201.88445006528include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.88445003016ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4541; public $name = 'airbnb-a-b-tests-and-rejects-both-of-these-social-proof-statements'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects Both Of These Social Proof Statements'; public $number = 32; public $leak_variants = '(RepeaterPageArray) 4544|4545|4546'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.88445003016ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4541; public $name = 'airbnb-a-b-tests-and-rejects-both-of-these-social-proof-statements'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects Both Of These Social Proof Statements'; public $number = 32; public $leak_variants = '(RepeaterPageArray) 4544|4545|4546'; public $data = [...] }], $options = [] ).../Functions.php:552
201.88445006528include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.88445003016ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4541; public $name = 'airbnb-a-b-tests-and-rejects-both-of-these-social-proof-statements'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects Both Of These Social Proof Statements'; public $number = 32; public $leak_variants = '(RepeaterPageArray) 4544|4545|4546'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.88445003016ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4541; public $name = 'airbnb-a-b-tests-and-rejects-both-of-these-social-proof-statements'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects Both Of These Social Proof Statements'; public $number = 32; public $leak_variants = '(RepeaterPageArray) 4544|4545|4546'; public $data = [...] }], $options = [] ).../Functions.php:552
201.88445006528include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #32 from Airbnb.com   |   Nov 11, 2019 Home & Landing

Airbnb A/B Tests And Rejects Both Of These Social Proof Statements

Many companies have already tried and tested the pattern of displaying numerical social proof in some form or another. In this leaked experiment from Airbnb on their host signup landing page, we managed to detect two social proof statements that were eventually rejected. Here are some potential explanations as to possibly why they failed to deliver on an improvement. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.99835148840ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4507; public $name = 'netflix-designs-their-button-a-little-too-big'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Designs Their Button A Little Too Big'; public $number = 31; public $leak_variants = '(RepeaterPageArray) 4510|4511|4512'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.99835148840ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4507; public $name = 'netflix-designs-their-button-a-little-too-big'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Designs Their Button A Little Too Big'; public $number = 31; public $leak_variants = '(RepeaterPageArray) 4510|4511|4512'; public $data = [...] }], $options = [] ).../Functions.php:552
201.99835152352include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.99835148840ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4507; public $name = 'netflix-designs-their-button-a-little-too-big'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Designs Their Button A Little Too Big'; public $number = 31; public $leak_variants = '(RepeaterPageArray) 4510|4511|4512'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.99835148840ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4507; public $name = 'netflix-designs-their-button-a-little-too-big'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Designs Their Button A Little Too Big'; public $number = 31; public $leak_variants = '(RepeaterPageArray) 4510|4511|4512'; public $data = [...] }], $options = [] ).../Functions.php:552
201.99835152352include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.99835148840ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4507; public $name = 'netflix-designs-their-button-a-little-too-big'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Designs Their Button A Little Too Big'; public $number = 31; public $leak_variants = '(RepeaterPageArray) 4510|4511|4512'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.99835148840ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4507; public $name = 'netflix-designs-their-button-a-little-too-big'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Designs Their Button A Little Too Big'; public $number = 31; public $leak_variants = '(RepeaterPageArray) 4510|4511|4512'; public $data = [...] }], $options = [] ).../Functions.php:552
201.99835152352include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.99835148840ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4507; public $name = 'netflix-designs-their-button-a-little-too-big'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Designs Their Button A Little Too Big'; public $number = 31; public $leak_variants = '(RepeaterPageArray) 4510|4511|4512'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.99835148840ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4507; public $name = 'netflix-designs-their-button-a-little-too-big'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Designs Their Button A Little Too Big'; public $number = 31; public $leak_variants = '(RepeaterPageArray) 4510|4511|4512'; public $data = [...] }], $options = [] ).../Functions.php:552
201.99835152352include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.99835148840ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4507; public $name = 'netflix-designs-their-button-a-little-too-big'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Designs Their Button A Little Too Big'; public $number = 31; public $leak_variants = '(RepeaterPageArray) 4510|4511|4512'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.99835148840ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4507; public $name = 'netflix-designs-their-button-a-little-too-big'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix Designs Their Button A Little Too Big'; public $number = 31; public $leak_variants = '(RepeaterPageArray) 4510|4511|4512'; public $data = [...] }], $options = [] ).../Functions.php:552
201.99835152352include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #31 from Netflix.com   |   Nov 4, 2019 Home & Landing

Netflix Designs Their Button A Little Too Big

Sooner or later design properties should reach optimums for their given contexts. That is, UI elements will become just right - not too big and not too small, or not too high and not to low, etc. In this leak, it seems that Netflix has approached such an optimum when they tested various button sizes on their landing page. Given that form elements and buttons should generally be bigger, it was inevitable for this new evidence to appear as an example of a button being simply too big - as seen in this beautiful experiment. :) View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.11345291864ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4490; public $name = 'bookings-carousel-fails-in-this-experiment-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking\'s Homepage Carousel Experiment Fails As Predicted'; public $number = 30; public $leak_variants = '(RepeaterPageArray) 4493|4494'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.11345291864ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4490; public $name = 'bookings-carousel-fails-in-this-experiment-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking\'s Homepage Carousel Experiment Fails As Predicted'; public $number = 30; public $leak_variants = '(RepeaterPageArray) 4493|4494'; public $data = [...] }], $options = [] ).../Functions.php:552
202.11355295376include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.11345291864ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4490; public $name = 'bookings-carousel-fails-in-this-experiment-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking\'s Homepage Carousel Experiment Fails As Predicted'; public $number = 30; public $leak_variants = '(RepeaterPageArray) 4493|4494'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.11345291864ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4490; public $name = 'bookings-carousel-fails-in-this-experiment-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking\'s Homepage Carousel Experiment Fails As Predicted'; public $number = 30; public $leak_variants = '(RepeaterPageArray) 4493|4494'; public $data = [...] }], $options = [] ).../Functions.php:552
202.11355295376include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.11345291864ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4490; public $name = 'bookings-carousel-fails-in-this-experiment-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking\'s Homepage Carousel Experiment Fails As Predicted'; public $number = 30; public $leak_variants = '(RepeaterPageArray) 4493|4494'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.11345291864ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4490; public $name = 'bookings-carousel-fails-in-this-experiment-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking\'s Homepage Carousel Experiment Fails As Predicted'; public $number = 30; public $leak_variants = '(RepeaterPageArray) 4493|4494'; public $data = [...] }], $options = [] ).../Functions.php:552
202.11355295376include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.11345291864ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4490; public $name = 'bookings-carousel-fails-in-this-experiment-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking\'s Homepage Carousel Experiment Fails As Predicted'; public $number = 30; public $leak_variants = '(RepeaterPageArray) 4493|4494'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.11345291864ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4490; public $name = 'bookings-carousel-fails-in-this-experiment-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking\'s Homepage Carousel Experiment Fails As Predicted'; public $number = 30; public $leak_variants = '(RepeaterPageArray) 4493|4494'; public $data = [...] }], $options = [] ).../Functions.php:552
202.11355295376include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.11345291864ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4490; public $name = 'bookings-carousel-fails-in-this-experiment-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking\'s Homepage Carousel Experiment Fails As Predicted'; public $number = 30; public $leak_variants = '(RepeaterPageArray) 4493|4494'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.11345291864ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4490; public $name = 'bookings-carousel-fails-in-this-experiment-as-predicted'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Booking\'s Homepage Carousel Experiment Fails As Predicted'; public $number = 30; public $leak_variants = '(RepeaterPageArray) 4493|4494'; public $data = [...] }], $options = [] ).../Functions.php:552
202.11355295376include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #30 from Booking.com   |   Oct 28, 2019 Home & Landing

Booking's Homepage Carousel Experiment Fails As Predicted

I was glad to detect this carousel experiment that Booking recently ran on their homepage because we've already seen similar experiments fail in the past. Instead of showing 5 location tiles, they tested a version that only showed 3 tiles at a time with an ability to slide for more - a carousel. It wasn't the automatic slider type that would unleash the wrath of Karl Gilis, but it was a user-invoked slider nevertheless. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.21655398936ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4464; public $name = 'amazon-discovers-that-product-availability-and-price-belong-closer-towards-add-to-cart'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Product Availability And Price Belong Closer Towards Add To Cart'; public $number = 29; public $leak_variants = '(RepeaterPageArray) 4467|4468'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.21655398936ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4464; public $name = 'amazon-discovers-that-product-availability-and-price-belong-closer-towards-add-to-cart'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Product Availability And Price Belong Closer Towards Add To Cart'; public $number = 29; public $leak_variants = '(RepeaterPageArray) 4467|4468'; public $data = [...] }], $options = [] ).../Functions.php:552
202.21655402448include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "leak" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.21655398936ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4464; public $name = 'amazon-discovers-that-product-availability-and-price-belong-closer-towards-add-to-cart'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Product Availability And Price Belong Closer Towards Add To Cart'; public $number = 29; public $leak_variants = '(RepeaterPageArray) 4467|4468'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.21655398936ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4464; public $name = 'amazon-discovers-that-product-availability-and-price-belong-closer-towards-add-to-cart'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Product Availability And Price Belong Closer Towards Add To Cart'; public $number = 29; public $leak_variants = '(RepeaterPageArray) 4467|4468'; public $data = [...] }], $options = [] ).../Functions.php:552
202.21655402448include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "points" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.21655398936ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4464; public $name = 'amazon-discovers-that-product-availability-and-price-belong-closer-towards-add-to-cart'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Product Availability And Price Belong Closer Towards Add To Cart'; public $number = 29; public $leak_variants = '(RepeaterPageArray) 4467|4468'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.21655398936ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4464; public $name = 'amazon-discovers-that-product-availability-and-price-belong-closer-towards-add-to-cart'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Product Availability And Price Belong Closer Towards Add To Cart'; public $number = 29; public $leak_variants = '(RepeaterPageArray) 4467|4468'; public $data = [...] }], $options = [] ).../Functions.php:552
202.21655402448include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.21655398936ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4464; public $name = 'amazon-discovers-that-product-availability-and-price-belong-closer-towards-add-to-cart'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Product Availability And Price Belong Closer Towards Add To Cart'; public $number = 29; public $leak_variants = '(RepeaterPageArray) 4467|4468'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.21655398936ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4464; public $name = 'amazon-discovers-that-product-availability-and-price-belong-closer-towards-add-to-cart'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Product Availability And Price Belong Closer Towards Add To Cart'; public $number = 29; public $leak_variants = '(RepeaterPageArray) 4467|4468'; public $data = [...] }], $options = [] ).../Functions.php:552
202.21655402448include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

( ! ) Warning: Attempt to read property "invert_ab" on null in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 24
Call Stack
#TimeMemoryFunctionLocation
10.0000465256{main}( ).../index.php:0
20.06282252264ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.06292252264ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.06292252680ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.06292252680ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.06572265584ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.08222299744ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.08222299744ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.08232301704ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.08232301704ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.08232302120ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.08232302120ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.08322302664ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.08322302664ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.08332304016ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.08332304016ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.08352340200require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.21655398936ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4464; public $name = 'amazon-discovers-that-product-availability-and-price-belong-closer-towards-add-to-cart'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Product Availability And Price Belong Closer Towards Add To Cart'; public $number = 29; public $leak_variants = '(RepeaterPageArray) 4467|4468'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.21655398936ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 4464; public $name = 'amazon-discovers-that-product-availability-and-price-belong-closer-towards-add-to-cart'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Product Availability And Price Belong Closer Towards Add To Cart'; public $number = 29; public $leak_variants = '(RepeaterPageArray) 4467|4468'; public $data = [...] }], $options = [] ).../Functions.php:552
202.21655402448include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #29 from Amazon.com   |   Oct 21, 2019 Product

Amazon Discovers That Product Availability And Price Belong Closer Towards Add To Cart

In this little experiment, Amazon shifted the availability information towards the center of its product pages. Instead of showing if and when a product will ship near the right add to cart tile, it was moved towards above the product description. Some weeks later, we discovered that this change was rejected in favor of showing the same information in the top right. View Leak