{"name":"Bike Window","headerTitle":"Bike Window","version":1,"accentColor":"#8FD2FF","appearance":{"colorScheme":"dark"},"theme":{"accentColor":"#8FD2FF","accentGradient":["#8FD2FF","#C0E6A0"],"pageBackgroundGradient":["#0A111D","#122132"],"cornerRadius":20,"fontDesign":"rounded","cardPadding":12,"borderWidth":0.5,"tabBarTint":"#8FD2FF"},"tabs":[{"title":"Overview","icon":"bicycle","grid":{"columns":4,"rows":12,"mode":"flow"},"children":[{"type":"label","id":"bike-window-2","position":[0,0],"span":[1,4],"label":"","controlHeight":112,"tint":"#8FD2FF","text":"Which nearby New York stations have bikes and docks?","style":"large-mono","align":"leading"},{"type":"statusLight","id":"bike-window-1","position":[1,0],"span":[1,4],"label":"Source response","controlHeight":46,"tint":"#8FD2FF","style":"badge","defaultValue":"WAITING","statusColors":{"READY":"#A8DFC3","EMPTY":"#DBC990","STALE":"#F2BA81","UNAVAILABLE":"#F59B9F","WAITING":"#A9B5C8"},"pulse":false,"sync":[{"method":"http","url":"https://carterbeaudoin.net/api/template-feed/bike-window","interval":120,"valuePath":"status"}]},{"type":"label","id":"bike-window-3","position":[2,0],"span":[1,4],"label":"","controlHeight":64,"tint":"#8FD2FF","text":"Waiting for first successful retrieval","style":"mono","align":"leading","sync":[{"method":"http","url":"https://carterbeaudoin.net/api/template-feed/bike-window","interval":120,"valuePath":"freshness"}]},{"type":"map","id":"bike-window-4","position":[3,0],"span":[1,4],"label":"Stations and locations","controlHeight":380,"tint":"#8FD2FF","mapStyle":"standard","mapInteractive":true,"mapConfig":{"maxMarkers":100},"defaultValue":"{\"markers\":[]}","sync":[{"method":"http","url":"https://carterbeaudoin.net/api/template-feed/bike-window","interval":120,"valuePath":"map"}]},{"type":"label","id":"bike-window-5","position":[4,0],"span":[1,4],"label":"","controlHeight":68,"tint":"#8FD2FF","text":"Pan and zoom to locate a station or record; compare it with the table.","style":"mono","align":"leading"},{"type":"flipCard","id":"bike-window-13","position":[5,0],"span":[1,4],"label":"","controlHeight":270,"tint":"#8FD2FF","panels":[{"type":"group","id":"bike-window-panel-9","label":"Reading","position":[0,0],"grid":{"columns":4,"rows":3,"mode":"flow"},"children":[{"type":"label","id":"bike-window-6","position":[0,0],"span":[1,4],"label":"","controlHeight":62,"tint":"#8FD2FF","text":"Bikes in displayed stations","style":"mono","align":"leading"},{"type":"label","id":"bike-window-7","position":[1,0],"span":[1,4],"label":"","controlHeight":112,"tint":"#8FD2FF","text":"Waiting for source","style":"large-mono","align":"leading","sync":[{"method":"http","url":"https://carterbeaudoin.net/api/template-feed/bike-window","interval":120,"valuePath":"metric1"}]},{"type":"label","id":"bike-window-8","position":[2,0],"span":[1,4],"label":"","controlHeight":32,"tint":"#8FD2FF","text":"Tap for context ↻","style":"mono","align":"leading"}]},{"type":"group","id":"bike-window-panel-12","label":"Meaning","position":[0,0],"grid":{"columns":4,"rows":2,"mode":"flow"},"children":[{"type":"label","id":"bike-window-10","position":[0,0],"span":[1,4],"label":"","controlHeight":158,"tint":"#8FD2FF","text":"One map and two counts turn a large feed into a specific decision you can understand.","style":"mono","align":"leading"},{"type":"label","id":"bike-window-11","position":[1,0],"span":[1,4],"label":"","controlHeight":32,"tint":"#8FD2FF","text":"Tap to return ↻","style":"mono","align":"leading"}]}],"flipAxis":"horizontal","flipTrigger":"tap","defaultValue":0,"containerAnimation":{"profile":"smooth"}},{"type":"flipCard","id":"bike-window-21","position":[6,0],"span":[1,4],"label":"","controlHeight":270,"tint":"#8FD2FF","panels":[{"type":"group","id":"bike-window-panel-17","label":"Reading","position":[0,0],"grid":{"columns":4,"rows":3,"mode":"flow"},"children":[{"type":"label","id":"bike-window-14","position":[0,0],"span":[1,4],"label":"","controlHeight":62,"tint":"#8FD2FF","text":"Empty docks in displayed stations","style":"mono","align":"leading"},{"type":"label","id":"bike-window-15","position":[1,0],"span":[1,4],"label":"","controlHeight":112,"tint":"#8FD2FF","text":"Waiting for source","style":"large-mono","align":"leading","sync":[{"method":"http","url":"https://carterbeaudoin.net/api/template-feed/bike-window","interval":120,"valuePath":"metric2"}]},{"type":"label","id":"bike-window-16","position":[2,0],"span":[1,4],"label":"","controlHeight":32,"tint":"#8FD2FF","text":"Tap for context ↻","style":"mono","align":"leading"}]},{"type":"group","id":"bike-window-panel-20","label":"Meaning","position":[0,0],"grid":{"columns":4,"rows":2,"mode":"flow"},"children":[{"type":"label","id":"bike-window-18","position":[0,0],"span":[1,4],"label":"","controlHeight":158,"tint":"#8FD2FF","text":"Default center: Union Square, NYC. Status is a snapshot, not a reservation. Unknown counts are excluded.","style":"mono","align":"leading"},{"type":"label","id":"bike-window-19","position":[1,0],"span":[1,4],"label":"","controlHeight":32,"tint":"#8FD2FF","text":"Tap to return ↻","style":"mono","align":"leading"}]}],"flipAxis":"horizontal","flipTrigger":"tap","defaultValue":0,"containerAnimation":{"profile":"smooth"}},{"type":"label","id":"bike-window-22","position":[7,0],"span":[1,4],"label":"","controlHeight":82,"tint":"#8FD2FF","text":"Observation time not supplied","style":"mono","align":"leading","sync":[{"method":"http","url":"https://carterbeaudoin.net/api/template-feed/bike-window","interval":120,"valuePath":"source_time"}]},{"type":"label","id":"bike-window-23","position":[8,0],"span":[1,4],"label":"","controlHeight":104,"tint":"#8FD2FF","text":"Default center: Union Square, NYC. Status is a snapshot, not a reservation. Unknown counts are excluded.","style":"mono","align":"leading"},{"type":"label","id":"bike-window-24","position":[9,0],"span":[1,4],"label":"","controlHeight":68,"tint":"#8FD2FF","text":"Source: CityBikes / Citi Bike · links in Learn","style":"mono","align":"leading"}]},{"title":"Explore","icon":"square.grid.2x2","grid":{"columns":4,"rows":7,"mode":"flow"},"children":[{"type":"label","id":"bike-window-25","position":[0,0],"span":[1,4],"label":"","controlHeight":112,"tint":"#8FD2FF","text":"Same source. Another useful view.","style":"large-mono","align":"leading"},{"type":"treemap","id":"bike-window-26","position":[1,0],"span":[1,4],"label":"Available bikes · station blocks","controlHeight":320,"tint":"#8FD2FF","treemapConfig":{"drillDown":true,"showLabels":true,"showValues":true,"scrub":true},"defaultValue":"{\"items\":[]}","sync":[{"method":"http","url":"https://carterbeaudoin.net/api/template-feed/bike-window","interval":120,"valuePath":"tree"}]},{"type":"label","id":"bike-window-27","position":[2,0],"span":[1,4],"label":"","controlHeight":75,"tint":"#8FD2FF","text":"Source notes","style":"mono","align":"leading","sync":[{"method":"http","url":"https://carterbeaudoin.net/api/template-feed/bike-window","interval":120,"valuePath":"detail"}]},{"type":"list","id":"bike-window-28","position":[3,0],"span":[1,4],"label":"Selected source records","controlHeight":420,"tint":"#8FD2FF","listColumns":[{"key":"title","label":"Record"},{"key":"detail","label":"Context"},{"key":"value","label":"Reading / date"}],"defaultValue":"[]","sync":[{"method":"http","url":"https://carterbeaudoin.net/api/template-feed/bike-window","interval":120,"valuePath":"rows"}]},{"type":"accordion","id":"bike-window-35","position":[4,0],"span":[1,4],"label":"A little context","controlHeight":320,"tint":"#8FD2FF","accordionMode":"single","expandedIndex":0,"showChevron":true,"panels":[{"type":"group","id":"bike-window-panel-30","label":"What this teaches","position":[0,0],"grid":{"columns":4,"rows":1,"mode":"flow"},"children":[{"type":"label","id":"bike-window-29","position":[0,0],"span":[1,4],"label":"","controlHeight":125,"tint":"#8FD2FF","text":"One map and two counts turn a large feed into a specific decision you can understand.","style":"mono","align":"leading"}]},{"type":"group","id":"bike-window-panel-32","label":"Read before using","position":[0,0],"grid":{"columns":4,"rows":1,"mode":"flow"},"children":[{"type":"label","id":"bike-window-31","position":[0,0],"span":[1,4],"label":"","controlHeight":145,"tint":"#8FD2FF","text":"Default center: Union Square, NYC. Status is a snapshot, not a reservation. Unknown counts are excluded.","style":"mono","align":"leading"}]},{"type":"group","id":"bike-window-panel-34","label":"Where the data comes from","position":[0,0],"grid":{"columns":4,"rows":1,"mode":"flow"},"children":[{"type":"label","id":"bike-window-33","position":[0,0],"span":[1,4],"label":"","controlHeight":180,"tint":"#8FD2FF","text":"CityBikes / Citi Bike\nPublic CityBikes API, with visible source link required; operator data is not blanket open-licensed.","style":"mono","align":"leading"}]}],"containerAnimation":{"profile":"smooth"}}]},{"title":"Learn","icon":"book.closed","grid":{"columns":4,"rows":3,"mode":"flow"},"children":[{"type":"webView","id":"bike-window-36","position":[0,0],"span":[1,4],"label":"A one-minute walkthrough","controlHeight":780,"tint":"#8FD2FF","url":"https://carterbeaudoin.net/CAR-TER/templates/open-data/bike-window.html","webInteractive":true,"webScrollEnabled":true}]}]}