<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Aniket Handa]]></title><description><![CDATA[Personal website of Aniket Handa. User Experience Engineer and Prototyper]]></description><link>https://anikethanda.com</link><image><url>https://anikethanda.com/icons/icon-512x512.png</url><title>Aniket Handa</title><link>https://anikethanda.com</link></image><generator>GatsbyJS</generator><lastBuildDate>Tue, 17 Mar 2026 23:47:04 GMT</lastBuildDate><atom:link href="https://anikethanda.com/rss.xml" rel="self" type="application/rss+xml"/><item><title><![CDATA[Altmatter]]></title><description><![CDATA[Design + Engineering studio crafting next-gen intelligent interfaces.]]></description><link>https://anikethanda.com/Altmatter</link><guid isPermaLink="false">https://anikethanda.com/Altmatter</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Tue, 01 Apr 2025 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;Altmatter&quot;,
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;date&quot;: &quot;2025-04-01T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;Entrepreneurship&quot;,
  &quot;tags&quot;: [&quot;React&quot;, &quot;TypeScript&quot;, &quot;AI&quot;],
  &quot;present&quot;: true,
  &quot;hero&quot;: &quot;./altmatter.png&quot;,
  &quot;excerpt&quot;: &quot;Design + Engineering studio crafting next-gen intelligent interfaces.&quot;,
  &quot;links&quot;: [{
    &quot;label&quot;: &quot;Website&quot;,
    &quot;link&quot;: &quot;https://www.altmatter.com&quot;
  }]
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;p&quot;, null, mdx(&quot;a&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;href&quot;: &quot;https://altmatter.com/&quot;,
    &quot;target&quot;: &quot;_blank&quot;,
    &quot;rel&quot;: &quot;noreferrer&quot;
  }), &quot;Altmatter&quot;), &quot; is a Design + Engineering studio based in Seattle, WA, crafting intelligent digital interfaces for forward-thinking teams.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;services&quot;
  }, &quot;Services&quot;), mdx(&quot;p&quot;, null, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Product Design&quot;), &quot; \u2014 User research, UI/UX, design systems, prototyping, and interaction design. Creating products that feel inevitable.&quot;), mdx(&quot;p&quot;, null, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Development&quot;), &quot; \u2014 Full-stack engineering across web, mobile, and 3D. TypeScript, React, React Native, Three.js, and Node.&quot;), mdx(&quot;p&quot;, null, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Hardware Prototyping&quot;), &quot; \u2014 Electronics, firmware, sensor integration, and connected device development.&quot;), mdx(&quot;p&quot;, null, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;MCP &amp; ChatGPT Apps&quot;), &quot; \u2014 Custom AI tools, integrations, and agentic workflows.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;clients&quot;
  }, &quot;Clients&quot;), mdx(&quot;p&quot;, null, &quot;Worked with 10+ clients including Ello, Mojo Vision, Orca, Paradero, and Ravel.&quot;));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[OpenBnB]]></title><description><![CDATA[Building tools to reduce friction in short-term rental discovery and direct booking.]]></description><link>https://anikethanda.com/OpenBnB</link><guid isPermaLink="false">https://anikethanda.com/OpenBnB</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Sun, 01 Sep 2024 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;OpenBnB&quot;,
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;date&quot;: &quot;2024-09-01T00:00:00.000Z&quot;,
  &quot;present&quot;: true,
  &quot;category&quot;: &quot;Entrepreneurship&quot;,
  &quot;tags&quot;: [&quot;Chrome Extension&quot;, &quot;MCP&quot;, &quot;AI&quot;],
  &quot;hero&quot;: &quot;./openbnb.png&quot;,
  &quot;links&quot;: [{
    &quot;label&quot;: &quot;Website&quot;,
    &quot;link&quot;: &quot;https://www.openbnb.org&quot;
  }],
  &quot;excerpt&quot;: &quot;Building tools to reduce friction in short-term rental discovery and direct booking.&quot;
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;p&quot;, null, &quot;Short-term rental platforms have consolidated discovery but fragmented trust. Guests pay 15\u201320% in service fees. Hosts lose margin and own no relationship with their guests. The problem isn\u2019t supply \u2014 it\u2019s the layer between.&quot;), mdx(&quot;p&quot;, null, &quot;OpenBnB started as a question: what\u2019s the minimum viable surface to reconnect hosts and guests?&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;chrome-extension&quot;
  }, &quot;Chrome Extension&quot;), mdx(&quot;p&quot;, null, &quot;The first answer was a browser extension. Rather than building a competing marketplace, the extension layers onto existing Airbnb browsing \u2014 detecting listings where hosts have a direct booking website and surfacing that link inline.&quot;), mdx(&quot;p&quot;, null, &quot;The interaction model was intentionally low-friction: no account, no redirect, no onboarding. Highlight, click, go. The extension auto-checks listings in the background and visually marks which ones have a direct option available.&quot;), mdx(&quot;p&quot;, null, &quot;Rated \u2605\u2605\u2605\u2605\u2605 on the Chrome Web Store.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;mcp-server&quot;
  }, &quot;MCP Server&quot;), mdx(&quot;p&quot;, null, &quot;The second surface came from a different angle. As AI assistants became practical travel planning tools, the question shifted: how do you bring rental search into that context?&quot;), mdx(&quot;p&quot;, null, &quot;The &quot;, mdx(&quot;a&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;href&quot;: &quot;https://github.com/openbnb-org/mcp-server-airbnb&quot;,
    &quot;target&quot;: &quot;_blank&quot;,
    &quot;rel&quot;: &quot;noreferrer&quot;
  }), &quot;mcp-server-airbnb&quot;), &quot; is an open-source Model Context Protocol server that lets AI agents query Airbnb listings directly \u2014 searching by location, dates, guest count, price range, and more, then retrieving full property details including amenities, house rules, and booking links.&quot;), mdx(&quot;p&quot;, null, &quot;It picked up ~400 stars and ~100 forks organically, signaling real demand for rental data in agentic contexts.&quot;), mdx(&quot;p&quot;, null, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Tools exposed:&quot;)), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;inlineCode&quot;, {
    parentName: &quot;li&quot;
  }, &quot;airbnb_search&quot;), &quot; \u2014 location, dates, guests, price filters, pagination&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;inlineCode&quot;, {
    parentName: &quot;li&quot;
  }, &quot;airbnb_listing_details&quot;), &quot; \u2014 amenities, coordinates, house rules, direct booking link&quot;)), mdx(&quot;p&quot;, null, &quot;Works with Claude Desktop, Cursor, and any MCP-compatible client via stdio.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;mcp-app-upcoming&quot;
  }, &quot;MCP App (upcoming)&quot;), mdx(&quot;p&quot;, null, &quot;The next layer is a native MCP app for ChatGPT and Claude \u2014 a guest-facing interface for finding rentals directly within AI conversations, without leaving the chat context. Rather than linking out to a search page, the app surfaces listings, filters, and direct booking options as a first-class part of the conversation.&quot;), mdx(&quot;p&quot;, null, &quot;The through-line across all three surfaces: meet the user where they already are.&quot;));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[Flexible housing platform]]></title><description><![CDATA[Helping remote workers live anywhere in the world]]></description><link>https://anikethanda.com/Flexible-housing-platform</link><guid isPermaLink="false">https://anikethanda.com/Flexible-housing-platform</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Mon, 01 Aug 2022 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;Flexible housing platform&quot;,
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;date&quot;: &quot;2022-08-01T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;Entrepreneurship&quot;,
  &quot;tags&quot;: [&quot;React&quot;, &quot;TypeScript&quot;, &quot;Product Design &amp; Strategy&quot;],
  &quot;hero&quot;: &quot;./orca.png&quot;,
  &quot;excerpt&quot;: &quot;Helping remote workers live anywhere in the world&quot;,
  &quot;links&quot;: [{
    &quot;label&quot;: &quot;Website&quot;,
    &quot;link&quot;: &quot;https://www.orcapass.com&quot;
  }]
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;orca&quot;
  }, &quot;Orca&quot;), mdx(&quot;p&quot;, null, mdx(&quot;em&quot;, {
    parentName: &quot;p&quot;
  }, &quot;A membership platform for remote workers to live anywhere in the world&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;overview&quot;
  }, &quot;Overview&quot;), mdx(&quot;table&quot;, null, mdx(&quot;thead&quot;, {
    parentName: &quot;table&quot;
  }, mdx(&quot;tr&quot;, {
    parentName: &quot;thead&quot;
  }, mdx(&quot;th&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  })), mdx(&quot;th&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  })))), mdx(&quot;tbody&quot;, {
    parentName: &quot;table&quot;
  }, mdx(&quot;tr&quot;, {
    parentName: &quot;tbody&quot;
  }, mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), mdx(&quot;strong&quot;, {
    parentName: &quot;td&quot;
  }, &quot;Role&quot;)), mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), &quot;Design, Engineering &amp; Product&quot;)), mdx(&quot;tr&quot;, {
    parentName: &quot;tbody&quot;
  }, mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), mdx(&quot;strong&quot;, {
    parentName: &quot;td&quot;
  }, &quot;Co-founder&quot;)), mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), &quot;Devan Sood (Product, Marketing, Sales, Operations)&quot;)), mdx(&quot;tr&quot;, {
    parentName: &quot;tbody&quot;
  }, mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), mdx(&quot;strong&quot;, {
    parentName: &quot;td&quot;
  }, &quot;Scale&quot;)), mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), &quot;35+ destinations, $100k+ MRR&quot;)))), mdx(&quot;p&quot;, null, &quot;I co-founded Orca and owned all product, design, and engineering. Devan ran marketing, sales, and operations. We both shaped product strategy together.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;the-problem&quot;
  }, &quot;The Problem&quot;), mdx(&quot;blockquote&quot;, null, mdx(&quot;p&quot;, {
    parentName: &quot;blockquote&quot;
  }, &quot;How do you make it effortless for a remote worker to land in a new city \u2014 fully set up \u2014 in under 3 days?&quot;)), mdx(&quot;p&quot;, null, &quot;Mid-term housing (1\u20136 months) sits in an awkward gap. Too long for Airbnb pricing, too short for traditional leases. Remote workers were stitching together solutions manually across a dozen platforms with no consistency, no local support, and no trusted curation.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;what-we-built&quot;
  }, &quot;What We Built&quot;), mdx(&quot;p&quot;, null, &quot;Orca was a membership platform bundling:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Furnished mid-term rentals at discounted rates&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Travel insurance&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;City guides&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;On-the-ground local experts per destination&quot;)), mdx(&quot;p&quot;, null, &quot;The single KPI we optimized for: &quot;, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;member up and running in a new city within 3 days.&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;stack&quot;
  }, &quot;Stack&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;strong&quot;, {
    parentName: &quot;li&quot;
  }, &quot;Gatsby&quot;), &quot; \u2014 static site generation for fast, SEO-friendly pages&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;strong&quot;, {
    parentName: &quot;li&quot;
  }, &quot;Contentful&quot;), &quot; \u2014 CMS for managing destination and listing content without deploys&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;strong&quot;, {
    parentName: &quot;li&quot;
  }, &quot;React + TypeScript&quot;), &quot; \u2014 frontend&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;strong&quot;, {
    parentName: &quot;li&quot;
  }, &quot;Microsoft Clarity&quot;), &quot; \u2014 session recording and telemetry&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;how-we-sourced-supply&quot;
  }, &quot;How We Sourced Supply&quot;), mdx(&quot;p&quot;, null, &quot;Most platforms list everything. We did the opposite.&quot;), mdx(&quot;ol&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;Scraped Airbnb and other platforms to map supply in each city \u2014 pricing, occupancy, operator patterns&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;Filtered down to the top 10% worth approaching&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;Manually qualified and onboarded the top 1% \u2014 reliable operators with units remote workers actually wanted for a month-plus stay&quot;)), mdx(&quot;p&quot;, null, &quot;For many of those conversations, we showed up in person. Walking properties and sitting face-to-face with managers changed the dynamic entirely compared to cold outreach.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;rapid-iteration&quot;
  }, &quot;Rapid Iteration&quot;), mdx(&quot;p&quot;, null, &quot;The biggest iterations weren\u2019t features \u2014 they were the business model itself.&quot;), mdx(&quot;p&quot;, null, &quot;We cycled through multiple versions of what Orca was:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Pure subscription&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Flat membership&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Different bundle configurations&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Different ways of packaging discounts and services&quot;)), mdx(&quot;p&quot;, null, &quot;Each version was a hypothesis. We\u2019d ship, watch behavior in Clarity, talk to members, and revise.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;pivots-that-mattered&quot;
  }, &quot;Pivots That Mattered&quot;), mdx(&quot;p&quot;, null, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Membership-optional&quot;)), mdx(&quot;p&quot;, null, &quot;Early on, Orca was membership-only. Users who found value in individual bookings but didn\u2019t want a recurring commitment churned or didn\u2019t convert. We moved to membership-optional \u2014 keeping the bundle for users who wanted it, removing the barrier for everyone else. It widened the top of funnel meaningfully.&quot;), mdx(&quot;p&quot;, null, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Bundle evolution&quot;)), mdx(&quot;p&quot;, null, &quot;We started with housing. We learned users needed more: insurance, local guidance, someone to call when the WiFi was down. The bundle grew from what users told us was blocking them from actually booking a new destination.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;growth&quot;
  }, &quot;Growth&quot;), mdx(&quot;p&quot;, null, &quot;After experimenting with many channels \u2014 online communities, content, paid \u2014 what consistently worked was:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;strong&quot;, {
    parentName: &quot;li&quot;
  }, &quot;Word of mouth&quot;), &quot; from members who had a great experience&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;strong&quot;, {
    parentName: &quot;li&quot;
  }, &quot;In-person outreach&quot;), &quot; to both property managers and remote work communities&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;strong&quot;, {
    parentName: &quot;li&quot;
  }, &quot;Referrals&quot;), &quot; from happy members who recommended Orca to colleagues planning their next destination&quot;)), mdx(&quot;p&quot;, null, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Orca Score&quot;), &quot; was our most creative growth hack: a Chrome extension that overlaid a personalized compatibility score on any Airbnb listing as you browsed. It analyzed the listing against your preferences \u2014 location, amenities, price \u2014 and gave you a score in real time. No signup required to install it. It put Orca in front of anyone actively searching for a place, exactly at the moment they needed it most.&quot;), mdx(&quot;p&quot;, null, &quot;The insight behind Orca Score \u2014 that people were already searching Airbnb for mid-term stays but getting a poor experience \u2014 planted the seed for what came next.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;what-came-next&quot;
  }, &quot;What Came Next&quot;), mdx(&quot;p&quot;, null, &quot;Orca Score surfaced a bigger opportunity: Airbnb had trained millions of travelers to search for stays, but the best hosts were paying 15\u201320% commission on every booking. We started exploring whether those hosts could own their guest relationships directly.&quot;), mdx(&quot;p&quot;, null, &quot;That question became &quot;, mdx(&quot;a&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;href&quot;: &quot;/2024-09-01-openbnb&quot;
  }), &quot;OpenBnB&quot;), &quot; \u2014 a platform for direct bookings between guests and top-rated hosts, cutting out the middleman entirely.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;impact&quot;
  }, &quot;Impact&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Scaled to 35+ destinations globally&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;$100k+ MRR&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Hundreds of members across 35+ destinations&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;takeaways&quot;
  }, &quot;Takeaways&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Owning design and engineering end-to-end compresses iteration cycles significantly&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;The most important pivots were business model, not product features&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Showing up in person \u2014 to users and suppliers \u2014 surfaced things no dashboard could&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Curation beats volume: fewer, better listings built more trust than a long tail of mediocre ones&quot;)));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[AR Contact Lenses]]></title><description><![CDATA[Defining interactions for an entirely new paradigm.]]></description><link>https://anikethanda.com/AR-Contact-Lenses</link><guid isPermaLink="false">https://anikethanda.com/AR-Contact-Lenses</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Fri, 01 Jan 2021 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;AR Contact Lenses&quot;,
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;date&quot;: &quot;2021-01-01T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;AR / VR&quot;,
  &quot;tags&quot;: [&quot;Unity3D&quot;, &quot;Flutter&quot;, &quot;Others&quot;],
  &quot;hero&quot;: &quot;./md_lg.jpeg&quot;,
  &quot;excerpt&quot;: &quot;Defining interactions for an entirely new paradigm.&quot;,
  &quot;links&quot;: [{
    &quot;label&quot;: &quot;Website&quot;,
    &quot;link&quot;: &quot;https://www.mojo.vision&quot;
  }]
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;p&quot;, null, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, mdx(&quot;em&quot;, {
    parentName: &quot;strong&quot;
  }, &quot;This is one of several projects I worked on at Mojo Vision. It focuses on the low vision use case \u2014 the first and most critical application for the Mojo Lens platform.&quot;))), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;mojo-lens-for-low-vision&quot;
  }, &quot;Mojo Lens for Low Vision&quot;), mdx(&quot;p&quot;, null, mdx(&quot;em&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Creating the world\u2019s first eye\u2011based interface for a medical AR contact lens&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;overview&quot;
  }, &quot;Overview&quot;), mdx(&quot;table&quot;, null, mdx(&quot;thead&quot;, {
    parentName: &quot;table&quot;
  }, mdx(&quot;tr&quot;, {
    parentName: &quot;thead&quot;
  }, mdx(&quot;th&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  })), mdx(&quot;th&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  })))), mdx(&quot;tbody&quot;, {
    parentName: &quot;table&quot;
  }, mdx(&quot;tr&quot;, {
    parentName: &quot;tbody&quot;
  }, mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), mdx(&quot;strong&quot;, {
    parentName: &quot;td&quot;
  }, &quot;Project&quot;)), mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), &quot;Mojo Lens for Low Vision&quot;)), mdx(&quot;tr&quot;, {
    parentName: &quot;tbody&quot;
  }, mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), mdx(&quot;strong&quot;, {
    parentName: &quot;td&quot;
  }, &quot;Role&quot;)), mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), &quot;Design &amp; Engineering Lead&quot;)), mdx(&quot;tr&quot;, {
    parentName: &quot;tbody&quot;
  }, mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), mdx(&quot;strong&quot;, {
    parentName: &quot;td&quot;
  }, &quot;Reporting to&quot;)), mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), &quot;VP of Design, VP of Product&quot;)), mdx(&quot;tr&quot;, {
    parentName: &quot;tbody&quot;
  }, mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), mdx(&quot;strong&quot;, {
    parentName: &quot;td&quot;
  }, &quot;Collaboration&quot;)), mdx(&quot;td&quot;, _extends({
    parentName: &quot;tr&quot;
  }, {
    &quot;align&quot;: null
  }), &quot;Hardware, Clinical Science&quot;)))), mdx(&quot;p&quot;, null, &quot;I led the Mojo Lens for Low Vision project at Mojo Vision, working at the intersection of UX, engineering, clinical research, and hardware to define and validate the first eye\u2011gesture\u2013based user interface for an augmented reality contact lens.&quot;), mdx(&quot;p&quot;, null, &quot;The initial and critical target audience for Mojo Lens was low vision users, a group essential to establishing clinical efficacy and de\u2011risking the path to FDA approval.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;context-mojo-lens&quot;
  }, &quot;Context: Mojo Lens&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1024px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;66.40625%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAIEAQX/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAB4tUipgov/8QAGRABAAMBAQAAAAAAAAAAAAAAAQACEQMT/9oACAEBAAEFAjnseNfJzS+DZSf/xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAaEAEAAgMBAAAAAAAAAAAAAAABESEAEDEC/9oACAEBAAY/AgOt4eyexeVqFY1//8QAHBABAAICAwEAAAAAAAAAAAAAAQARMVEQIYFh/9oACAEBAAE/IUaOjxE7GYewiiuPRR8dQK0MC44//9oADAMBAAIAAwAAABCvz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EACEQAQABAwIHAAAAAAAAAAAAAAERACExcdEQQVFhgbHw/9oACAEBAAE/ECuLYNgQudCksODCXZ96q2j6+dooPMQTmbqy6FRNBw//2Q==&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/650732bc4e60586760d160ffbde02202/53334/md_see.webp 1024w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1024px) 100vw, 1024px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/650732bc4e60586760d160ffbde02202/72b09/md_see.jpg 1024w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1024px) 100vw, 1024px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/650732bc4e60586760d160ffbde02202/72b09/md_see.jpg&quot;,
    &quot;alt&quot;: &quot;md see&quot;,
    &quot;title&quot;: &quot;md see&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;Mojo Lens was the world\u2019s first augmented reality contact lens, integrating a micro\u2011LED display, imager, motion sensors, batteries, and wireless communication into a scleral lens form factor.&quot;), mdx(&quot;p&quot;, null, &quot;Despite the ambition of the hardware, the product was real and functional \u2014 this was not a concept prototype.&quot;), mdx(&quot;p&quot;, null, &quot;With a three\u2011person UX team, we were responsible for defining how humans would interact with computing directly through the eye.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;the-problem&quot;
  }, &quot;The Problem&quot;), mdx(&quot;blockquote&quot;, null, mdx(&quot;p&quot;, {
    parentName: &quot;blockquote&quot;
  }, &quot;How can we improve the quality of life of low\u2011vision users using the Mojo Vision system?&quot;)), mdx(&quot;p&quot;, null, &quot;This challenge came with significant constraints:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;No FDA\u2011approved studies&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;No production hardware capable of running UI&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;No defined setup or interaction paradigm&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;No clear understanding of which low\u2011vision users would benefit most&quot;)), mdx(&quot;p&quot;, null, &quot;At the same time, the work needed to directly support:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Clinical efficacy validation&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Usability evaluation&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Hardware and software requirements definition&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;A credible roadmap toward FDA approval&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;understanding-low-vision&quot;
  }, &quot;Understanding Low Vision&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1155px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;87.27272727272728%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAADLAAAAywAEoZFrbAAAEuElEQVQ4y32UC0zTVxSH//8WRHTLdIjyUHkp6MBCaaWlhbaWVhAp1CIVGAilhY5VKQ0qFUepIs6oc1TxNecTNBHRZYpuOKcoUxC2KILxkWmiiZPqNO4Zse39jda4bDHxJic5N/fLd8+9uedS1FvGpCQhlcaOZbhzhTCxIiOe1Z8vES7XFaj5wRTl+19WLp7zKtHtekiV7f6F+dHeIWb5Pjuj6vBj2nrsCV3ZbKdNu+5SCl6CR1iZLu9Qz46FJDkRSkU6dCrlvU0N6w7kSGW6DHlqgJtRyubSbyuQKl9i8sg44tSAUploqMGgR25OzrCMHYdSdQ522JqwdcNG5C/MU7k5bYGGSWma7vuOVLlM/+WjYv2eoTkrDtunNxx/7J9Ud//fI/FEbOk6swk3B284+68Oko6jbeTAzp1Obc5CsrTM8FQgVga6ucJMPU0Z9j+JqDj0O0ytf2PpoWcwHrLDcsz+q6XNPvjxvofn1U1De7e0dFy62nMOP10bcHV192Hg9s+4PnDdsUgiQhqP983rjUUlMpqqaR0SrWx77DJ/9dxZd/Ivl/XkMOpPO9F4Hp7Y3Al8ffEazpw+7uru7cO5C13kxs17ZLD/qmODNh/KBLY1yjJvJr9IEO6xmvd259U396CupcsZXV9LkjfaiGz7btf8XW1Ow+EeZ8vl/pffnf3W+WNvD3qv9JKz5y+QMz90Elvz5yhamUvkVRkP5zXkIdWiXu0RWrcfrWo5dwt7Tl12KNZbiLi+EvG1WnxQU0pia0rBWsAnO5oayf5jB2H+rJool6vBXhwHjj6ecAx8krpGjZRaJYQmWadHuMxaazv4/RV0PXC87LznxJk7w+i4/QKtfXZsam3HUp0GvFQeJs+dCmGJAIvNheDO4xFpdgpZYFRBXCFzCowpkNZkPZeZM4MplTqzrUhbANuORuelwVvkxMU+srO1DdV1K5CdnYDCRVwo8oSIyIyGtFSCBeosBE8KQlBAAMIjwgkvm0OSK5KdqdYsZKxdlE2dbj9y99SJI9iw3upcu+YTqNULocjNB1cuR1xSIqaHBSI4bBxicmaAK40hoVNDSfCUYAQFBZKw8FAiKeS5JJVJL+aaRMioFh+gnj190LytafNtimKAGj2ejJmdSQSVW1BmO47iuq0QpijI6LHvkei0ECgKZGRa6HTXiNQRHjrNETkjkkiK+UguY2G+MWEk+E8890jTNJ/h7QN/tgBSk4XUNdpQu60RtZvXIk+XS/wn+SGMGwS5lk9ihJHQV5bjw/ICcBWxEBXH3UnScg6qVsmLsoz8yNdvMtTX19vBFQZBX8Uh1no5Gj5NR6NNjVV1aWDNCiR+Ie8SlmoK2NlhT+eUzG4X62KrhXouN9MsGPNGz3oxvd4f5cN4Hp8YAIOZ51rRICZVq5OI0ZLoKixnOSOixg37vOONwGi/bYYvZr4hSCxmMxXLREyFkf/6c6DHMBjU3YkBY5GSHoESAxtlJi40S+IhkodgvN9ojEDusLnpkMiIUSklCV78gniGtIxDizSzXrWeJuaVznuUl/tX6WYyafj5+/4ZFT3hDxZn4m9RMRMejcwHmF702ZH1dppBa9y8z1gPT7FUYRRPNfl/1f4D9WMv2GAIK1wAAAAASUVORK5CYII=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/336fa4019a1d376b6328fa427f6d886f/b8873/lv.webp 1155w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1155px) 100vw, 1155px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/336fa4019a1d376b6328fa427f6d886f/52a0e/lv.png 1155w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1155px) 100vw, 1155px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/336fa4019a1d376b6328fa427f6d886f/52a0e/lv.png&quot;,
    &quot;alt&quot;: &quot;lv&quot;,
    &quot;title&quot;: &quot;lv&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;Low vision is not a single condition. Early work focused on understanding and simulating:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Myopia (nearsightedness)&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Macular degeneration&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Glaucoma&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Low contrast sensitivity&quot;)), mdx(&quot;p&quot;, null, &quot;Low\u2011vision users were the first and most critical users for the product, both ethically and strategically.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;strategy&quot;
  }, &quot;Strategy&quot;), mdx(&quot;p&quot;, null, &quot;The work focused on three parallel goals:&quot;), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;clinical-efficacy&quot;
  }, &quot;Clinical Efficacy&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Determine who the system benefits&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Define FDA\u2011valid clinical tests (acuity, contrast, speed)&quot;)), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;usability--ux&quot;
  }, &quot;Usability &amp; UX&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Can low\u2011vision users complete basic tasks?&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;How long does it take?&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;What interaction models are viable without a screen?&quot;)), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;requirements-definition&quot;
  }, &quot;Requirements Definition&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Translate hardware constraints into software simulations&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Validate minimum FPS, resolution, artifacts, and latency&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;building-the-simulation-stack&quot;
  }, &quot;Building the Simulation Stack&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;574px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;68.98954703832753%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAOABQDASIAAhEBAxEB/8QAGAAAAgMAAAAAAAAAAAAAAAAAAAQDBQb/xAAWAQEBAQAAAAAAAAAAAAAAAAABAgP/2gAMAwEAAhADEAAAAZFVlU1JUmd//8QAGhAAAgMBAQAAAAAAAAAAAAAAAQMAAhEiMf/aAAgBAQABBQJ7+VOuDGebKswf/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGxAAAQQDAAAAAAAAAAAAAAAAAQACEVEgISL/2gAIAQEABj8CgaNroyKwgOK//8QAGhABAQEAAwEAAAAAAAAAAAAAAREAIUFxkf/aAAgBAQABPyGgrCx1vgOG4QYaQRX3EOU4Pm//2gAMAwEAAgADAAAAELQv/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQARIf/aAAgBAwEBPxB0bt//xAAVEQEBAAAAAAAAAAAAAAAAAAABAP/aAAgBAgEBPxABJC//xAAbEAEBAQACAwAAAAAAAAAAAAABEQAhoTFBYf/aAAgBAQABPxAQSAJNeyOUDzZEL9cJghBnDkmUcERO88C84QEHhDO9/9k=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/3afb0f985704399196719024a71d5df6/723c8/stack.webp 574w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 574px) 100vw, 574px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/3afb0f985704399196719024a71d5df6/b4bf7/stack.jpg 574w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 574px) 100vw, 574px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/3afb0f985704399196719024a71d5df6/b4bf7/stack.jpg&quot;,
    &quot;alt&quot;: &quot;stack&quot;,
    &quot;title&quot;: &quot;stack&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;Because no hardware existed to run a UI, I built the best possible simulation of the Mojo Lens experience.&quot;), mdx(&quot;p&quot;, null, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Setup included:&quot;)), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;VIVE Pro Eye (eye tracking)&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;ZED stereo camera&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;External webcam&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Unity 3D&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Custom shaders and filters&quot;)), mdx(&quot;p&quot;, null, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;This required:&quot;)), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Learning Unity from scratch&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Refreshing 3D vector math&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Simulating lens artifacts such as noise, resolution limits, and pass\u2011through filtering&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;defining-clinical-tests&quot;
  }, &quot;Defining Clinical Tests&quot;), mdx(&quot;p&quot;, null, &quot;Working closely with the clinical team, we defined FDA\u2011relevant tests measuring:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Acuity&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Contrast&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Speed&quot;)), mdx(&quot;p&quot;, null, &quot;These tests were designed to be:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Repeatable&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Valid for regulatory submission&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Representative of real\u2011world use&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;snap--scan-core-use-case&quot;
  }, &quot;Snap &amp; Scan: Core Use Case&quot;), mdx(&quot;p&quot;, null, &quot;One of the most impactful experiences explored was &quot;, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Snap &amp; Scan&quot;), &quot;:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Users capture their environment through the simulated lens&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;The system enhances, crops, zooms, and inverts imagery automatically&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Text recognition enables reading signs, labels, and documents&quot;)), mdx(&quot;p&quot;, null, &quot;This experience tied together:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Eye\u2011based interaction&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Image processing&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Clinical measurement&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Real\u2011world utility&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;introducing-the-phone-as-a-controller&quot;
  }, &quot;Introducing the Phone as a Controller&quot;), mdx(&quot;p&quot;, null, &quot;An important shift came with introducing the phone as:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;A camera&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;A controller&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;A processing companion&quot;)), mdx(&quot;p&quot;, null, &quot;Although initially counter\u2011intuitive and met with resistance, this approach proved critical. I:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Designed the interface for non\u2011visual use (muscle memory\u2013driven)&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Built the app in Flutter&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Used WebSockets to sync images and events over a local network&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Maintained consistent state across devices&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;clinical-study--results&quot;
  }, &quot;Clinical Study &amp; Results&quot;), mdx(&quot;p&quot;, null, &quot;Initial studies (~10 low\u2011vision users) showed improvement primarily for users with 20/125+ acuity, but results were mixed.&quot;), mdx(&quot;p&quot;, null, &quot;With the new phone\u2011based setup, results improved significantly:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Users achieved effective acuity up to &quot;, mdx(&quot;strong&quot;, {
    parentName: &quot;li&quot;
  }, &quot;20/32&quot;)), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Faster task completion than phone\u2011only solutions&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Strong qualitative feedback:&quot;)), mdx(&quot;blockquote&quot;, null, mdx(&quot;p&quot;, {
    parentName: &quot;blockquote&quot;
  }, &quot;\u201CFaster than using my phone\u201D&quot;)), mdx(&quot;blockquote&quot;, null, mdx(&quot;p&quot;, {
    parentName: &quot;blockquote&quot;
  }, &quot;\u201CI like that I won\u2019t be staring into my phone\u201D&quot;)), mdx(&quot;blockquote&quot;, null, mdx(&quot;p&quot;, {
    parentName: &quot;blockquote&quot;
  }, &quot;\u201CThis is so much better than last time I was here\u201D&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;impact&quot;
  }, &quot;Impact&quot;), mdx(&quot;p&quot;, null, &quot;By the end of the project, we had:&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Built the best simulation of the Mojo Lens&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Validated usability with low\u2011vision users&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Defined which users benefit most&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Established a clear roadmap toward FDA approval&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Delivered a critical milestone for Series B funding&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;takeaways&quot;
  }, &quot;Takeaways&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;This is what early-stage, no-playbook product work looks like \u2014 building the tools to test the thing before the thing exists.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Design and clinical research can be the same work \u2014 not parallel tracks, but one process informing the other.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;The right simulation unlocks everything \u2014 hardware constraints don\u2019t have to block UX progress.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Low vision design is a masterclass in simplicity \u2014 if it works for this population, it works for everyone.&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;now&quot;
  }, &quot;Now&quot;), mdx(&quot;p&quot;, null, &quot;Since 2023, Mojo Vision has pivoted to focus on Micro-LED displays. &quot;, mdx(&quot;a&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;href&quot;: &quot;https://www.mojo.vision/news/a-new-direction&quot;,
    &quot;target&quot;: &quot;_blank&quot;,
    &quot;rel&quot;: &quot;noreferrer&quot;
  }), &quot;Read more&quot;)));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[SharePoint Spaces]]></title><description><![CDATA[Bringing Virtual Reality to work.]]></description><link>https://anikethanda.com/SharePoint-Spaces</link><guid isPermaLink="false">https://anikethanda.com/SharePoint-Spaces</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Fri, 01 May 2020 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;SharePoint Spaces&quot;,
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;date&quot;: &quot;2020-05-01T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;AR / VR&quot;,
  &quot;tags&quot;: [&quot;BabylonJS 3D engine&quot;, &quot;ReactJS&quot;, &quot;Unity3D&quot;, &quot;SharePoint Framework&quot;],
  &quot;hero&quot;: &quot;./showcase.png&quot;,
  &quot;excerpt&quot;: &quot;Bringing Virtual Reality to work.&quot;,
  &quot;links&quot;: [{
    &quot;label&quot;: &quot;Website&quot;,
    &quot;link&quot;: &quot;http://exploresharepointspaces.com&quot;
  }]
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;abstract&quot;
  }, &quot;Abstract&quot;), mdx(&quot;p&quot;, null, &quot;SharePoint spaces empower creators to build and share immersive experiences with point-and-click simplicity. You can get started with smart templates to create a mixed reality environment complete with beautiful surroundings, ambient sounds, rich textures, and lighting. You then add content, which can include files you already have in SharePoint, allowing you to repurpose your existing 3D models, 360 degree content, documents, and images. This project spun out of &quot;, mdx(&quot;a&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;href&quot;: &quot;/Project-Hiro&quot;
  }), &quot;Project Hiro&quot;), &quot;.&quot;), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;role&quot;
  }, &quot;Role&quot;), mdx(&quot;p&quot;, null, &quot;Founding member and sole UX Engineer of the project responsible for Prototyping, Design and Integration of following features.&quot;), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;3d-common-controls&quot;
  }, &quot;3D Common Controls&quot;), mdx(&quot;p&quot;, null, &quot;To build a cohesive set of 3D common controls I represented the team at companywide Mixed Reality design forum. My experience from Fabric/Fluent UI Library helped us develop these Atomic controls that work flawlessly in Mobile, Desktop and HMD.&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Medium&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;54.453125%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAYAAAB/Ca1DAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACjklEQVQozzWT22oTURSG5yG88IAIpZWKVdoQ26RtpkmaziQzkzaHmckkmUPSNj2oTawpFQUFEW+8EEW8qEIVUUHaG8EX8AV8Am98BPEBPvfsthcfa6896/9ZzPyjtNttYnzfJwrDE6KIzhmdmI68iwmCgGarSSjm4nOsiznzUVzXpdFo4Ii6Uq1RqdWp1m1ZK6LWHIe6wBUzrutgVoqUKpqYd/A8T2ob8pkrUarVKrVaDau8wsJimel5nZlMkVzBIr9okhJ9Mr1EtmCgLxdQSymy1jyatUi1dqKNiX1iFNM00UslXNH8OfzEv6Pv/D3+wa+D7/x8dcSfg8/8fv2Bt/0HzOozZIwks8Ukc9o0WknDMAxJ7BOjWKeH+PJ4+JyfTw74uPeOl4OvPNn6wPv7h3wbvGGj0iGdV0mrKVRNxawvYS2bWFZZaktiKV3XUTIFk4lbWZJqkVvpEiMTGcamlniwecij7S8Mel+xqy+4fH2WKXWZa6pNfslgp3+P7f6QRw/32d/fYzjcZTDoo+SKK1wan2bk5iyjaYsrkzkujiUJwj127j5le+sxne6QRd1AsyNKt59hOy71qE/W9Kg4TYLOKhtbm9y5ewelYjc4N5Lg4tUE87vvmWvuks3laXdC1npdNnshG72Irc01Ubv0VkVs/ICyE3JjJi8WmWN0UmUssUAyo6GEYYBRruKKCHRF5jbWu6yvRuQXUpiGLrMYBr7E91vYdl1GyvfbtJqeiJhDoVhmMpVjLifeYVds0lvrsCpqdCpcWS5z/vwFxsfHZR8Io5hWy8Ou16Sp5zVoxwEXxpGcacteiUL/VNSWxMOmaZBITImvpsmhZrMhzZrCxJNBFj+De0Icdtc5RfT/AdftvABfE+hNAAAAAElFTkSuQmCC&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/a9c4dbba0d1c9f47c4a0d780c11cfd2b/4b075/showcase.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/a9c4dbba0d1c9f47c4a0d780c11cfd2b/9f341/showcase.png 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/a9c4dbba0d1c9f47c4a0d780c11cfd2b/9f341/showcase.png&quot;,
    &quot;alt&quot;: &quot;showcase&quot;,
    &quot;title&quot;: &quot;showcase&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;interaction-model&quot;
  }, &quot;Interaction model&quot;), mdx(&quot;p&quot;, null, &quot;The challenge was to build a system that just works for someone new to Virtual Reality; while making sure authors and third-party developers have enough creative freedom to create valuable and beautiful spaces.\nTo solve this, I extensively prototyped various interaction models inching towards the current in-product solution.&quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;visual-design--layout-acrylic-fluent&quot;
  }, &quot;Visual design &amp; layout: Acrylic, Fluent&quot;), mdx(&quot;div&quot;, {
    className: &quot;Image__Medium&quot;,
    style: {
      &quot;display&quot;: &quot;flex&quot;
    }
  }, mdx(&quot;video&quot;, {
    style: {
      &quot;flex&quot;: &quot;1 1 auto&quot;,
      &quot;alignSelf&quot;: &quot;stretch&quot;,
      &quot;width&quot;: &quot;50%&quot;
    },
    loop: true,
    autoPlay: true
  }, mdx(&quot;source&quot;, {
    src: &quot;/56fbd822aa5d36de2061069a904ecb4b/context-menu-01.mp4&quot;,
    type: &quot;video/mp4&quot;
  }), &quot;Your browser does not support HTML5 video.&quot;), mdx(&quot;video&quot;, {
    style: {
      &quot;flex&quot;: &quot;1 1 auto&quot;,
      &quot;alignSelf&quot;: &quot;stretch&quot;,
      &quot;width&quot;: &quot;50%&quot;
    },
    loop: true,
    autoPlay: true
  }, mdx(&quot;source&quot;, {
    src: &quot;/0c7a1ab193127fa640e730a977db9def/context-menu-02-layout-acrylic.mp4&quot;,
    type: &quot;video/mp4&quot;
  }), &quot;Your browser does not support HTML5 video.&quot;)), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;menu-types-title-contextual&quot;
  }, &quot;Menu Types: Title, Contextual&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Medium&quot;,
    &quot;style&quot;: {
      &quot;display&quot;: &quot;flex&quot;
    }
  }, &quot;\n  &quot;, mdx(&quot;div&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;style&quot;: {
      &quot;flex&quot;: &quot;1 1 auto&quot;,
      &quot;alignSelf&quot;: &quot;stretch&quot;,
      &quot;width&quot;: &quot;50%&quot;
    }
  }), &quot;\n    &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;3774px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;62.53312135665077%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAMEAf/EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAFjZqbFmh//xAAaEAACAgMAAAAAAAAAAAAAAAABAgMRABAS/9oACAEBAAEFAggZjAtADILROzr/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEf/aAAgBAwEBPwGI/8QAFREBAQAAAAAAAAAAAAAAAAAAABH/2gAIAQIBAT8Bqv/EABkQAAIDAQAAAAAAAAAAAAAAAAABEBEhMf/aAAgBAQAGPwLiLMSMc//EABwQAQACAgMBAAAAAAAAAAAAAAEAESFhEDFBcf/aAAgBAQABPyGrUGghUvNECVT+EqHI56ipS8f/2gAMAwEAAgADAAAAELMP/8QAFREBAQAAAAAAAAAAAAAAAAAAEBH/2gAIAQMBAT8Qgf/EABURAQEAAAAAAAAAAAAAAAAAABAR/9oACAECAQE/EKH/xAAeEAACAgEFAQAAAAAAAAAAAAABEQAhwRAxQYGhsf/aAAgBAQABPxBbIibx+S+hSdp+QX7VYg2kS3B1iEzIIRoaf//Z&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/809cce3953c7d02372e79f1b3eea3538/a3bc4/TitleBar.webp 2500w&quot;, &quot;/static/809cce3953c7d02372e79f1b3eea3538/abe62/TitleBar.webp 3774w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 3774px) 100vw, 3774px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/809cce3953c7d02372e79f1b3eea3538/1b865/TitleBar.jpg 2500w&quot;, &quot;/static/809cce3953c7d02372e79f1b3eea3538/eb15a/TitleBar.jpg 3774w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 3774px) 100vw, 3774px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/809cce3953c7d02372e79f1b3eea3538/eb15a/TitleBar.jpg&quot;,
    &quot;alt&quot;: &quot;TitleBar&quot;,
    &quot;title&quot;: &quot;TitleBar&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;), &quot;\n  &quot;), &quot;\n  &quot;, mdx(&quot;video&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;style&quot;: {
      &quot;flex&quot;: &quot;1 1 auto&quot;,
      &quot;alignSelf&quot;: &quot;stretch&quot;,
      &quot;width&quot;: &quot;50%&quot;
    },
    &quot;loop&quot;: true,
    &quot;autoPlay&quot;: true
  }), &quot;\n    &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;video&quot;
  }, {
    &quot;src&quot;: &quot;/bdfb1a2b5cf16df417f0ffd29be9f820/Mixed Reality Portal 10_25_18 2_39_42 PM_Trim.mp4&quot;,
    &quot;type&quot;: &quot;video/mp4&quot;
  })), &quot;\n    Your browser does not support HTML5 video.\n  &quot;)), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;positioning-user-space-object-locked&quot;
  }, &quot;Positioning: User-space, Object-locked&quot;), mdx(&quot;div&quot;, {
    className: &quot;Image__Medium&quot;,
    style: {
      &quot;display&quot;: &quot;flex&quot;
    }
  }, mdx(&quot;video&quot;, {
    style: {
      &quot;flex&quot;: &quot;1 1 auto&quot;,
      &quot;alignSelf&quot;: &quot;stretch&quot;,
      &quot;width&quot;: &quot;33%&quot;
    },
    loop: true,
    autoPlay: true
  }, mdx(&quot;source&quot;, {
    src: &quot;/3224de4bdf9d3af1f4fb8b27771c2028/Mixed Reality Portal 2020-05-28 16-03-00_Trim.mp4&quot;,
    type: &quot;video/mp4&quot;
  }), &quot;Your browser does not support HTML5 video.&quot;), mdx(&quot;video&quot;, {
    style: {
      &quot;flex&quot;: &quot;1 1 auto&quot;,
      &quot;alignSelf&quot;: &quot;stretch&quot;,
      &quot;width&quot;: &quot;33%&quot;
    },
    loop: true,
    autoPlay: true
  }, mdx(&quot;source&quot;, {
    src: &quot;/7c4ca33843443e65106d7eb135b9f938/Mixed Reality Portal 2020-05-28 16-21-42_Trim.mp4&quot;,
    type: &quot;video/mp4&quot;
  }), &quot;Your browser does not support HTML5 video.&quot;), mdx(&quot;video&quot;, {
    style: {
      &quot;flex&quot;: &quot;1 1 auto&quot;,
      &quot;alignSelf&quot;: &quot;stretch&quot;,
      &quot;width&quot;: &quot;33%&quot;
    },
    loop: true,
    autoPlay: true
  }, mdx(&quot;source&quot;, {
    src: &quot;/c3ce611eabd9a7c5149adf7d4a6f2897/Mixed Reality Portal 2020-05-28 16-16-04_Trim.mp4&quot;,
    type: &quot;video/mp4&quot;
  }), &quot;Your browser does not support HTML5 video.&quot;)), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;authoring-controls&quot;
  }, &quot;Authoring Controls&quot;), mdx(&quot;p&quot;, null, &quot;Authoring a 3D scene is hard, and we had to fix this to truly democratize creation. From object Transform control, Actions editor to Camera controls - I had to research, prototype and innovate in all domains.&quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;actions-editor&quot;
  }, &quot;Actions editor&quot;), mdx(&quot;div&quot;, {
    className: &quot;Image__Medium&quot;
  }, mdx(&quot;video&quot;, {
    width: &quot;100%&quot;,
    loop: true,
    autoPlay: true
  }, mdx(&quot;source&quot;, {
    src: &quot;/775faceec21979de1c63ff2763e2f35c/adding-actions.mp4&quot;,
    type: &quot;video/mp4&quot;
  }), &quot;Your browser does not support HTML5 video.&quot;)), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;transform-control--object-locked-ui-behavior&quot;
  }, &quot;Transform control &amp; Object-locked UI behavior&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Medium&quot;,
    &quot;style&quot;: {
      &quot;display&quot;: &quot;flex&quot;
    }
  }, &quot;\n  &quot;, mdx(&quot;div&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;style&quot;: {
      &quot;flex&quot;: &quot;1 1 auto&quot;,
      &quot;alignSelf&quot;: &quot;center&quot;,
      &quot;width&quot;: &quot;81%&quot;
    }
  }), &quot;\n    &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;3868px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;23.681489141675282%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAACxLAAAsSwGlPZapAAAAiElEQVQY04WQCwrDMAxDc//TmjVr/vb8AoYV2k0gZFJFcprGGJbfp621DKjqhXE2RrfWup2l3PqCqdZqOWebc9oTMFJIee/dfoFADXqoAr98IZketD2tta2cf3sDiWa2oxkyxyZobI5CXgQ9eH9HIX6yknvlL1XF/528jkP8shSfPXTPaMxeIB+aZ4m6uocZNQAAAABJRU5ErkJggg==&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/009cfab8274c4ab593765ada49bd2dc6/a3bc4/Transform%20Control.webp 2500w&quot;, &quot;/static/009cfab8274c4ab593765ada49bd2dc6/eb660/Transform%20Control.webp 3868w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 3868px) 100vw, 3868px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/009cfab8274c4ab593765ada49bd2dc6/082ed/Transform%20Control.png 2500w&quot;, &quot;/static/009cfab8274c4ab593765ada49bd2dc6/c69b3/Transform%20Control.png 3868w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 3868px) 100vw, 3868px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/009cfab8274c4ab593765ada49bd2dc6/c69b3/Transform%20Control.png&quot;,
    &quot;alt&quot;: &quot;Transform Control&quot;,
    &quot;title&quot;: &quot;Transform Control&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;), &quot;\n  &quot;), &quot;\n  &quot;, mdx(&quot;div&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;style&quot;: {
      &quot;flex&quot;: &quot;1 1 auto&quot;,
      &quot;alignSelf&quot;: &quot;stretch&quot;,
      &quot;width&quot;: &quot;19%&quot;
    }
  }), &quot;\n    &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;src&quot;: &quot;/d4180bb9dc1eba43d5ca4353c5274ba7/transform-panel.gif&quot;
  })), &quot;\n  &quot;)), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;document-library&quot;
  }, &quot;Document Library&quot;), mdx(&quot;p&quot;, null, &quot;How do we represent a collection of 2D and 3D files that fit to various user scenarios? In progress.&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Medium&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;2064px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;29.069767441860467%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAGABQDASIAAhEBAxEB/8QAFwABAAMAAAAAAAAAAAAAAAAAAAIDBf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAdOoIA//xAAYEAACAwAAAAAAAAAAAAAAAAAAAgESIf/aAAgBAQABBQK7DbJ//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFhAAAwAAAAAAAAAAAAAAAAAAARAx/9oACAEBAAY/AoH/AP/EABgQAQEAAwAAAAAAAAAAAAAAAAEAESFx/9oACAEBAAE/IeRPakYC/9oADAMBAAIAAwAAABCDz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABkQAQEAAwEAAAAAAAAAAAAAAAERACExkf/aAAgBAQABPxDdfU3AaRQYOuYAE5n/2Q==&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/c13402f33449eca6087d58bef4c57652/bb786/doclib.webp 2064w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 2064px) 100vw, 2064px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/c13402f33449eca6087d58bef4c57652/19726/doclib.jpg 2064w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 2064px) 100vw, 2064px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/c13402f33449eca6087d58bef4c57652/19726/doclib.jpg&quot;,
    &quot;alt&quot;: &quot;doclib&quot;,
    &quot;title&quot;: &quot;doclib&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;spatialized-sound&quot;
  }, &quot;Spatialized Sound&quot;), mdx(&quot;p&quot;, null, &quot;No immersive experience is complete without ambient, content and Spatialized system sound based on interaction.&quot;));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[Project Hiro]]></title><description><![CDATA[What role XR will play in a productivity setting? This incubator project resulted in funding of SharePoint Spaces.]]></description><link>https://anikethanda.com/Project-Hiro</link><guid isPermaLink="false">https://anikethanda.com/Project-Hiro</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Mon, 01 May 2017 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;Project Hiro&quot;,
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;date&quot;: &quot;2017-05-01T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;AR / VR&quot;,
  &quot;tags&quot;: [&quot;Unity3D&quot;, &quot;A-Frame&quot;, &quot;WebVR&quot;, &quot;ReactJS&quot;, &quot;SharePoint Framework&quot;],
  &quot;hero&quot;: &quot;./cardboard1.jpg&quot;,
  &quot;excerpt&quot;: &quot;What role XR will play in a productivity setting? This incubator project resulted in funding of SharePoint Spaces.&quot;
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;abstract&quot;
  }, &quot;Abstract&quot;), mdx(&quot;p&quot;, null, &quot;Our small team was challenged with envisioning future of OneDrive &amp; SharePoint in AR/VR Metaverse. We went broad to explore various scenarios and shortlisted on &quot;, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Democratizing Creation and Consumption of 3D spaces&quot;), &quot;. The project concluded with running a Concept Validation Testing using a functional prototype, which resulted in funding of &quot;, mdx(&quot;a&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;href&quot;: &quot;/SharePoint-Spaces&quot;
  }), &quot;SharePoint Spaces&quot;), &quot;.&quot;), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;scenario-key-bets&quot;
  }, &quot;Scenario key bets&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Anyone in an organization should be able to create, share and consume a 3D space.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Creators will not require skills in Unity3D or WebVR to create beautiful 3D spaces.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Leverage existing SharePoint framework to boost user familiarity and product development.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;True to 3D content. Richer with 2D content.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Showcase static and well as dynamic user content.&quot;)), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;why-sharepoint&quot;
  }, &quot;Why SharePoint?&quot;), mdx(&quot;p&quot;, null, &quot;SharePoint democratized creation of 2D sites within a company back in the early 2000\u2019s. Now it\u2019s time for 3D scenes! At the moment, around 80% of fortune 500 companies use SharePoint for their internal content management \u2014 content that is increasingly getting an extra dimension.&quot;), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;flow&quot;
  }, &quot;Flow&quot;), mdx(&quot;p&quot;, null, &quot;Overall flow can be categorized into Creation, Sharing and Consumption. The author creates a new scene by selecting an environment and style. And then adding 3D content while stitching together multiple rooms to create an immersive experience. When done, author securely shares the space within a company using SharePoint. Now anyone with proper access can experience the space on any device capable of WebVR without downloading any software.&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Medium&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1551px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;48.613797549967764%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAACHVAAAh1QEEnLSdAAABYklEQVQoz11R227sIAzM//9hpeq0UpoNZLPcscEQcqaJ2odayCGDZ4yH6TiOQOy5RKJSa++99X6Oscf8CDlkqiK9AetjDJuyJTaJ2oVMnNPH9nr3lLiADS0USeE39fzn6csnsMdxnOdJRLt1murqE8gom/bnc1mVRhOifgXqnHOf88K1SimQu0FjzKY118LMd49JX3H+BCRv8rquv+Av+a4EDRn8KeeM5tYYZ20Twdgi4p3T2/a6An2AlFKwR2dIYAMWwAl3gg17TJuPYKKzYAlSgwxfcYP4vRcQaF2GMRvnnlThLQ7gDbdO/YjSUxtw21oDt0Nttja45aQHeG5tx7XxeSxLEclcwERkaQGryovF4QljHEc3XDeqsbY5Fsc15/Q9cwjhjzd4BBlnHycytY7xIAoQTuLFkFlaSgnF327P86y0XpZl33dMu23b8ngg4wgZ0t57rRQ2QJRCrV6Vgm3/AUkaPxBIKy8RAAAAAElFTkSuQmCC&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/503ab1954a3142aca5e6177c2aba923c/ceff9/flow.webp 1551w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1551px) 100vw, 1551px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/503ab1954a3142aca5e6177c2aba923c/3837b/flow.png 1551w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1551px) 100vw, 1551px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/503ab1954a3142aca5e6177c2aba923c/3837b/flow.png&quot;,
    &quot;alt&quot;: &quot;flow&quot;,
    &quot;title&quot;: &quot;flow&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;creation&quot;
  }, &quot;Creation&quot;), mdx(&quot;p&quot;, null, &quot;I quickly hacked a 3D space builder within existing SharePoint Framework. The system enabled adding 3D objects, Images and Text to a room. The creator could add various types of rooms with different layouts. The creator could also Preview the space, which was build using &quot;, mdx(&quot;a&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;href&quot;: &quot;https://aframe.io/&quot;,
    &quot;target&quot;: &quot;_blank&quot;,
    &quot;rel&quot;: &quot;noreferrer&quot;
  }), &quot;A-Frame&quot;), &quot;.&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Medium&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1551px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;26.8214055448098%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAFCAYAAABFA8wzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA4ElEQVQY001Qy46DMAzM/3/bXnpdaQ+0VQstlDwhJCFTTwTSWrLieMaPsfrpOoR1xZYSkjhf7xyenw8utztijFjFiYVlgbcGv32Pv9cLJWfEbWs1IQRYZ6G6aUISoDUTMJfSiNp7dO8RUYY5IXtptkrsrcVDhk2Ck8fa/K9e4TAmvZCYpO37fkLQccNbGxQpotUDq7VilwViyi2mKW50frTWbRL/lHo25ctN+bZYMHKKeO9Dk12PpRQ3YpNJpI/j2GQx5+SOJBhjMAwDerkbc4tI570olze9Pp6Y57lxmf8C+oaEzzLco44AAAAASUVORK5CYII=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/ee72fff8a6c84cc340fdff394a9140b4/ceff9/author.webp 1551w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1551px) 100vw, 1551px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/ee72fff8a6c84cc340fdff394a9140b4/3837b/author.png 1551w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1551px) 100vw, 1551px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/ee72fff8a6c84cc340fdff394a9140b4/3837b/author.png&quot;,
    &quot;alt&quot;: &quot;author&quot;,
    &quot;title&quot;: &quot;author&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot; The idea was to give them enough flexibility to suit various use cases but also establish appropriate guard rails to guide them in the direction of creating beautiful spaces that too with ease.&quot;), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;consumption&quot;
  }, &quot;Consumption&quot;), mdx(&quot;p&quot;, null, &quot;We build a dynamic consumption experience using Unity3D which linked to the created space. The pavilion (as we refer it) comprised of interactive content ranging from Volumetric holograms, Data Visualizations, Bots, Document libraries, 360s, etc. &quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;top-view&quot;
  }, &quot;Top view&quot;), mdx(&quot;p&quot;, null, mdx(&quot;span&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1343px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;59.12137006701415%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAACHVAAAh1QEEnLSdAAADMklEQVQozx2T60/bZRzF+wcYfWFiYpwuY6hr19JSev+1v15o6YUW1gu3XoCyii3QjgACTlzZZMGp1S1RI14wZtnYkrlpjJpMnHYbusUoM4uXlya+8b/4+G1fnHzzvHjOc77nnEdTH/GwknSyLFgbUlgfcbOacnIy7WzP1bTCZNBMIdBNzm8ibtcxJedK1MJcv41KzE4xbONE0s18WkVT7bdSH3YJkcLZrIfTMt+e9PHBi0E2815KYQspRY9d14mi72TEracS6WG6r4dZISzHbCwmFZbSbuYG3WgWjjnkokq138JKytEmbUz4eFNQFhU5r55I92G6Dz9NRjlKLdZD0PQsL/SZqSUc1AYcLKddLKTcFEJWNGeyKllvF0OiokXWIm9hQSwoJf0U0yEyUZWYx8pY0E7GbyNkN7E46GAmam2rbJFWB5xM9gmhz6QlZtXylii6MBVgM+cR31zkfQaWX9/kk5/3+fDuL1RP1fH2GAh7XYRVOxPiaVHUF7yGNvFMv52KQFMRD7bKIc4X/WxkxQfxdMQjPoVN1M83uHjvV7YF86fX8cjjIY+dgMPMkGriZDFBPqGSVo28klGYjojCFVFzQvxbGLQzHJLEjvl571SZby81+OveF+w1b/D+rTtUX11D7dYRdNsIy/rXtzd5uHeNbz7/mFp1isKAKuF1oTkrSdalKuWkSv2l4/z39y3+/WOXP4Xsn/2v+emHa1z47nab0GcxEFCsxHvd3L95kYe3dwRXuPnVpyQKeWKqKHx3OsS5gqSc8bE4k6P55Ra/N6/y4M4Ntt5YYmNtjtc+2mK8NEnPkQ4s+ueJ+hw8aF7htx932P/+M5q7V0nNLzEQ8aIpyd52bQeGzkMcOPQcVrORl2fzXG6siJ+Wtp/FiI3ZuJQ4apZ0bYz5jLyzXmVvd4f7d6+zsb1FenqaUWmB5tHHn+SRx57A0HFQ8Ew7qTM5L5WQkXF/FynXUVJOLcVeY/sntXA8aGIhYaFRS1Mt58iODjIedTHea0Zz8KkDjHkMUlo9cZuWc3kPSYeOUdXAeMAklTqCVVadCBipxVu9s8q0MScoBY2MKjrKUvJS2MrqsMr/tqXyy9x5qpEAAAAASUVORK5CYII=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/119a5bec873c66bec1f6c57f6b7d67f8/f5321/top-view.webp 1343w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1343px) 100vw, 1343px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/119a5bec873c66bec1f6c57f6b7d67f8/e318e/top-view.png 1343w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1343px) 100vw, 1343px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/119a5bec873c66bec1f6c57f6b7d67f8/e318e/top-view.png&quot;,
    &quot;alt&quot;: &quot;Top view&quot;,
    &quot;title&quot;: &quot;Top view&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;main-room&quot;
  }, &quot;Main room&quot;), mdx(&quot;p&quot;, null, mdx(&quot;span&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1342px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;59.31445603576751%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAACHVAAAh1QEEnLSdAAADFElEQVQozz2R/U9TdxTG7x+1Zb9tiVu2uARbQGiBsloUuCsDHJvOAtpoMJVbHCoKG5Ty4m1L31LaSktZoJSWgi8gfWGK7TbDNMuyzH/hs+8tZj+cfG9Ozvmc53mu1Kb7GHNnBx19fbTLMqZumdZuKy1yD+19A3TZhvheUbg6OYndNcegS+W6GuJWIIpD1Gg4hiO4zIgvzNWZeaQWAbTIXXT0WLFYZSxfd2MW4PP9/Ri/6eWDhlZOne+hrt/GV9ed3PAEUCKPcC6vcDu+yo8rSfEdZSwSYURVkZp0n6I3tlNnMPF5g5HTDU20nOtAZ+nmw/o2jH0/cLrnMqd6h6m/NkbXHTcD7ggDs2EGXAEuz4e4MufDNqvSP/4A6az+C/RNBs6cbUZvaOUzXSOf6A2YLlzho0YLducY8sgo9fa7WJ0qjtAGXa4Y5vtBhtwhBn9axHTzHhdGJzDbHUim5jqMLU0YmuvRGZoxyZ3Yrn3HxKRC3POAXxJz7G8HebGXIJvwUy2nWc+voix4sdgV5PFpdMOjfHnpBrpvh5DMbY1c7O3k5wkH6bib9MoslcdBjotR3pTivC094vVBnOp+lLflOMeFGO9erXK4E2VqQmE3vUQuG+bWzCRnLtqQbg5bWV5U+ONZmHxpG/9mkuKWystdoWonIMovloPsby2JXoBXT0JU9pb588UGf1Wy/FPN8G81zbvKOpnUAlLCd5sjMXSU83ApGKNTBPwkOS2W/ZRz3lr9mhcwAdbgGlSrqhDwppzkuLzG61KKv3/b4TAfQqop2PZxkFF5KkDV1HQNsrc+T0H0DjYXKWU9lHI+yuLVZjXg9uocMd990V+i+jTE7/sR4SSAVMp6KQmLxfdLh2J4LThOXFVODqUXauDilqcWhXZM20ks3cHrcrIWnqqJqQiXBTEjFd/DChkBFI2t2BTz9waFMpXC5sOTN3MCO5n18lyozidn2EnMkPLfZTfl5kj8yGfClVSoXfZRSD/kpbie9DrJxqc5zAWEOmE54xVAb02hpnZvY6EWh2Zfi+N5evH/GB6vufkPvJWxSJu9LSYAAAAASUVORK5CYII=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/097dd58084b1c1c53ac05e9239fa2c5a/41ea3/main-room.webp 1342w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1342px) 100vw, 1342px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/097dd58084b1c1c53ac05e9239fa2c5a/524d0/main-room.png 1342w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1342px) 100vw, 1342px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/097dd58084b1c1c53ac05e9239fa2c5a/524d0/main-room.png&quot;,
    &quot;alt&quot;: &quot;Main room&quot;,
    &quot;title&quot;: &quot;Main room&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;demo&quot;
  }, &quot;Demo&quot;), mdx(&quot;div&quot;, {
    className: &quot;Image__Small&quot;,
    style: {
      height: &apos;480px&apos;
    }
  }, mdx(&quot;iframe&quot;, {
    width: &quot;100%&quot;,
    height: &quot;100%&quot;,
    src: &quot;https://www.youtube-nocookie.com/embed/D5lmP1WwlUg?modestbranding=1&amp;color=white&quot;,
    frameBorder: &quot;0&quot;
  })), mdx(&quot;div&quot;, {
    className: &quot;Image__Small&quot;,
    style: {
      height: &apos;480px&apos;
    }
  }, mdx(&quot;iframe&quot;, {
    width: &quot;100%&quot;,
    height: &quot;100%&quot;,
    src: &quot;https://www.youtube-nocookie.com/embed/6Sj7BGgv0e4?modestbranding=1&amp;color=white&quot;,
    frameBorder: &quot;0&quot;
  })), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;concept-validation-testing&quot;
  }, &quot;Concept Validation Testing&quot;), mdx(&quot;p&quot;, null, &quot;For the final leg, along with a Researcher I went to 3 major cites in USA to run CVT studies. The result of user studies validated some of our hypothesis and indicated an opportunity in the domain.&quot;));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[Xbox - Apps & BI]]></title><description><![CDATA[App dev, Data Visualization, Big Data, BI]]></description><link>https://anikethanda.com/Xbox-Apps-and-BI</link><guid isPermaLink="false">https://anikethanda.com/Xbox-Apps-and-BI</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Fri, 01 Jan 2016 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;Xbox - Apps &amp; BI&quot;,
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;date&quot;: &quot;2016-01-01T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;Front-end Development&quot;,
  &quot;tags&quot;: [&quot;JavaScript&quot;, &quot;Microsoft internal tools&quot;],
  &quot;hero&quot;: &quot;./images/xbox.jpg&quot;,
  &quot;noImage&quot;: true,
  &quot;excerpt&quot;: &quot;App dev, Data Visualization, Big Data, BI&quot;
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;xbox-app-development&quot;
  }, &quot;Xbox App Development&quot;), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;game-demo-central&quot;
  }, &quot;Game Demo Central&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Ideation&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Prototyping&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Development&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Launch, Updates&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;BI reports&quot;)), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;video-player&quot;
  }, &quot;Video Player&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Closed Captions&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Deep-linking and Smart redirects &quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;CTA button&quot;)), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;universal-ad-client&quot;
  }, &quot;Universal Ad Client&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;First party ads access to Xbox Live&quot;)), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;dashboards-and-business-intelligence&quot;
  }, &quot;Dashboards and Business Intelligence&quot;));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[KiloWalk]]></title><description><![CDATA[Generate electricity from floor tiles.]]></description><link>https://anikethanda.com/KiloWalk</link><guid isPermaLink="false">https://anikethanda.com/KiloWalk</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Thu, 01 Jan 2015 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;KiloWalk&quot;,
  &quot;excerpt&quot;: &quot;Generate electricity from floor tiles.&quot;,
  &quot;date&quot;: &quot;2015-01-01T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;Physical Computing&quot;,
  &quot;tags&quot;: [&quot;Arduino&quot;, &quot;JavaScript&quot;, &quot;D3.js&quot;],
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;hero&quot;: &quot;./kilowalk/Tile_Complete.png&quot;,
  &quot;noImage&quot;: true,
  &quot;summary&quot;: &quot;&quot;,
  &quot;links&quot;: [{
    &quot;label&quot;: &quot;Live link&quot;,
    &quot;link&quot;: &quot;http://anikethanda.com/KiloWalk/&quot;
  }]
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;p&quot;, null, mdx(&quot;span&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1000px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;75%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAIAAABr+ngCAAAACXBIWXMAAAsTAAALEwEAmpwYAAACBElEQVQoz52TzU8aYRDG/bfqhXPtCTT1aprGKAmJvWDDqUYhyoKHAsV/gGtR1qR+7bbh61BT3QVll+Vj32VBdjE1VaQQNcFnX2IrlfRgMnkPO/Ob58nM7Fi9Xqvrz4yxZ5NDsE7jacVZA482GkZiEDWERhCEqJqmIqcUi4IgVMol02iiw9MWFgxAA0BUtYpKBe/Fzwu1qvIcH/8c9/pWvn3l8dEwmnAxBNeISmhUq2WwLdNsX13d9G5EUdzf2/d5fePjL5zOeca/tre7oyjyEGzJVcr5nAi+3+/3ur3rdufu9i6byaaSaZbddrvdwUDQ4/H4/WuxWCydTv3Rt2BYzaRTS0sfstlM93cXype/Lt8vLoZDkUg48mripXdl2WazTU+/5jmuSQf4YFsjcCtJhXA4ZLfbo9FPjXqj0+7MvplhVlc3ohvO2bc8d7C1GT/J585bJpwD+bsqzAzTOj3Jh0IfJx0Ol8uVSibZxBZ/wGFmuztf0B1mwBwf/SjKEuajP96zThvAP5tIzM/NTU1NBhimXKqcNSybLdOQCmiew3QwIljVqPijI6H6GMHh4fdAgHE47O8WFkzDQLUoHMtSAfrIQhZlukZQ/+954lTQA+veZhPr60FRFLCIklJEC0vTuh8yIPWRt63TFkijWpalgVWVCtYeMP0/P4bF07ODSUtwFIm4B2ap5GGY74WgAAAAAElFTkSuQmCC&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/3856797ddecf6bce2f2d8b936238db43/e00f7/Tile_Complete.webp 1000w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1000px) 100vw, 1000px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/3856797ddecf6bce2f2d8b936238db43/c0a24/Tile_Complete.png 1000w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1000px) 100vw, 1000px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/3856797ddecf6bce2f2d8b936238db43/c0a24/Tile_Complete.png&quot;,
    &quot;alt&quot;: &quot;image&quot;,
    &quot;title&quot;: &quot;image&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;abstract&quot;
  }, &quot;Abstract&quot;), mdx(&quot;p&quot;, null, &quot;Kilowalk is a for-fun side project trying to explore use of kinetic energy from floor tiles to power environmental sensors. Our kinetic energy harvesting flooring converts a portion of the energy of footsteps into usable electricity, while our environmental sensors monitor the surroundings for ambient condition and air quality variations. Deployed at scale, the data in aggregate could be used to reveal the \u201Cpulse\u201D of the city at a second-by-second, block-by-block resolution.&quot;));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[Stitch - Immersive news consumption]]></title><description><![CDATA[With upcoming depth cameras in mobile devices, can we create a more immersive news consumption medium?]]></description><link>https://anikethanda.com/Stitch-Immersive-news-consumption</link><guid isPermaLink="false">https://anikethanda.com/Stitch-Immersive-news-consumption</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Tue, 29 Apr 2014 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;Stitch - Immersive news consumption&quot;,
  &quot;excerpt&quot;: &quot;With upcoming depth cameras in mobile devices, can we create a more immersive news consumption medium?&quot;,
  &quot;date&quot;: &quot;2014-04-29T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;AR / VR&quot;,
  &quot;tags&quot;: [&quot;Intel&quot;, &quot;Perceptual Computing SDK&quot;, &quot;3D gestures&quot;, &quot;Publishing&quot;, &quot;Unity3D&quot;],
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;hero&quot;: &quot;./news-unsplash.jpg&quot;
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;introduction&quot;
  }, &quot;Introduction&quot;), mdx(&quot;p&quot;, null, &quot;The capstone project during MHCI+D focused on promoting novel applications of 3D image capture and touch gesture technology in the news publishing industry. My team partnered with Intel, who challenged us to envision a system that creates value for their upcoming RealSense depth-sensing camera in the News publishing industry. &quot;), mdx(&quot;p&quot;, null, &quot;Before hopping onto secondary research we evaluated existing spatial sensing platforms, and meanwhile also researched current publishing industry.&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;56.25%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABAAD/8QAFAEBAAAAAAAAAAAAAAAAAAAAAv/aAAwDAQACEAMQAAABz0A1FceR/8QAGRAAAgMBAAAAAAAAAAAAAAAAAAIBAxEy/9oACAEBAAEFAmecS91hHk0r4P/EABcRAAMBAAAAAAAAAAAAAAAAAAABERL/2gAIAQMBAT8Bbhs//8QAFxEAAwEAAAAAAAAAAAAAAAAAAAEREv/aAAgBAgEBPwFKmD//xAAcEAABAwUAAAAAAAAAAAAAAAABABASAhExQVH/2gAIAQEABj8CMDjisUZUbYN//8QAGxABAAICAwAAAAAAAAAAAAAAAQARITEQQfD/2gAIAQEAAT8hrqnjUqNbeKMMUK1VWeoqN3cf/9oADAMBAAIAAwAAABAAz//EABYRAQEBAAAAAAAAAAAAAAAAABEAUf/aAAgBAwEBPxATLL//xAAWEQEBAQAAAAAAAAAAAAAAAAARAFH/2gAIAQIBAT8QUR2//8QAHhABAAIBBAMAAAAAAAAAAAAAAQAhETFBUWFxobH/2gAIAQEAAT8QSasByrHlqc7we1O1OU0uA1YJJ0jG31BAIL+xu2f/2Q==&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/3993024854c49ca2eb837ac767ab2b27/4b075/3.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/3993024854c49ca2eb837ac767ab2b27/496ec/3.jpg 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/3993024854c49ca2eb837ac767ab2b27/496ec/3.jpg&quot;,
    &quot;alt&quot;: &quot;3&quot;,
    &quot;title&quot;: &quot;3&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;Then, our secondary research highlighted that the way people consume news is changing, due to its online access. However, the current news business model still supports print-based news, rather than digital. On the other hand, emerging technologies are enabling more immersive, collaborative experiences.&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;56.25%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAQFA//EABYBAQEBAAAAAAAAAAAAAAAAAAEAAv/aAAwDAQACEAMQAAAB3UrRbLhKF//EABwQAAEDBQAAAAAAAAAAAAAAAAIAAQMQERITM//aAAgBAQABBQIAe8uOyk/Vf//EABURAQEAAAAAAAAAAAAAAAAAAAEQ/9oACAEDAQE/ARn/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEf/aAAgBAgEBPwFH/8QAHRAAAQIHAAAAAAAAAAAAAAAAABAiAQIRITJBsf/aAAgBAQAGPwJzrbOVMoJMn//EAB0QAAICAQUAAAAAAAAAAAAAAAERACEQMVFhsdH/2gAIAQEAAT8hKchuDrGE0gacIgPWGGVOq6x//9oADAMBAAIAAwAAABBYz//EABYRAQEBAAAAAAAAAAAAAAAAAAARAf/aAAgBAwEBPxCuq//EABYRAAMAAAAAAAAAAAAAAAAAAAEQIf/aAAgBAgEBPxAVP//EAB8QAQACAQMFAAAAAAAAAAAAAAERIQAQQVExYXGBwf/aAAgBAQABPxB6BYIBn32QrLEI7EQIuvPzAgbM9NaTEXB6ZBwZ/9k=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/7f389ad81a1b9e2c6d33d614f5c88e04/4b075/4.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/7f389ad81a1b9e2c6d33d614f5c88e04/496ec/4.jpg 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/7f389ad81a1b9e2c6d33d614f5c88e04/496ec/4.jpg&quot;,
    &quot;alt&quot;: &quot;4&quot;,
    &quot;title&quot;: &quot;4&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;We combined these insights to form the following design question.&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;56.25%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAIBBP/EABYBAQEBAAAAAAAAAAAAAAAAAAQBAv/aAAwDAQACEAMQAAAB6ZiTqMZv/8QAGxAAAQQDAAAAAAAAAAAAAAAAAQACEBEDEhP/2gAIAQEAAQUC4vRxkRsVdx//xAAVEQEBAAAAAAAAAAAAAAAAAAAQIf/aAAgBAwEBPwGn/8QAFREBAQAAAAAAAAAAAAAAAAAAECH/2gAIAQIBAT8Bh//EABkQAAEFAAAAAAAAAAAAAAAAABAAAREhMf/aAAgBAQAGPwJXA1z/AP/EABwQAAEDBQAAAAAAAAAAAAAAAAEAEDFhcYGR8f/aAAgBAQABPyGgNqXBlusiUiTdv//aAAwDAQACAAMAAAAQ0P8A/8QAFhEBAQEAAAAAAAAAAAAAAAAAARBB/9oACAEDAQE/EA2z/8QAFhEBAQEAAAAAAAAAAAAAAAAAARBB/9oACAECAQE/EFwT/8QAGxABAAICAwAAAAAAAAAAAAAAAQARECExUfH/2gAIAQEAAT8QkirLutylKaa6nuY0Lhxa8f/Z&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/b3963c9115c971afe1a8d582aca9b6f5/4b075/1.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/b3963c9115c971afe1a8d582aca9b6f5/496ec/1.jpg 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/b3963c9115c971afe1a8d582aca9b6f5/496ec/1.jpg&quot;,
    &quot;alt&quot;: &quot;1&quot;,
    &quot;title&quot;: &quot;1&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;Our design response was Stitch:&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;56.25%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAIDBP/EABUBAQEAAAAAAAAAAAAAAAAAAAED/9oADAMBAAIQAxAAAAG81e8FNAP/xAAYEAACAwAAAAAAAAAAAAAAAAAAEAIRMv/aAAgBAQABBQJUo6P/xAAVEQEBAAAAAAAAAAAAAAAAAAAAEf/aAAgBAwEBPwFH/8QAFREBAQAAAAAAAAAAAAAAAAAAABH/2gAIAQIBAT8BV//EABQQAQAAAAAAAAAAAAAAAAAAACD/2gAIAQEABj8CX//EABsQAAMAAgMAAAAAAAAAAAAAAAABIRARMVFh/9oACAEBAAE/IZ4OuG3TxwCiP//aAAwDAQACAAMAAAAQN+//xAAVEQEBAAAAAAAAAAAAAAAAAAAQMf/aAAgBAwEBPxCj/8QAFREBAQAAAAAAAAAAAAAAAAAAEDH/2gAIAQIBAT8Qg//EABwQAQACAgMBAAAAAAAAAAAAAAEAIRGxEFFx8f/aAAgBAQABPxAoXl6QmEq9Fz43G7qJEGp//9k=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/6c4cbcff3e0bd4becc37cb77033eaab1/4b075/0.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/6c4cbcff3e0bd4becc37cb77033eaab1/496ec/0.jpg 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/6c4cbcff3e0bd4becc37cb77033eaab1/496ec/0.jpg&quot;,
    &quot;alt&quot;: &quot;0&quot;,
    &quot;title&quot;: &quot;0&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;We conceptualized the whole system but concentrated on one part of it which dealt with exploration of news media on a tablet. Following the system diagram.&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;56.25%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEDAgX/xAAVAQEBAAAAAAAAAAAAAAAAAAAAAf/aAAwDAQACEAMQAAAB7NcURCD/xAAXEAADAQAAAAAAAAAAAAAAAAACEBFB/9oACAEBAAEFAoNWr//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABYQAAMAAAAAAAAAAAAAAAAAAAARIP/aAAgBAQAGPwIU/wD/xAAYEAEBAQEBAAAAAAAAAAAAAAABEQAQkf/aAAgBAQABPyG8R9wly4Dv/9oADAMBAAIAAwAAABDv3//EABURAQEAAAAAAAAAAAAAAAAAAAEQ/9oACAEDAQE/ECf/xAAVEQEBAAAAAAAAAAAAAAAAAAABEP/aAAgBAgEBPxBn/8QAGhABAQEBAQEBAAAAAAAAAAAAAREAITGBsf/aAAgBAQABPxAgLKnqfuABaF+YKvHjMBs7d5MALD1rv//Z&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/4f43ae5bc751553ae414655a54aef7a0/4b075/5.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/4f43ae5bc751553ae414655a54aef7a0/496ec/5.jpg 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/4f43ae5bc751553ae414655a54aef7a0/496ec/5.jpg&quot;,
    &quot;alt&quot;: &quot;5&quot;,
    &quot;title&quot;: &quot;5&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;To refine the solution we iterated by developing functional prototypes backed by user testing and evaluation. We took the help of rapid prototyping to answer the following questions:&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;56.25%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAEEA//EABUBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAGJ1Ts4iF//xAAZEAACAwEAAAAAAAAAAAAAAAAAIQEDMRD/2gAIAQEAAQUCjFxFmn//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/AT//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/AT//xAAaEAACAgMAAAAAAAAAAAAAAAABECExAHGR/9oACAEBAAY/AjWRO1Q4/wD/xAAbEAEAAgMBAQAAAAAAAAAAAAABESEAEEFRwf/aAAgBAQABPyEzRDrNmIBqPaJqIfJlRAFc1//aAAwDAQACAAMAAAAQ+8//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAVEQEBAAAAAAAAAAAAAAAAAAAQEf/aAAgBAgEBPxCn/8QAHxABAAIBAwUAAAAAAAAAAAAAAREhABAxYUFxgbHw/9oACAEBAAE/EIA1BShwTbkNoR1BwTjvseMO8fisIEmVAPWn/9k=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/da30332cddd952d4ff69fab4fc8c7f15/4b075/7.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/da30332cddd952d4ff69fab4fc8c7f15/496ec/7.jpg 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/da30332cddd952d4ff69fab4fc8c7f15/496ec/7.jpg&quot;,
    &quot;alt&quot;: &quot;7&quot;,
    &quot;title&quot;: &quot;7&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;prototyping&quot;
  }, &quot;Prototyping&quot;), mdx(&quot;p&quot;, null, &quot;Before developing the final prototype we had several iterations of prototypes at increasing level of fidelity.&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;56.25%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAMEBf/EABUBAQEAAAAAAAAAAAAAAAAAAAIB/9oADAMBAAIQAxAAAAFgq1DKKCL/xAAZEAEBAAMBAAAAAAAAAAAAAAABAgADETL/2gAIAQEAAQUCaRq+LGUdpmXXt9f/xAAWEQADAAAAAAAAAAAAAAAAAAABEBH/2gAIAQMBAT8BgX//xAAVEQEBAAAAAAAAAAAAAAAAAAABEP/aAAgBAgEBPwFn/8QAHhAAAgEDBQAAAAAAAAAAAAAAAAERAhAxEyIyUYH/2gAIAQEABj8CNKMrJxa9GOuN3dv/xAAaEAEAAwEBAQAAAAAAAAAAAAABABEhcWGR/9oACAEBAAE/IVhmPkvFdV1K342Lg3fYpMCMDk//2gAMAwEAAgADAAAAEKcf/8QAFhEBAQEAAAAAAAAAAAAAAAAAABEB/9oACAEDAQE/EINj/8QAFxEBAQEBAAAAAAAAAAAAAAAAAQAhMf/aAAgBAgEBPxBL22//xAAcEAEBAAIDAQEAAAAAAAAAAAABEQAxIXHBUWH/2gAIAQEAAT8Q5DqFZs7wXaKIORZJ7kYeBpLvrCXNP2e4JtaC3JPXNAvZ/XP/2Q==&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/f0f63ebdfd682bf0b1fa4cd9b479272b/4b075/6.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/f0f63ebdfd682bf0b1fa4cd9b479272b/496ec/6.jpg 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/f0f63ebdfd682bf0b1fa4cd9b479272b/496ec/6.jpg&quot;,
    &quot;alt&quot;: &quot;6&quot;,
    &quot;title&quot;: &quot;6&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;The final explore prototype supported the following interactions:&quot;), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;select-an-article&quot;
  }, &quot;Select an Article&quot;), mdx(&quot;p&quot;, null, &quot;View the journalist-curated list of immersive articles and select to read more about it with 3D reconstruction in the background.&quot;), mdx(&quot;div&quot;, {
    className: &quot;Image__Small&quot;
  }, mdx(&quot;video&quot;, {
    width: &quot;100%&quot;,
    loop: true,
    autoPlay: true
  }, mdx(&quot;source&quot;, {
    src: &quot;/7d5c6e1c06505e3574f4a39653ed02f2/article.mp4&quot;,
    type: &quot;video/mp4&quot;
  }), mdx(&quot;source&quot;, {
    src: &quot;/10bf7d0968ff5c83743db3124e4e894a/article.webm&quot;,
    type: &quot;video/webm&quot;
  }), &quot;Your browser does not support HTML5 video.&quot;)), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;fly-in&quot;
  }, &quot;Fly-in&quot;), mdx(&quot;p&quot;, null, &quot;By tapping on start user dives down into the 3D reconstruction of the relevant place where the news took place. Fly-in gives a spatial perspective to the user.&quot;), mdx(&quot;div&quot;, {
    className: &quot;Image__Small&quot;
  }, mdx(&quot;video&quot;, {
    width: &quot;100%&quot;,
    loop: true,
    autoPlay: true
  }, mdx(&quot;source&quot;, {
    src: &quot;/3fdafac6f47a93fb8242f02473f761ca/fly.mp4&quot;,
    type: &quot;video/mp4&quot;
  }), mdx(&quot;source&quot;, {
    src: &quot;/39bed07e13a1d8ef7ec6cfc06f349117/fly.webm&quot;,
    type: &quot;video/webm&quot;
  }), &quot;Your browser does not support HTML5 video.&quot;)), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;navigate&quot;
  }, &quot;Navigate&quot;), mdx(&quot;p&quot;, null, &quot;Exploring a digital reconstruction of a news story\u2019s environment as a way to deepen understanding of a situation, event, or location.&quot;), mdx(&quot;div&quot;, {
    className: &quot;Image__Small&quot;
  }, mdx(&quot;video&quot;, {
    width: &quot;100%&quot;,
    loop: true,
    autoPlay: true
  }, mdx(&quot;source&quot;, {
    src: &quot;/af09a66628af4954a7fa5ad6d68d5b99/nav.mp4&quot;,
    type: &quot;video/mp4&quot;
  }), mdx(&quot;source&quot;, {
    src: &quot;/6cf0059f8154b11d68ab93fd6ceba662/nav.webm&quot;,
    type: &quot;video/webm&quot;
  }), &quot;Your browser does not support HTML5 video.&quot;)), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;content-markers&quot;
  }, &quot;Content Markers&quot;), mdx(&quot;p&quot;, null, &quot;View multiple perspectives on the news through dynamic journalist and reader-contributed content. Linking these content markers together can generate Walkthroughs, which help create a story that users can follow.&quot;), mdx(&quot;div&quot;, {
    className: &quot;Image__Small&quot;
  }, mdx(&quot;video&quot;, {
    width: &quot;100%&quot;,
    loop: true,
    autoPlay: true
  }, mdx(&quot;source&quot;, {
    src: &quot;/03edfb76d5b347f9f838e5a7e89232de/marker.mp4&quot;,
    type: &quot;video/mp4&quot;
  }), mdx(&quot;source&quot;, {
    src: &quot;/c0b651f50a8463be362a846e6d1481fb/marker.webm&quot;,
    type: &quot;video/webm&quot;
  }), &quot;Your browser does not support HTML5 video.&quot;)), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;filter-markers&quot;
  }, &quot;Filter Markers&quot;), mdx(&quot;p&quot;, null, &quot;Filters helps in focusing on the content markers that matter the most. This protects users from getting overwhelmed by large number of markers.&quot;), mdx(&quot;div&quot;, {
    className: &quot;Image__Small&quot;
  }, mdx(&quot;video&quot;, {
    width: &quot;100%&quot;,
    loop: true,
    autoPlay: true
  }, mdx(&quot;source&quot;, {
    src: &quot;/9fda00a8ed559e10e57efcfa9fd3b334/filter.mp4&quot;,
    type: &quot;video/mp4&quot;
  }), mdx(&quot;source&quot;, {
    src: &quot;/2d5c055f534dffa34c2aa711a8486006/filter.webm&quot;,
    type: &quot;video/webm&quot;
  }), &quot;Your browser does not support HTML5 video.&quot;)));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[NecX - Using neck as an input method]]></title><description><![CDATA[What if we hack into neural pass of the body which also provides vocal, movement and heart rate information?]]></description><link>https://anikethanda.com/NecX-Using-neck-as-an-input-method</link><guid isPermaLink="false">https://anikethanda.com/NecX-Using-neck-as-an-input-method</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Mon, 28 Apr 2014 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;NecX - Using neck as an input method&quot;,
  &quot;excerpt&quot;: &quot;What if we hack into neural pass of the body which also provides vocal, movement and heart rate information?&quot;,
  &quot;date&quot;: &quot;2014-04-28T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;Physical Computing&quot;,
  &quot;tags&quot;: [&quot;Arduino&quot;, &quot;Signal Processing&quot;, &quot;EMG sensor&quot;, &quot;Gesture detection&quot;, &quot;Machine Learning&quot;],
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;hero&quot;: &quot;./neck.jpg&quot;,
  &quot;links&quot;: [{
    &quot;label&quot;: &quot;Website&quot;,
    &quot;link&quot;: &quot;http://horseshoe477.github.io/&quot;
  }]
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;div&quot;, {
    style: {
      &quot;height&quot;: &quot;480px&quot;
    }
  }, mdx(&quot;iframe&quot;, {
    src: &quot;//player.vimeo.com/video/98090453?title=0&amp;byline=0&amp;portrait=0&quot;,
    width: &quot;100%&quot;,
    height: &quot;100%&quot;,
    frameBorder: &quot;0&quot;,
    webkitallowfullscreen: true,
    mozallowfullscreen: true,
    allowFullScreen: true
  })), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;introduction&quot;
  }, &quot;Introduction&quot;), mdx(&quot;p&quot;, null, &quot;Neck is one of such part of our body that densely packs tons of information. It is the neural pass of the body; it can move, give vocal data and provide heart rate information. We envision a device that can tap on this information and result in a novel input technique while also keeping a track on health data. The interaction can be fast enough enabling hands-free interaction while both hands are not accessible. In addition, it is possible to use this wearable device for health sensing, for example, monitoring the tiredness, heart rate or even muscle stress. It can take many forms, such by being part of the clothing collar or in a form of a pendant. It can also used as a accessibility device for special people who cannot move lower part of their body or people aging with disabilities.&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;66.171875%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAQFAwb/xAAXAQADAQAAAAAAAAAAAAAAAAAAAQID/9oADAMBAAIQAxAAAAFyezCyvpjAR//EABwQAAEEAwEAAAAAAAAAAAAAAAMAAQIREhMjMv/aAAgBAQABBQK+e52PkiyoMfVr/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFREBAQAAAAAAAAAAAAAAAAAAARD/2gAIAQIBAT8BJ//EABoQAAICAwAAAAAAAAAAAAAAAAAQAhIRIVH/2gAIAQEABj8CK6rlSOr/xAAbEAEAAgMBAQAAAAAAAAAAAAABABEhUXExQf/aAAgBAQABPyG2nKiOVuksfYvBFgvjNbhYHc//2gAMAwEAAgADAAAAEM8P/8QAFhEBAQEAAAAAAAAAAAAAAAAAARBB/9oACAEDAQE/EEwn/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAERIf/aAAgBAgEBPxBbrIf/xAAdEAEBAAIBBQAAAAAAAAAAAAABEQAxIUFRYXGB/9oACAEBAAE/ECMabOmHfeUlDgB9uaxxPGMgDrub4yZYHSw82QM95//Z&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/ed1980d20bcd918f2b2d143aec05b176/4b075/Fig1-reduce.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/ed1980d20bcd918f2b2d143aec05b176/496ec/Fig1-reduce.jpg 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/ed1980d20bcd918f2b2d143aec05b176/496ec/Fig1-reduce.jpg&quot;,
    &quot;alt&quot;: &quot;Fig1 reduce&quot;,
    &quot;title&quot;: &quot;Fig1 reduce&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;Our current product is good at recognizing short neck gestures, it is always available with a \u2018faster in\u2019 and a \u2018faster out\u2019. Currently it detects basic gestures including up tilt, left tilt, and shaking. The device connects via Bluetooth and send sEMG data to the connected client device. The client then processes this data to recognize gestures.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;envision-necx&quot;
  }, &quot;Envision NecX&quot;), mdx(&quot;p&quot;, null, &quot;We envision NecX to be a wearable device that can take many forms, such by being part of the clothing collar or in a form of a pendant or a pillow. The interactions using neck might not be as socially awkward as by other wearables in the market. We also plan to focus on providing accessibility to special people who cannot move lower part of their body.&quot;), mdx(&quot;p&quot;, null, &quot;For people aging with disabilities or with spinal cord injuries, their mobility is limited and their involvement to the environment is constrained. These limitations result from the environmental barriers that hinder their full participation in society and even their daily life. However, we think that such disability should not be tied to a person. NecX is made to help to overcome these barriers.&quot;), mdx(&quot;p&quot;, null, &quot;Apart for using it as an aid to mobility of the elderly or with people suffering from spinal cord injuries, we also see this technology being used in Gaming, Eyes-free computing, and as a mobile phone peripheral for short interactions. It can used for more immersive gaming experience, monitoring neck muscle tension levels, perform hands-free interactions with mobile devices. We expect this wearable device can be used as a health monitoring tool and a hands-free input device. This device is capable of capturing the user\u2019s heart rate and detecting muscle stress even when the head and neck is stationary; by simply perform a neck gestures, the user is able to pick up a call or change the volume of the songs while keep the phone in the pocket.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;our-approach&quot;
  }, &quot;Our Approach&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;58.59375%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAAAsSAAALEgHS3X78AAADTklEQVQoz12TaUwTWxzFB0U/uEAImkIQWwG1oCjPKERrcMEGC+IG4kINIDyXp6EaYuIKBGOMIhJRcUEFWYJ+MELigoa4fJBEjYD4fLYIannPedhqLZ1S2pnOPd4ZiFFP8k/uPbn5/e+5CyOI4rfOK2XO+2uTuNbcTO7Fo5ucYeVy7uQMNZcb+4fd9OYNqE4yDKNISUmJ3ZWXN2nbjh2qJJ1u+jKtdizzu+hi79vGqyiJiURH9iYcXKNFZsxM7IkIR9rcWSIReJjNvQ106ai377qSIYqd8Ho/Wmy2jdTzVygUoT4+PkF0PIFWICMCfOf1epRp5pAHqxLJ1Ug1+Us5mayeqiQ7k5N4J8fB3Nt7XmreYTZn0gnQ78BLk/EAtUbX1tSMkkTHI+VyCwJv6e5GXVY6qVkYh+I50ciPjkJ8kALlRYWClJf3eCok4KvPfXrUNQjeiot4YTIahhP+GtnlcvGDbg8eFewlZxfPRUGCBjtjoqCNUOHZk8cycIDjZGDHvWY9UvUilq8Fe61+1zDQZ7iG4LQ77/R48D7fQE6HBiE60B9xAX7I0+lgev1aBroHXDLQVHhUb58QLv4Tokb3bI3hR8yfRWgiQfSCzc0ijRFh+DMkGMsCA1CQkYH21lYZ6HW7ZWBPabneMjFcfDA+GB1Tovcw86YFVJ8vT62pvby5quriltLS4xppm3zbqRL8Nz+O1M6MwtEwFXImh+LQhvXIXpogWFlWYg6dYXu7HptyRejS8PnO/e2M/7gxdpvro5ODLJa1VjJtWdn84/AIuDQLyA31NBSFKVGoUuJ0bCzW+AUIWeoZqD5cJAPbvlgzcLfZg1tN+ETE7dQaz34a7LP0DQF7eqzVjK3yDE/KjoArKya3tUuQHazACQpuTluFm1szhSs5Oag07D4nX4rRuAX0jKRi+/vzqDXGZrM8/2LlWI5z2Mzm9yWMs/k2726qx2BLI+lqqsPBjatx5+wxdDVcwt9FB4TnhQW4vG9/tQR82NKygOKK6cNu6/nwYYPkXa9/NTJjc7xvzOx435Cg+BGMI309P7AuHfbUVOJoqIKN+4pB+/9w7M8Hm5gk/KtNxLNFSy+MS0hQzouMVEmQp0ajb0ryikCNRuP3+8/7Dg83CIhmz8NFAAAAAElFTkSuQmCC&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/4f7fb102584d6ada87b0b939c2483a12/4b075/Fig2.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/4f7fb102584d6ada87b0b939c2483a12/9f341/Fig2.png 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/4f7fb102584d6ada87b0b939c2483a12/9f341/Fig2.png&quot;,
    &quot;alt&quot;: &quot;Fig2&quot;,
    &quot;title&quot;: &quot;Fig2&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;semg&quot;
  }, &quot;sEMG&quot;), mdx(&quot;p&quot;, null, &quot;To enable a novel input device that also provides health monitoring and hands-free interaction, our system uses surface Electromyography (sEMG) to achieve such capabilities.  When muscle is stressed, a current issued from the brain flows through the muscle. By attaching electro pads to the target muscle (in our case, on both side of neck), the current will flow through the pads and will be picked by our sensor board. Our algorithm captures these signal variations when the muscle is in action and uses it for gesture detection and classification. Different from the previous study, we used only 2 channels of sEMG data to enable such functions. We believe reducing the number of channels can provide more flexibility in design a new form factor and also extend the power consumption.&quot;), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;hardware&quot;
  }, &quot;Hardware&quot;), mdx(&quot;p&quot;, null, &quot;To measure the sEMG on the neck, we use the OLIMEXINO-328 and two SHIELD-EKG-EMG boards, each of which collects sEMG data from one side of the neck. Electrode pads are attached on the user\u2019s neck; the red pad (positive) and black pad (negative) are instrumented on the side of neck and white pad (ground) is attached on the back of the neck. &quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1026px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;84.89278752436647%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAARCAYAAADdRIy+AAAACXBIWXMAAAsSAAALEgHS3X78AAAE6klEQVQ4yx1T+0/TVxztH7BHMoVN1Kk4Bw4dD6EVnDAqqExRHuoUHJIpCy6oU5hiBshgMkGBIkiQAW6VPijQ0tJC6bdv+qDl/RaK4CMO3ddl4QeWfOtyz77xh3PPvcnNybmfcy7HubC62ud67pV0mhixWMG0SdoZtUrNWMz9jK5Xy2iUSsZsMDJjYzPMwMAI47ANMA67g3E63IxZTzF93UpG3SFhelVdjKFXw3DGX7x5M/J4BeW3BSgtLsDNnwtQW12B+tpq1NfcQlnxj9AoRBgcsMDY1wUr1QG7sQNmbQcolRRGjRgGVTPU0nqoZU3g3Kmq8NbcvYVrVzJJ/pUMcj03g9zI/5Zc/SGdRRq5nHOS3Ku8TES/FRFRUxFpF5aQ2ju5pDD/O1JZlkfKSy+Sil8ukpKC86SlvoBwhkfdXpfLAomokUiFlVBIBejqbIZM0gyqR4QuWS080xa8frWAqTEzJoZ70W+QwEjJ4RqwQa1sfXvPSLVjcswODgCvl13mHy+QkUED3E4Nlv98gpevljE9NQinrRtWCwWzxYKnzxbwdGkSz5ZGsPxiHvTrlxgZsmJx3oVFzzCeLE6Ds/Kv10v/s4KhETcZsPdgdtICqaQFqSnJ4HEjsHnTx/B59x3E743CMiv4aNKGXpWQdWPBk6U5jA5b8GjazsIJz9wwOKusw9X/gJlHM8Ru14PSq3HpQjb81vmBF/QZrifwUXUqFXkZaSi7UYzszDTweME4eJAPilJjatzBijkwN+vG/NwoOBKl3nv/jzacOJVOIqP2ICQ0FGFhIYgIDkFM4vfI+kmE3AuFKMzNw67QMMTyuODvCsMBbhisBg2mPWPwLI5jnuX5+TFw4g4c8p7LzsHZc2dJZuY3SEpORVBQMLb7+SGGux8nD6YjPeEoju6Lw7HYaCRGRyGWFYuNjoRTp4NbIsOgUoHZCdahZxKc5yvwTi39hYrqWpKUdBQ7P98JXx8f+HywFj5+2xG9KwY7Nm3FRt+1iN4dgX2RXMSFhyFt/z5oy6pAFZRCLxBgxmWDZ2EGnNSTmd6YuMPY7B9IAoJCkJZ6HKeTj2OD70cI3BKMIzw+vggMADcoAOkH+OCHB4MXHopwVrSprgEGnRZDg0a2EQ7MzrChcCO/9EZE7UdwBJ8kxH+F44knEM8/hA0b1mPjug/BC9iKrb4+2PaJP4JDg7AjwB8R27bgVOxuaNsa4DC2YdDaiYlRI6YmneAcPnbGm3mpGDn5VSQr5Riy2HmFh4Rj/fp12BMSiM1r3sena97D3kB/fM0NwuWEPRBkJUPbWAi3sQkuqxhDzi62PnpMjLPFltn/9spsL1HT8JBU/VqMggvnkcIOPiU0EDnxXJRnJKHkzBGUZadCVpMHnfQmrJpqWHpq0E81wtUvwrBLgZFBDVtyiq2NVMS0ChuISFhHpOL7RPzwHhGUXSW3ck6T+qtnSHtjEdF33ibdklKiEJcQuaiE9HSWE2NPLXFaW4mJEhKt5gGxmtoJ65JwVCox0Wrl6NO2g9KKYaJEMOl+R79eCIf5IRyGFnbfzP7fFijbBagsv4Y6QSHuVhehVVgHhfwBagQ30SFrYYNhn6ylepdN/bbXBlMfTenktIGS0Wa9jLYaWZg6aZtZTtstctppU9Iuh4blbtppV9MOm5p2Ofto94COPfe+ZTZt+n9/C5PRhWRT/gAAAABJRU5ErkJggg==&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/4a077270d046f5b2a2ea8de84090772a/40ee0/board.webp 1026w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1026px) 100vw, 1026px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/4a077270d046f5b2a2ea8de84090772a/61625/board.png 1026w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1026px) 100vw, 1026px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/4a077270d046f5b2a2ea8de84090772a/61625/board.png&quot;,
    &quot;alt&quot;: &quot;board&quot;,
    &quot;title&quot;: &quot;board&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;540px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;116.1111111111111%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAXABQDASIAAhEBAxEB/8QAGQABAQEAAwAAAAAAAAAAAAAAAAQCAQMF/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/2gAMAwEAAhADEAAAAfT53iWpAst6QpB//8QAGRABAQADAQAAAAAAAAAAAAAAAQIAAxES/9oACAEBAAEFAtt1nXwPTiKrYbhqSsj1N5//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/AR//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAhEAABAwMEAwAAAAAAAAAAAAABABEhAhASEyIxQVFxkf/aAAgBAQAGPwI49crIFxYt8WnA9KoNDxKlbwD4qt//xAAcEAEAAgMAAwAAAAAAAAAAAAABABEhMUEQUWH/2gAIAQEAAT8hFzN0DtumJVJDElqquwdwWmWJnQ3XioL7Gk2S0LDA7fj4/9oADAMBAAIAAwAAABCQzzz/xAAXEQEBAQEAAAAAAAAAAAAAAAABESAh/9oACAEDAQE/ECJA7j//xAAXEQEAAwAAAAAAAAAAAAAAAAARICFB/9oACAECAQE/ELXIf//EAB4QAQACAgIDAQAAAAAAAAAAAAEAESExYXEQQVHB/9oACAEBAAE/EKJSlZt6hUqyHJPeIOlJLmNgaquyb0VnUc2gOobkWI21V+woBMjqX6PqAuQAw4T7yY68f//Z&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/7eec26f0daa56814842790d895b1d571/be7f3/pad.webp 540w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 540px) 100vw, 540px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/7eec26f0daa56814842790d895b1d571/1c34e/pad.jpg 540w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 540px) 100vw, 540px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/7eec26f0daa56814842790d895b1d571/1c34e/pad.jpg&quot;,
    &quot;alt&quot;: &quot;pad&quot;,
    &quot;title&quot;: &quot;pad&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;Instrumenting the white pad behind the neck (i.e., at a neutral position) can reduce ambient noise. The Olimex-328 is an Arduino-based motherboard and has a 10-bit ADC on board. We sample the analog data at 256 Hz, which is sufficient for our use case as we expect a neck gesture should be relatively slow. Finally, the data are streamed to a laptop for gesture recognition through Bluetooth. To better understand the capability of Olimex-328, we simulated the circuit in MultiSim and verify that the board has a low pass filter with the cut-off frequency of 3.4 kHz (see Fig). We also designed a 3D-printing case for this prototype.&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;46.79687500000001%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAJABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECA//EABUBAQEAAAAAAAAAAAAAAAAAAAAB/9oADAMBAAIQAxAAAAHvNRKK/8QAFhAAAwAAAAAAAAAAAAAAAAAAACAh/9oACAEBAAEFAiL/AP/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABQQAQAAAAAAAAAAAAAAAAAAACD/2gAIAQEABj8CX//EABkQAAIDAQAAAAAAAAAAAAAAABBRAAERIf/aAAgBAQABPyG9jdKH/9oADAMBAAIAAwAAABDvz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8QP//EABwQAAICAgMAAAAAAAAAAAAAAAEREDEAQSFhcf/aAAgBAQABPxAwpLbwAivHs3O/Uf/Z&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/0788c42059edbe4e54a3aea3f7e71409/4b075/version-2-2.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/0788c42059edbe4e54a3aea3f7e71409/496ec/version-2-2.jpg 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/0788c42059edbe4e54a3aea3f7e71409/496ec/version-2-2.jpg&quot;,
    &quot;alt&quot;: &quot;version 2 2&quot;,
    &quot;title&quot;: &quot;version 2 2&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;46.79687500000001%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAJABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAEE/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/2gAMAwEAAhADEAAAAdFhAr//xAAWEAADAAAAAAAAAAAAAAAAAAAAESD/2gAIAQEAAQUCHP8A/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAFhAAAwAAAAAAAAAAAAAAAAAAACAx/9oACAEBAAY/AiL/AP/EABgQAQADAQAAAAAAAAAAAAAAAAEAESAh/9oACAEBAAE/IZRXkz//2gAMAwEAAgADAAAAEDzP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFREBAQAAAAAAAAAAAAAAAAAAEEH/2gAIAQIBAT8Qp//EABkQAQADAQEAAAAAAAAAAAAAAAEAETEQUf/aAAgBAQABPxBQ2CTDQ7cp947z/9k=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/9e8dd52eba6dc1e133adc3ce6dc82054/4b075/version-2-3.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/9e8dd52eba6dc1e133adc3ce6dc82054/496ec/version-2-3.jpg 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/9e8dd52eba6dc1e133adc3ce6dc82054/496ec/version-2-3.jpg&quot;,
    &quot;alt&quot;: &quot;version 2 3&quot;,
    &quot;title&quot;: &quot;version 2 3&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;gesture-detection--classification&quot;
  }, &quot;Gesture Detection &amp; Classification&quot;), mdx(&quot;p&quot;, null, &quot;As described earlier, any muscle movements on neck causes a current flowing through the electrode pads, which raises the output voltage from the Olimex-328 board. When muscle relaxes, the voltage drops to the baseline. Our first step is to identify signal variations, and to recognize an event of muscle excitation.&quot;), mdx(&quot;p&quot;, null, &quot;The following figure shows the process of gesture segmentation:&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;50.31250000000001%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAKABQDASIAAhEBAxEB/8QAGAAAAwEBAAAAAAAAAAAAAAAAAAEEAwX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAHtLVk5QH//xAAZEAACAwEAAAAAAAAAAAAAAAABAgAREyD/2gAIAQEAAQUCYWM1gReP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPwE//8QAGBAAAwEBAAAAAAAAAAAAAAAAAEGRICH/2gAIAQEABj8C6OjuP//EABwQAAICAgMAAAAAAAAAAAAAAAEhABEQMUFRkf/aAAgBAQABPyEFfbgwk2EW8qoesIWf/9oADAMBAAIAAwAAABATz//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABURAQEAAAAAAAAAAAAAAAAAABBB/9oACAECAQE/EKf/xAAcEAEBAAICAwAAAAAAAAAAAAABEQAhEFGBscH/2gAIAQEAAT8QvhhWw9YyOgiBo84qw17PuFWjDj//2Q==&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/b4f3a24263a07209edeaf8ae420ce82b/4b075/gesture-detection.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/b4f3a24263a07209edeaf8ae420ce82b/496ec/gesture-detection.jpg 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/b4f3a24263a07209edeaf8ae420ce82b/496ec/gesture-detection.jpg&quot;,
    &quot;alt&quot;: &quot;gesture detection&quot;,
    &quot;title&quot;: &quot;gesture detection&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;After an event is detected, features are extracted from the recognized segment. We chose various features for gesture classification: &quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;53.59375000000001%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAGQAAAgMBAAAAAAAAAAAAAAAAAAMBAgQF/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAB7StFBhIf/8QAGRABAAMBAQAAAAAAAAAAAAAAAQACMRES/9oACAEBAAEFAk9FqHTI7P/EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABgQAAIDAAAAAAAAAAAAAAAAAAAgIUGR/9oACAEBAAY/ApL1f//EABsQAQACAgMAAAAAAAAAAAAAAAEAERAhMYHB/9oACAEBAAE/ITLfpqJHpNASqMRxP//aAAwDAQACAAMAAAAQc8//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAEDAQE/ED//xAAUEQEAAAAAAAAAAAAAAAAAAAAQ/9oACAECAQE/ED//xAAbEAEAAwEBAQEAAAAAAAAAAAABABEhMWFBUf/aAAgBAQABPxAPspXbx8Za3YGFwr9gALoALiMStgz5OE//2Q==&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/d55b0d30ec982b56ce53bd9f26527127/4b075/gesture-classification.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/d55b0d30ec982b56ce53bd9f26527127/496ec/gesture-classification.jpg 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/d55b0d30ec982b56ce53bd9f26527127/496ec/gesture-classification.jpg&quot;,
    &quot;alt&quot;: &quot;gesture classification&quot;,
    &quot;title&quot;: &quot;gesture classification&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;The offline analysis described above shows the feasibility of using NecX to detect and classify neck gestures; we also want to demonstrate the ability for NecX to work in real-time. We implemented a real-time version of our system and designed a few prototype applications. In order for NecX to run in real-time, we modify the classifier to enhance the robustness against any possible noise. In the video figure, we showed the on-the-fly neck gestures recognition and used NecX to play Tetris and to detect heart rate and muscle stress. &quot;));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[Visualizing Neurological Connectivity]]></title><description><![CDATA[A focused visualization tool for neurological functional connectivity data]]></description><link>https://anikethanda.com/Visualizing-Neurological-Connectivity</link><guid isPermaLink="false">https://anikethanda.com/Visualizing-Neurological-Connectivity</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Sat, 22 Mar 2014 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;Visualizing Neurological Connectivity&quot;,
  &quot;excerpt&quot;: &quot;A focused visualization tool for neurological functional connectivity data&quot;,
  &quot;date&quot;: &quot;2014-03-22T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;Front-end Development&quot;,
  &quot;tags&quot;: [&quot;D3.js&quot;, &quot;JavaScript&quot;],
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;links&quot;: [{
    &quot;label&quot;: &quot;Live Link&quot;,
    &quot;link&quot;: &quot;http://cse512-14w.github.io/fp-chaoyu-aniket-glnelson-anied/#95-LD&quot;
  }],
  &quot;hero&quot;: &quot;./viz.png&quot;,
  &quot;noImage&quot;: true
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;abstract&quot;
  }, &quot;Abstract&quot;), mdx(&quot;p&quot;, null, &quot;Understanding dense, time-varying networks lies at the heart of long-standing challenges in scientific domains, especially biology. We construct a focused visualization tool for neurological functional connectivity data. We apply multiple filtering techniques \u2013 animation and selecting by inclusion/exclusion - to make displays less overwhelming for general and expert audiences. We also allow filtering with a bootstrapped confidence level and support 2-way interactive visual hypothesis testing, to bring the noise and complexity of the data into context. Our animation display also supports casual use and inquiry into the underlying data for a general audience.&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Medium&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;3038px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;39.56550362080316%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAYAAAD5nd/tAAAACXBIWXMAAAsTAAALEwEAmpwYAAABVUlEQVQoz3VSy07DMBDk/38BTv0BxBVVPfIBSEhVladjJ078tlPEATGsXQqqSg+rtXY3k9mZvQshwFOE4OG9R0gRepYY6hrLpGEt1WJEmaO+MeYinHO59/XT/7zLj+BPwyEGWK4gGYdeZmjtICuGoBSs8xBCoOs6tG1b8mG/x0i1mNIlYAGj7KzF3Asc1yPVHDz9wEkJVR0g1QLBOdZ1LbMxrVj6Dmae8wb/A1oCbGjV+80G290zrNFwJAWzjNhxDMOASOuXNWOCGloYOV0DnkGJOuk34+HxCbuXLVLQMFaDTRXGaQInhikzJNBI2UgBq24yzKZkPS2tSpqlDwIjJuwN78FhHCewvocnPRUBmyzF0BOgus2wuE3aCa3w2nJ0TGAe6WNriiGMjNDTCE3vHJaMy7pfu3wOfzqdlVZXdDp1VaFuWjRNU5zNwU+unk7p75x+Ab8BGO1XfQZ+PRYAAAAASUVORK5CYII=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/d7ee91a3adeaf5ffd2170ac31dc2b426/a3bc4/viz.webp 2500w&quot;, &quot;/static/d7ee91a3adeaf5ffd2170ac31dc2b426/e68b0/viz.webp 3038w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 3038px) 100vw, 3038px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/d7ee91a3adeaf5ffd2170ac31dc2b426/082ed/viz.png 2500w&quot;, &quot;/static/d7ee91a3adeaf5ffd2170ac31dc2b426/0f19d/viz.png 3038w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 3038px) 100vw, 3038px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/d7ee91a3adeaf5ffd2170ac31dc2b426/0f19d/viz.png&quot;,
    &quot;alt&quot;: &quot;viz&quot;,
    &quot;title&quot;: &quot;viz&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;introduction&quot;
  }, &quot;Introduction&quot;), mdx(&quot;p&quot;, null, &quot;We sought to create a way to visualize this dynamic network flow as an interactive graph and accompanying diagrams. Existing network flows can be beautiful and useful; traffic flow is often visualized as network flow, as well as many other novelties such as wind, air traffic, and migration.\nWithin the neuroscience literature, many groups have designed neural visualizations, and the area has received more attention from visualization researchers more recently. One of the largest limiting factors of all of this data though is that it relies on arbitrary computer programs or hand-tailored videos that support - and never challenge - a designer\u2019s hypothesis.\nMany of these visualizations fail to express the data and effectively communicate it. Dense networks have too many edge crossings and it is very difficult for users to disambiguate connections. Time-varying data overwhelm static representations, and end-users have trouble without multiple levels of filtering tools.\nOur mission for this project is twofold. We aim to improve on the techniques done by scientists to visualize network flow, and we also want to give the public a tool to explore network flow and evaluate it.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;related-work&quot;
  }, &quot;Related Work&quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;layout&quot;
  }, &quot;Layout&quot;), mdx(&quot;p&quot;, null, &quot;Most prior work focuses on showing data mapped onto the physical brain layout &quot;, &quot;[5,6,12]&quot;, &quot;. This takes advantage of expert knowledge in the domain to provide additional context without labeling or overlays. In neuroscience in particular many groups have their own region enumeration and descriptions, owing to the complexity and flexibility available to interpret gathered data. These techniques tend towards the goals of scientific visualization and focus less on interaction techniques. We considered the opposite side of the design spectrum, starting with a simple circle layout and allowing the user to experiment with different arrangements of nodes. Other prior work has used alternative layouts such as matrices &quot;, &quot;[3,9]&quot;, &quot; to compare different neurological functional connectivity datasets or show the network in general. Some shows&quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;complete-datasets&quot;
  }, &quot;Complete Datasets&quot;), mdx(&quot;p&quot;, null, &quot;Prior work mostly shows complete datasets with few filtering features &quot;, &quot;[8]&quot;, &quot;. Some show small multiples of the graph at each timestep &quot;, &quot;[11]&quot;, &quot;. Work on dense, time-varying graphs has applied dotplots and other high-density techniques to attempt to show the full picture of the data &quot;, &quot;[6]&quot;, &quot; or used principal component analysis to generate smaller visualizations&quot;, &quot;[10]&quot;, &quot;. We start from an overview of the data and influence analysis to start small.&quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;uncertainty-and-hypothesis-testing&quot;
  }, &quot;Uncertainty and Hypothesis Testing&quot;), mdx(&quot;p&quot;, null, &quot;Visual hypothesis testing presents visualizations generated from real and fake data for comparison; if the user can tell which one is real, the visualization is judged to show a potentially significant relationship&quot;, &quot;[7]&quot;, &quot;. Some prior work on functional connectivity starts the analysis from raw sensor data but does not incorporate null models or measures of uncertainty &quot;, &quot;[2]&quot;, &quot;.\nPrior work does not consider hypothesis testing for dense, time-varying networks. Work on financial time series of stock market prices showed that even causual users can determine real from fake data&quot;, &quot;[4]&quot;, &quot;. We did not show time series of our underlying data because permuting it created clearly null plots.\nWe are also unaware of work in visual hypothesis testing for networks in general. We chose to focus on interactive visual analysis testing and consider the tension between showing and filtering data according to significance levels derived from potentially flawed models.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;domain-neuroscience&quot;
  }, &quot;Domain: Neuroscience&quot;), mdx(&quot;p&quot;, null, &quot;We sought to capture the dynamics of network flow by examining a functional connectivity model of neurological activity. Functional connectivity measures the degree in which regions of the brain communicate or interact as they process certain events. Generally, our approach can be used to flow any time-varying network interactions, but we focused on this dataset to motivate our decisions.\nThe data comes from brain imaging experiments conducted at Massachusetts General Hospital. Subjects listen to an auditory stimulus to perceive whether they heard an English word or not. Paul A. Luce created lists of these stimuli and grouped them by how many words were just one phoneme (sound-specific letter) different and how often its constituent phonemes were present in the language &quot;, &quot;[1]&quot;, &quot;. While subjects did this task, their neural activity was recorded by electrical and magnetic sensors (EEG and MEG).\nNeural activation was mapped on to the grey matter surface and clustered into 40 nodes. Figure 2 shows the neural activity at two nodes. The waves of cortical activity were used to measure functional connectivity by using a Granger causality model using Kalman filters. The data we received from MGH is the measure of connectivity from the first 600 milliseconds after the subject starts to hear a word, conditioned by different word groups.\nThis is where our analysis comes in. The data demonstrating the interaction between nodes is very noisy, due both to the nature of the sensors as well as the multi- layered processing required to convert the readings into associated estimates for regional brain activity. Determining which apparent interactions represent meaningful relationships remains a significant challenge for the field. We explored transforming the data in a few ways to measure a sense of significant connections.\nAs illustrated in Figure 3, the functional connectivity model produces results as a time-varying value called the Granger causality index (GCI) for each pair of neural regions A and B. Values greater than zero show signs that region B could be caused by region A, values less than show otherwise but their magnitude is, in isolation, meaningless.\nBy taking the cortical activity data, randomly shuffling the values, and putting it back into the causality model, we produced a distribution of GCIs of clearly non-causal data, but with the same underlying values. The distribution of experimental GCIs has a mean of -0.018 and a standard deviation of 0.089 while the null dataset had a mean of 0.003 and a standard deviation of 0.050, with 3.8 million data points in both sets. Figure 4 illustrates the distribution of GCI values in the experimental model (light and dark green) and the null model (dark green and blue).\nThereby, the majority of the dataset\u2019s values, including many of them above zero, can very well be produced by random noise. As a backwards t-test, we filtered the data by rejecting all signs of causality with a GCI below the 95th (0.0733) or 99th (0.1228) percentile of the null-models GCIs. This creates a binary condition (significant evidence of causality or no) for each region to region connection over each time point. Thereby, at each time point, there is a directed edge from node A to node B if there is statistically verified evidence of functional connectivity.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;methods&quot;
  }, &quot;Methods&quot;), mdx(&quot;p&quot;, null, &quot;The program that we developed takes the three-dimensional data (nodes x nodes x time) and gives the user an array of techniques to interact with it.&quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;packet-visualization&quot;
  }, &quot;Packet Visualization&quot;), mdx(&quot;p&quot;, null, &quot;Visualizing dynamic network data is hard to do with static edges. Previous work attempted to modify the width of edges dynamically1. The overloaded display had poor visual cues of change and, due to the high number of interactions in the neurological dataset, edge crossings obscured important data.\nIn order to give the user a sense of network flow while minimizing edge crossing, we turned the edges into invisible paths for short edges/arrows to move across. For functional connectivity, these represent packets of information moving across regions of the brain.\nAlthough the packet approach is aesthetically motivated, there are trade-offs. The rendering used for the packets in our implementation does not give the user much interaction with the lines themselves and although the user can pause the display, the packets themselves do not. Greater control over the timing of packets and tighter integration with the time controls could really enhance the ability for users to interact with the temporal data.&quot;), mdx(&quot;p&quot;, null, mdx(&quot;em&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Relationship to Dot Plots&quot;)), mdx(&quot;p&quot;, null, &quot;Dot plots show time series data by showing a single point denoting presence or absence at some time. The packet visualization can be seen as a kind of dot plot. If we took the entire time window of the dataset, each edge would show a dot plot for the presence / absence of the edge at each time step.&quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;brushing-and-filtering&quot;
  }, &quot;Brushing and Filtering&quot;), mdx(&quot;p&quot;, null, &quot;In order to explore a 3D dataset, slices in space and time assist users in breaking down otherwise overwhelming data presentation. Two brushing techniques are implemented in our program, one for selecting subsets of regions and another for selecting time.\nNodes have two states, on and off. Nodes that are on will produce packets and display neural activity going between nodes. By clicking the mouse and dragging a rectangle over nodes in the display, the state of each node will be toggled on/off (as an exclusive or) once the mouse is released.\nTime can be interacted with as well, by allowing the user to interact with a timeline in the bottom of the screen. The user can brush areas in the timeline to specify when the animation starts and how long it should be. This behavior is best done while the simulation is stopped. The timeline also displays the aggregate amount of interaction happening over time.&quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;node-layout&quot;
  }, &quot;Node Layout&quot;), mdx(&quot;p&quot;, null, &quot;The placement of nodes is crucial to mitigate edge crossing and highlighting specific effects. Due to the dense nature of the graph, we chose to simplify the layout by drawing nodes in a circle, combining nodes within regions, and allowing the user to edit the placement of nodes.\nMost displays of neurological activity are shown on the brain itself. That maintains context well and experienced users can easily recognize familiar areas, but these displays offer little context for users. In our approach, we put the images of the brain in tooltips while the user hovers over a node and added information about the approximate roles of each area.\nThe user can change the placement of nodes by clicking and dragging. This opens up the visualization to highlight specific activity to areas. For example, in Figure 8, the user has moved nodes so that the LOCs (Vision areas) are together) and areas in the lower part of the right hemisphere are in the center so their specific trails can be seen. These areas are associated with objects and socializing and they are communicating a lot with the vision areas. This could affirm a hypothesis that the user is recalling the visual representation of the words while they process them. A lot of activity is being sent to the left hemisphere\u2019s supramarginal gyrus (SMG) also known as Wernicke\u2019s areas, which is implicated in linguistic processing as well.\n####Context and Aggregation\nWhile we dealt with edge crossing by allowing direct manipulation of node layouts, matrix representations plot the absence or presence of edges in the graph without overlap. We show the matrix representation of the graph and link it to the same time window as the node plot. Source nodes are plotted by row and target nodes appear as columns.\nInstead of showing only absence and presences of edges, we give an indication of strength via a color encoding. The color encodes the number of edges coming from the source node (shown by rows) divided by the total number of edges coming from all nodes.\nWe also grouped the brain regions into larger super regions for the node layout. The matrix shows the sub-regions of those larger regions and orders the nodes by those regions.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;user-study&quot;
  }, &quot;User Study&quot;), mdx(&quot;p&quot;, null, &quot;We did an informal user study on the interface to see how well it did. Although we sought to provide ways for people to break down the dynamic network data, it still overwhelmed the user. The proper usage of some elements was unclear so we added information tips for the final product. Furthermore, some interaction techniques weren\u2019t linked quite right or the links were no transparent to the user. The matrix representation was hard to understand and may not contribute to understanding data in its current form. In the end, it looks like we put all the data out there, but this display is not ready for the general audience.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;future-work&quot;
  }, &quot;FUTURE WORK&quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;performance-and-large-datasets&quot;
  }, &quot;Performance and Large Datasets&quot;), mdx(&quot;p&quot;, null, &quot;The tool computes aggregate metrics locally for the matrix representation. This constrains it to work with small graphs. If multiple users analyze the same data, otherwise local computation may be hosted in the cloud, especially for larger datasets. Streaming a user interface across the cloud still stutters due to latency, and prior work has shown that increased latency negatively impacts the breadth and variety of hypotheses explored during the analysis process. We can split the middle with techniques similar to those demonstrated by Immens&quot;, &quot;[4]&quot;, &quot;, which calculates binned aggregations and sends that data for local computation and display. Thus, there opportunities for adapting the metrics we compute and other metrics to show with the matrix for large time-varying graphs.&quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;visual-hypothesis-testing&quot;
  }, &quot;Visual Hypothesis Testing&quot;), mdx(&quot;p&quot;, null, &quot;While the current implementation supports setting up a 50/50 visual analysis test, It lacks features to share analysis tests over the network. We imagine distributing analysis keys or a unique URL to remote participants or through services such as Mechanical Turk. We could support branching trees of analysis, multiple null models. Users may also benefit from an environment to interpret the results of the tests, especially as the space of expressible test sets expands.\nVisual analysis testing may produce richer results by recording the depth and other interaction characteristics that users chose from. In this work we plan to measure standard measures of analysis tasks and attempt to at best model and at least cluster the behavior patterns, to guide the interpretation of visual analysis testing results. For example, how does a person\u2019s belief in a hypothesis vary with the time spent judging it? How does this vary across individuals? What empirical distributions do the judgments of individuals follow? What if two or more people collaborate in judging a hypothesis? Some hypotheses we hope to test include: 1) time spent analyzing first increases the chance a person will judge the hypothesis true, then decreases, 2) people collaborating in person will be more likely to agree than they would compared to collaborating remotely, even when partially controlling for confounding factors such as sharing or not sharing a workstation or including high definition video conferencing, 3) individual differences in analysis styles, quantified by the amount of branching and time spent in different analysis paths, will predict their responses for certain kinds of data, and 4) casual visual hypothesis test results, aggregated over a large number of people, provide a unique signal potentially useful when combined with other, more traditional analysis methods.\nWe also want to explore showing null data to users unaware of whether it is real or fake data from the beginning of analysis. If we tell them it is real data, after analyzing it for a while, can they tell it is actually a null model? How does this vary across domain expertise?&quot;), mdx(&quot;p&quot;, null, &quot;We also plan to explore sonification, both in active (quick changes / small samples) and passive listening modes (long durations), as a potential way to derive a unique signal for analysis. This and other non-traditional ways for the public to interact casually with science present unique design and interaction challenges, such as along the active \u2013 passive experience dimension. Raising awareness and hopefully interest in scientific issues, especially uncertainty and validity of data, can lead to broader impacts. We are also interested in exploring other complex datasets with these techniques, such as the time-varying interactions on social networks.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;conclusion&quot;
  }, &quot;Conclusion&quot;), mdx(&quot;p&quot;, null, &quot;Interactive techniques are some of the best ways for users to break down three dimensional datasets. Our exploration of the functional connectivity dataset produced visualizations that gave users the ability to explore the data. Processing the data for significance is important, as much of the data is noise. Novel visualization techniques such as packets enable the user to view the data in a new way, but not without tradeoffs. Much like improving the statistics of the underlying data, visual hypothesis testing is important to validate any claims that come from visualizations like these. Although much more work could be done to enhance the visualization, we have provided a new set of interactions to explore functional connectivity.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;acknowledgements&quot;
  }, &quot;Acknowledgements&quot;), mdx(&quot;p&quot;, null, &quot;We thank David Gow and Bruna Olson at Massachusetts General Hospital for generously sending their functional connectivity dataset for us to manipulate and visualize. We would also like to thank the authors of D3 for giving us such a powerful tool for web-based data manipulation and interaction. Lastly, we\u2019d like to thank our outstanding professor Jeffrey Heer and teaching assistant Kanit Ham Wongsuphasawat for giving us such an informative and fun course for which we did this project.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;references&quot;
  }, &quot;References&quot;), mdx(&quot;ol&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;Luce, Paul A, Large, Nathan. Phonotactics, density, and entropy in spoken word recognition. Language and Cognitive Processes (2001).&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;E W Anderson, C. Chong, G. a. Preston, and C. T. Silva, \u201CDiscovering and visualizing patterns in EEG data,\u201D 2013 IEEE Pacific Vis. Symp., pp.105\u2013112, Feb. 2013.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;B Alper,B.Bach,N.HenryRiche,T.Isenberg,andJ.- D. Fekete, \u201CWeighted graph comparison techniques for brain connectivity analysis,\u201D Proc. SIGCHI Conf. Hum. Factors Comput. Syst. - CHI \u201913, p. 483, 2013.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;J  Hasanhodzic, A. Lo, and E. Viola, \u201CDo humans perceive temporal order in asset returns?\u201D. Preprint 2011, &quot;, mdx(&quot;a&quot;, _extends({
    parentName: &quot;li&quot;
  }, {
    &quot;href&quot;: &quot;http://jasminah.com/Papers/aroraV4.pdf&quot;,
    &quot;target&quot;: &quot;_blank&quot;,
    &quot;rel&quot;: &quot;noreferrer&quot;
  }), &quot;http://jasminah.com/Papers/aroraV4.pdf&quot;)), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;F Janoos, O. Irfanoglu, R. Machiraju, and I. Morocz, \u201CVisualizing Brain Activity from fMRI Data.\u201D Technical Report&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;C Nowke and M. Schmidt, \u201CVisNEST\u2014Interactive analysis of neural activity data,\u201D Biol. Data, 2013.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;H Wickham, D. Cook, H. Hofmann, and A. Buja, \u201CGraphical inference for Infovis.,\u201D IEEE Trans. Vis. Comput. Graph., vol. 16, no. 6, pp. 973\u20139, 2010.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;M Xia, J. Wang, and Y. He, \u201CBrainNet Viewer: a network visualization tool for human brain connectomics.,\u201D PLoS One, vol. 8, no. 7, p. e68910, Jan. 2013.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;E Nordlie and H. E. Plesser, \u201CVisualizing neuronal network connectivity with connectivity pattern tables.,\u201D Front. Neuroinform., vol. 3, no. January, p. 39, Jan. 2010.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;S Mikula and E. Niebur, \u201CA novel method for visualizing functional connectivity using principal component analysis.,\u201D Int. J. Neurosci., vol. 116, no. 4, pp. 419\u201329, Apr. 2006.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;L Li, S. Seth, I. Park, J. C. Sanchez, and J. C. Principe, \u201CEstimation and visualization of neuronal functional connectivity in motor tasks.,\u201D Conf. Proc. IEEE Eng. Med. Biol. Soc., vol. 2009, pp. 2926\u20139, Jan. 2009.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;W.-K. Jeong, J. Beyer, M. Hadwiger, A. Vazquez, H. Pfister, and R. T. Whitaker, \u201CScalable and interactive segmentation and visualization of neural processes in EM datasets.,\u201D IEEE Trans. Vis. Comput. Graph., vol. 15, no. 6, pp. 1505\u201314.&quot;)));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[Global Terrorism Visualization]]></title><description><![CDATA[78,433 people were killed due to Terrorism during the past decade. 24,144 in Iraq alone!]]></description><link>https://anikethanda.com/Global-Terrorism-Visualization</link><guid isPermaLink="false">https://anikethanda.com/Global-Terrorism-Visualization</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Mon, 10 Feb 2014 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;Global Terrorism Visualization&quot;,
  &quot;excerpt&quot;: &quot;78,433 people were killed due to Terrorism during the past decade. 24,144 in Iraq alone!&quot;,
  &quot;date&quot;: &quot;2014-02-10T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;Front-end Development&quot;,
  &quot;tags&quot;: [&quot;D3.js&quot;, &quot;JavaScript&quot;],
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;links&quot;: [{
    &quot;label&quot;: &quot;Live Link&quot;,
    &quot;link&quot;: &quot;http://cse512-14w.github.io/a3-chaoyu-aniket&quot;
  }],
  &quot;hero&quot;: &quot;./viz.png&quot;,
  &quot;noImage&quot;: true
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;interaction&quot;
  }, &quot;Interaction&quot;), mdx(&quot;p&quot;, null, &quot;The Visualization focuses on discovering important trends and events that shaped the history due to Terrorism. It also tries to make user conscious about the number of unnecessary lives lost due to these unfortunate events. &quot;), mdx(&quot;p&quot;, null, mdx(&quot;span&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1055px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;56.6824644549763%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAsSAAALEgHS3X78AAABxElEQVQoz3VRTU/bQBD1r+XCiQNwQUj8AITEOQeEVClSFBQKbZMmslpZ1GmCE2cd12uvvXYSg1JIXMchyueBZy9ULWqfd0c7u/PmzYyl1Wq1Xq8n8WTQ6/8cPkTjCGs8wo5+4RtHo8f0HMdxFEUj4OExSZJVBmmxWCyXy/l83u/1ETTNkEySp+nTbDYTFqnDMJzEMc7TZIrgzWYDojQcDt0MzWaza3Z930ecDTiOaZqEEK3d/lSpvMvnvyiKYdFGq3Wr660OGdzdScy2wXQcBxYUSqnneXAZw4uDm26nQzSNfFNvLi/lXK5+fd0oVzRZpoRIzLJA817hugyLc48LPwjqxeL7/f2PR0elnZ3C1lZxe/vD4eHXXI7IssT5S1gqZFkZ38X2g8BQVaKqlmHUTk+rJydauewyRg3jR7sdhGEPZb8ocu5Q2qpWbdMUI/AHA7VQKO3tKWdnyvn55+Pjq4ODbqOBInkQpAGcS78LBh+3Rr2u1Wrc9yGOdDf5fGl39/vFRe/+Hk1S07TRJmMIx2j/ILsuOJaum5omyKn1PF1RnGyKqcu5m/WFcf5NftUXzyKd0BdSb/Avctaw938IWfxLdPkMMWAruMlYwtkAAAAASUVORK5CYII=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/85b39184f7f75183b80dfe580d4cfcad/fdb91/terror1.webp 1055w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1055px) 100vw, 1055px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/85b39184f7f75183b80dfe580d4cfcad/60b63/terror1.png 1055w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1055px) 100vw, 1055px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/85b39184f7f75183b80dfe580d4cfcad/60b63/terror1.png&quot;,
    &quot;alt&quot;: &quot;image&quot;,
    &quot;title&quot;: &quot;image&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;We try to accomplish this by showing multiple views of the large dataset - &quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;The Global Map view - Shows the world map with color encoded countries according to number of killings over the selected period of time. &quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Country Wise view - Shows circle graphs over the selected period of time. &quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Brushing tool - Shows a bar graph of total killings in every month.&quot;)), mdx(&quot;p&quot;, null, &quot;The purpose of all these three views is different. The Map view shows the high level effect on countries due to terrorism, whereas the Country wise view concentrates on comparison, ordering, discovering trends of events between two or more countries, and also it facilitates finding the event which caused the mishap. While these two views focus over a period of time, the Brushing tool helps constantly see the visualization over the full period. It also helps in controlling the other two views.&quot;), mdx(&quot;p&quot;, null, &quot;The visualization features basically three interaction techniques:&quot;), mdx(&quot;p&quot;, null, mdx(&quot;em&quot;, {
    parentName: &quot;p&quot;
  }, &quot;1. Brush:&quot;), &quot; &quot;), mdx(&quot;p&quot;, null, &quot;To brush and link multiple views we use a timeline as a background, which starts from first day of Jan, 2000 to Jan, 2011. It supports &quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Expansion of the current selection in either direction, &quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Dragging of the span over the timeline, and &quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Clicking outside the span selects that particular month.  &quot;)), mdx(&quot;p&quot;, null, mdx(&quot;em&quot;, {
    parentName: &quot;p&quot;
  }, &quot;2. Select:&quot;)), mdx(&quot;p&quot;, null, &quot;To afford comparison and trend discovery between event happenings in two or more countries users can select countries by clicking them on the world map. This adds the country to the country wise view of the visualization.&quot;), mdx(&quot;p&quot;, null, mdx(&quot;em&quot;, {
    parentName: &quot;p&quot;
  }, &quot;3. Hover:&quot;)), mdx(&quot;p&quot;, null, &quot;Details on demand - Hovering over a country in the World Map reveals the total number of killings in that country over the period. Also, hovering over a data point in  the country wise view reveals more information about the event w.r.t. to the data point. &quot;), mdx(&quot;p&quot;, null, mdx(&quot;span&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;878px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;70.95671981776765%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAOCAIAAACgpqunAAAACXBIWXMAAAsSAAALEgHS3X78AAACqElEQVQoz01Sy07bUBD1f7BmwYY14g9YsOMLYMkWCSEWCIEUIiFoU0HopooalRKBIkhLIA9sJziqSezYsX3tOH4mtfNo4jiwIG1XnThq1dHo6s6dOWdmji72O7C247rfXW8wHPmj4cT8l+cXP7ChNxx6cPreYACJfq8/6A+mKGw8Hv8cj73+QEay4zht1227bfBOp9OdeLfT7nTbnbbjeD/6L/5o5A2fff8XwF5fsU6vZ7luwzDSd+lisciwDMdzNE1TFAUhTuCZXC5xdXV+eYmXSqKul3meEQROlluui2mqKpCkzLCmaaqKUkfIsi3DMEzD1HVD13VFFEWGYbPZ4vmn291d6uIznUoxt18lmsZUSUrv79PJZO3xkcNxuVqVqlUjsIaimLb9cHr6fnHxw9LSu/n5N7OzhzMzZwsLNxsb3xIJzLQsq9ls9Xq3Oztv5+YuVlelchka2o5TTqXo62s2l7tcX78LhVJbW9nDQ3B4gazVamHQASY3TFPhuPtQCAAWJJpNSN+Hw4m1tS/b2zebm+m9vdjycu74mCdJ23W1RgMaYNMJYTnYGfpzBJE9OhJKJV3TZI6D+8eVFSoeBy5VFGsUBa7w/BT0FwxwTYMVZJYlotFMONwAPbtdniDykYhSqwE1ZEEgYFQR+g8cyPoPD/MABSwCIYwHffSpaZoRUASIST02obRt2N6wLLvV0i1LMwwINVgkqNMCRoBBgWXbenABh3esrqoyw1Tz+Ur+QSCIyn2GI0hE0wLLSPQTYhiBZeVKhcXxKkEIBbKcyYgUxZGkyPGYKIiI59HTk4ZQnedBFThrBFFOJh9jsVI8TsViZDQ68bMz/OQkFw5nDw7wSARqMIQQ4GuFwuRX2TZMaAbbgmANhEAbEAku0xBOCOuSNHms1/8AwAWeGZsFRhMAAAAASUVORK5CYII=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/c4f2ad11c9233d7f59dc5e16e99a829f/e432d/terror2.webp 878w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 878px) 100vw, 878px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/c4f2ad11c9233d7f59dc5e16e99a829f/1b434/terror2.png 878w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 878px) 100vw, 878px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/c4f2ad11c9233d7f59dc5e16e99a829f/1b434/terror2.png&quot;,
    &quot;alt&quot;: &quot;image&quot;,
    &quot;title&quot;: &quot;image&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;dataset&quot;
  }, &quot;Dataset&quot;), mdx(&quot;p&quot;, null, &quot;The visualization heavily depends upon dataset acquired from &quot;, mdx(&quot;a&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;href&quot;: &quot;http://www.start.umd.edu/gtd&quot;,
    &quot;target&quot;: &quot;_blank&quot;,
    &quot;rel&quot;: &quot;noreferrer&quot;
  }), &quot;Global Terrorism Database&quot;), &quot; (GTD, University of Maryland). It is currently the most comprehensive unclassified data base on over 113,000 terrorist events, occurred between 1970 and 2012 in the world.&quot;), mdx(&quot;p&quot;, null, &quot;Each event consists information on the date, location, number of people killed and injured, weapons used, intention, group or individual involved, target, summary, cites, etc.&quot;), mdx(&quot;p&quot;, null, &quot;The dataset was cleaned before being directly used. Many required values were &quot;, mdx(&quot;inlineCode&quot;, {
    parentName: &quot;p&quot;
  }, &quot;null&quot;), &quot; or inconsistent. For example, some of the 3 Letter country codes from the database were not matching to that in the &quot;, mdx(&quot;a&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;href&quot;: &quot;http://datamaps.github.io/&quot;,
    &quot;target&quot;: &quot;_blank&quot;,
    &quot;rel&quot;: &quot;noreferrer&quot;
  }), &quot;Datamap&quot;), &quot; object.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;running-instructions&quot;
  }, &quot;Running Instructions&quot;), mdx(&quot;p&quot;, null, &quot;Access the visualization &quot;, mdx(&quot;a&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;href&quot;: &quot;http://cse512-14w.github.io/a3-chaoyu-aniket/&quot;,
    &quot;target&quot;: &quot;_blank&quot;,
    &quot;rel&quot;: &quot;noreferrer&quot;
  }), &quot;here&quot;), &quot;. View it in full screen for better experience.&quot;), mdx(&quot;p&quot;, null, mdx(&quot;em&quot;, {
    parentName: &quot;p&quot;
  }, &quot;or&quot;), &quot; &quot;), mdx(&quot;p&quot;, null, &quot;Download this repository and run &quot;), mdx(&quot;p&quot;, null, mdx(&quot;inlineCode&quot;, {
    parentName: &quot;p&quot;
  }, &quot;python -m SimpleHTTPServer 9000&quot;), &quot; &quot;), mdx(&quot;p&quot;, null, &quot;at the root and access the visualization from &quot;, mdx(&quot;a&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;href&quot;: &quot;http://localhost:9000/&quot;,
    &quot;target&quot;: &quot;_blank&quot;,
    &quot;rel&quot;: &quot;noreferrer&quot;
  }), &quot;http://localhost:9000/&quot;), &quot; using your favorite web browser. &quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;story-board&quot;
  }, &quot;Story Board&quot;), mdx(&quot;p&quot;, null, &quot;We started off with data search and found many datasets which called our attention. But before finalizing on one we briefly explored all of them using Tableau.&quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;exploration&quot;
  }, &quot;Exploration&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;p&quot;, {
    parentName: &quot;li&quot;
  }, &quot;World Map representing countries with more killings (nkill) by more red.\n&quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;src&quot;: &quot;https://raw.github.com/CSE512-14W/a3-chaoyu-aniket/master/images/tableau/Sheet%207.png&quot;,
    &quot;alt&quot;: &quot;Sheet 7&quot;
  })))), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;p&quot;, {
    parentName: &quot;li&quot;
  }, &quot;A time stream representing the trend\n&quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;src&quot;: &quot;https://raw.github.com/CSE512-14W/a3-chaoyu-aniket/master/images/tableau/Sheet%205.png&quot;,
    &quot;alt&quot;: &quot;Sheet 5&quot;
  })))), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;p&quot;, {
    parentName: &quot;li&quot;
  }, &quot;Heat Map of all countries w.r.t. to time, colored according to number of killings.\n&quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;src&quot;: &quot;https://raw.github.com/CSE512-14W/a3-chaoyu-aniket/master/images/tableau/Sheet%204.png&quot;,
    &quot;alt&quot;: &quot;Sheet 4&quot;
  })))), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;p&quot;, {
    parentName: &quot;li&quot;
  }, &quot;Bubble Chart\n&quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;src&quot;: &quot;https://raw.github.com/CSE512-14W/a3-chaoyu-aniket/master/images/tableau/Sheet%201.png&quot;,
    &quot;alt&quot;: &quot;Sheet 1&quot;
  }))))), mdx(&quot;p&quot;, null, &quot;While exploring these charts using Tableau we also simulated them using pages year wise to evaluate various interactions possible.&quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;sketching&quot;
  }, &quot;Sketching&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;p&quot;, {
    parentName: &quot;li&quot;
  }, &quot;During Brainstorm&quot;, mdx(&quot;br&quot;, {
    parentName: &quot;p&quot;
  }), &quot;\n&quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;src&quot;: &quot;https://raw.github.com/CSE512-14W/a3-chaoyu-aniket/master/images/sketch/s1.jpg&quot;,
    &quot;alt&quot;: &quot;S1&quot;
  })))), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;p&quot;, {
    parentName: &quot;li&quot;
  }, &quot;Final sketch before we started coding\n&quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;src&quot;: &quot;https://raw.github.com/CSE512-14W/a3-chaoyu-aniket/master/images/sketch/s2.jpg&quot;,
    &quot;alt&quot;: &quot;S2&quot;
  }))))), mdx(&quot;p&quot;, null, &quot;The top portion is a timeline wherein one can select the months from 2000 to 2010. It is used to brush below two visualizations. It affords all the interactions mentioned above.   &quot;), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;changes-between-storyboard-and-the-final-implementation&quot;
  }, &quot;Changes between Storyboard and the Final Implementation&quot;), mdx(&quot;p&quot;, null, &quot;There are not any significant changes between the final sketch and the final implementation. Though there were some subtle changes in placement of various elements, the colors, the scale used. But, the overall interaction, views and underlining objective remained the same.&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Its hard to sketch colors and exactly understand how they will be perceived without an actual running prototype. We didn\u2019t consider the use of log scale for color encoding, until we saw the running visualization.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;We first envisioned the country wise visualization to be similar to time stream from Tableau (above), but we ended up plotting translucent circles with size dependent upon killings to represent each event.&quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;development-process&quot;
  }, &quot;Development Process&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;The first task was to mutually decide what basic information is needed from the large dataset to produce the designed visualization. The data format was also decided.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Then, we hopped onto data cleaning and generated CSVs and JSONs of the required data.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;We decided the project into three milestones. First, basic world map representing the data. Second, brushed and linked map. Third, select countries and visualize.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;While, one person was cleaning the data, other was readying the basic front of the world map waiting for the data.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;The next step, after integrating the data with the map, was to implement the brushing feature.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;After this, the country selection feature was implemented.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Then we briefly worked upon aesthetics and colors of the visualization.&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Finally, we made trend visualization of the selected countries. &quot;)), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;technologies-used&quot;
  }, &quot;Technologies used&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;D3.js&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, mdx(&quot;a&quot;, _extends({
    parentName: &quot;li&quot;
  }, {
    &quot;href&quot;: &quot;http://datamaps.github.io/&quot;,
    &quot;target&quot;: &quot;_blank&quot;,
    &quot;rel&quot;: &quot;noreferrer&quot;
  }), &quot;Datamap&quot;)), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;underscore.js&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Twitter Bootstrap&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;jQuery&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Ruby&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Tableau (for exploration)&quot;)), mdx(&quot;p&quot;, null, mdx(&quot;strong&quot;, {
    parentName: &quot;p&quot;
  }, &quot;Time Consuming Aspects&quot;)), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Brainstorming &amp; Designing&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Learning D3&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Data exploration and then cleaning&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Dirty hack to select countries on the Datamap&quot;)), mdx(&quot;h4&quot;, {
    &quot;id&quot;: &quot;future-work&quot;
  }, &quot;Future Work&quot;), mdx(&quot;ul&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Details on demand about the event, upon hovering on circles&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Show news articles (using NYT API?) based upon events&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Highlight the countries in selection&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ul&quot;
  }, &quot;Optimize algorithm and queries&quot;)));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[Reveal Care]]></title><description><![CDATA[Can transparency in health care help us make wise medical decisions?]]></description><link>https://anikethanda.com/Reveal-Care</link><guid isPermaLink="false">https://anikethanda.com/Reveal-Care</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Sun, 12 Jan 2014 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;Reveal Care&quot;,
  &quot;excerpt&quot;: &quot;Can transparency in health care help us make wise medical decisions?&quot;,
  &quot;date&quot;: &quot;2014-01-12T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;Mobile&quot;,
  &quot;tags&quot;: [&quot;User Centered Design&quot;, &quot;UI Prototype&quot;, &quot;AWS&quot;],
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;hero&quot;: &quot;./image.png&quot;,
  &quot;noImage&quot;: true
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;problem&quot;
  }, &quot;Problem&quot;), mdx(&quot;p&quot;, null, &quot;The cost of health care in America has become an issue that affects the quality of life\nof virtually everybody in the nation. In short, America spends about 18 cents of every dollar the economy produces on health care. This is almost twice the level of many of our fellow first world nations. More concern is that even after spending so much, the life expectancy in America is ranked at 33rd position.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;research-outcome&quot;
  }, &quot;Research outcome&quot;), mdx(&quot;p&quot;, null, &quot;In a survey our team conducted, about 65% of our respondents said cost plays a deciding factor in their health care treatment, despite virtually all of our respondents having health care insurance of some form. Clearly, the cost of health care in America is unsustainable and something has to be done about it. Also we found out that people rely a lot on reviews about healthcare facilities and Doctors, especially from friends and family.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;solution&quot;
  }, &quot;Solution&quot;), mdx(&quot;div&quot;, {
    &quot;className&quot;: &quot;Image__Small&quot;
  }, &quot;\n  &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;div&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;600px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;50%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsTAAALEwEAmpwYAAACuklEQVQoz2NggAPGKAYGlioXD+9Kb7+g4qDwGB4NLQNmoEQmOxdfhYe3X42nT0DG////GRSU1AWA4oWiAsJlfp4+9V7u3hEgE7xFuOGmcaopq7y1MTf/X11W/r++qua/l5efKQMzh5Sasup/J1u7/62NTf9Li0r+m1vY8wqJSDhpmJj9dw4M/t8+dfr/rJKyx0Az2BiQAOeElevvXv31/9+5jz9/7Lp+71tgSKQJUFx6+d6Dry6+//r7wsu3v3aeOf9JTFaZX1FeyfnqpAnfPsyd/ePbwvn/D7S2XgOqZUc2kKNz2cr79z89/X/xycX/my+e+63mGQUyUHLxsrlvt1+/9//81RP/165b+l3TyIpPQVbB8VBH+++3Sxb9+79p/f+dLS230F3I3r10+p13H678f/vk6r/9Zw7/4jB0MwVaKTZnyaI3W689+H/9xOr/W2eUf2MQdOVXUlK2O3Dq1M+XX7/8A4bp/y179mIaWLV0+Z1Tnz//v/L287/lx8/94tE0MQWKiy1Zs+rNtjsv/h85uv3/4kUTvgHF+JWV1e0OHT798927r2ADN27eiWlg4Yptd1YApRd8/P+/+8ztX4o6emADe9fOfrvsyYP/G56+/t+9Zdd3kIEqygq2R7d2/np2Y+X/P6+2/187rw7TwBld/TdOXt3/d8uzh9/37lnxWU3b3JSVjU9s8oKFL3bdOfxr9d0nPycvWvFJlEeQX8PE1O7M4q4vp/Ys/X775Ly/6+aUo0UKBy+ntKj4IzUlhf+q6hp/5STF/4mISpuIScqKS4pL/lBTU/mvpKL2X1pC6puCoiqvoIiknbSE3H8VVd2/Ssoa/2Vk5G+iuxCYptl9GJg589jYuLIYGJgTNXQNOb38oxkZGFmimFm5sllY2HOA7HCQUnkFVR4glczBxZ0FFMsDavaAGQMAhXo3F/nuA5oAAAAASUVORK5CYII=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/af58c9d4b731949f565ea0479ce6c9fd/b0544/revealcare2.webp 600w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 600px) 100vw, 600px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/af58c9d4b731949f565ea0479ce6c9fd/8db2a/revealcare2.png 600w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 600px) 100vw, 600px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/af58c9d4b731949f565ea0479ce6c9fd/8db2a/revealcare2.png&quot;,
    &quot;alt&quot;: &quot;revealcare2&quot;,
    &quot;title&quot;: &quot;revealcare2&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, &quot;RevealCare is a smart phone app that lets users to compare health care treatment costs within a map framework. It also allows users to search both facility and doctor reviews and to submit their own. RevealCare aims to help users make more educated purchasing decision around their health care treatments.&quot;));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[Digital Photo Frame]]></title><description><![CDATA[Run a slideshow on any screen.]]></description><link>https://anikethanda.com/Digital-Photo-Frame</link><guid isPermaLink="false">https://anikethanda.com/Digital-Photo-Frame</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Wed, 01 Jan 2014 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;Digital Photo Frame&quot;,
  &quot;excerpt&quot;: &quot;Run a slideshow on any screen.&quot;,
  &quot;date&quot;: &quot;2014-01-01T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;Front-end Development&quot;,
  &quot;tags&quot;: [&quot;JavaScript&quot;],
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;hero&quot;: &quot;./frame/image-frame.jpg&quot;,
  &quot;links&quot;: [{
    &quot;label&quot;: &quot;Live link&quot;,
    &quot;link&quot;: &quot;http://anikethanda.com/frame&quot;
  }],
  &quot;noImage&quot;: true
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;abstract&quot;
  }, &quot;Abstract&quot;), mdx(&quot;p&quot;, null, &quot;Get some stock photography or use your pictures from Facebook to run a fullscreen slideshow on any screen. Now you can use your old tablet as a digital photo frame.&quot;), mdx(&quot;p&quot;, null, mdx(&quot;span&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1278px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;57.04225352112676%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAMEBf/EABYBAQEBAAAAAAAAAAAAAAAAAAMAAf/aAAwDAQACEAMQAAABTRmMktIwt//EABkQAAMBAQEAAAAAAAAAAAAAAAABAhIDMf/aAAgBAQABBQKesG5NiSH4j//EABcRAQADAAAAAAAAAAAAAAAAAAABESH/2gAIAQMBAT8B1Uv/xAAWEQADAAAAAAAAAAAAAAAAAAAQESH/2gAIAQIBAT8BcH//xAAZEAABBQAAAAAAAAAAAAAAAAAAAREgITH/2gAIAQEABj8CtGMj/8QAHBAAAwABBQAAAAAAAAAAAAAAAAERMSFBUWGR/9oACAEBAAE/IcVghbHHY0u3gs9EIMD/2gAMAwEAAgADAAAAEEvv/8QAFhEAAwAAAAAAAAAAAAAAAAAAARBB/9oACAEDAQE/EBCv/8QAGBEAAgMAAAAAAAAAAAAAAAAAABEBITH/2gAIAQIBAT8QVnpNn//EABkQAAMBAQEAAAAAAAAAAAAAAAABESFxMf/aAAgBAQABPxD3g7aNBp61bvZW1hYadFOncWaJadb6f//Z&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/aa7ce5b085c0f8b7dde593abcab2e596/c1533/frame.webp 1278w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1278px) 100vw, 1278px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/aa7ce5b085c0f8b7dde593abcab2e596/6a12c/frame.jpg 1278w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1278px) 100vw, 1278px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/aa7ce5b085c0f8b7dde593abcab2e596/6a12c/frame.jpg&quot;,
    &quot;alt&quot;: &quot;image&quot;,
    &quot;title&quot;: &quot;image&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;p&quot;, null, mdx(&quot;span&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;1280px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;62.5%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAANCAIAAAAmMtkJAAAACXBIWXMAAAsSAAALEgHS3X78AAADFUlEQVQozw2NW0hTcRzH/162c93luDm3c87OzszRXNisNC8zNTNrM2V13M3d3dl2ji6dliQJGWQS0sUMSip6SbtBb9FDT70EQUSEpWTm1mY3iOil9w58+PLjy/fDD2ysvttcW81vrP3azv37+/tHsfBlY/3ndq6Y39r8tP49v/mzmMtvfvpe2PpWyK2tr+e2Pm98/Pj+7Zu3r1+B/FlPLtvzdcJZPO0qSDl8oCg6ChJCSyF7ZHvKXRBa80Lbn5HW5UBHc5ereX9LfX2j3b6vvr4BEFSgwuDTkH4tFdAavJqqAa1+QFPlV2s8FQYvrg0SlYOEzq+p8mFVAVAZAGoOEByo4IDaDcr1oXJDTEbGZFRCRiflTFpmFFU10dZDfU53X2dvsJSKlhhHS+kRmSkDMyJiTMNGHqKHICoGEDKE0lHMGMOYOM4kMZOAMHy3qzed6huPO6/NhLyhCCKV7IhkQhJ0CqITcjIqN0QAREVgOo4YecSUwti0tNBZw12Hm/u5vo6jxxLJ8MLVaZ2VlzPDmDmNSgM2DTG8pEBkFCB0FGWGUFMSZQWMFTFzBmd8wVCvPza4x9F50HX0/MVplUWUmzKIWYQlWEGSITomfQUKJqxg40ozr65JETvFCusIvkN09IRdx52W3bscHW32TgEyn8StY/jOUdRyEjYLsDkFszzMJICS6lfRxwmGU5AcrnerSLea9hp3JW0NEUtdv3VvVGcblhmCZfpBoPXgrEexIwjRHrn+mFx7AKiUOoIgVQqyo9t2IlDXP2Dj/LXZyXZ+tC0k9GQmA+J4j2+o3RdvEcaD3U4OlKkQjEAQGJKVAjUqV+OQEob5seobD1rmbu1fvFe3tFw7t0TfedI2e7N1/m7z4+dDN1bsq1/mZi9MAwAwBEMhGIFg6VaUliilPJyw8PP26GxddnHv1FLjxELT2JWazFXH9adTF1Z8c49dLz4shDMcAHhZuQaUqCQFRBg4YkIHSfSyV718Wn+LJ+8MV98WDfcnbU/O1T46U/0wa1o5RT2bqX55qWnRb+cqy0MmJGSEByjoP6mh6EqPcCKGAAAAAElFTkSuQmCC&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/d9e8a14282d38955448345db48063df8/4b075/photofeed.webp 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/d9e8a14282d38955448345db48063df8/9f341/photofeed.png 1280w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 1280px) 100vw, 1280px&quot;,
    &quot;type&quot;: &quot;image/png&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/d9e8a14282d38955448345db48063df8/9f341/photofeed.png&quot;,
    &quot;alt&quot;: &quot;image&quot;,
    &quot;title&quot;: &quot;image&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[PresenDuino]]></title><description><![CDATA[Help time presentations.]]></description><link>https://anikethanda.com/PresenDuino</link><guid isPermaLink="false">https://anikethanda.com/PresenDuino</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Wed, 01 Jan 2014 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;PresenDuino&quot;,
  &quot;excerpt&quot;: &quot;Help time presentations.&quot;,
  &quot;date&quot;: &quot;2014-01-01T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;Physical Computing&quot;,
  &quot;tags&quot;: [&quot;Arduino&quot;],
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;hero&quot;: &quot;./photo.jpg&quot;,
  &quot;links&quot;: [{
    &quot;label&quot;: &quot;Github link&quot;,
    &quot;link&quot;: &quot;https://github.com/HCDE498-598-Summer14/PresenDuino&quot;
  }],
  &quot;noImage&quot;: true
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;h1&quot;, {
    &quot;id&quot;: &quot;abstract&quot;
  }, &quot;Abstract&quot;), mdx(&quot;p&quot;, null, &quot;Use this DIY project to manage multiple time sensitive presentations by keeping informed the current presenter. PresenDuino uses two Arduinos to help time presentations.&quot;), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;presenter-side&quot;
  }, &quot;Presenter side&quot;), mdx(&quot;p&quot;, null, mdx(&quot;img&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;src&quot;: &quot;https://raw.githubusercontent.com/HCDE498-598-Summer14/PresenDuino/master/Fritzing/PresenDuino.png&quot;,
    &quot;alt&quot;: &quot;image&quot;
  })), &quot;\n&quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;4928px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;66.23376623376623%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAEEA//EABYBAQEBAAAAAAAAAAAAAAAAAAABAv/aAAwDAQACEAMQAAAByrmWLUIP/8QAGBABAAMBAAAAAAAAAAAAAAAAAQACEhD/2gAIAQEAAQUCVHRxrqWMk//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABYQAAMAAAAAAAAAAAAAAAAAABAgMf/aAAgBAQAGPwJKP//EABoQAAMBAAMAAAAAAAAAAAAAAAABESFBUXH/2gAIAQEAAT8hTbi9wXeRPUUJ2EWchYoj/9oADAMBAAIAAwAAABCI3//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8QP//EABURAQEAAAAAAAAAAAAAAAAAABAx/9oACAECAQE/EKf/xAAbEAEAAwEBAQEAAAAAAAAAAAABABEhMbFBYf/aAAgBAQABPxDWmB8Wrv7E5VuO0EeMFiwK4PsUTaboryVMMJ//2Q==&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/46b5ff9a23c3283577f0e385453eb0d6/a3bc4/photo.webp 2500w&quot;, &quot;/static/46b5ff9a23c3283577f0e385453eb0d6/a1efa/photo.webp 4928w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 4928px) 100vw, 4928px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/46b5ff9a23c3283577f0e385453eb0d6/1b865/photo.jpg 2500w&quot;, &quot;/static/46b5ff9a23c3283577f0e385453eb0d6/f5cf1/photo.jpg 4928w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 4928px) 100vw, 4928px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/46b5ff9a23c3283577f0e385453eb0d6/f5cf1/photo.jpg&quot;,
    &quot;alt&quot;: &quot;image&quot;,
    &quot;title&quot;: &quot;image&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)), mdx(&quot;h2&quot;, {
    &quot;id&quot;: &quot;signal-side&quot;
  }, &quot;Signal Side&quot;), mdx(&quot;p&quot;, null, mdx(&quot;img&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;src&quot;: &quot;https://raw.githubusercontent.com/HCDE498-598-Summer14/PresenDuino/master/Fritzing/SignalSide.png&quot;,
    &quot;alt&quot;: &quot;image&quot;
  })), &quot;\n&quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;p&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-wrapper&quot;,
    &quot;style&quot;: {
      &quot;position&quot;: &quot;relative&quot;,
      &quot;display&quot;: &quot;block&quot;,
      &quot;marginLeft&quot;: &quot;auto&quot;,
      &quot;marginRight&quot;: &quot;auto&quot;,
      &quot;maxWidth&quot;: &quot;4928px&quot;
    }
  }), &quot;\n      &quot;, mdx(&quot;span&quot;, _extends({
    parentName: &quot;span&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-background-image&quot;,
    &quot;style&quot;: {
      &quot;paddingBottom&quot;: &quot;66.23376623376623%&quot;,
      &quot;position&quot;: &quot;relative&quot;,
      &quot;bottom&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;,
      &quot;backgroundImage&quot;: &quot;url(&apos;data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAMB/8QAFgEBAQEAAAAAAAAAAAAAAAAAAQAC/9oADAMBAAIQAxAAAAGdGZasF//EABkQAQEAAwEAAAAAAAAAAAAAAAECABAREv/aAAgBAQABBQIrtFaA7ce3P//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQMBAT8BP//EABQRAQAAAAAAAAAAAAAAAAAAABD/2gAIAQIBAT8BP//EABoQAAICAwAAAAAAAAAAAAAAAAACEBEBMUH/2gAIAQEABj8CZTFxfTcf/8QAGhAAAwEAAwAAAAAAAAAAAAAAAAERIVFhcf/aAAgBAQABPyFkVSM5zcXQ0KTXogO1Bn//2gAMAwEAAgADAAAAEJTv/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPxA//8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAgEBPxA//8QAGRABAQEBAQEAAAAAAAAAAAAAAREAMWEh/9oACAEBAAE/EFyl3vNAFAgTr3fTOwiI4rUKQMo7/9k=&apos;)&quot;,
      &quot;backgroundSize&quot;: &quot;cover&quot;,
      &quot;display&quot;: &quot;block&quot;
    }
  })), &quot;\n  &quot;, mdx(&quot;picture&quot;, {
    parentName: &quot;span&quot;
  }, &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/80dde0b6cb93f471f767621cb5dc101f/a3bc4/photo2.webp 2500w&quot;, &quot;/static/80dde0b6cb93f471f767621cb5dc101f/a1efa/photo2.webp 4928w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 4928px) 100vw, 4928px&quot;,
    &quot;type&quot;: &quot;image/webp&quot;
  })), &quot;\n        &quot;, mdx(&quot;source&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;srcSet&quot;: [&quot;/static/80dde0b6cb93f471f767621cb5dc101f/1b865/photo2.jpg 2500w&quot;, &quot;/static/80dde0b6cb93f471f767621cb5dc101f/f5cf1/photo2.jpg 4928w&quot;],
    &quot;sizes&quot;: &quot;(max-width: 4928px) 100vw, 4928px&quot;,
    &quot;type&quot;: &quot;image/jpeg&quot;
  })), &quot;\n        &quot;, mdx(&quot;img&quot;, _extends({
    parentName: &quot;picture&quot;
  }, {
    &quot;className&quot;: &quot;gatsby-resp-image-image&quot;,
    &quot;src&quot;: &quot;/static/80dde0b6cb93f471f767621cb5dc101f/f5cf1/photo2.jpg&quot;,
    &quot;alt&quot;: &quot;image&quot;,
    &quot;title&quot;: &quot;image&quot;,
    &quot;loading&quot;: &quot;lazy&quot;,
    &quot;style&quot;: {
      &quot;width&quot;: &quot;100%&quot;,
      &quot;height&quot;: &quot;100%&quot;,
      &quot;margin&quot;: &quot;0&quot;,
      &quot;verticalAlign&quot;: &quot;middle&quot;,
      &quot;position&quot;: &quot;absolute&quot;,
      &quot;top&quot;: &quot;0&quot;,
      &quot;left&quot;: &quot;0&quot;
    }
  })), &quot;\n      &quot;), &quot;\n    &quot;)));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item><item><title><![CDATA[Skulpturous]]></title><description><![CDATA[Skulpturous is a 3D authoring tool which helps students, artists and possibly designers to model and visualize 3D objects. It uses your full…]]></description><link>https://anikethanda.com/Skulpturous</link><guid isPermaLink="false">https://anikethanda.com/Skulpturous</guid><dc:creator><![CDATA[Aniket Handa]]></dc:creator><pubDate>Sat, 12 Jan 2013 00:00:00 GMT</pubDate><content:encoded>function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i &lt; arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i &lt; sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }

function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i &lt; sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) &gt;= 0) continue; target[key] = source[key]; } return target; }

/* @jsx mdx */
var _frontmatter = {
  &quot;title&quot;: &quot;Skulpturous&quot;,
  &quot;subtitle&quot;: &quot;In this upcoming 3D revolution, can we bring 3D content creation to masses?&quot;,
  &quot;date&quot;: &quot;2013-01-12T00:00:00.000Z&quot;,
  &quot;category&quot;: &quot;AR / VR&quot;,
  &quot;tags&quot;: [&quot;Kinect&quot;, &quot;3D&quot;, &quot;Java&quot;, &quot;OpenNI&quot;, &quot;OpenGL&quot;],
  &quot;author&quot;: &quot;Aniket Handa&quot;,
  &quot;hero&quot;: &quot;./skulp.png&quot;
};

var makeShortcode = function makeShortcode(name) {
  return function MDXDefaultShortcode(props) {
    console.warn(&quot;Component &quot; + name + &quot; was not imported, exported, or provided by MDXProvider as global scope&quot;);
    return mdx(&quot;div&quot;, props);
  };
};

var layoutProps = {
  _frontmatter: _frontmatter
};
var MDXLayout = &quot;wrapper&quot;;
return function MDXContent(_ref) {
  var components = _ref.components,
      props = _objectWithoutProperties(_ref, [&quot;components&quot;]);

  return mdx(MDXLayout, _extends({}, layoutProps, props, {
    components: components,
    mdxType: &quot;MDXLayout&quot;
  }), mdx(&quot;p&quot;, null, &quot;Skulpturous is a 3D authoring tool which helps students, artists and possibly designers to model and visualize 3D objects. It uses your full body gestures and voice to create wonderful illustrations. It is a vision to bring 3D content creation to masses, a world where 3D creation and printing is done at every home.&quot;), mdx(&quot;p&quot;, null, &quot;In this phase I took Skulpturous to its next milestone by concentrating on three things broadly: Dynamic Customized Gestures, more Interaction techniques and better Accuracy. I accomplished these goals by:&quot;), mdx(&quot;ol&quot;, null, mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;Using Machine Learning for recognition of user created dynamic gestures, so now the user could create personal gestures to perform certain tasks&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;Taking inspiration from real life sculpting to create novel interaction techniques to model 3D objects&quot;), mdx(&quot;li&quot;, {
    parentName: &quot;ol&quot;
  }, &quot;Increasing the precision of hand location by data fusion, here we fuse data from Kinect and multiple smart phone sensors to have a more precise estimate of hand location.&quot;)), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;pottery&quot;
  }, &quot;Pottery&quot;), mdx(&quot;div&quot;, {
    className: &quot;Image__Small&quot;,
    style: {
      &quot;height&quot;: &quot;480px&quot;
    }
  }, mdx(&quot;iframe&quot;, {
    width: &quot;100%&quot;,
    height: &quot;100%&quot;,
    src: &quot;https://www.youtube-nocookie.com/embed/TgfAg3GmP1c?modestbranding=1&amp;color=white&quot;,
    frameBorder: &quot;0&quot;
  })), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;3d-art&quot;
  }, &quot;3D Art&quot;), mdx(&quot;div&quot;, {
    className: &quot;Image__Small&quot;,
    style: {
      &quot;height&quot;: &quot;480px&quot;
    }
  }, mdx(&quot;iframe&quot;, {
    width: &quot;100%&quot;,
    height: &quot;100%&quot;,
    src: &quot;https://www.youtube-nocookie.com/embed/f3MubFYdEtw?modestbranding=1&amp;color=white&quot;,
    frameBorder: &quot;0&quot;
  })), mdx(&quot;h3&quot;, {
    &quot;id&quot;: &quot;the-beginning&quot;
  }, &quot;The Beginning&quot;), mdx(&quot;div&quot;, {
    className: &quot;Image__Small&quot;,
    style: {
      &quot;height&quot;: &quot;480px&quot;
    }
  }, mdx(&quot;iframe&quot;, {
    width: &quot;100%&quot;,
    height: &quot;100%&quot;,
    src: &quot;https://www.youtube-nocookie.com/embed/cFpJOYgHD3g?modestbranding=1&amp;color=white&quot;,
    frameBorder: &quot;0&quot;
  })));
}
;
MDXContent.isMDXComponent = true;</content:encoded></item></channel></rss>