Itron Idea Labs

To Move or Not to Move: Insights from CES 2020

January 15, 2020

Humans are designed to walk 12 miles per day, according to anthropologists. This dates back to when we roamed the Serengeti desert. Modern humans today generally think we are supposed to walk 10,000 steps per day, because that’s what popular apps tell us.

The technology on display at this year’s Consumer Electronics Show (CES) seems to give competing messages: minimize motion on the one hand and maximize it on the other hand.

Segway showed the S-Pod, a self-balancing chair so you don't have to walk around anymore. Or you can drive around with a Smart Cycle.



If you don't want to make the effort of driving, just attach a self-driving box to the roof of your car and it will do it for you – this includes Lidar, radar and cameras.



The smart shower mat weighs you as you step on it, right out of the shower, so you don't have to walk all the way to the scale. No need to change trash bags with Townew, the self-sealing, self-changing trash can. Rock the baby automatically with the automatic bassinet. And no need to play with your dog with the self-moving dog toys.

But not so fast! Health was also big at CES 2020. Technology makes it so that you don’t have to move, but it also gives you the tools to move in style if you want to: treadmills with screens showing you classes, cameras checking your form while you run, shoes with all sorts of sensors and all types of wearable devices monitoring your biometric functions while you move.

This advanced level of automation was also reflected in Itron Idea Labs’ demonstrations during the show, where sustainability and carbon reduction were predominant topics. In one demonstration, sustainability managers at large hotel resorts can monitor real-time consumption of energy, water, gas and steam – including the facility’s total carbon emissions – to help meet sustainability targets. In another, cities can monitor traffic patterns, analyzing data from many different sources. Automation and data aggregation at the utility and municipality level are going to make new insights available at everyone's fingertips.

Overall, our motions are becoming more valuable: technology allows us to move throughout most of our day without actually moving. But when we do move – whether in our personal lives or at the business level – each single motion is measured and analyzed.

Wystąpił błąd podczas przetwarzania szablonu.
The following has evaluated to null or missing:
==> authorContent.contentFields  [in template "44616#44647#114455" at line 9, column 17]

----
Tip: It's the step after the last dot that caused this error, not those before it.
----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: contentFields = authorContent.content...  [in template "44616#44647#114455" at line 9, column 1]
----
1<#assign 
2	webContentData = jsonFactoryUtil.createJSONObject(author.getData()) 
3	classPK = webContentData.classPK 
4/> 
5 
6<#assign 
7authorContent = restClient.get("/headless-delivery/v1.0/structured-contents/" + classPK + "?fields=contentFields%2CfriendlyUrlPath%2CtaxonomyCategoryBriefs") 
8contentFields = authorContent.contentFields 
9categories=authorContent.taxonomyCategoryBriefs 
10authorContentData = jsonFactoryUtil.createJSONObject(authorContent) 
11friendlyURL = authorContentData.friendlyUrlPath 
12authorCategoryId = "0" 
13/> 
14 
15<#list contentFields as contentField > 
16   <#assign  
17	 contentFieldData = jsonFactoryUtil.createJSONObject(contentField)  
18	 name = contentField.name 
19	 /> 
20	 <#if name == 'authorImage'> 
21	    <#if (contentField.contentFieldValue.image)??> 
22	        <#assign authorImageURL = contentField.contentFieldValue.image.contentUrl />	 
23			</#if> 
24	 </#if> 
25	 <#if name == 'authorName'> 
26	    <#assign authorName = contentField.contentFieldValue.data /> 
27			<#list categories as category > 
28         <#if authorName == category.taxonomyCategoryName> 
29				     <#assign authorCategoryId = category.taxonomyCategoryId /> 
30				 </#if> 
31      </#list> 
32	 </#if> 
33	 <#if name == 'authorDescription'> 
34	    <#assign authorDescription = contentField.contentFieldValue.data /> 
35			 
36	 </#if> 
37	  
38	 <#if name == 'authorJobTitle'> 
39	    <#assign authorJobTitle = contentField.contentFieldValue.data /> 
40			 
41	 </#if> 
42 
43</#list> 
44 
45<div class="blog-author-info"> 
46	<#if authorImageURL??> 
47		<img class="blog-author-img" id="author-image" src="${authorImageURL}" alt="" /> 
48	</#if> 
49	<#if authorName??> 
50		<#if authorName != ""> 
51			<p class="blog-author-name">By <a id="author-detail-page" href="/w/${friendlyURL}?filter_category_552298=${authorCategoryId}"><span id="author-full-name">${authorName}</span></a></p> 
52			<hr /> 
53		</#if> 
54	</#if> 
55	<#if authorJobTitle??> 
56		<#if authorJobTitle != ""> 
57			<p class="blog-author-title" id="author-job-title" >${authorJobTitle}</p> 
58			<hr /> 
59		</#if> 
60	</#if> 
61	<#if authorDescription??> 
62		<#if authorDescription != "" && authorDescription != "null" > 
63			<p class="blog-author-desc" id="author-job-desc">${authorDescription}</p> 
64			<hr /> 
65		</#if> 
66	</#if> 
67</div>