( ! ) 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.0000465208{main}( ).../index.php:0 20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55 30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484 40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952 50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416 60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $meta_description = ''; public $data = ['title' => 'Leaks', 'meta_description' => ''] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114 70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184 80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $meta_description = ''; public $data = ['title' => 'Leaks', 'meta_description' => ''] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484 90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060 100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484 110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952 120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416 130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575 140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484 150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952 160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413 172.33025417664require( '/home/jlahijani/Sites/goodui.org/site/templates/_main.php ).../TemplateFile.php:340 182.33075435592include( '/home/jlahijani/Sites/goodui.org/site/templates/_og.php ).../_main.php:64 192.33225450720strip_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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.20992942920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10736; public $name = 'etsy-rejects-these-exposed-review-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Rejects Additional Customer Review Filters After This A/B Test'; public $number = 88; public $leak_variants = '(RepeaterPageArray) 10740|10741'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.20992942920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10736; public $name = 'etsy-rejects-these-exposed-review-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Rejects Additional Customer Review Filters After This A/B Test'; public $number = 88; public $leak_variants = '(RepeaterPageArray) 10740|10741'; public $data = [...] }], $options = [] ).../Functions.php:552
200.21002948400include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.20992942920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10736; public $name = 'etsy-rejects-these-exposed-review-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Rejects Additional Customer Review Filters After This A/B Test'; public $number = 88; public $leak_variants = '(RepeaterPageArray) 10740|10741'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.20992942920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10736; public $name = 'etsy-rejects-these-exposed-review-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Rejects Additional Customer Review Filters After This A/B Test'; public $number = 88; public $leak_variants = '(RepeaterPageArray) 10740|10741'; public $data = [...] }], $options = [] ).../Functions.php:552
200.21002948400include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.20992942920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10736; public $name = 'etsy-rejects-these-exposed-review-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Rejects Additional Customer Review Filters After This A/B Test'; public $number = 88; public $leak_variants = '(RepeaterPageArray) 10740|10741'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.20992942920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10736; public $name = 'etsy-rejects-these-exposed-review-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Rejects Additional Customer Review Filters After This A/B Test'; public $number = 88; public $leak_variants = '(RepeaterPageArray) 10740|10741'; public $data = [...] }], $options = [] ).../Functions.php:552
200.21002948400include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.20992942920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10736; public $name = 'etsy-rejects-these-exposed-review-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Rejects Additional Customer Review Filters After This A/B Test'; public $number = 88; public $leak_variants = '(RepeaterPageArray) 10740|10741'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.20992942920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10736; public $name = 'etsy-rejects-these-exposed-review-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Rejects Additional Customer Review Filters After This A/B Test'; public $number = 88; public $leak_variants = '(RepeaterPageArray) 10740|10741'; public $data = [...] }], $options = [] ).../Functions.php:552
200.21002948400include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.20992942920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10736; public $name = 'etsy-rejects-these-exposed-review-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Rejects Additional Customer Review Filters After This A/B Test'; public $number = 88; public $leak_variants = '(RepeaterPageArray) 10740|10741'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.20992942920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10736; public $name = 'etsy-rejects-these-exposed-review-filters'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Rejects Additional Customer Review Filters After This A/B Test'; public $number = 88; public $leak_variants = '(RepeaterPageArray) 10740|10741'; public $data = [...] }], $options = [] ).../Functions.php:552
200.21002948400include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #88 from Etsy.com   |   Oct 25, 2022 Product

Etsy Rejects Additional Customer Review Filters After This A/B Test

Etsy ran this a/b test where they showed additional customer review filters on selected product detail pages. The test was eventually rejected it seems. 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.33153083952ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10606; public $name = 'amazon-a-b-tests-bottom-aligned-product-thumbnails'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests Bottom Aligned Product Thumbnails'; public $number = 87; public $leak_variants = '(RepeaterPageArray) 10610|10611'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.33153083952ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10606; public $name = 'amazon-a-b-tests-bottom-aligned-product-thumbnails'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests Bottom Aligned Product Thumbnails'; public $number = 87; public $leak_variants = '(RepeaterPageArray) 10610|10611'; public $data = [...] }], $options = [] ).../Functions.php:552
200.33163087464include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.33153083952ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10606; public $name = 'amazon-a-b-tests-bottom-aligned-product-thumbnails'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests Bottom Aligned Product Thumbnails'; public $number = 87; public $leak_variants = '(RepeaterPageArray) 10610|10611'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.33153083952ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10606; public $name = 'amazon-a-b-tests-bottom-aligned-product-thumbnails'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests Bottom Aligned Product Thumbnails'; public $number = 87; public $leak_variants = '(RepeaterPageArray) 10610|10611'; public $data = [...] }], $options = [] ).../Functions.php:552
200.33163087464include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.33153083952ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10606; public $name = 'amazon-a-b-tests-bottom-aligned-product-thumbnails'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests Bottom Aligned Product Thumbnails'; public $number = 87; public $leak_variants = '(RepeaterPageArray) 10610|10611'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.33153083952ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10606; public $name = 'amazon-a-b-tests-bottom-aligned-product-thumbnails'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests Bottom Aligned Product Thumbnails'; public $number = 87; public $leak_variants = '(RepeaterPageArray) 10610|10611'; public $data = [...] }], $options = [] ).../Functions.php:552
200.33163087464include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.33153083952ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10606; public $name = 'amazon-a-b-tests-bottom-aligned-product-thumbnails'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests Bottom Aligned Product Thumbnails'; public $number = 87; public $leak_variants = '(RepeaterPageArray) 10610|10611'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.33153083952ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10606; public $name = 'amazon-a-b-tests-bottom-aligned-product-thumbnails'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests Bottom Aligned Product Thumbnails'; public $number = 87; public $leak_variants = '(RepeaterPageArray) 10610|10611'; public $data = [...] }], $options = [] ).../Functions.php:552
200.33163087464include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.33153083952ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10606; public $name = 'amazon-a-b-tests-bottom-aligned-product-thumbnails'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests Bottom Aligned Product Thumbnails'; public $number = 87; public $leak_variants = '(RepeaterPageArray) 10610|10611'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.33153083952ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10606; public $name = 'amazon-a-b-tests-bottom-aligned-product-thumbnails'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests Bottom Aligned Product Thumbnails'; public $number = 87; public $leak_variants = '(RepeaterPageArray) 10610|10611'; public $data = [...] }], $options = [] ).../Functions.php:552
200.33163087464include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #87 from Amazon.com   |   Sep 26, 2022 Product

Amazon A/B Tests Bottom Aligned Product Thumbnails

Amazon attempted an image thumbnail experiment on their product pages. Instead using traditional left aligned thumbnails, they shifted them below the main image and increased their size. This is very similar to the left vs bottom thumbnail pattern we started tracking this year. 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.43693200136ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10535; public $name = 'walmart-a-b-tests-4-vs-3-column-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests 4 vs 3 Column Listing Pages'; public $number = 86; public $leak_variants = '(RepeaterPageArray) 10539|10540'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.43693200136ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10535; public $name = 'walmart-a-b-tests-4-vs-3-column-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests 4 vs 3 Column Listing Pages'; public $number = 86; public $leak_variants = '(RepeaterPageArray) 10539|10540'; public $data = [...] }], $options = [] ).../Functions.php:552
200.43703203648include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.43693200136ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10535; public $name = 'walmart-a-b-tests-4-vs-3-column-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests 4 vs 3 Column Listing Pages'; public $number = 86; public $leak_variants = '(RepeaterPageArray) 10539|10540'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.43693200136ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10535; public $name = 'walmart-a-b-tests-4-vs-3-column-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests 4 vs 3 Column Listing Pages'; public $number = 86; public $leak_variants = '(RepeaterPageArray) 10539|10540'; public $data = [...] }], $options = [] ).../Functions.php:552
200.43703203648include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.43693200136ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10535; public $name = 'walmart-a-b-tests-4-vs-3-column-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests 4 vs 3 Column Listing Pages'; public $number = 86; public $leak_variants = '(RepeaterPageArray) 10539|10540'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.43693200136ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10535; public $name = 'walmart-a-b-tests-4-vs-3-column-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests 4 vs 3 Column Listing Pages'; public $number = 86; public $leak_variants = '(RepeaterPageArray) 10539|10540'; public $data = [...] }], $options = [] ).../Functions.php:552
200.43703203648include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.43693200136ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10535; public $name = 'walmart-a-b-tests-4-vs-3-column-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests 4 vs 3 Column Listing Pages'; public $number = 86; public $leak_variants = '(RepeaterPageArray) 10539|10540'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.43693200136ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10535; public $name = 'walmart-a-b-tests-4-vs-3-column-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests 4 vs 3 Column Listing Pages'; public $number = 86; public $leak_variants = '(RepeaterPageArray) 10539|10540'; public $data = [...] }], $options = [] ).../Functions.php:552
200.43703203648include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.43693200136ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10535; public $name = 'walmart-a-b-tests-4-vs-3-column-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests 4 vs 3 Column Listing Pages'; public $number = 86; public $leak_variants = '(RepeaterPageArray) 10539|10540'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.43693200136ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10535; public $name = 'walmart-a-b-tests-4-vs-3-column-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests 4 vs 3 Column Listing Pages'; public $number = 86; public $leak_variants = '(RepeaterPageArray) 10539|10540'; public $data = [...] }], $options = [] ).../Functions.php:552
200.43703203648include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #86 from Walmart.com   |   Sep 14, 2022 Listing

Walmart A/B Tests 4 vs 3 Column Listing Pages

Walmart just ran their very own 4 vs 3 column experiment on some of their listing pages. The a/b test seems to have had a similar hypothesis about product tile density to what Etsy ran just a few months ago. 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.54253333184ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10449; public $name = 'etsy-a-b-tests-and-implements-required-field-labels'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests And Implements Required Field Labels'; public $number = 85; public $leak_variants = '(RepeaterPageArray) 10453|10454'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.54253333184ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10449; public $name = 'etsy-a-b-tests-and-implements-required-field-labels'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests And Implements Required Field Labels'; public $number = 85; public $leak_variants = '(RepeaterPageArray) 10453|10454'; public $data = [...] }], $options = [] ).../Functions.php:552
200.54263336696include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.54253333184ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10449; public $name = 'etsy-a-b-tests-and-implements-required-field-labels'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests And Implements Required Field Labels'; public $number = 85; public $leak_variants = '(RepeaterPageArray) 10453|10454'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.54253333184ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10449; public $name = 'etsy-a-b-tests-and-implements-required-field-labels'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests And Implements Required Field Labels'; public $number = 85; public $leak_variants = '(RepeaterPageArray) 10453|10454'; public $data = [...] }], $options = [] ).../Functions.php:552
200.54263336696include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.54253333184ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10449; public $name = 'etsy-a-b-tests-and-implements-required-field-labels'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests And Implements Required Field Labels'; public $number = 85; public $leak_variants = '(RepeaterPageArray) 10453|10454'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.54253333184ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10449; public $name = 'etsy-a-b-tests-and-implements-required-field-labels'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests And Implements Required Field Labels'; public $number = 85; public $leak_variants = '(RepeaterPageArray) 10453|10454'; public $data = [...] }], $options = [] ).../Functions.php:552
200.54263336696include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.54253333184ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10449; public $name = 'etsy-a-b-tests-and-implements-required-field-labels'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests And Implements Required Field Labels'; public $number = 85; public $leak_variants = '(RepeaterPageArray) 10453|10454'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.54253333184ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10449; public $name = 'etsy-a-b-tests-and-implements-required-field-labels'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests And Implements Required Field Labels'; public $number = 85; public $leak_variants = '(RepeaterPageArray) 10453|10454'; public $data = [...] }], $options = [] ).../Functions.php:552
200.54263336696include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.54253333184ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10449; public $name = 'etsy-a-b-tests-and-implements-required-field-labels'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests And Implements Required Field Labels'; public $number = 85; public $leak_variants = '(RepeaterPageArray) 10453|10454'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.54253333184ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10449; public $name = 'etsy-a-b-tests-and-implements-required-field-labels'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests And Implements Required Field Labels'; public $number = 85; public $leak_variants = '(RepeaterPageArray) 10453|10454'; public $data = [...] }], $options = [] ).../Functions.php:552
200.54263336696include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #85 from Etsy.com   |   Aug 16, 2022 Product

Etsy A/B Tests And Implements Required Field Labels

Here is a very tiny a/b test from Etsy - the marking of two product personalization fields as required using red asterisks. If I had to guess, I'd expect the effect on checkouts was probably very small if any (based on the pattern data so far). 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.64663454816ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10239; public $name = 'airbnb-retests-the-infamous-infinite-scroll'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Retests The Infamous Infinite Scroll'; public $number = 84; public $leak_variants = '(RepeaterPageArray) 10243|10244'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.64663454816ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10239; public $name = 'airbnb-retests-the-infamous-infinite-scroll'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Retests The Infamous Infinite Scroll'; public $number = 84; public $leak_variants = '(RepeaterPageArray) 10243|10244'; public $data = [...] }], $options = [] ).../Functions.php:552
200.64673458328include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.64663454816ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10239; public $name = 'airbnb-retests-the-infamous-infinite-scroll'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Retests The Infamous Infinite Scroll'; public $number = 84; public $leak_variants = '(RepeaterPageArray) 10243|10244'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.64663454816ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10239; public $name = 'airbnb-retests-the-infamous-infinite-scroll'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Retests The Infamous Infinite Scroll'; public $number = 84; public $leak_variants = '(RepeaterPageArray) 10243|10244'; public $data = [...] }], $options = [] ).../Functions.php:552
200.64673458328include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.64663454816ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10239; public $name = 'airbnb-retests-the-infamous-infinite-scroll'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Retests The Infamous Infinite Scroll'; public $number = 84; public $leak_variants = '(RepeaterPageArray) 10243|10244'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.64663454816ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10239; public $name = 'airbnb-retests-the-infamous-infinite-scroll'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Retests The Infamous Infinite Scroll'; public $number = 84; public $leak_variants = '(RepeaterPageArray) 10243|10244'; public $data = [...] }], $options = [] ).../Functions.php:552
200.64673458328include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.64663454816ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10239; public $name = 'airbnb-retests-the-infamous-infinite-scroll'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Retests The Infamous Infinite Scroll'; public $number = 84; public $leak_variants = '(RepeaterPageArray) 10243|10244'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.64663454816ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10239; public $name = 'airbnb-retests-the-infamous-infinite-scroll'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Retests The Infamous Infinite Scroll'; public $number = 84; public $leak_variants = '(RepeaterPageArray) 10243|10244'; public $data = [...] }], $options = [] ).../Functions.php:552
200.64673458328include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.64663454816ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10239; public $name = 'airbnb-retests-the-infamous-infinite-scroll'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Retests The Infamous Infinite Scroll'; public $number = 84; public $leak_variants = '(RepeaterPageArray) 10243|10244'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.64663454816ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10239; public $name = 'airbnb-retests-the-infamous-infinite-scroll'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Retests The Infamous Infinite Scroll'; public $number = 84; public $leak_variants = '(RepeaterPageArray) 10243|10244'; public $data = [...] }], $options = [] ).../Functions.php:552
200.64673458328include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #84 from Airbnb.com   |   Jul 19, 2022 Home & Landing

Airbnb Retests The Infamous Infinite Scroll

I believe Airbnb just a/b tested infinite scrolling and rolled it out. Sometime this year they evolved their homepage to include specific property listings. As  these property tiles appeared, a month ago I also managed to capture a screenshot of two versions of their homepage: one with 40 results per page that would load more listings with a "Show More" button; and another version with an endless or infinite scroll.  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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.75483575064ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10193; public $name = 'etsy-a-b-tests-5-vs-4-listing-tiles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests 5 Vs 4 Listing Tiles'; public $number = 83; public $leak_variants = '(RepeaterPageArray) 10197|10198'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.75483575064ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10193; public $name = 'etsy-a-b-tests-5-vs-4-listing-tiles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests 5 Vs 4 Listing Tiles'; public $number = 83; public $leak_variants = '(RepeaterPageArray) 10197|10198'; public $data = [...] }], $options = [] ).../Functions.php:552
200.75483578576include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.75483575064ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10193; public $name = 'etsy-a-b-tests-5-vs-4-listing-tiles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests 5 Vs 4 Listing Tiles'; public $number = 83; public $leak_variants = '(RepeaterPageArray) 10197|10198'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.75483575064ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10193; public $name = 'etsy-a-b-tests-5-vs-4-listing-tiles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests 5 Vs 4 Listing Tiles'; public $number = 83; public $leak_variants = '(RepeaterPageArray) 10197|10198'; public $data = [...] }], $options = [] ).../Functions.php:552
200.75483578576include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.75483575064ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10193; public $name = 'etsy-a-b-tests-5-vs-4-listing-tiles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests 5 Vs 4 Listing Tiles'; public $number = 83; public $leak_variants = '(RepeaterPageArray) 10197|10198'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.75483575064ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10193; public $name = 'etsy-a-b-tests-5-vs-4-listing-tiles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests 5 Vs 4 Listing Tiles'; public $number = 83; public $leak_variants = '(RepeaterPageArray) 10197|10198'; public $data = [...] }], $options = [] ).../Functions.php:552
200.75483578576include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.75483575064ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10193; public $name = 'etsy-a-b-tests-5-vs-4-listing-tiles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests 5 Vs 4 Listing Tiles'; public $number = 83; public $leak_variants = '(RepeaterPageArray) 10197|10198'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.75483575064ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10193; public $name = 'etsy-a-b-tests-5-vs-4-listing-tiles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests 5 Vs 4 Listing Tiles'; public $number = 83; public $leak_variants = '(RepeaterPageArray) 10197|10198'; public $data = [...] }], $options = [] ).../Functions.php:552
200.75483578576include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.75483575064ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10193; public $name = 'etsy-a-b-tests-5-vs-4-listing-tiles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests 5 Vs 4 Listing Tiles'; public $number = 83; public $leak_variants = '(RepeaterPageArray) 10197|10198'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.75483575064ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10193; public $name = 'etsy-a-b-tests-5-vs-4-listing-tiles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests 5 Vs 4 Listing Tiles'; public $number = 83; public $leak_variants = '(RepeaterPageArray) 10197|10198'; public $data = [...] }], $options = [] ).../Functions.php:552
200.75483578576include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #83 from Etsy.com   |   Jul 7, 2022 Listing

Etsy A/B Tests 5 Vs 4 Listing Tiles

Etsy continues to run interesting and highly isolated layout experiments on their product listing pages. This time around they tested 5 product tiles per row against 4 tiles. 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.86263709920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10160; public $name = 'walmart-a-b-tests-popular-product-tags'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests Popular Product Tags'; public $number = 82; public $leak_variants = '(RepeaterPageArray) 10164|10165'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.86263709920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10160; public $name = 'walmart-a-b-tests-popular-product-tags'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests Popular Product Tags'; public $number = 82; public $leak_variants = '(RepeaterPageArray) 10164|10165'; public $data = [...] }], $options = [] ).../Functions.php:552
200.86263713432include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.86263709920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10160; public $name = 'walmart-a-b-tests-popular-product-tags'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests Popular Product Tags'; public $number = 82; public $leak_variants = '(RepeaterPageArray) 10164|10165'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.86263709920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10160; public $name = 'walmart-a-b-tests-popular-product-tags'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests Popular Product Tags'; public $number = 82; public $leak_variants = '(RepeaterPageArray) 10164|10165'; public $data = [...] }], $options = [] ).../Functions.php:552
200.86263713432include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.86263709920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10160; public $name = 'walmart-a-b-tests-popular-product-tags'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests Popular Product Tags'; public $number = 82; public $leak_variants = '(RepeaterPageArray) 10164|10165'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.86263709920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10160; public $name = 'walmart-a-b-tests-popular-product-tags'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests Popular Product Tags'; public $number = 82; public $leak_variants = '(RepeaterPageArray) 10164|10165'; public $data = [...] }], $options = [] ).../Functions.php:552
200.86263713432include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.86263709920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10160; public $name = 'walmart-a-b-tests-popular-product-tags'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests Popular Product Tags'; public $number = 82; public $leak_variants = '(RepeaterPageArray) 10164|10165'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.86263709920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10160; public $name = 'walmart-a-b-tests-popular-product-tags'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests Popular Product Tags'; public $number = 82; public $leak_variants = '(RepeaterPageArray) 10164|10165'; public $data = [...] }], $options = [] ).../Functions.php:552
200.86263713432include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.86263709920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10160; public $name = 'walmart-a-b-tests-popular-product-tags'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests Popular Product Tags'; public $number = 82; public $leak_variants = '(RepeaterPageArray) 10164|10165'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.86263709920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10160; public $name = 'walmart-a-b-tests-popular-product-tags'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tests Popular Product Tags'; public $number = 82; public $leak_variants = '(RepeaterPageArray) 10164|10165'; public $data = [...] }], $options = [] ).../Functions.php:552
200.86263713432include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #82 from Walmart.com   |   Jun 28, 2022 Product

Walmart A/B Tests Popular Product Tags

Walmart was noticed running a product detail page experiment with an added "popular picks" badge. The badges were added to some products based on some undecipherable logic. Other products would also sometimes show "best seller" badges, including being shown together. 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.96683825840ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10051; public $name = 'amazon-a-b-tests-and-rolls-out-extra-product-information-on-book-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Extra Product Information On Book Pages'; public $number = 81; public $leak_variants = '(RepeaterPageArray) 10055|10056'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.96683825840ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10051; public $name = 'amazon-a-b-tests-and-rolls-out-extra-product-information-on-book-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Extra Product Information On Book Pages'; public $number = 81; public $leak_variants = '(RepeaterPageArray) 10055|10056'; public $data = [...] }], $options = [] ).../Functions.php:552
200.96693829352include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.96683825840ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10051; public $name = 'amazon-a-b-tests-and-rolls-out-extra-product-information-on-book-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Extra Product Information On Book Pages'; public $number = 81; public $leak_variants = '(RepeaterPageArray) 10055|10056'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.96683825840ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10051; public $name = 'amazon-a-b-tests-and-rolls-out-extra-product-information-on-book-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Extra Product Information On Book Pages'; public $number = 81; public $leak_variants = '(RepeaterPageArray) 10055|10056'; public $data = [...] }], $options = [] ).../Functions.php:552
200.96693829352include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.96683825840ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10051; public $name = 'amazon-a-b-tests-and-rolls-out-extra-product-information-on-book-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Extra Product Information On Book Pages'; public $number = 81; public $leak_variants = '(RepeaterPageArray) 10055|10056'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.96683825840ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10051; public $name = 'amazon-a-b-tests-and-rolls-out-extra-product-information-on-book-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Extra Product Information On Book Pages'; public $number = 81; public $leak_variants = '(RepeaterPageArray) 10055|10056'; public $data = [...] }], $options = [] ).../Functions.php:552
200.96693829352include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.96683825840ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10051; public $name = 'amazon-a-b-tests-and-rolls-out-extra-product-information-on-book-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Extra Product Information On Book Pages'; public $number = 81; public $leak_variants = '(RepeaterPageArray) 10055|10056'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.96683825840ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10051; public $name = 'amazon-a-b-tests-and-rolls-out-extra-product-information-on-book-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Extra Product Information On Book Pages'; public $number = 81; public $leak_variants = '(RepeaterPageArray) 10055|10056'; public $data = [...] }], $options = [] ).../Functions.php:552
200.96693829352include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
180.96683825840ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10051; public $name = 'amazon-a-b-tests-and-rolls-out-extra-product-information-on-book-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Extra Product Information On Book Pages'; public $number = 81; public $leak_variants = '(RepeaterPageArray) 10055|10056'; public $data = [...] }], $options = ??? ).../leaks.php:265
190.96683825840ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 10051; public $name = 'amazon-a-b-tests-and-rolls-out-extra-product-information-on-book-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tests And Rolls Out Extra Product Information On Book Pages'; public $number = 81; public $leak_variants = '(RepeaterPageArray) 10055|10056'; public $data = [...] }], $options = [] ).../Functions.php:552
200.96693829352include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #81 from Amazon.ca   |   Jun 8, 2022 Product

Amazon A/B Tests And Rolls Out Extra Product Information On Book Pages

Amazon ran an experiment where they showed additional product information on books. This included such structured information as: language, publisher, publication date, dimensions, etc. 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.07533943584ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9912; public $name = 'etsy-runs-an-a-b-test-suggesting-that-less-isnt-necessarily-more'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Runs An A/B Test Suggesting That Less Isn\'t Necessarily More'; public $number = 80; public $leak_variants = '(RepeaterPageArray) 9916|9917'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.07533943584ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9912; public $name = 'etsy-runs-an-a-b-test-suggesting-that-less-isnt-necessarily-more'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Runs An A/B Test Suggesting That Less Isn\'t Necessarily More'; public $number = 80; public $leak_variants = '(RepeaterPageArray) 9916|9917'; public $data = [...] }], $options = [] ).../Functions.php:552
201.07543947096include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.07533943584ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9912; public $name = 'etsy-runs-an-a-b-test-suggesting-that-less-isnt-necessarily-more'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Runs An A/B Test Suggesting That Less Isn\'t Necessarily More'; public $number = 80; public $leak_variants = '(RepeaterPageArray) 9916|9917'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.07533943584ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9912; public $name = 'etsy-runs-an-a-b-test-suggesting-that-less-isnt-necessarily-more'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Runs An A/B Test Suggesting That Less Isn\'t Necessarily More'; public $number = 80; public $leak_variants = '(RepeaterPageArray) 9916|9917'; public $data = [...] }], $options = [] ).../Functions.php:552
201.07543947096include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.07533943584ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9912; public $name = 'etsy-runs-an-a-b-test-suggesting-that-less-isnt-necessarily-more'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Runs An A/B Test Suggesting That Less Isn\'t Necessarily More'; public $number = 80; public $leak_variants = '(RepeaterPageArray) 9916|9917'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.07533943584ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9912; public $name = 'etsy-runs-an-a-b-test-suggesting-that-less-isnt-necessarily-more'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Runs An A/B Test Suggesting That Less Isn\'t Necessarily More'; public $number = 80; public $leak_variants = '(RepeaterPageArray) 9916|9917'; public $data = [...] }], $options = [] ).../Functions.php:552
201.07543947096include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.07533943584ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9912; public $name = 'etsy-runs-an-a-b-test-suggesting-that-less-isnt-necessarily-more'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Runs An A/B Test Suggesting That Less Isn\'t Necessarily More'; public $number = 80; public $leak_variants = '(RepeaterPageArray) 9916|9917'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.07533943584ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9912; public $name = 'etsy-runs-an-a-b-test-suggesting-that-less-isnt-necessarily-more'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Runs An A/B Test Suggesting That Less Isn\'t Necessarily More'; public $number = 80; public $leak_variants = '(RepeaterPageArray) 9916|9917'; public $data = [...] }], $options = [] ).../Functions.php:552
201.07543947096include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.07533943584ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9912; public $name = 'etsy-runs-an-a-b-test-suggesting-that-less-isnt-necessarily-more'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Runs An A/B Test Suggesting That Less Isn\'t Necessarily More'; public $number = 80; public $leak_variants = '(RepeaterPageArray) 9916|9917'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.07533943584ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9912; public $name = 'etsy-runs-an-a-b-test-suggesting-that-less-isnt-necessarily-more'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy Runs An A/B Test Suggesting That Less Isn\'t Necessarily More'; public $number = 80; public $leak_variants = '(RepeaterPageArray) 9916|9917'; public $data = [...] }], $options = [] ).../Functions.php:552
201.07543947096include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #80 from Etsy.com   |   May 10, 2022 Listing

Etsy Runs An A/B Test Suggesting That Less Isn't Necessarily More

This interesting experiment was discovered a month ago on Etsy's product listing screens. In a nutshell, more traditional and elaborate product tiles was aggressively shortened by removing a lot of information such as product names and customer reviews. This had the additional effect of shortening the tested listing pages. One more later, the experiment looks like it was rejected - hinting that less is not always more. :) 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.18054064240ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9837; public $name = 'etsy-a-b-tests-extra-product-collections'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Extra Product Collections'; public $number = 79; public $leak_variants = '(RepeaterPageArray) 9841|9842'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.18054064240ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9837; public $name = 'etsy-a-b-tests-extra-product-collections'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Extra Product Collections'; public $number = 79; public $leak_variants = '(RepeaterPageArray) 9841|9842'; public $data = [...] }], $options = [] ).../Functions.php:552
201.18064067752include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.18054064240ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9837; public $name = 'etsy-a-b-tests-extra-product-collections'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Extra Product Collections'; public $number = 79; public $leak_variants = '(RepeaterPageArray) 9841|9842'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.18054064240ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9837; public $name = 'etsy-a-b-tests-extra-product-collections'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Extra Product Collections'; public $number = 79; public $leak_variants = '(RepeaterPageArray) 9841|9842'; public $data = [...] }], $options = [] ).../Functions.php:552
201.18064067752include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.18054064240ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9837; public $name = 'etsy-a-b-tests-extra-product-collections'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Extra Product Collections'; public $number = 79; public $leak_variants = '(RepeaterPageArray) 9841|9842'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.18054064240ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9837; public $name = 'etsy-a-b-tests-extra-product-collections'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Extra Product Collections'; public $number = 79; public $leak_variants = '(RepeaterPageArray) 9841|9842'; public $data = [...] }], $options = [] ).../Functions.php:552
201.18064067752include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.18054064240ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9837; public $name = 'etsy-a-b-tests-extra-product-collections'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Extra Product Collections'; public $number = 79; public $leak_variants = '(RepeaterPageArray) 9841|9842'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.18054064240ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9837; public $name = 'etsy-a-b-tests-extra-product-collections'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Extra Product Collections'; public $number = 79; public $leak_variants = '(RepeaterPageArray) 9841|9842'; public $data = [...] }], $options = [] ).../Functions.php:552
201.18064067752include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.18054064240ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9837; public $name = 'etsy-a-b-tests-extra-product-collections'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Extra Product Collections'; public $number = 79; public $leak_variants = '(RepeaterPageArray) 9841|9842'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.18054064240ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9837; public $name = 'etsy-a-b-tests-extra-product-collections'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Extra Product Collections'; public $number = 79; public $leak_variants = '(RepeaterPageArray) 9841|9842'; public $data = [...] }], $options = [] ).../Functions.php:552
201.18064067752include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #79 from Etsy.com   |   Apr 26, 2022 Product

Etsy A/B Tests Extra Product Collections

Etsy just completed a simple product page experiment. At the bottom of most of their product pages extra products were appended in the form of visual collections. 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.28374196304ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9712; public $name = 'etsy-a-b-c-tests-the-left-column-vs-overlay-filters-on-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B/C Tests The Left Column Vs Overlay Filters On Listing Pages'; public $number = 78; public $leak_variants = '(RepeaterPageArray) 9716|9717|9718'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.28374196304ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9712; public $name = 'etsy-a-b-c-tests-the-left-column-vs-overlay-filters-on-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B/C Tests The Left Column Vs Overlay Filters On Listing Pages'; public $number = 78; public $leak_variants = '(RepeaterPageArray) 9716|9717|9718'; public $data = [...] }], $options = [] ).../Functions.php:552
201.28384199816include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.28374196304ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9712; public $name = 'etsy-a-b-c-tests-the-left-column-vs-overlay-filters-on-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B/C Tests The Left Column Vs Overlay Filters On Listing Pages'; public $number = 78; public $leak_variants = '(RepeaterPageArray) 9716|9717|9718'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.28374196304ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9712; public $name = 'etsy-a-b-c-tests-the-left-column-vs-overlay-filters-on-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B/C Tests The Left Column Vs Overlay Filters On Listing Pages'; public $number = 78; public $leak_variants = '(RepeaterPageArray) 9716|9717|9718'; public $data = [...] }], $options = [] ).../Functions.php:552
201.28384199816include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.28374196304ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9712; public $name = 'etsy-a-b-c-tests-the-left-column-vs-overlay-filters-on-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B/C Tests The Left Column Vs Overlay Filters On Listing Pages'; public $number = 78; public $leak_variants = '(RepeaterPageArray) 9716|9717|9718'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.28374196304ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9712; public $name = 'etsy-a-b-c-tests-the-left-column-vs-overlay-filters-on-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B/C Tests The Left Column Vs Overlay Filters On Listing Pages'; public $number = 78; public $leak_variants = '(RepeaterPageArray) 9716|9717|9718'; public $data = [...] }], $options = [] ).../Functions.php:552
201.28384199816include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.28374196304ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9712; public $name = 'etsy-a-b-c-tests-the-left-column-vs-overlay-filters-on-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B/C Tests The Left Column Vs Overlay Filters On Listing Pages'; public $number = 78; public $leak_variants = '(RepeaterPageArray) 9716|9717|9718'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.28374196304ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9712; public $name = 'etsy-a-b-c-tests-the-left-column-vs-overlay-filters-on-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B/C Tests The Left Column Vs Overlay Filters On Listing Pages'; public $number = 78; public $leak_variants = '(RepeaterPageArray) 9716|9717|9718'; public $data = [...] }], $options = [] ).../Functions.php:552
201.28384199816include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.28374196304ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9712; public $name = 'etsy-a-b-c-tests-the-left-column-vs-overlay-filters-on-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B/C Tests The Left Column Vs Overlay Filters On Listing Pages'; public $number = 78; public $leak_variants = '(RepeaterPageArray) 9716|9717|9718'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.28374196304ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9712; public $name = 'etsy-a-b-c-tests-the-left-column-vs-overlay-filters-on-listing-pages'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B/C Tests The Left Column Vs Overlay Filters On Listing Pages'; public $number = 78; public $leak_variants = '(RepeaterPageArray) 9716|9717|9718'; public $data = [...] }], $options = [] ).../Functions.php:552
201.28384199816include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #78 from Etsy.com   |   Mar 24, 2022 Listing

Etsy A/B/C Tests The Left Column Vs Overlay Filters On Listing Pages

Etsy ran an interesting filter experiment on their listing pages. The control's exposed filters on the left column were collapsed in two variations and made visible with the use of an overlay. One variation collapsed the filters completely while another added an extra layer of horizontal categories. 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.39234322440ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9433; public $name = 'amazon-discovers-better-product-option-selector-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers A Better Product Option Selector In This A/B Test'; public $number = 77; public $leak_variants = '(RepeaterPageArray) 9436|9437'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.39234322440ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9433; public $name = 'amazon-discovers-better-product-option-selector-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers A Better Product Option Selector In This A/B Test'; public $number = 77; public $leak_variants = '(RepeaterPageArray) 9436|9437'; public $data = [...] }], $options = [] ).../Functions.php:552
201.39234325952include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.39234322440ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9433; public $name = 'amazon-discovers-better-product-option-selector-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers A Better Product Option Selector In This A/B Test'; public $number = 77; public $leak_variants = '(RepeaterPageArray) 9436|9437'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.39234322440ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9433; public $name = 'amazon-discovers-better-product-option-selector-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers A Better Product Option Selector In This A/B Test'; public $number = 77; public $leak_variants = '(RepeaterPageArray) 9436|9437'; public $data = [...] }], $options = [] ).../Functions.php:552
201.39234325952include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.39234322440ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9433; public $name = 'amazon-discovers-better-product-option-selector-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers A Better Product Option Selector In This A/B Test'; public $number = 77; public $leak_variants = '(RepeaterPageArray) 9436|9437'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.39234322440ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9433; public $name = 'amazon-discovers-better-product-option-selector-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers A Better Product Option Selector In This A/B Test'; public $number = 77; public $leak_variants = '(RepeaterPageArray) 9436|9437'; public $data = [...] }], $options = [] ).../Functions.php:552
201.39234325952include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.39234322440ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9433; public $name = 'amazon-discovers-better-product-option-selector-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers A Better Product Option Selector In This A/B Test'; public $number = 77; public $leak_variants = '(RepeaterPageArray) 9436|9437'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.39234322440ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9433; public $name = 'amazon-discovers-better-product-option-selector-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers A Better Product Option Selector In This A/B Test'; public $number = 77; public $leak_variants = '(RepeaterPageArray) 9436|9437'; public $data = [...] }], $options = [] ).../Functions.php:552
201.39234325952include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.39234322440ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9433; public $name = 'amazon-discovers-better-product-option-selector-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers A Better Product Option Selector In This A/B Test'; public $number = 77; public $leak_variants = '(RepeaterPageArray) 9436|9437'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.39234322440ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9433; public $name = 'amazon-discovers-better-product-option-selector-in-this-a-b-test'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon Discovers A Better Product Option Selector In This A/B Test'; public $number = 77; public $leak_variants = '(RepeaterPageArray) 9436|9437'; public $data = [...] }], $options = [] ).../Functions.php:552
201.39234325952include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #77 from Amazon.com   |   Feb 22, 2022 Product

Amazon Discovers A Better Product Option Selector In This A/B Test

Amazon has been experimenting with different formatting of product choice selections. Think of books being customized as hardcover, audio or paperback. Think of product quantities and colors. I've been observing Amazon run a sequence of such similar tests over the last few months and here is one such experiment with at least 3 properties that now have been implemented - hinting at higher optimality. 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.49554444136ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9333; public $name = 'bol-a-b-tested-a-more-padded-button'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tested A More Padded Button'; public $number = 76; public $leak_variants = '(RepeaterPageArray) 9336|9337'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.49554444136ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9333; public $name = 'bol-a-b-tested-a-more-padded-button'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tested A More Padded Button'; public $number = 76; public $leak_variants = '(RepeaterPageArray) 9336|9337'; public $data = [...] }], $options = [] ).../Functions.php:552
201.49564447648include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.49554444136ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9333; public $name = 'bol-a-b-tested-a-more-padded-button'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tested A More Padded Button'; public $number = 76; public $leak_variants = '(RepeaterPageArray) 9336|9337'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.49554444136ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9333; public $name = 'bol-a-b-tested-a-more-padded-button'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tested A More Padded Button'; public $number = 76; public $leak_variants = '(RepeaterPageArray) 9336|9337'; public $data = [...] }], $options = [] ).../Functions.php:552
201.49564447648include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.49554444136ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9333; public $name = 'bol-a-b-tested-a-more-padded-button'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tested A More Padded Button'; public $number = 76; public $leak_variants = '(RepeaterPageArray) 9336|9337'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.49554444136ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9333; public $name = 'bol-a-b-tested-a-more-padded-button'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tested A More Padded Button'; public $number = 76; public $leak_variants = '(RepeaterPageArray) 9336|9337'; public $data = [...] }], $options = [] ).../Functions.php:552
201.49564447648include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.49554444136ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9333; public $name = 'bol-a-b-tested-a-more-padded-button'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tested A More Padded Button'; public $number = 76; public $leak_variants = '(RepeaterPageArray) 9336|9337'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.49554444136ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9333; public $name = 'bol-a-b-tested-a-more-padded-button'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tested A More Padded Button'; public $number = 76; public $leak_variants = '(RepeaterPageArray) 9336|9337'; public $data = [...] }], $options = [] ).../Functions.php:552
201.49564447648include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.49554444136ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9333; public $name = 'bol-a-b-tested-a-more-padded-button'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tested A More Padded Button'; public $number = 76; public $leak_variants = '(RepeaterPageArray) 9336|9337'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.49554444136ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9333; public $name = 'bol-a-b-tested-a-more-padded-button'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Bol A/B Tested A More Padded Button'; public $number = 76; public $leak_variants = '(RepeaterPageArray) 9336|9337'; public $data = [...] }], $options = [] ).../Functions.php:552
201.49564447648include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #76 from Bol.com   |   Feb 4, 2022 Product

Bol A/B Tested A More Padded Button

Last year I captured this button experiment from Bol (a leading online retailer in the Netherlands). They tested a smaller button with less padding against a slightly more bloated one. It's now clear that the variation was rolled out completely - consistent with the bigger form fields and buttons pattern. 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.59834576448ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9237; public $name = 'amazon-a-b-tested-this-bigger-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tested This Bigger Price Style'; public $number = 75; public $leak_variants = '(RepeaterPageArray) 9240|9241'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.59834576448ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9237; public $name = 'amazon-a-b-tested-this-bigger-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tested This Bigger Price Style'; public $number = 75; public $leak_variants = '(RepeaterPageArray) 9240|9241'; public $data = [...] }], $options = [] ).../Functions.php:552
201.59844579960include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.59834576448ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9237; public $name = 'amazon-a-b-tested-this-bigger-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tested This Bigger Price Style'; public $number = 75; public $leak_variants = '(RepeaterPageArray) 9240|9241'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.59834576448ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9237; public $name = 'amazon-a-b-tested-this-bigger-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tested This Bigger Price Style'; public $number = 75; public $leak_variants = '(RepeaterPageArray) 9240|9241'; public $data = [...] }], $options = [] ).../Functions.php:552
201.59844579960include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.59834576448ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9237; public $name = 'amazon-a-b-tested-this-bigger-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tested This Bigger Price Style'; public $number = 75; public $leak_variants = '(RepeaterPageArray) 9240|9241'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.59834576448ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9237; public $name = 'amazon-a-b-tested-this-bigger-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tested This Bigger Price Style'; public $number = 75; public $leak_variants = '(RepeaterPageArray) 9240|9241'; public $data = [...] }], $options = [] ).../Functions.php:552
201.59844579960include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.59834576448ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9237; public $name = 'amazon-a-b-tested-this-bigger-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tested This Bigger Price Style'; public $number = 75; public $leak_variants = '(RepeaterPageArray) 9240|9241'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.59834576448ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9237; public $name = 'amazon-a-b-tested-this-bigger-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tested This Bigger Price Style'; public $number = 75; public $leak_variants = '(RepeaterPageArray) 9240|9241'; public $data = [...] }], $options = [] ).../Functions.php:552
201.59844579960include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.59834576448ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9237; public $name = 'amazon-a-b-tested-this-bigger-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tested This Bigger Price Style'; public $number = 75; public $leak_variants = '(RepeaterPageArray) 9240|9241'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.59834576448ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9237; public $name = 'amazon-a-b-tested-this-bigger-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Amazon A/B Tested This Bigger Price Style'; public $number = 75; public $leak_variants = '(RepeaterPageArray) 9240|9241'; public $data = [...] }], $options = [] ).../Functions.php:552
201.59844579960include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #75 from Amazon.com   |   Jan 11, 2022 Product

Amazon A/B Tested This Bigger Price Style

I managed to capture this exciting little big price styling experiment from Amazon before it wrapped up this week. What looks like a small change actually has a few interesting differences packed into a single variation which you can see below. 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.70164693584ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9190; public $name = 'etsy-a-b-tests-smaller-shorter-product-titles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Smaller & Shorter Product Titles'; public $number = 74; public $leak_variants = '(RepeaterPageArray) 9193|9194'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.70164693584ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9190; public $name = 'etsy-a-b-tests-smaller-shorter-product-titles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Smaller & Shorter Product Titles'; public $number = 74; public $leak_variants = '(RepeaterPageArray) 9193|9194'; public $data = [...] }], $options = [] ).../Functions.php:552
201.70164697096include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.70164693584ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9190; public $name = 'etsy-a-b-tests-smaller-shorter-product-titles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Smaller & Shorter Product Titles'; public $number = 74; public $leak_variants = '(RepeaterPageArray) 9193|9194'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.70164693584ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9190; public $name = 'etsy-a-b-tests-smaller-shorter-product-titles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Smaller & Shorter Product Titles'; public $number = 74; public $leak_variants = '(RepeaterPageArray) 9193|9194'; public $data = [...] }], $options = [] ).../Functions.php:552
201.70164697096include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.70164693584ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9190; public $name = 'etsy-a-b-tests-smaller-shorter-product-titles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Smaller & Shorter Product Titles'; public $number = 74; public $leak_variants = '(RepeaterPageArray) 9193|9194'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.70164693584ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9190; public $name = 'etsy-a-b-tests-smaller-shorter-product-titles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Smaller & Shorter Product Titles'; public $number = 74; public $leak_variants = '(RepeaterPageArray) 9193|9194'; public $data = [...] }], $options = [] ).../Functions.php:552
201.70164697096include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.70164693584ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9190; public $name = 'etsy-a-b-tests-smaller-shorter-product-titles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Smaller & Shorter Product Titles'; public $number = 74; public $leak_variants = '(RepeaterPageArray) 9193|9194'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.70164693584ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9190; public $name = 'etsy-a-b-tests-smaller-shorter-product-titles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Smaller & Shorter Product Titles'; public $number = 74; public $leak_variants = '(RepeaterPageArray) 9193|9194'; public $data = [...] }], $options = [] ).../Functions.php:552
201.70164697096include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.70164693584ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9190; public $name = 'etsy-a-b-tests-smaller-shorter-product-titles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Smaller & Shorter Product Titles'; public $number = 74; public $leak_variants = '(RepeaterPageArray) 9193|9194'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.70164693584ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9190; public $name = 'etsy-a-b-tests-smaller-shorter-product-titles'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests Smaller & Shorter Product Titles'; public $number = 74; public $leak_variants = '(RepeaterPageArray) 9193|9194'; public $data = [...] }], $options = [] ).../Functions.php:552
201.70164697096include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #74 from Etsy.com   |   Dec 22, 2021 Product

Etsy A/B Tests Smaller & Shorter Product Titles

Etsy just ran a simple little experiment that changed their product titles into smaller and truncated ones. The outcome looks like it has been rejected so something didn't work out here. 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.81164817920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9074; public $name = 'walmart-a-b-tested-this-winning-homepage'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tested This Winning Homepage'; public $number = 73; public $leak_variants = '(RepeaterPageArray) 9077|9078'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.81164817920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9074; public $name = 'walmart-a-b-tested-this-winning-homepage'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tested This Winning Homepage'; public $number = 73; public $leak_variants = '(RepeaterPageArray) 9077|9078'; public $data = [...] }], $options = [] ).../Functions.php:552
201.81164821432include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.81164817920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9074; public $name = 'walmart-a-b-tested-this-winning-homepage'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tested This Winning Homepage'; public $number = 73; public $leak_variants = '(RepeaterPageArray) 9077|9078'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.81164817920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9074; public $name = 'walmart-a-b-tested-this-winning-homepage'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tested This Winning Homepage'; public $number = 73; public $leak_variants = '(RepeaterPageArray) 9077|9078'; public $data = [...] }], $options = [] ).../Functions.php:552
201.81164821432include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.81164817920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9074; public $name = 'walmart-a-b-tested-this-winning-homepage'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tested This Winning Homepage'; public $number = 73; public $leak_variants = '(RepeaterPageArray) 9077|9078'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.81164817920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9074; public $name = 'walmart-a-b-tested-this-winning-homepage'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tested This Winning Homepage'; public $number = 73; public $leak_variants = '(RepeaterPageArray) 9077|9078'; public $data = [...] }], $options = [] ).../Functions.php:552
201.81164821432include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.81164817920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9074; public $name = 'walmart-a-b-tested-this-winning-homepage'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tested This Winning Homepage'; public $number = 73; public $leak_variants = '(RepeaterPageArray) 9077|9078'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.81164817920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9074; public $name = 'walmart-a-b-tested-this-winning-homepage'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tested This Winning Homepage'; public $number = 73; public $leak_variants = '(RepeaterPageArray) 9077|9078'; public $data = [...] }], $options = [] ).../Functions.php:552
201.81164821432include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.81164817920ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9074; public $name = 'walmart-a-b-tested-this-winning-homepage'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tested This Winning Homepage'; public $number = 73; public $leak_variants = '(RepeaterPageArray) 9077|9078'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.81164817920ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 9074; public $name = 'walmart-a-b-tested-this-winning-homepage'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Walmart A/B Tested This Winning Homepage'; public $number = 73; public $leak_variants = '(RepeaterPageArray) 9077|9078'; public $data = [...] }], $options = [] ).../Functions.php:552
201.81164821432include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #73 from Walmart.com   |   Dec 9, 2021 Home & Landing

Walmart A/B Tested This Winning Homepage

Walmart a/b tested a new version of their homepage which I managed to capture screenshots of. Generally speaking, the new variation is basically longer with more types of products, more results, and a greater distinction between products and categories. After waiting a few weeks, we can also confirm that the new version was implemented - suggesting a possible improvement. View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.91484933992ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8853; public $name = 'etsy-a-b-tests-a-different-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Different Price Style'; public $number = 72; public $leak_variants = '(RepeaterPageArray) 8856|8857'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.91484933992ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8853; public $name = 'etsy-a-b-tests-a-different-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Different Price Style'; public $number = 72; public $leak_variants = '(RepeaterPageArray) 8856|8857'; public $data = [...] }], $options = [] ).../Functions.php:552
201.91484937504include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.91484933992ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8853; public $name = 'etsy-a-b-tests-a-different-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Different Price Style'; public $number = 72; public $leak_variants = '(RepeaterPageArray) 8856|8857'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.91484933992ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8853; public $name = 'etsy-a-b-tests-a-different-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Different Price Style'; public $number = 72; public $leak_variants = '(RepeaterPageArray) 8856|8857'; public $data = [...] }], $options = [] ).../Functions.php:552
201.91484937504include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.91484933992ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8853; public $name = 'etsy-a-b-tests-a-different-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Different Price Style'; public $number = 72; public $leak_variants = '(RepeaterPageArray) 8856|8857'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.91484933992ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8853; public $name = 'etsy-a-b-tests-a-different-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Different Price Style'; public $number = 72; public $leak_variants = '(RepeaterPageArray) 8856|8857'; public $data = [...] }], $options = [] ).../Functions.php:552
201.91484937504include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.91484933992ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8853; public $name = 'etsy-a-b-tests-a-different-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Different Price Style'; public $number = 72; public $leak_variants = '(RepeaterPageArray) 8856|8857'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.91484933992ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8853; public $name = 'etsy-a-b-tests-a-different-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Different Price Style'; public $number = 72; public $leak_variants = '(RepeaterPageArray) 8856|8857'; public $data = [...] }], $options = [] ).../Functions.php:552
201.91484937504include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
181.91484933992ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8853; public $name = 'etsy-a-b-tests-a-different-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Different Price Style'; public $number = 72; public $leak_variants = '(RepeaterPageArray) 8856|8857'; public $data = [...] }], $options = ??? ).../leaks.php:265
191.91484933992ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8853; public $name = 'etsy-a-b-tests-a-different-price-style'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Etsy A/B Tests A Different Price Style'; public $number = 72; public $leak_variants = '(RepeaterPageArray) 8856|8857'; public $data = [...] }], $options = [] ).../Functions.php:552
201.91484937504include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #72 from Etsy.com   |   Oct 27, 2021 Product

Etsy A/B Tests A Different Price Style

Etsy just ran an a/b test of how prices were displayed on their product pages. The three related changes were detected as a single variation and it now seems like the experiment ended up being rejected - suggesting a loss or insignificant outcome. Although the changes were confounded, based on some positive data related to showing availability, perhaps removing the "In stock" copy was one change too many. Here is what the experiment looked like: View Leak


( ! ) Warning: Undefined variable $pattern_leak in /home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php on line 22
Call Stack
#TimeMemoryFunctionLocation
10.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.01905066472ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8748; public $name = 'airbnb-discovers-a-better-way-to-let-customers-explore-listings'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Way To Let Customers Explore Listings'; public $number = 71; public $leak_variants = '(RepeaterPageArray) 8751|8752'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.01905066472ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8748; public $name = 'airbnb-discovers-a-better-way-to-let-customers-explore-listings'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Way To Let Customers Explore Listings'; public $number = 71; public $leak_variants = '(RepeaterPageArray) 8751|8752'; public $data = [...] }], $options = [] ).../Functions.php:552
202.01915069984include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.01905066472ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8748; public $name = 'airbnb-discovers-a-better-way-to-let-customers-explore-listings'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Way To Let Customers Explore Listings'; public $number = 71; public $leak_variants = '(RepeaterPageArray) 8751|8752'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.01905066472ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8748; public $name = 'airbnb-discovers-a-better-way-to-let-customers-explore-listings'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Way To Let Customers Explore Listings'; public $number = 71; public $leak_variants = '(RepeaterPageArray) 8751|8752'; public $data = [...] }], $options = [] ).../Functions.php:552
202.01915069984include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.01905066472ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8748; public $name = 'airbnb-discovers-a-better-way-to-let-customers-explore-listings'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Way To Let Customers Explore Listings'; public $number = 71; public $leak_variants = '(RepeaterPageArray) 8751|8752'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.01905066472ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8748; public $name = 'airbnb-discovers-a-better-way-to-let-customers-explore-listings'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Way To Let Customers Explore Listings'; public $number = 71; public $leak_variants = '(RepeaterPageArray) 8751|8752'; public $data = [...] }], $options = [] ).../Functions.php:552
202.01915069984include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.01905066472ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8748; public $name = 'airbnb-discovers-a-better-way-to-let-customers-explore-listings'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Way To Let Customers Explore Listings'; public $number = 71; public $leak_variants = '(RepeaterPageArray) 8751|8752'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.01905066472ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8748; public $name = 'airbnb-discovers-a-better-way-to-let-customers-explore-listings'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Way To Let Customers Explore Listings'; public $number = 71; public $leak_variants = '(RepeaterPageArray) 8751|8752'; public $data = [...] }], $options = [] ).../Functions.php:552
202.01915069984include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.01905066472ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8748; public $name = 'airbnb-discovers-a-better-way-to-let-customers-explore-listings'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Way To Let Customers Explore Listings'; public $number = 71; public $leak_variants = '(RepeaterPageArray) 8751|8752'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.01905066472ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8748; public $name = 'airbnb-discovers-a-better-way-to-let-customers-explore-listings'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Discovers A Better Way To Let Customers Explore Listings'; public $number = 71; public $leak_variants = '(RepeaterPageArray) 8751|8752'; public $data = [...] }], $options = [] ).../Functions.php:552
202.01915069984include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #71 from Airbnb.com   |   Oct 1, 2021 Home & Landing

Airbnb Discovers A Better Way To Let Customers Explore Listings

It looks like Airbnb once again ran an exciting experiment where they sought a better way to let customers explore property listings. I managed to detect an a/b test with changes to the homepage button which then spilled over into more changes on the listing page. I'll also admit that I am not 100% sure whether this was one bigger experiment on both pages or two separate ones. Either way, here are some of the particular differences I found really interesting ... 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.12235182632ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8658; public $name = 'airbnb-a-b-tests-more-filters-on-their-listing-screens-with-this-outcome'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests More Filters On Their Listing Screens With This Outcome'; public $number = 70; public $leak_variants = '(RepeaterPageArray) 8661|8662'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.12235182632ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8658; public $name = 'airbnb-a-b-tests-more-filters-on-their-listing-screens-with-this-outcome'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests More Filters On Their Listing Screens With This Outcome'; public $number = 70; public $leak_variants = '(RepeaterPageArray) 8661|8662'; public $data = [...] }], $options = [] ).../Functions.php:552
202.12245186144include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.12235182632ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8658; public $name = 'airbnb-a-b-tests-more-filters-on-their-listing-screens-with-this-outcome'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests More Filters On Their Listing Screens With This Outcome'; public $number = 70; public $leak_variants = '(RepeaterPageArray) 8661|8662'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.12235182632ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8658; public $name = 'airbnb-a-b-tests-more-filters-on-their-listing-screens-with-this-outcome'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests More Filters On Their Listing Screens With This Outcome'; public $number = 70; public $leak_variants = '(RepeaterPageArray) 8661|8662'; public $data = [...] }], $options = [] ).../Functions.php:552
202.12245186144include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.12235182632ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8658; public $name = 'airbnb-a-b-tests-more-filters-on-their-listing-screens-with-this-outcome'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests More Filters On Their Listing Screens With This Outcome'; public $number = 70; public $leak_variants = '(RepeaterPageArray) 8661|8662'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.12235182632ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8658; public $name = 'airbnb-a-b-tests-more-filters-on-their-listing-screens-with-this-outcome'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests More Filters On Their Listing Screens With This Outcome'; public $number = 70; public $leak_variants = '(RepeaterPageArray) 8661|8662'; public $data = [...] }], $options = [] ).../Functions.php:552
202.12245186144include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.12235182632ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8658; public $name = 'airbnb-a-b-tests-more-filters-on-their-listing-screens-with-this-outcome'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests More Filters On Their Listing Screens With This Outcome'; public $number = 70; public $leak_variants = '(RepeaterPageArray) 8661|8662'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.12235182632ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8658; public $name = 'airbnb-a-b-tests-more-filters-on-their-listing-screens-with-this-outcome'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests More Filters On Their Listing Screens With This Outcome'; public $number = 70; public $leak_variants = '(RepeaterPageArray) 8661|8662'; public $data = [...] }], $options = [] ).../Functions.php:552
202.12245186144include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.12235182632ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8658; public $name = 'airbnb-a-b-tests-more-filters-on-their-listing-screens-with-this-outcome'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests More Filters On Their Listing Screens With This Outcome'; public $number = 70; public $leak_variants = '(RepeaterPageArray) 8661|8662'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.12235182632ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8658; public $name = 'airbnb-a-b-tests-more-filters-on-their-listing-screens-with-this-outcome'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb A/B Tests More Filters On Their Listing Screens With This Outcome'; public $number = 70; public $leak_variants = '(RepeaterPageArray) 8661|8662'; public $data = [...] }], $options = [] ).../Functions.php:552
202.12245186144include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #70 from Airbnb.com   |   Sep 7, 2021 Listing

Airbnb A/B Tests More Filters On Their Listing Screens With This Outcome

Here is a filter experiment I managed to detect on Airbnb's listing pages a few months ago. At the outset it looks like Airbnb was simply trying to add more filter options, but in reality there are at least three changes confounded together. If we break these changes up into individual patterns we might learn that some of them might be better than others. Perhaps this combination or interaction of both negative and positive changes could be an explanation as to why it looks like the variation was eventually 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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.22585306440ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8557; public $name = 'airbnb-runs-a-successful-leap-redesign-experiment-for-new-hosts'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Runs A Successful Leap Redesign Experiment For New Hosts'; public $number = 69; public $leak_variants = '(RepeaterPageArray) 8560|8561'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.22585306440ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8557; public $name = 'airbnb-runs-a-successful-leap-redesign-experiment-for-new-hosts'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Runs A Successful Leap Redesign Experiment For New Hosts'; public $number = 69; public $leak_variants = '(RepeaterPageArray) 8560|8561'; public $data = [...] }], $options = [] ).../Functions.php:552
202.22595309952include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.22585306440ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8557; public $name = 'airbnb-runs-a-successful-leap-redesign-experiment-for-new-hosts'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Runs A Successful Leap Redesign Experiment For New Hosts'; public $number = 69; public $leak_variants = '(RepeaterPageArray) 8560|8561'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.22585306440ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8557; public $name = 'airbnb-runs-a-successful-leap-redesign-experiment-for-new-hosts'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Runs A Successful Leap Redesign Experiment For New Hosts'; public $number = 69; public $leak_variants = '(RepeaterPageArray) 8560|8561'; public $data = [...] }], $options = [] ).../Functions.php:552
202.22595309952include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.22585306440ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8557; public $name = 'airbnb-runs-a-successful-leap-redesign-experiment-for-new-hosts'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Runs A Successful Leap Redesign Experiment For New Hosts'; public $number = 69; public $leak_variants = '(RepeaterPageArray) 8560|8561'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.22585306440ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8557; public $name = 'airbnb-runs-a-successful-leap-redesign-experiment-for-new-hosts'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Runs A Successful Leap Redesign Experiment For New Hosts'; public $number = 69; public $leak_variants = '(RepeaterPageArray) 8560|8561'; public $data = [...] }], $options = [] ).../Functions.php:552
202.22595309952include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.22585306440ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8557; public $name = 'airbnb-runs-a-successful-leap-redesign-experiment-for-new-hosts'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Runs A Successful Leap Redesign Experiment For New Hosts'; public $number = 69; public $leak_variants = '(RepeaterPageArray) 8560|8561'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.22585306440ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8557; public $name = 'airbnb-runs-a-successful-leap-redesign-experiment-for-new-hosts'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Runs A Successful Leap Redesign Experiment For New Hosts'; public $number = 69; public $leak_variants = '(RepeaterPageArray) 8560|8561'; public $data = [...] }], $options = [] ).../Functions.php:552
202.22595309952include( '/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.0000465208{main}( ).../index.php:0
20.08232252856ProcessWire\Wire->__call( $method = 'execute', $arguments = [0 => TRUE] ).../index.php:55
30.08232252856ProcessWire\WireHooks->runHooks( $object = class ProcessWire\ProcessPageView { }, $method = 'execute', $arguments = [0 => TRUE], $type = ??? ).../Wire.php:484
40.08232253272ProcessWire\Wire->_callMethod( $method = '___execute', $arguments = [0 => TRUE] ).../WireHooks.php:952
50.08232253272ProcessWire\ProcessPageView->___execute( $internal = TRUE ).../Wire.php:416
60.08522266136ProcessWire\ProcessPageView->renderPage( $page = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $request = class ProcessWire\PagesRequest { } ).../ProcessPageView.module:114
70.10232300296ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../ProcessPageView.module:184
80.10232300296ProcessWire\WireHooks->runHooks( $object = class ProcessWire\Page { public $id = 2937; public $name = 'leaks'; public $parent = '/'; public $template = 'leaks'; public $numChildren = 90; public $title = 'Leaks'; public $data = ['title' => 'Leaks'] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
90.10242302256ProcessWire\Wire->__call( $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:1060
100.10242302256ProcessWire\WireHooks->runHooks( $object = class ProcessWire\PageRender { public $data = ['clearCache' => 1] }, $method = 'renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }], $type = ??? ).../Wire.php:484
110.10242302672ProcessWire\Wire->_callMethod( $method = '___renderPage', $arguments = [0 => class ProcessWire\HookEvent { public $data = [...] }] ).../WireHooks.php:952
120.10242302672ProcessWire\PageRender->___renderPage( $event = class ProcessWire\HookEvent { public $data = ['object' => class ProcessWire\Page { ... }, 'method' => 'render', 'arguments' => [...], 'return' => NULL, 'replace' => FALSE, 'options' => [...], 'id' => 'Page:100.0:render', 'cancelHooks' => FALSE, 'when' => 'after'] } ).../Wire.php:416
130.10332303216ProcessWire\Wire->__call( $method = 'render', $arguments = [] ).../PageRender.module:575
140.10332303216ProcessWire\WireHooks->runHooks( $object = class ProcessWire\TemplateFile { public $data = ['wire' => class ProcessWire\ProcessWire { ... }, 'classLoader' => class ProcessWire\WireClassLoader { ... }, 'hooks' => class ProcessWire\WireHooks { ... }, 'config' => class ProcessWire\Config { ... }, 'notices' => class ProcessWire\Notices { ... }, 'urls' => class ProcessWire\Paths { ... }, 'log' => class ProcessWire\WireLog { ... }, 'sanitizer' => class ProcessWire\Sanitizer { ... }, 'datetime' => class ProcessWire\WireDateTime { ... }, 'files' => class ProcessWire\WireFileTools { ... }, 'mail' => class ProcessWire\WireMailTools { ... }, 'database' => class ProcessWire\WireDatabasePDO { ... }, 'db' => class ProcessWire\DatabaseMysqli { ... }, 'cache' => class ProcessWire\WireCache { ... }, 'modules' => class ProcessWire\Modules { ... }, 'procache' => class ProcessWire\ProCache { ... }, 'fieldtypes' => class ProcessWire\Fieldtypes { ... }, 'fields' => class ProcessWire\Fields { ... }, 'fieldgroups' => class ProcessWire\Fieldgroups { ... }, 'templates' => class ProcessWire\Templates { ... }, 'pages' => class ProcessWire\Pages { ... }, 'permissions' => class ProcessWire\Permissions { ... }, 'roles' => class ProcessWire\Roles { ... }, 'users' => class ProcessWire\Users { ... }, 'user' => class ProcessWire\User { ... }, 'session' => class ProcessWire\Session { ... }, 'input' => class ProcessWire\WireInput { ... }, 'buster' => class ProcessWire\ProCacheBuster { ... }, 'process' => class ProcessWire\ProcessPageView { ... }, 'page' => class ProcessWire\Page { ... }, 'options' => [...]] }, $method = 'render', $arguments = [], $type = ??? ).../Wire.php:484
150.10342304568ProcessWire\Wire->_callMethod( $method = '___render', $arguments = [] ).../WireHooks.php:952
160.10342304568ProcessWire\TemplateFile->___render( ).../Wire.php:413
170.10372340752require( '/home/jlahijani/Sites/goodui.org/site/templates/leaks.php ).../TemplateFile.php:328
182.22585306440ProcessWire\wireIncludeFile( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8557; public $name = 'airbnb-runs-a-successful-leap-redesign-experiment-for-new-hosts'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Runs A Successful Leap Redesign Experiment For New Hosts'; public $number = 69; public $leak_variants = '(RepeaterPageArray) 8560|8561'; public $data = [...] }], $options = ??? ).../leaks.php:265
192.22585306440ProcessWire\WireFileTools->___include( $filename = './_leak-item', $vars = ['leak' => class ProcessWire\Page { public $id = 8557; public $name = 'airbnb-runs-a-successful-leap-redesign-experiment-for-new-hosts'; public $parent = '/leaks/'; public $template = 'leak'; public $title = 'Airbnb Runs A Successful Leap Redesign Experiment For New Hosts'; public $number = 69; public $leak_variants = '(RepeaterPageArray) 8560|8561'; public $data = [...] }], $options = [] ).../Functions.php:552
202.22595309952include( '/home/jlahijani/Sites/goodui.org/site/templates/_leak-item.php ).../WireFileTools.php:1583

Leak #69 from Airbnb.com   |   Aug 11, 2021 Home & Landing

Airbnb Runs A Successful Leap Redesign Experiment For New Hosts

Airbnb just completed testing and rolling out a successful variation for their new host landing page. The interesting thing about this experiment is that it was a leap a/b test containing many changes (some of which are being followed up with small scale a/b tests as I'm writing this). Here is my take on some of the changes along with the corresponding patterns. View Leak