( ! ) 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 21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55 31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484 41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952 51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416 61.89522266224ProcessWire\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 71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184 81.90652300384ProcessWire\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 91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060 101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484 111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952 121.90662302760ProcessWire\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 131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575 141.90722303304ProcessWire\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 151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952 161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413 174.09415447632require( '/home/jlahijani/Sites/goodui.org/site/templates/_main.php ).../TemplateFile.php:340 184.09465473752include( '/home/jlahijani/Sites/goodui.org/site/templates/_og.php ).../_main.php:64 194.09615472496strip_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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.99252943504ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7954; public $name = 'airbnb-a-b-tests-and-rejects-a-natural-language-form'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects A Natural Language Form'; public $number = 68; public $leak_variants = '(RepeaterPageArray) 7957|7958'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.99252943504ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7954; public $name = 'airbnb-a-b-tests-and-rejects-a-natural-language-form'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects A Natural Language Form'; public $number = 68; public $leak_variants = '(RepeaterPageArray) 7957|7958'; public $data = [...] }], $options = [] ).../Functions.php:552
201.99252948984include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.99252943504ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7954; public $name = 'airbnb-a-b-tests-and-rejects-a-natural-language-form'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects A Natural Language Form'; public $number = 68; public $leak_variants = '(RepeaterPageArray) 7957|7958'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.99252943504ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7954; public $name = 'airbnb-a-b-tests-and-rejects-a-natural-language-form'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects A Natural Language Form'; public $number = 68; public $leak_variants = '(RepeaterPageArray) 7957|7958'; public $data = [...] }], $options = [] ).../Functions.php:552
201.99252948984include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.99252943504ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7954; public $name = 'airbnb-a-b-tests-and-rejects-a-natural-language-form'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects A Natural Language Form'; public $number = 68; public $leak_variants = '(RepeaterPageArray) 7957|7958'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.99252943504ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7954; public $name = 'airbnb-a-b-tests-and-rejects-a-natural-language-form'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects A Natural Language Form'; public $number = 68; public $leak_variants = '(RepeaterPageArray) 7957|7958'; public $data = [...] }], $options = [] ).../Functions.php:552
201.99252948984include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.99252943504ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7954; public $name = 'airbnb-a-b-tests-and-rejects-a-natural-language-form'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects A Natural Language Form'; public $number = 68; public $leak_variants = '(RepeaterPageArray) 7957|7958'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.99252943504ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7954; public $name = 'airbnb-a-b-tests-and-rejects-a-natural-language-form'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects A Natural Language Form'; public $number = 68; public $leak_variants = '(RepeaterPageArray) 7957|7958'; public $data = [...] }], $options = [] ).../Functions.php:552
201.99252948984include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.99252943504ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7954; public $name = 'airbnb-a-b-tests-and-rejects-a-natural-language-form'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects A Natural Language Form'; public $number = 68; public $leak_variants = '(RepeaterPageArray) 7957|7958'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.99252943504ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7954; public $name = 'airbnb-a-b-tests-and-rejects-a-natural-language-form'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Rejects A Natural Language Form'; public $number = 68; public $leak_variants = '(RepeaterPageArray) 7957|7958'; public $data = [...] }], $options = [] ).../Functions.php:552
201.99252948984include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #68 from Airbnb.com   |   Apr 20, 2021 Home & Landing

Airbnb A/B Tests And Rejects A Natural Language Form

Airbnb just completed an interesting experiment on their Become A Host landing page. They replaced a simple headline with a more dynamic natural language form that provided a sense of how much money someone could make from hosting their place. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.10443084536ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7837; public $name = 'amazon-a-b-tests-and-rolls-out-product-reassurances'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Product Reassurances'; public $number = 67; public $leak_variants = '(RepeaterPageArray) 7840|7841'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.10443084536ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7837; public $name = 'amazon-a-b-tests-and-rolls-out-product-reassurances'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Product Reassurances'; public $number = 67; public $leak_variants = '(RepeaterPageArray) 7840|7841'; public $data = [...] }], $options = [] ).../Functions.php:552
202.10443088048include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.10443084536ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7837; public $name = 'amazon-a-b-tests-and-rolls-out-product-reassurances'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Product Reassurances'; public $number = 67; public $leak_variants = '(RepeaterPageArray) 7840|7841'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.10443084536ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7837; public $name = 'amazon-a-b-tests-and-rolls-out-product-reassurances'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Product Reassurances'; public $number = 67; public $leak_variants = '(RepeaterPageArray) 7840|7841'; public $data = [...] }], $options = [] ).../Functions.php:552
202.10443088048include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.10443084536ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7837; public $name = 'amazon-a-b-tests-and-rolls-out-product-reassurances'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Product Reassurances'; public $number = 67; public $leak_variants = '(RepeaterPageArray) 7840|7841'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.10443084536ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7837; public $name = 'amazon-a-b-tests-and-rolls-out-product-reassurances'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Product Reassurances'; public $number = 67; public $leak_variants = '(RepeaterPageArray) 7840|7841'; public $data = [...] }], $options = [] ).../Functions.php:552
202.10443088048include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.10443084536ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7837; public $name = 'amazon-a-b-tests-and-rolls-out-product-reassurances'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Product Reassurances'; public $number = 67; public $leak_variants = '(RepeaterPageArray) 7840|7841'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.10443084536ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7837; public $name = 'amazon-a-b-tests-and-rolls-out-product-reassurances'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Product Reassurances'; public $number = 67; public $leak_variants = '(RepeaterPageArray) 7840|7841'; public $data = [...] }], $options = [] ).../Functions.php:552
202.10443088048include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.10443084536ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7837; public $name = 'amazon-a-b-tests-and-rolls-out-product-reassurances'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Product Reassurances'; public $number = 67; public $leak_variants = '(RepeaterPageArray) 7840|7841'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.10443084536ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7837; public $name = 'amazon-a-b-tests-and-rolls-out-product-reassurances'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Product Reassurances'; public $number = 67; public $leak_variants = '(RepeaterPageArray) 7840|7841'; public $data = [...] }], $options = [] ).../Functions.php:552
202.10443088048include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #67 from Amazon.ca   |   Mar 29, 2021 Product

Amazon A/B Tests And Rolls Out Product Reassurances

Amazon (Canadian) recently ran this A/B test where they added these three little reassurances on some of their products. This experiment is similar to the maturing Benefit Bar pattern that addresses common objections to a purchase. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.20823200656ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7702; public $name = 'airbnb-once-again-rejects-next-available-date-suggestions'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Once Again Rejects Next Available Date Suggestions'; public $number = 66; public $leak_variants = '(RepeaterPageArray) 7705|7706'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.20823200656ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7702; public $name = 'airbnb-once-again-rejects-next-available-date-suggestions'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Once Again Rejects Next Available Date Suggestions'; public $number = 66; public $leak_variants = '(RepeaterPageArray) 7705|7706'; public $data = [...] }], $options = [] ).../Functions.php:552
202.20833204168include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.20823200656ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7702; public $name = 'airbnb-once-again-rejects-next-available-date-suggestions'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Once Again Rejects Next Available Date Suggestions'; public $number = 66; public $leak_variants = '(RepeaterPageArray) 7705|7706'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.20823200656ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7702; public $name = 'airbnb-once-again-rejects-next-available-date-suggestions'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Once Again Rejects Next Available Date Suggestions'; public $number = 66; public $leak_variants = '(RepeaterPageArray) 7705|7706'; public $data = [...] }], $options = [] ).../Functions.php:552
202.20833204168include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.20823200656ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7702; public $name = 'airbnb-once-again-rejects-next-available-date-suggestions'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Once Again Rejects Next Available Date Suggestions'; public $number = 66; public $leak_variants = '(RepeaterPageArray) 7705|7706'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.20823200656ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7702; public $name = 'airbnb-once-again-rejects-next-available-date-suggestions'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Once Again Rejects Next Available Date Suggestions'; public $number = 66; public $leak_variants = '(RepeaterPageArray) 7705|7706'; public $data = [...] }], $options = [] ).../Functions.php:552
202.20833204168include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.20823200656ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7702; public $name = 'airbnb-once-again-rejects-next-available-date-suggestions'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Once Again Rejects Next Available Date Suggestions'; public $number = 66; public $leak_variants = '(RepeaterPageArray) 7705|7706'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.20823200656ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7702; public $name = 'airbnb-once-again-rejects-next-available-date-suggestions'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Once Again Rejects Next Available Date Suggestions'; public $number = 66; public $leak_variants = '(RepeaterPageArray) 7705|7706'; public $data = [...] }], $options = [] ).../Functions.php:552
202.20833204168include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.20823200656ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7702; public $name = 'airbnb-once-again-rejects-next-available-date-suggestions'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Once Again Rejects Next Available Date Suggestions'; public $number = 66; public $leak_variants = '(RepeaterPageArray) 7705|7706'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.20823200656ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 7702; public $name = 'airbnb-once-again-rejects-next-available-date-suggestions'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Once Again Rejects Next Available Date Suggestions'; public $number = 66; public $leak_variants = '(RepeaterPageArray) 7705|7706'; public $data = [...] }], $options = [] ).../Functions.php:552
202.20833204168include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #66 from Airbnb.com   |   Mar 18, 2021 Product

Airbnb Once Again Rejects Next Available Date Suggestions

Once again Airbnb a/b tested an idea of surfacing the next available dates near their calendar picker. And once again the experiment looks like it was rejected just like previously. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.31483333176ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6276; public $name = 'etsy-a-b-tests-a-winning-shipping-timeline'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Winning Shipping Timeline'; public $number = 65; public $leak_variants = '(RepeaterPageArray) 6279|6280'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.31483333176ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6276; public $name = 'etsy-a-b-tests-a-winning-shipping-timeline'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Winning Shipping Timeline'; public $number = 65; public $leak_variants = '(RepeaterPageArray) 6279|6280'; public $data = [...] }], $options = [] ).../Functions.php:552
202.31493336688include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.31483333176ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6276; public $name = 'etsy-a-b-tests-a-winning-shipping-timeline'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Winning Shipping Timeline'; public $number = 65; public $leak_variants = '(RepeaterPageArray) 6279|6280'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.31483333176ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6276; public $name = 'etsy-a-b-tests-a-winning-shipping-timeline'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Winning Shipping Timeline'; public $number = 65; public $leak_variants = '(RepeaterPageArray) 6279|6280'; public $data = [...] }], $options = [] ).../Functions.php:552
202.31493336688include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.31483333176ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6276; public $name = 'etsy-a-b-tests-a-winning-shipping-timeline'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Winning Shipping Timeline'; public $number = 65; public $leak_variants = '(RepeaterPageArray) 6279|6280'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.31483333176ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6276; public $name = 'etsy-a-b-tests-a-winning-shipping-timeline'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Winning Shipping Timeline'; public $number = 65; public $leak_variants = '(RepeaterPageArray) 6279|6280'; public $data = [...] }], $options = [] ).../Functions.php:552
202.31493336688include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.31483333176ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6276; public $name = 'etsy-a-b-tests-a-winning-shipping-timeline'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Winning Shipping Timeline'; public $number = 65; public $leak_variants = '(RepeaterPageArray) 6279|6280'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.31483333176ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6276; public $name = 'etsy-a-b-tests-a-winning-shipping-timeline'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Winning Shipping Timeline'; public $number = 65; public $leak_variants = '(RepeaterPageArray) 6279|6280'; public $data = [...] }], $options = [] ).../Functions.php:552
202.31493336688include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.31483333176ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6276; public $name = 'etsy-a-b-tests-a-winning-shipping-timeline'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Winning Shipping Timeline'; public $number = 65; public $leak_variants = '(RepeaterPageArray) 6279|6280'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.31483333176ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6276; public $name = 'etsy-a-b-tests-a-winning-shipping-timeline'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Winning Shipping Timeline'; public $number = 65; public $leak_variants = '(RepeaterPageArray) 6279|6280'; public $data = [...] }], $options = [] ).../Functions.php:552
202.31493336688include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #65 from Etsy.com   |   Nov 24, 2020 Product

Etsy A/B Tests A Winning Shipping Timeline

Etsy ran an interesting experiment on their product pages by trying to clarify the shipping process. In this a/b test we can see that the control version displayed a simple delivery range with text. Whereas the variation displayed a linear shipping timeline with 3 steps - possibly creating a stronger sense of urgency. Checking up on this a few months later, we detected that the variation was implemented. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.41833453944ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6088; public $name = 'amazon-a-b-tests-the-list-vs-grid-layout'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests The List Vs Grid Layout'; public $number = 64; public $leak_variants = '(RepeaterPageArray) 6091|6092'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.41833453944ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6088; public $name = 'amazon-a-b-tests-the-list-vs-grid-layout'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests The List Vs Grid Layout'; public $number = 64; public $leak_variants = '(RepeaterPageArray) 6091|6092'; public $data = [...] }], $options = [] ).../Functions.php:552
202.41833457456include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.41833453944ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6088; public $name = 'amazon-a-b-tests-the-list-vs-grid-layout'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests The List Vs Grid Layout'; public $number = 64; public $leak_variants = '(RepeaterPageArray) 6091|6092'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.41833453944ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6088; public $name = 'amazon-a-b-tests-the-list-vs-grid-layout'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests The List Vs Grid Layout'; public $number = 64; public $leak_variants = '(RepeaterPageArray) 6091|6092'; public $data = [...] }], $options = [] ).../Functions.php:552
202.41833457456include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.41833453944ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6088; public $name = 'amazon-a-b-tests-the-list-vs-grid-layout'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests The List Vs Grid Layout'; public $number = 64; public $leak_variants = '(RepeaterPageArray) 6091|6092'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.41833453944ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6088; public $name = 'amazon-a-b-tests-the-list-vs-grid-layout'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests The List Vs Grid Layout'; public $number = 64; public $leak_variants = '(RepeaterPageArray) 6091|6092'; public $data = [...] }], $options = [] ).../Functions.php:552
202.41833457456include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.41833453944ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6088; public $name = 'amazon-a-b-tests-the-list-vs-grid-layout'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests The List Vs Grid Layout'; public $number = 64; public $leak_variants = '(RepeaterPageArray) 6091|6092'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.41833453944ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6088; public $name = 'amazon-a-b-tests-the-list-vs-grid-layout'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests The List Vs Grid Layout'; public $number = 64; public $leak_variants = '(RepeaterPageArray) 6091|6092'; public $data = [...] }], $options = [] ).../Functions.php:552
202.41833457456include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.41833453944ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6088; public $name = 'amazon-a-b-tests-the-list-vs-grid-layout'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests The List Vs Grid Layout'; public $number = 64; public $leak_variants = '(RepeaterPageArray) 6091|6092'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.41833453944ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6088; public $name = 'amazon-a-b-tests-the-list-vs-grid-layout'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests The List Vs Grid Layout'; public $number = 64; public $leak_variants = '(RepeaterPageArray) 6091|6092'; public $data = [...] }], $options = [] ).../Functions.php:552
202.41833457456include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #64 from Amazon.com   |   Oct 19, 2020 Listing

Amazon A/B Tests The List Vs Grid Layout

A month ago I managed to detect this classic list vs grid layout experiment on two of Amazon's product listing pages. I learned that this a/b test ran at least on two random queries such as "tools for mechanics" and "sports gear". Today, the grid layout view now looks like it was implemented. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.52023569360ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6003; public $name = 'bol-replicates-airbnbs-experiment-which-confirms-a-better-customer-rating-format'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Replicates Airbnb\'s Experiment Which Confirms A Better Customer Rating Format'; public $number = 63; public $leak_variants = '(RepeaterPageArray) 6006|6007|6008'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.52023569360ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6003; public $name = 'bol-replicates-airbnbs-experiment-which-confirms-a-better-customer-rating-format'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Replicates Airbnb\'s Experiment Which Confirms A Better Customer Rating Format'; public $number = 63; public $leak_variants = '(RepeaterPageArray) 6006|6007|6008'; public $data = [...] }], $options = [] ).../Functions.php:552
202.52023572872include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.52023569360ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6003; public $name = 'bol-replicates-airbnbs-experiment-which-confirms-a-better-customer-rating-format'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Replicates Airbnb\'s Experiment Which Confirms A Better Customer Rating Format'; public $number = 63; public $leak_variants = '(RepeaterPageArray) 6006|6007|6008'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.52023569360ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6003; public $name = 'bol-replicates-airbnbs-experiment-which-confirms-a-better-customer-rating-format'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Replicates Airbnb\'s Experiment Which Confirms A Better Customer Rating Format'; public $number = 63; public $leak_variants = '(RepeaterPageArray) 6006|6007|6008'; public $data = [...] }], $options = [] ).../Functions.php:552
202.52023572872include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.52023569360ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6003; public $name = 'bol-replicates-airbnbs-experiment-which-confirms-a-better-customer-rating-format'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Replicates Airbnb\'s Experiment Which Confirms A Better Customer Rating Format'; public $number = 63; public $leak_variants = '(RepeaterPageArray) 6006|6007|6008'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.52023569360ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6003; public $name = 'bol-replicates-airbnbs-experiment-which-confirms-a-better-customer-rating-format'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Replicates Airbnb\'s Experiment Which Confirms A Better Customer Rating Format'; public $number = 63; public $leak_variants = '(RepeaterPageArray) 6006|6007|6008'; public $data = [...] }], $options = [] ).../Functions.php:552
202.52023572872include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.52023569360ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6003; public $name = 'bol-replicates-airbnbs-experiment-which-confirms-a-better-customer-rating-format'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Replicates Airbnb\'s Experiment Which Confirms A Better Customer Rating Format'; public $number = 63; public $leak_variants = '(RepeaterPageArray) 6006|6007|6008'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.52023569360ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6003; public $name = 'bol-replicates-airbnbs-experiment-which-confirms-a-better-customer-rating-format'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Replicates Airbnb\'s Experiment Which Confirms A Better Customer Rating Format'; public $number = 63; public $leak_variants = '(RepeaterPageArray) 6006|6007|6008'; public $data = [...] }], $options = [] ).../Functions.php:552
202.52023572872include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.52023569360ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6003; public $name = 'bol-replicates-airbnbs-experiment-which-confirms-a-better-customer-rating-format'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Replicates Airbnb\'s Experiment Which Confirms A Better Customer Rating Format'; public $number = 63; public $leak_variants = '(RepeaterPageArray) 6006|6007|6008'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.52023569360ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 6003; public $name = 'bol-replicates-airbnbs-experiment-which-confirms-a-better-customer-rating-format'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Replicates Airbnb\'s Experiment Which Confirms A Better Customer Rating Format'; public $number = 63; public $leak_variants = '(RepeaterPageArray) 6006|6007|6008'; public $data = [...] }], $options = [] ).../Functions.php:552
202.52023572872include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #63 from Bol.com   |   Sep 23, 2020 Product

Bol Replicates Airbnb's Experiment Which Confirms A Better Customer Rating Format

Bol has been noticed a/b testing at least 3 different versions of customer rating formats on their product detail pages. More interestingly, whether the e-commerce giant is aware of it or not, this can be considered a direct replication of a very similar Airbnb A/B test ran in the past. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.62513711504ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5974; public $name = 'airbnb-gets-creative-in-this-multiple-variation-homepage-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Gets Creative In This Multiple Variation Homepage Experiment'; public $number = 62; public $leak_variants = '(RepeaterPageArray) 5977|5978|5979|5982'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.62513711504ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5974; public $name = 'airbnb-gets-creative-in-this-multiple-variation-homepage-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Gets Creative In This Multiple Variation Homepage Experiment'; public $number = 62; public $leak_variants = '(RepeaterPageArray) 5977|5978|5979|5982'; public $data = [...] }], $options = [] ).../Functions.php:552
202.62523715016include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.62513711504ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5974; public $name = 'airbnb-gets-creative-in-this-multiple-variation-homepage-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Gets Creative In This Multiple Variation Homepage Experiment'; public $number = 62; public $leak_variants = '(RepeaterPageArray) 5977|5978|5979|5982'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.62513711504ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5974; public $name = 'airbnb-gets-creative-in-this-multiple-variation-homepage-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Gets Creative In This Multiple Variation Homepage Experiment'; public $number = 62; public $leak_variants = '(RepeaterPageArray) 5977|5978|5979|5982'; public $data = [...] }], $options = [] ).../Functions.php:552
202.62523715016include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.62513711504ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5974; public $name = 'airbnb-gets-creative-in-this-multiple-variation-homepage-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Gets Creative In This Multiple Variation Homepage Experiment'; public $number = 62; public $leak_variants = '(RepeaterPageArray) 5977|5978|5979|5982'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.62513711504ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5974; public $name = 'airbnb-gets-creative-in-this-multiple-variation-homepage-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Gets Creative In This Multiple Variation Homepage Experiment'; public $number = 62; public $leak_variants = '(RepeaterPageArray) 5977|5978|5979|5982'; public $data = [...] }], $options = [] ).../Functions.php:552
202.62523715016include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.62513711504ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5974; public $name = 'airbnb-gets-creative-in-this-multiple-variation-homepage-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Gets Creative In This Multiple Variation Homepage Experiment'; public $number = 62; public $leak_variants = '(RepeaterPageArray) 5977|5978|5979|5982'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.62513711504ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5974; public $name = 'airbnb-gets-creative-in-this-multiple-variation-homepage-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Gets Creative In This Multiple Variation Homepage Experiment'; public $number = 62; public $leak_variants = '(RepeaterPageArray) 5977|5978|5979|5982'; public $data = [...] }], $options = [] ).../Functions.php:552
202.62523715016include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.62513711504ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5974; public $name = 'airbnb-gets-creative-in-this-multiple-variation-homepage-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Gets Creative In This Multiple Variation Homepage Experiment'; public $number = 62; public $leak_variants = '(RepeaterPageArray) 5977|5978|5979|5982'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.62513711504ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5974; public $name = 'airbnb-gets-creative-in-this-multiple-variation-homepage-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Gets Creative In This Multiple Variation Homepage Experiment'; public $number = 62; public $leak_variants = '(RepeaterPageArray) 5977|5978|5979|5982'; public $data = [...] }], $options = [] ).../Functions.php:552
202.62523715016include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #62 from Airbnb.com   |   Sep 17, 2020 Home & Landing

Airbnb Gets Creative In This Multiple Variation Homepage Experiment

I love how Airbnb balances formal controlled experiments (containing single isolated changes) with more exploratory ones such as on this one here. They just completed a creative homepage experiment where they tested multiple variations with multiple changes of which I will show a selected few for simplification. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.73703846792ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5957; public $name = 'etsys-product-quantity-options-receive-a-confirmation-from-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy\'s Product Quantity Options Receive A Confirmation From This A/B Test'; public $number = 61; public $leak_variants = '(RepeaterPageArray) 5960|5961'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.73703846792ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5957; public $name = 'etsys-product-quantity-options-receive-a-confirmation-from-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy\'s Product Quantity Options Receive A Confirmation From This A/B Test'; public $number = 61; public $leak_variants = '(RepeaterPageArray) 5960|5961'; public $data = [...] }], $options = [] ).../Functions.php:552
202.73713850304include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.73703846792ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5957; public $name = 'etsys-product-quantity-options-receive-a-confirmation-from-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy\'s Product Quantity Options Receive A Confirmation From This A/B Test'; public $number = 61; public $leak_variants = '(RepeaterPageArray) 5960|5961'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.73703846792ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5957; public $name = 'etsys-product-quantity-options-receive-a-confirmation-from-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy\'s Product Quantity Options Receive A Confirmation From This A/B Test'; public $number = 61; public $leak_variants = '(RepeaterPageArray) 5960|5961'; public $data = [...] }], $options = [] ).../Functions.php:552
202.73713850304include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.73703846792ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5957; public $name = 'etsys-product-quantity-options-receive-a-confirmation-from-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy\'s Product Quantity Options Receive A Confirmation From This A/B Test'; public $number = 61; public $leak_variants = '(RepeaterPageArray) 5960|5961'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.73703846792ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5957; public $name = 'etsys-product-quantity-options-receive-a-confirmation-from-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy\'s Product Quantity Options Receive A Confirmation From This A/B Test'; public $number = 61; public $leak_variants = '(RepeaterPageArray) 5960|5961'; public $data = [...] }], $options = [] ).../Functions.php:552
202.73713850304include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.73703846792ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5957; public $name = 'etsys-product-quantity-options-receive-a-confirmation-from-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy\'s Product Quantity Options Receive A Confirmation From This A/B Test'; public $number = 61; public $leak_variants = '(RepeaterPageArray) 5960|5961'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.73703846792ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5957; public $name = 'etsys-product-quantity-options-receive-a-confirmation-from-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy\'s Product Quantity Options Receive A Confirmation From This A/B Test'; public $number = 61; public $leak_variants = '(RepeaterPageArray) 5960|5961'; public $data = [...] }], $options = [] ).../Functions.php:552
202.73713850304include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.73703846792ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5957; public $name = 'etsys-product-quantity-options-receive-a-confirmation-from-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy\'s Product Quantity Options Receive A Confirmation From This A/B Test'; public $number = 61; public $leak_variants = '(RepeaterPageArray) 5960|5961'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.73703846792ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5957; public $name = 'etsys-product-quantity-options-receive-a-confirmation-from-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy\'s Product Quantity Options Receive A Confirmation From This A/B Test'; public $number = 61; public $leak_variants = '(RepeaterPageArray) 5960|5961'; public $data = [...] }], $options = [] ).../Functions.php:552
202.73713850304include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #61 from Etsy.com   |   Sep 10, 2020 Product

Etsy's Product Quantity Options Receive A Confirmation From This A/B Test

Etsy was noticed a/b testing a product quantity pulldown menu on some of their products. Customers were basically given the option to purchase more than one item. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.83963961736ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5933; public $name = 'airbnb-rejects-auto-suggesting-dates-in-this-failed-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Rejects Auto Suggested Dates In This Failed A/B Test'; public $number = 60; public $leak_variants = '(RepeaterPageArray) 5936|5937'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.83963961736ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5933; public $name = 'airbnb-rejects-auto-suggesting-dates-in-this-failed-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Rejects Auto Suggested Dates In This Failed A/B Test'; public $number = 60; public $leak_variants = '(RepeaterPageArray) 5936|5937'; public $data = [...] }], $options = [] ).../Functions.php:552
202.83963965248include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.83963961736ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5933; public $name = 'airbnb-rejects-auto-suggesting-dates-in-this-failed-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Rejects Auto Suggested Dates In This Failed A/B Test'; public $number = 60; public $leak_variants = '(RepeaterPageArray) 5936|5937'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.83963961736ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5933; public $name = 'airbnb-rejects-auto-suggesting-dates-in-this-failed-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Rejects Auto Suggested Dates In This Failed A/B Test'; public $number = 60; public $leak_variants = '(RepeaterPageArray) 5936|5937'; public $data = [...] }], $options = [] ).../Functions.php:552
202.83963965248include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.83963961736ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5933; public $name = 'airbnb-rejects-auto-suggesting-dates-in-this-failed-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Rejects Auto Suggested Dates In This Failed A/B Test'; public $number = 60; public $leak_variants = '(RepeaterPageArray) 5936|5937'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.83963961736ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5933; public $name = 'airbnb-rejects-auto-suggesting-dates-in-this-failed-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Rejects Auto Suggested Dates In This Failed A/B Test'; public $number = 60; public $leak_variants = '(RepeaterPageArray) 5936|5937'; public $data = [...] }], $options = [] ).../Functions.php:552
202.83963965248include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.83963961736ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5933; public $name = 'airbnb-rejects-auto-suggesting-dates-in-this-failed-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Rejects Auto Suggested Dates In This Failed A/B Test'; public $number = 60; public $leak_variants = '(RepeaterPageArray) 5936|5937'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.83963961736ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5933; public $name = 'airbnb-rejects-auto-suggesting-dates-in-this-failed-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Rejects Auto Suggested Dates In This Failed A/B Test'; public $number = 60; public $leak_variants = '(RepeaterPageArray) 5936|5937'; public $data = [...] }], $options = [] ).../Functions.php:552
202.83963965248include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.83963961736ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5933; public $name = 'airbnb-rejects-auto-suggesting-dates-in-this-failed-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Rejects Auto Suggested Dates In This Failed A/B Test'; public $number = 60; public $leak_variants = '(RepeaterPageArray) 5936|5937'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.83963961736ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5933; public $name = 'airbnb-rejects-auto-suggesting-dates-in-this-failed-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Rejects Auto Suggested Dates In This Failed A/B Test'; public $number = 60; public $leak_variants = '(RepeaterPageArray) 5936|5937'; public $data = [...] }], $options = [] ).../Functions.php:552
202.83963965248include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #60 from Airbnb.com   |   Sep 3, 2020 Product

Airbnb Rejects Auto Suggested Dates In This Failed A/B Test

Not all experiments succeed including this one that Airbnb recently ran on their property pages. Their a/b test was automatically suggesting a next available date below the "Check Availability" button when someone didn't already have any chosen dates. A month later however, the experiment completed and was rejected. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.94254097688ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5897; public $name = 'amazon-discovers-that-showing-structured-product-details-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Showing Structured Product Details Is Better'; public $number = 59; public $leak_variants = '(RepeaterPageArray) 5900|5901'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.94254097688ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5897; public $name = 'amazon-discovers-that-showing-structured-product-details-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Showing Structured Product Details Is Better'; public $number = 59; public $leak_variants = '(RepeaterPageArray) 5900|5901'; public $data = [...] }], $options = [] ).../Functions.php:552
202.94254101200include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.94254097688ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5897; public $name = 'amazon-discovers-that-showing-structured-product-details-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Showing Structured Product Details Is Better'; public $number = 59; public $leak_variants = '(RepeaterPageArray) 5900|5901'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.94254097688ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5897; public $name = 'amazon-discovers-that-showing-structured-product-details-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Showing Structured Product Details Is Better'; public $number = 59; public $leak_variants = '(RepeaterPageArray) 5900|5901'; public $data = [...] }], $options = [] ).../Functions.php:552
202.94254101200include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.94254097688ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5897; public $name = 'amazon-discovers-that-showing-structured-product-details-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Showing Structured Product Details Is Better'; public $number = 59; public $leak_variants = '(RepeaterPageArray) 5900|5901'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.94254097688ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5897; public $name = 'amazon-discovers-that-showing-structured-product-details-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Showing Structured Product Details Is Better'; public $number = 59; public $leak_variants = '(RepeaterPageArray) 5900|5901'; public $data = [...] }], $options = [] ).../Functions.php:552
202.94254101200include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.94254097688ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5897; public $name = 'amazon-discovers-that-showing-structured-product-details-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Showing Structured Product Details Is Better'; public $number = 59; public $leak_variants = '(RepeaterPageArray) 5900|5901'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.94254097688ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5897; public $name = 'amazon-discovers-that-showing-structured-product-details-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Showing Structured Product Details Is Better'; public $number = 59; public $leak_variants = '(RepeaterPageArray) 5900|5901'; public $data = [...] }], $options = [] ).../Functions.php:552
202.94254101200include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.94254097688ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5897; public $name = 'amazon-discovers-that-showing-structured-product-details-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Showing Structured Product Details Is Better'; public $number = 59; public $leak_variants = '(RepeaterPageArray) 5900|5901'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.94254097688ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5897; public $name = 'amazon-discovers-that-showing-structured-product-details-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers That Showing Structured Product Details Is Better'; public $number = 59; public $leak_variants = '(RepeaterPageArray) 5900|5901'; public $data = [...] }], $options = [] ).../Functions.php:552
202.94254101200include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #59 from Amazon.com   |   Aug 19, 2020 Product

Amazon Discovers That Showing Structured Product Details Is Better

Amazon has been seen a/b testing the addition of product details or technical specifications, visibly above the fold. In this captured screenshot for example, we see such technical information as storage size, model numbers and types of interfaces. Interestingly, this change was rolled out when the experiment finished - hinting at a positive probability. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.04464212824ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5852; public $name = 'airbnb-a-b-tests-and-discovers-that-a-higher-button-position-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Discovers That A Higher Button Position Is Better'; public $number = 58; public $leak_variants = '(RepeaterPageArray) 5855|5856'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.04464212824ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5852; public $name = 'airbnb-a-b-tests-and-discovers-that-a-higher-button-position-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Discovers That A Higher Button Position Is Better'; public $number = 58; public $leak_variants = '(RepeaterPageArray) 5855|5856'; public $data = [...] }], $options = [] ).../Functions.php:552
203.04464216336include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.04464212824ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5852; public $name = 'airbnb-a-b-tests-and-discovers-that-a-higher-button-position-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Discovers That A Higher Button Position Is Better'; public $number = 58; public $leak_variants = '(RepeaterPageArray) 5855|5856'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.04464212824ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5852; public $name = 'airbnb-a-b-tests-and-discovers-that-a-higher-button-position-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Discovers That A Higher Button Position Is Better'; public $number = 58; public $leak_variants = '(RepeaterPageArray) 5855|5856'; public $data = [...] }], $options = [] ).../Functions.php:552
203.04464216336include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.04464212824ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5852; public $name = 'airbnb-a-b-tests-and-discovers-that-a-higher-button-position-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Discovers That A Higher Button Position Is Better'; public $number = 58; public $leak_variants = '(RepeaterPageArray) 5855|5856'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.04464212824ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5852; public $name = 'airbnb-a-b-tests-and-discovers-that-a-higher-button-position-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Discovers That A Higher Button Position Is Better'; public $number = 58; public $leak_variants = '(RepeaterPageArray) 5855|5856'; public $data = [...] }], $options = [] ).../Functions.php:552
203.04464216336include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.04464212824ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5852; public $name = 'airbnb-a-b-tests-and-discovers-that-a-higher-button-position-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Discovers That A Higher Button Position Is Better'; public $number = 58; public $leak_variants = '(RepeaterPageArray) 5855|5856'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.04464212824ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5852; public $name = 'airbnb-a-b-tests-and-discovers-that-a-higher-button-position-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Discovers That A Higher Button Position Is Better'; public $number = 58; public $leak_variants = '(RepeaterPageArray) 5855|5856'; public $data = [...] }], $options = [] ).../Functions.php:552
203.04464216336include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.04464212824ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5852; public $name = 'airbnb-a-b-tests-and-discovers-that-a-higher-button-position-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Discovers That A Higher Button Position Is Better'; public $number = 58; public $leak_variants = '(RepeaterPageArray) 5855|5856'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.04464212824ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5852; public $name = 'airbnb-a-b-tests-and-discovers-that-a-higher-button-position-is-better'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Discovers That A Higher Button Position Is Better'; public $number = 58; public $leak_variants = '(RepeaterPageArray) 5855|5856'; public $data = [...] }], $options = [] ).../Functions.php:552
203.04464216336include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #58 from   |   Aug 10, 2020 Product

Airbnb A/B Tests And Discovers That A Higher Button Position Is Better

Airbnb ran this wonderful experiment on one of their primary reservation buttons. The A/B test adjusted the position of the button, shifting it higher on all property pages - which was implemented once ended.  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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.14644333392ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5804; public $name = 'amazon-finally-a-b-tests-their-full-vs-fixed-width-layout-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Finally A/B Tests Their Full Vs. Fixed Width Layout In This Experiment'; public $number = 57; public $leak_variants = '(RepeaterPageArray) 5807|5808'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.14644333392ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5804; public $name = 'amazon-finally-a-b-tests-their-full-vs-fixed-width-layout-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Finally A/B Tests Their Full Vs. Fixed Width Layout In This Experiment'; public $number = 57; public $leak_variants = '(RepeaterPageArray) 5807|5808'; public $data = [...] }], $options = [] ).../Functions.php:552
203.14644336904include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.14644333392ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5804; public $name = 'amazon-finally-a-b-tests-their-full-vs-fixed-width-layout-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Finally A/B Tests Their Full Vs. Fixed Width Layout In This Experiment'; public $number = 57; public $leak_variants = '(RepeaterPageArray) 5807|5808'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.14644333392ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5804; public $name = 'amazon-finally-a-b-tests-their-full-vs-fixed-width-layout-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Finally A/B Tests Their Full Vs. Fixed Width Layout In This Experiment'; public $number = 57; public $leak_variants = '(RepeaterPageArray) 5807|5808'; public $data = [...] }], $options = [] ).../Functions.php:552
203.14644336904include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.14644333392ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5804; public $name = 'amazon-finally-a-b-tests-their-full-vs-fixed-width-layout-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Finally A/B Tests Their Full Vs. Fixed Width Layout In This Experiment'; public $number = 57; public $leak_variants = '(RepeaterPageArray) 5807|5808'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.14644333392ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5804; public $name = 'amazon-finally-a-b-tests-their-full-vs-fixed-width-layout-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Finally A/B Tests Their Full Vs. Fixed Width Layout In This Experiment'; public $number = 57; public $leak_variants = '(RepeaterPageArray) 5807|5808'; public $data = [...] }], $options = [] ).../Functions.php:552
203.14644336904include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.14644333392ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5804; public $name = 'amazon-finally-a-b-tests-their-full-vs-fixed-width-layout-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Finally A/B Tests Their Full Vs. Fixed Width Layout In This Experiment'; public $number = 57; public $leak_variants = '(RepeaterPageArray) 5807|5808'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.14644333392ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5804; public $name = 'amazon-finally-a-b-tests-their-full-vs-fixed-width-layout-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Finally A/B Tests Their Full Vs. Fixed Width Layout In This Experiment'; public $number = 57; public $leak_variants = '(RepeaterPageArray) 5807|5808'; public $data = [...] }], $options = [] ).../Functions.php:552
203.14644336904include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.14644333392ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5804; public $name = 'amazon-finally-a-b-tests-their-full-vs-fixed-width-layout-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Finally A/B Tests Their Full Vs. Fixed Width Layout In This Experiment'; public $number = 57; public $leak_variants = '(RepeaterPageArray) 5807|5808'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.14644333392ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5804; public $name = 'amazon-finally-a-b-tests-their-full-vs-fixed-width-layout-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Finally A/B Tests Their Full Vs. Fixed Width Layout In This Experiment'; public $number = 57; public $leak_variants = '(RepeaterPageArray) 5807|5808'; public $data = [...] }], $options = [] ).../Functions.php:552
203.14644336904include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #57 from Amazon.com   |   Jul 14, 2020 Product

Amazon Finally A/B Tests Their Full Vs. Fixed Width Layout In This Experiment

Amazon just completed this wonderful product page layout experiment. The experiment was visible on wider monitors where the main content column was set to either full width (control) or fixed to 1500 pixels (B variation). 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.24834448272ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5783; public $name = 'bol-discovers-that-showing-product-quantity-options-is-better-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers That Showing Product Quantity Options Is Better In This Experiment'; public $number = 56; public $leak_variants = '(RepeaterPageArray) 5786|5787'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.24834448272ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5783; public $name = 'bol-discovers-that-showing-product-quantity-options-is-better-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers That Showing Product Quantity Options Is Better In This Experiment'; public $number = 56; public $leak_variants = '(RepeaterPageArray) 5786|5787'; public $data = [...] }], $options = [] ).../Functions.php:552
203.24834451784include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.24834448272ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5783; public $name = 'bol-discovers-that-showing-product-quantity-options-is-better-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers That Showing Product Quantity Options Is Better In This Experiment'; public $number = 56; public $leak_variants = '(RepeaterPageArray) 5786|5787'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.24834448272ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5783; public $name = 'bol-discovers-that-showing-product-quantity-options-is-better-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers That Showing Product Quantity Options Is Better In This Experiment'; public $number = 56; public $leak_variants = '(RepeaterPageArray) 5786|5787'; public $data = [...] }], $options = [] ).../Functions.php:552
203.24834451784include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.24834448272ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5783; public $name = 'bol-discovers-that-showing-product-quantity-options-is-better-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers That Showing Product Quantity Options Is Better In This Experiment'; public $number = 56; public $leak_variants = '(RepeaterPageArray) 5786|5787'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.24834448272ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5783; public $name = 'bol-discovers-that-showing-product-quantity-options-is-better-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers That Showing Product Quantity Options Is Better In This Experiment'; public $number = 56; public $leak_variants = '(RepeaterPageArray) 5786|5787'; public $data = [...] }], $options = [] ).../Functions.php:552
203.24834451784include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.24834448272ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5783; public $name = 'bol-discovers-that-showing-product-quantity-options-is-better-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers That Showing Product Quantity Options Is Better In This Experiment'; public $number = 56; public $leak_variants = '(RepeaterPageArray) 5786|5787'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.24834448272ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5783; public $name = 'bol-discovers-that-showing-product-quantity-options-is-better-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers That Showing Product Quantity Options Is Better In This Experiment'; public $number = 56; public $leak_variants = '(RepeaterPageArray) 5786|5787'; public $data = [...] }], $options = [] ).../Functions.php:552
203.24834451784include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.24834448272ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5783; public $name = 'bol-discovers-that-showing-product-quantity-options-is-better-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers That Showing Product Quantity Options Is Better In This Experiment'; public $number = 56; public $leak_variants = '(RepeaterPageArray) 5786|5787'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.24834448272ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5783; public $name = 'bol-discovers-that-showing-product-quantity-options-is-better-in-this-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol Discovers That Showing Product Quantity Options Is Better In This Experiment'; public $number = 56; public $leak_variants = '(RepeaterPageArray) 5786|5787'; public $data = [...] }], $options = [] ).../Functions.php:552
203.24834451784include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #56 from Bol.com   |   Jul 7, 2020 Product

Bol Discovers That Showing Product Quantity Options Is Better In This Experiment

In this interesting e-commerce experiment, Bol displayed a simple product quantity option on some of their product pages. When the experiment completed this month, the variation with the change was rolled out - potentially hinting at some positive effect. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.35394583576ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5748; public $name = 'airbnb-a-b-tests-and-detects-a-better-placement-for-saving-properties'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Detects A Better Placement For Saving Properties'; public $number = 55; public $leak_variants = '(RepeaterPageArray) 5751|5752'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.35394583576ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5748; public $name = 'airbnb-a-b-tests-and-detects-a-better-placement-for-saving-properties'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Detects A Better Placement For Saving Properties'; public $number = 55; public $leak_variants = '(RepeaterPageArray) 5751|5752'; public $data = [...] }], $options = [] ).../Functions.php:552
203.35404587088include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.35394583576ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5748; public $name = 'airbnb-a-b-tests-and-detects-a-better-placement-for-saving-properties'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Detects A Better Placement For Saving Properties'; public $number = 55; public $leak_variants = '(RepeaterPageArray) 5751|5752'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.35394583576ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5748; public $name = 'airbnb-a-b-tests-and-detects-a-better-placement-for-saving-properties'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Detects A Better Placement For Saving Properties'; public $number = 55; public $leak_variants = '(RepeaterPageArray) 5751|5752'; public $data = [...] }], $options = [] ).../Functions.php:552
203.35404587088include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.35394583576ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5748; public $name = 'airbnb-a-b-tests-and-detects-a-better-placement-for-saving-properties'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Detects A Better Placement For Saving Properties'; public $number = 55; public $leak_variants = '(RepeaterPageArray) 5751|5752'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.35394583576ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5748; public $name = 'airbnb-a-b-tests-and-detects-a-better-placement-for-saving-properties'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Detects A Better Placement For Saving Properties'; public $number = 55; public $leak_variants = '(RepeaterPageArray) 5751|5752'; public $data = [...] }], $options = [] ).../Functions.php:552
203.35404587088include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.35394583576ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5748; public $name = 'airbnb-a-b-tests-and-detects-a-better-placement-for-saving-properties'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Detects A Better Placement For Saving Properties'; public $number = 55; public $leak_variants = '(RepeaterPageArray) 5751|5752'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.35394583576ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5748; public $name = 'airbnb-a-b-tests-and-detects-a-better-placement-for-saving-properties'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Detects A Better Placement For Saving Properties'; public $number = 55; public $leak_variants = '(RepeaterPageArray) 5751|5752'; public $data = [...] }], $options = [] ).../Functions.php:552
203.35404587088include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.35394583576ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5748; public $name = 'airbnb-a-b-tests-and-detects-a-better-placement-for-saving-properties'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Detects A Better Placement For Saving Properties'; public $number = 55; public $leak_variants = '(RepeaterPageArray) 5751|5752'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.35394583576ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5748; public $name = 'airbnb-a-b-tests-and-detects-a-better-placement-for-saving-properties'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests And Detects A Better Placement For Saving Properties'; public $number = 55; public $leak_variants = '(RepeaterPageArray) 5751|5752'; public $data = [...] }], $options = [] ).../Functions.php:552
203.35404587088include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #55 from Airbnb.com   |   Jun 28, 2020 Listing

Airbnb A/B Tests And Detects A Better Placement For Saving Properties

It looks like Airbnb just discovered a better placement for the "heart icon" that allows users to save properties to custom lists. Instead of placing the icon directly over property thumbnails (as in the control), it was A/B tested with a rightmost position of a wide listing - and eventually implemented. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.45564700080ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5724; public $name = 'bol-a-b-tests-and-rolls-out-expanded-color-and-brand-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests And Rolls Out Expanded Color and Brand Filters'; public $number = 54; public $leak_variants = '(RepeaterPageArray) 5727|5728|5729'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.45564700080ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5724; public $name = 'bol-a-b-tests-and-rolls-out-expanded-color-and-brand-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests And Rolls Out Expanded Color and Brand Filters'; public $number = 54; public $leak_variants = '(RepeaterPageArray) 5727|5728|5729'; public $data = [...] }], $options = [] ).../Functions.php:552
203.45564703592include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.45564700080ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5724; public $name = 'bol-a-b-tests-and-rolls-out-expanded-color-and-brand-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests And Rolls Out Expanded Color and Brand Filters'; public $number = 54; public $leak_variants = '(RepeaterPageArray) 5727|5728|5729'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.45564700080ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5724; public $name = 'bol-a-b-tests-and-rolls-out-expanded-color-and-brand-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests And Rolls Out Expanded Color and Brand Filters'; public $number = 54; public $leak_variants = '(RepeaterPageArray) 5727|5728|5729'; public $data = [...] }], $options = [] ).../Functions.php:552
203.45564703592include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.45564700080ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5724; public $name = 'bol-a-b-tests-and-rolls-out-expanded-color-and-brand-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests And Rolls Out Expanded Color and Brand Filters'; public $number = 54; public $leak_variants = '(RepeaterPageArray) 5727|5728|5729'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.45564700080ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5724; public $name = 'bol-a-b-tests-and-rolls-out-expanded-color-and-brand-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests And Rolls Out Expanded Color and Brand Filters'; public $number = 54; public $leak_variants = '(RepeaterPageArray) 5727|5728|5729'; public $data = [...] }], $options = [] ).../Functions.php:552
203.45564703592include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.45564700080ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5724; public $name = 'bol-a-b-tests-and-rolls-out-expanded-color-and-brand-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests And Rolls Out Expanded Color and Brand Filters'; public $number = 54; public $leak_variants = '(RepeaterPageArray) 5727|5728|5729'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.45564700080ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5724; public $name = 'bol-a-b-tests-and-rolls-out-expanded-color-and-brand-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests And Rolls Out Expanded Color and Brand Filters'; public $number = 54; public $leak_variants = '(RepeaterPageArray) 5727|5728|5729'; public $data = [...] }], $options = [] ).../Functions.php:552
203.45564703592include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.45564700080ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5724; public $name = 'bol-a-b-tests-and-rolls-out-expanded-color-and-brand-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests And Rolls Out Expanded Color and Brand Filters'; public $number = 54; public $leak_variants = '(RepeaterPageArray) 5727|5728|5729'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.45564700080ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5724; public $name = 'bol-a-b-tests-and-rolls-out-expanded-color-and-brand-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tests And Rolls Out Expanded Color and Brand Filters'; public $number = 54; public $leak_variants = '(RepeaterPageArray) 5727|5728|5729'; public $data = [...] }], $options = [] ).../Functions.php:552
203.45564703592include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #54 from Bol.com   |   Jun 15, 2020 Listing

Bol A/B Tests And Rolls Out Expanded Color and Brand Filters

I managed to detect a nice little experiment on Bol's listing screen with at least 2 cascading variations. The experiment expanded more horizontal filters providing customers to narrow their search results with color and brand options. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.56244833424ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5546; public $name = 'netflix-a-b-tests-displaying-a-password-field-which-fails-and-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Displaying A Password Field Which Fails And Gets Rejected'; public $number = 53; public $leak_variants = '(RepeaterPageArray) 5549|5550'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.56244833424ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5546; public $name = 'netflix-a-b-tests-displaying-a-password-field-which-fails-and-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Displaying A Password Field Which Fails And Gets Rejected'; public $number = 53; public $leak_variants = '(RepeaterPageArray) 5549|5550'; public $data = [...] }], $options = [] ).../Functions.php:552
203.56244836936include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.56244833424ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5546; public $name = 'netflix-a-b-tests-displaying-a-password-field-which-fails-and-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Displaying A Password Field Which Fails And Gets Rejected'; public $number = 53; public $leak_variants = '(RepeaterPageArray) 5549|5550'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.56244833424ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5546; public $name = 'netflix-a-b-tests-displaying-a-password-field-which-fails-and-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Displaying A Password Field Which Fails And Gets Rejected'; public $number = 53; public $leak_variants = '(RepeaterPageArray) 5549|5550'; public $data = [...] }], $options = [] ).../Functions.php:552
203.56244836936include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.56244833424ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5546; public $name = 'netflix-a-b-tests-displaying-a-password-field-which-fails-and-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Displaying A Password Field Which Fails And Gets Rejected'; public $number = 53; public $leak_variants = '(RepeaterPageArray) 5549|5550'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.56244833424ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5546; public $name = 'netflix-a-b-tests-displaying-a-password-field-which-fails-and-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Displaying A Password Field Which Fails And Gets Rejected'; public $number = 53; public $leak_variants = '(RepeaterPageArray) 5549|5550'; public $data = [...] }], $options = [] ).../Functions.php:552
203.56244836936include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.56244833424ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5546; public $name = 'netflix-a-b-tests-displaying-a-password-field-which-fails-and-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Displaying A Password Field Which Fails And Gets Rejected'; public $number = 53; public $leak_variants = '(RepeaterPageArray) 5549|5550'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.56244833424ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5546; public $name = 'netflix-a-b-tests-displaying-a-password-field-which-fails-and-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Displaying A Password Field Which Fails And Gets Rejected'; public $number = 53; public $leak_variants = '(RepeaterPageArray) 5549|5550'; public $data = [...] }], $options = [] ).../Functions.php:552
203.56244836936include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.56244833424ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5546; public $name = 'netflix-a-b-tests-displaying-a-password-field-which-fails-and-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Displaying A Password Field Which Fails And Gets Rejected'; public $number = 53; public $leak_variants = '(RepeaterPageArray) 5549|5550'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.56244833424ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5546; public $name = 'netflix-a-b-tests-displaying-a-password-field-which-fails-and-gets-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests Displaying A Password Field Which Fails And Gets Rejected'; public $number = 53; public $leak_variants = '(RepeaterPageArray) 5549|5550'; public $data = [...] }], $options = [] ).../Functions.php:552
203.56244836936include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #53 from Netflix.com   |   May 25, 2020 Home & Landing

Netflix A/B Tests Displaying A Password Field Which Fails And Gets Rejected

It looks like Netflix has been iterating on showing additional fields upfront on their homepage. After they succeeded at displaying an email address upfront, this experiment now takes next step of showing a password field. The result of the leaked experiment however suggests a negative outcome as they reverted back to the control version - without the visible password. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.66564965408ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5375; public $name = 'amazon-a-b-tests-and-keeps-both-add-to-cart-and-buy-now-buttons'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Keeps Both Add-To-Cart And Buy Now Buttons'; public $number = 52; public $leak_variants = '(RepeaterPageArray) 5378|5379'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.66574965408ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5375; public $name = 'amazon-a-b-tests-and-keeps-both-add-to-cart-and-buy-now-buttons'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Keeps Both Add-To-Cart And Buy Now Buttons'; public $number = 52; public $leak_variants = '(RepeaterPageArray) 5378|5379'; public $data = [...] }], $options = [] ).../Functions.php:552
203.66574968920include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.66564965408ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5375; public $name = 'amazon-a-b-tests-and-keeps-both-add-to-cart-and-buy-now-buttons'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Keeps Both Add-To-Cart And Buy Now Buttons'; public $number = 52; public $leak_variants = '(RepeaterPageArray) 5378|5379'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.66574965408ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5375; public $name = 'amazon-a-b-tests-and-keeps-both-add-to-cart-and-buy-now-buttons'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Keeps Both Add-To-Cart And Buy Now Buttons'; public $number = 52; public $leak_variants = '(RepeaterPageArray) 5378|5379'; public $data = [...] }], $options = [] ).../Functions.php:552
203.66574968920include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.66564965408ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5375; public $name = 'amazon-a-b-tests-and-keeps-both-add-to-cart-and-buy-now-buttons'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Keeps Both Add-To-Cart And Buy Now Buttons'; public $number = 52; public $leak_variants = '(RepeaterPageArray) 5378|5379'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.66574965408ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5375; public $name = 'amazon-a-b-tests-and-keeps-both-add-to-cart-and-buy-now-buttons'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Keeps Both Add-To-Cart And Buy Now Buttons'; public $number = 52; public $leak_variants = '(RepeaterPageArray) 5378|5379'; public $data = [...] }], $options = [] ).../Functions.php:552
203.66574968920include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.66564965408ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5375; public $name = 'amazon-a-b-tests-and-keeps-both-add-to-cart-and-buy-now-buttons'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Keeps Both Add-To-Cart And Buy Now Buttons'; public $number = 52; public $leak_variants = '(RepeaterPageArray) 5378|5379'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.66574965408ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5375; public $name = 'amazon-a-b-tests-and-keeps-both-add-to-cart-and-buy-now-buttons'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Keeps Both Add-To-Cart And Buy Now Buttons'; public $number = 52; public $leak_variants = '(RepeaterPageArray) 5378|5379'; public $data = [...] }], $options = [] ).../Functions.php:552
203.66574968920include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.66564965408ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5375; public $name = 'amazon-a-b-tests-and-keeps-both-add-to-cart-and-buy-now-buttons'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Keeps Both Add-To-Cart And Buy Now Buttons'; public $number = 52; public $leak_variants = '(RepeaterPageArray) 5378|5379'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.66574965408ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5375; public $name = 'amazon-a-b-tests-and-keeps-both-add-to-cart-and-buy-now-buttons'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Keeps Both Add-To-Cart And Buy Now Buttons'; public $number = 52; public $leak_variants = '(RepeaterPageArray) 5378|5379'; public $data = [...] }], $options = [] ).../Functions.php:552
203.66574968920include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #52 from   |   May 4, 2020 Product

Amazon A/B Tests And Keeps Both Add-To-Cart And Buy Now Buttons

Two months ago I managed to detect that Amazon was actually a/b testing the removal of the second "Buy Now" button on a specific product page. Finally today it looks like the experiment has completed with both buttons still being displayed - like in the old days. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.76765080472ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5284; public $name = 'how-etsys-product-page-design-evolved-between-2019-and-2020'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'How Etsy\'s Product Page Design Evolved Between 2019 And 2020'; public $number = 51; public $leak_variants = '(RepeaterPageArray) 5287|5288'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.76765080472ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5284; public $name = 'how-etsys-product-page-design-evolved-between-2019-and-2020'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'How Etsy\'s Product Page Design Evolved Between 2019 And 2020'; public $number = 51; public $leak_variants = '(RepeaterPageArray) 5287|5288'; public $data = [...] }], $options = [] ).../Functions.php:552
203.76775083984include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.76765080472ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5284; public $name = 'how-etsys-product-page-design-evolved-between-2019-and-2020'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'How Etsy\'s Product Page Design Evolved Between 2019 And 2020'; public $number = 51; public $leak_variants = '(RepeaterPageArray) 5287|5288'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.76765080472ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5284; public $name = 'how-etsys-product-page-design-evolved-between-2019-and-2020'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'How Etsy\'s Product Page Design Evolved Between 2019 And 2020'; public $number = 51; public $leak_variants = '(RepeaterPageArray) 5287|5288'; public $data = [...] }], $options = [] ).../Functions.php:552
203.76775083984include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.76765080472ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5284; public $name = 'how-etsys-product-page-design-evolved-between-2019-and-2020'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'How Etsy\'s Product Page Design Evolved Between 2019 And 2020'; public $number = 51; public $leak_variants = '(RepeaterPageArray) 5287|5288'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.76765080472ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5284; public $name = 'how-etsys-product-page-design-evolved-between-2019-and-2020'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'How Etsy\'s Product Page Design Evolved Between 2019 And 2020'; public $number = 51; public $leak_variants = '(RepeaterPageArray) 5287|5288'; public $data = [...] }], $options = [] ).../Functions.php:552
203.76775083984include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.76765080472ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5284; public $name = 'how-etsys-product-page-design-evolved-between-2019-and-2020'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'How Etsy\'s Product Page Design Evolved Between 2019 And 2020'; public $number = 51; public $leak_variants = '(RepeaterPageArray) 5287|5288'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.76765080472ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5284; public $name = 'how-etsys-product-page-design-evolved-between-2019-and-2020'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'How Etsy\'s Product Page Design Evolved Between 2019 And 2020'; public $number = 51; public $leak_variants = '(RepeaterPageArray) 5287|5288'; public $data = [...] }], $options = [] ).../Functions.php:552
203.76775083984include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.76765080472ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5284; public $name = 'how-etsys-product-page-design-evolved-between-2019-and-2020'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'How Etsy\'s Product Page Design Evolved Between 2019 And 2020'; public $number = 51; public $leak_variants = '(RepeaterPageArray) 5287|5288'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.76765080472ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5284; public $name = 'how-etsys-product-page-design-evolved-between-2019-and-2020'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'How Etsy\'s Product Page Design Evolved Between 2019 And 2020'; public $number = 51; public $leak_variants = '(RepeaterPageArray) 5287|5288'; public $data = [...] }], $options = [] ).../Functions.php:552
203.76775083984include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #51 from Etsy.com   |   Apr 21, 2020 Product

How Etsy's Product Page Design Evolved Between 2019 And 2020

I recently found a 2019 product page screenshot from Etsy's which was just asking for a comparison with the newer 2020 version from today. By doing this little exercise we can see how the screen has evolved with numerous UI changes. 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.87355197320ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5217; public $name = 'amazons-buy-one-time-vs-subscription-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s One Time Purchase Vs Subscription Experiment'; public $number = 50; public $leak_variants = '(RepeaterPageArray) 5220|5221'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.87355197320ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5217; public $name = 'amazons-buy-one-time-vs-subscription-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s One Time Purchase Vs Subscription Experiment'; public $number = 50; public $leak_variants = '(RepeaterPageArray) 5220|5221'; public $data = [...] }], $options = [] ).../Functions.php:552
203.87355200832include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.87355197320ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5217; public $name = 'amazons-buy-one-time-vs-subscription-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s One Time Purchase Vs Subscription Experiment'; public $number = 50; public $leak_variants = '(RepeaterPageArray) 5220|5221'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.87355197320ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5217; public $name = 'amazons-buy-one-time-vs-subscription-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s One Time Purchase Vs Subscription Experiment'; public $number = 50; public $leak_variants = '(RepeaterPageArray) 5220|5221'; public $data = [...] }], $options = [] ).../Functions.php:552
203.87355200832include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.87355197320ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5217; public $name = 'amazons-buy-one-time-vs-subscription-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s One Time Purchase Vs Subscription Experiment'; public $number = 50; public $leak_variants = '(RepeaterPageArray) 5220|5221'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.87355197320ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5217; public $name = 'amazons-buy-one-time-vs-subscription-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s One Time Purchase Vs Subscription Experiment'; public $number = 50; public $leak_variants = '(RepeaterPageArray) 5220|5221'; public $data = [...] }], $options = [] ).../Functions.php:552
203.87355200832include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.87355197320ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5217; public $name = 'amazons-buy-one-time-vs-subscription-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s One Time Purchase Vs Subscription Experiment'; public $number = 50; public $leak_variants = '(RepeaterPageArray) 5220|5221'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.87355197320ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5217; public $name = 'amazons-buy-one-time-vs-subscription-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s One Time Purchase Vs Subscription Experiment'; public $number = 50; public $leak_variants = '(RepeaterPageArray) 5220|5221'; public $data = [...] }], $options = [] ).../Functions.php:552
203.87355200832include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.87355197320ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5217; public $name = 'amazons-buy-one-time-vs-subscription-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s One Time Purchase Vs Subscription Experiment'; public $number = 50; public $leak_variants = '(RepeaterPageArray) 5220|5221'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.87355197320ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5217; public $name = 'amazons-buy-one-time-vs-subscription-experiment'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon\'s One Time Purchase Vs Subscription Experiment'; public $number = 50; public $leak_variants = '(RepeaterPageArray) 5220|5221'; public $data = [...] }], $options = [] ).../Functions.php:552
203.87355200832include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #50 from Amazon.com   |   Mar 30, 2020 Product

Amazon's One Time Purchase Vs Subscription Experiment

In this experiment captured from a random toothpaste product page, Amazon was testing two separate purchase related defaults. Some visitors would be defaulted to a "One-time purchase" buy box (control version). While others would first see a preselected subscription option, encouraging a recurring product purchase (variation B). 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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.97575330984ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5188; public $name = 'netflix-a-b-tests-4-secondary-choices-all-of-which-get-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests 4 Secondary Choices - All Of Which Get Rejected'; public $number = 49; public $leak_variants = '(RepeaterPageArray) 5191|5192|5195|5196|5197'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.97575330984ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5188; public $name = 'netflix-a-b-tests-4-secondary-choices-all-of-which-get-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests 4 Secondary Choices - All Of Which Get Rejected'; public $number = 49; public $leak_variants = '(RepeaterPageArray) 5191|5192|5195|5196|5197'; public $data = [...] }], $options = [] ).../Functions.php:552
203.97585334496include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.97575330984ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5188; public $name = 'netflix-a-b-tests-4-secondary-choices-all-of-which-get-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests 4 Secondary Choices - All Of Which Get Rejected'; public $number = 49; public $leak_variants = '(RepeaterPageArray) 5191|5192|5195|5196|5197'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.97575330984ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5188; public $name = 'netflix-a-b-tests-4-secondary-choices-all-of-which-get-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests 4 Secondary Choices - All Of Which Get Rejected'; public $number = 49; public $leak_variants = '(RepeaterPageArray) 5191|5192|5195|5196|5197'; public $data = [...] }], $options = [] ).../Functions.php:552
203.97585334496include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.97575330984ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5188; public $name = 'netflix-a-b-tests-4-secondary-choices-all-of-which-get-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests 4 Secondary Choices - All Of Which Get Rejected'; public $number = 49; public $leak_variants = '(RepeaterPageArray) 5191|5192|5195|5196|5197'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.97575330984ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5188; public $name = 'netflix-a-b-tests-4-secondary-choices-all-of-which-get-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests 4 Secondary Choices - All Of Which Get Rejected'; public $number = 49; public $leak_variants = '(RepeaterPageArray) 5191|5192|5195|5196|5197'; public $data = [...] }], $options = [] ).../Functions.php:552
203.97585334496include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.97575330984ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5188; public $name = 'netflix-a-b-tests-4-secondary-choices-all-of-which-get-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests 4 Secondary Choices - All Of Which Get Rejected'; public $number = 49; public $leak_variants = '(RepeaterPageArray) 5191|5192|5195|5196|5197'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.97575330984ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5188; public $name = 'netflix-a-b-tests-4-secondary-choices-all-of-which-get-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests 4 Secondary Choices - All Of Which Get Rejected'; public $number = 49; public $leak_variants = '(RepeaterPageArray) 5191|5192|5195|5196|5197'; public $data = [...] }], $options = [] ).../Functions.php:552
203.97585334496include( '/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
21.89302252904ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
31.89302252904ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
41.89302253320ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
51.89302253320ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
61.89522266224ProcessWire\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
71.90652300384ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
81.90652300384ProcessWire\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
91.90662302344ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
101.90662302344ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
111.90662302760ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
121.90662302760ProcessWire\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
131.90722303304ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
141.90722303304ProcessWire\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
151.90722304656ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
161.90722304656ProcessWire\TemplateFile->___render( ).../Wire.php:413
171.90742340840require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
183.97575330984ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5188; public $name = 'netflix-a-b-tests-4-secondary-choices-all-of-which-get-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests 4 Secondary Choices - All Of Which Get Rejected'; public $number = 49; public $leak_variants = '(RepeaterPageArray) 5191|5192|5195|5196|5197'; public $data = [...] }], $options = ??? ).../leaks.php:265
193.97575330984ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 5188; public $name = 'netflix-a-b-tests-4-secondary-choices-all-of-which-get-rejected'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Netflix A/B Tests 4 Secondary Choices - All Of Which Get Rejected'; public $number = 49; public $leak_variants = '(RepeaterPageArray) 5191|5192|5195|5196|5197'; public $data = [...] }], $options = [] ).../Functions.php:552
203.97585334496include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #49 from Netflix.com   |   Mar 23, 2020 Home & Landing

Netflix A/B Tests 4 Secondary Choices - All Of Which Get Rejected

In this experiment, Netflix displayed secondary buttons in at least 4 different ways. The idea might have been related to something written about by Online Dialogue - what Bart Schutz calls Hobson's +1 Choice Effect. View Leak