ASU CompuGirls

Advisory Board 2006-2009, Volunteer Recruitment Liaison 2006-2012

CompuGirls was a culturally relevant technology program for adolescent (grades 8-12) girls from under-resourced school districts in the Greater Phoenix area. Supported by a grant from the National Science Foundation, CompuGirls provides fun summer and after-school classes where participants learn the latest technologies in digital media, games, and virtual worlds and become a voice for social justice and change in the world. I became involved with the program in 2006, when I sought out the director of Education at Intel Arizona, looking for an opportunity to volunteer with an organization whose specific goal was exposing adolescents to math, science and technology. After an Initial meeting, I was asked to sit on the Advisory Board to provide technical guidance and programmatic support. During my tenure as a board member, I procured a donation of over 40 laptops for the program, assisted with applicant review and selection and provided quarterly feedback on initiatives and funding. I recruited, trained and supported technical volunteers to serve as career speakers and mentors for the program participants. Each year, I co-organize an on-site field trip during which the young women are able to interact with engineers, have hands on experiences in a lab environment and learn about the work that goes into computing on a daily basis. In the summer of 2010, I designed and supervised a 6-week internship for 2 of the CompuGirls participants.  I had to propose the value proposition to management, advocate for funding and handle all logistics, including hiring, contingent worker training, and crafting the internship project and training materials. This internship required that the young women complete project work and present their results at its close. I was recognized as a top volunteer by Intel Arizona for my work with CompuGirls, having solicited over 80 volunteer hours in a single quarter. In 2011, the partnership between Intel and CompuGirls was featured on NBC’s Nightly News with Brian Williams. I was honored to appear alongside the young women of CompuGirls.

Valley of the Sun United Way

Leadership Giver, 2010-2016

Valley of the Sun United Way is the largest nonprofit funder of health and human services in Maricopa County. Since 1925, it has been building caring communities where individuals and families are successful, stable and secure. Their average annual investment in the community over the past few years exceeds $60 million, and every dollar donated in Maricopa County, stays in Maricopa County. I became involved with the push to raise awareness for Valley of the Sun United Way in 2010. When I learned that I could bundle my giving through the organization and simultaneously help my community and the organizations I cared about, I began actively encouraging my colleagues to do the same. I was recruited as the front woman for a Rock Band to promote the Intel United Way giving drive through “ECG Rocks United Way,” our Business Group’s internal campaign. As a member of the band, I learned and performed a series of 80s favorites for our Business Update Meeting of over 400 employees, we exceeded our United Way contribution goal, totaling contributions of %114, pushing Intel to exceed it’s fundraising goal, hitting 108% for company-wide contributions. We reprised our role as frontmen for the United Way campaign in 2011, again helping our Business Group to exceed giving goals.

Professional Leadership Council (PLC), Big Brothers Big Sisters (BBBS) of Central Arizona;

Member 2009-2010

The Professional Leadership Council (now called The Society) was formed in early 2009 to provide business and community leaders the platform to offer their expertise, advice, and leadership to advance the visibility of Big Brothers Big Sisters, endorse, enhance and expand funding for its programs and align forward-thinking, well-connected business and community leaders committed to furthering the mission of BBBS. I served 2 years as a member of the PLC. During that time I fundraised ~$1000 annually for the organization. While serving on the council in 2009, I supported the Marathon For Kid’s Sake, a training team for the PF Chang Rock ‘N’ Roll Marathon that raised awareness and funds for Big Brothers Big Sisters. I was responsible for setting up water stations at training runs, showing up as a leader for the group fitness sessions and recruiting runners. I organized a team for Bowl For Kid’s Sake that not only reached our fundraising goal, but were also recognized as the top participants and fundraisers! Due to time commitments, I stepped down from the PLC midway through 2010. I still support the organization through charitable donations.

Juneteenth*

Today is Juneteenth. My family celebrated this holiday together throughout my childhood, and we (my siblings and I) were required to be part of the program, not just in attendance. I was always curious why something so integral to American history and my family’s life, went largely unnoticed outside of the Black community. We are expected to participate fully in American life as assimilated citizens, but our experiences have been an addendum to the American experience — set apart from, instead of integrated into, the larger historical narrative. As we grapple with the complex racial history of our nation, context matters. Reconciliation starts with acknowledgment and education. Acknowledgment that not every community in this country has had the same experience in America, and education on why that is. For African Americans, nearly every quintessential American experience is accompanied by an asterisk.

The U.S. celebration of Independence Day has an asterisk. I love the fireworks, I enjoy the cookouts, I participate in the parades, I revere the pluckiness of our founding fathers and the colonies to stand up to King George, but I know that this beloved holiday, this memorialization of our freedom from the British Monarchy, is not fully applicable to me, it comes with the asterisk: not my ancestors. My great-great-grandparents were not free for nearly 100 more years, and even then, it was only the beginning of an uphill battle toward equal rights.

We love to hold up our veterans as a group we honor. Support of our veterans is one of the last non-partisan issues. This too is mired in a complicated past. My Great Uncle served in the military, his reception home was not the same as those he served with. Black veterans did not enjoy the same warm welcome, benefits, and support, it was a bitter reminder that though they were willing to die to protect the freedoms of their countrymen, their skin color made them unsafe from the very citizens they fought to protect. The Nazis even used the treatment of African Americans in their home country as a propaganda tool to incite desertion. The ticker-tape parades that greeted their returning brothers in arms, were not meant for them.

My Great Uncle, Lee Garner
My Great Uncle, Lee Garner

Today, I would encourage you to help remove the asterisk that Juneteenth is a “Black holiday.” It should be celebrated by ALL Americans. If you agree, take a small action: sign the petition to make Juneteenth a Nationally recognized Federal holiday.

*The celebration by the Black Community commemorating the day on June 19, 1865, that the last of the enslaved Africans in the U.S. were finally informed of their emancipation, two and a half years after the Emancipation Proclamation had passed.

Achieving Enterprise Agility at the Retail Edge

At any conference, you start to feel fatigued near the end of the day. Between the sprawling session locations, the constant engagement, and the sometimes overwhelming number of people and places to navigate, attention begins to wan by the last sessions you attend. Presenters in the unfortunate end-of-day time slots are between attendees and dinner. I was pleasantly surprised to be reinvigorated after attending my second to last session of the day. Presenters Connie Yu and Joana Cruz, of Target, managed to bring humor, excitement, and energy to their topic, titled: Achieve Enterprise Agility at Edge Locations by adopting Kubernetes, Spinnaker and Unimatrix.

My background is in software defined infrastructure orchestration at scale, both in a data center environment, as well as in my company’s private cloud deployment. I was curious to see this type of orchestration in use by a retailer to manage their in store deployments. Connie and Joana structured their session as a humorous conversation on how the stores could adopt supply chain methodologies to improve operations. By doing so, Target went from delivering software to 1850 stores just 3 times a year to multiple times daily. How? Let’s dive in!

Target’s Strategy:

Have you ever installed an operating system and all of the software you want to use on it from scratch? Most consumers buy an off the shelf system that has already been configured for their baseline needs. In an enterprise environment, IT is (usually) responsible for installing and configuring the “stack” — the operating system and all necessary software, in addition to modifying settings to secure and optimize the system, and they have to do this for thousands of systems, not just one. If you had to hand build thousands of systems, given your experience having done it just for one, then you know, it can be tedious, and error-prone work. The time spent to automate the process is well worth the investment as it saves countless hours and makes deployment repeatable, predictable, and scalable. To do this, you need the right tools, and you also need to take the time to consider the architecture to ensure it will meet the requirements.

There are unique infrastructure constraints in a retail store setting. The primary compute resources are thin clients, which have less I/O, Memory, Storage and CPU than you would find in a traditional data center. For this reason, some of the conventional architectures, like server:client segmentation, have to be redesigned to run at the edge. Target presented three primary components of their edge computing solution.

Key components of Target’s edge computing strategy

Microservices are lightweight and loosely coupled which makes the architecture a good fit for distributed computing with limited resources, as is the case in the edge retail environment. Containers allow application dependencies, packages, and software to be fully encapsulated so that they run in an isolated environment side by side with other containers — a logical choice for consolidating services on your infrastructure without disturbing functionality. With microservices, they are typically implemented using REST which often leverages HTTP, and securing all of the data flowing between the services on different endpoints is crucial to maintaining security — no store wants to become the next data breach cautionary tale.

Orchestration

Orchestration, in brief, is the practice of automating the configuration and management of your infrastructure. Whether you have three systems or thousands, managing them is far easier when you have the right tools. Target chose the open source orchestration platform Kubernetes, as their orchestration agent.

Using Kubernetes for orchestration

The primary reasons cited for this choice were: self healing, state maintenance, and high availability. Often, the task of running and scheduling of workloads is segmented onto two different servers. In this case, Target containerized the applications and co-located them on the same host and had a cluster of servers that provided the functionality, thereby achieving consolidation and redundancy.

Deployment

The deployment tool of choice for Target was Spinnaker. I had never heard of it before. If you’re like me you had to Google it. I’ll save you the trouble, here is the Cliff’s Notes version: It is an open source tool that supports multiple cloud providers and integrates with many existing orchestration tools (like Kubernetes).

Using Spinnaker to deploy

Spinnaker uses the concepts of applications, clusters, and server groups to construct and manage deployment piplines. In short, it allows you to automate which target devices you want to install your software on.

Edge Cloud

One of the points Connie and Joana mentioned was that Target had few corproate datacenters, but 1,855 stores all with their own infrastructure. They wanted to manage each store like its own cloud, and so they needed an edge cloud provider.

Target named their edge cloud provider Unimatrix, which is a nod to Star Trek. Unimatrix commands and controls all of the Kubernetes deployments at the edge.

Edge Cloud Provider: Unimatrix

Unimatrix reuses the existing Kubernetes API, and allows deployment by pilot, mass roll out, or even by store regions. Maintaining the API contract and only adding additional microservices to augment custom requirements allowed Target to continue using the existing Spinnaker and Kubernetes integration. An additional component is the Unimatrix agent. The agent takes the role of the operator. It applies the application spec to the Kubernetes clusters. As the spec is applied, it reports back to Unimatrix, which syncs the state to Spinnaker so the developer can see the deployment progress. You can read more in depth about Unimatrix on the Target blog.

Demoing the Use case: Deploy a promotion

Now that we know all of the components of the system, we can see the process in action.

Process flow: deploying a promotion
  1. All promotion change features implemented as microservices
  2. Push code to Git
  3. Security tools triggered to ensure
  4. Build process ensues
  5. Code goes into docker registry
  6. The Spinnaker pipeline is triggered, and pushes the application spec to the Unimatrix central server
  7. The Unimatrix deployment server begins to sync application spec to the agents in the defined pipelines

As all of this is happening, the state of the deployment is maintained and can be visualized in Spinnaker:

Deployment progress in Spinnaker UI — the green is complete, red is still in progress

And that is how it’s done!

Success

So their teams did all of that work. What was the result?

  • On boarded > 90 applications in the first 6 months; which included IoT platforms, new microservices, and video machine learning capabilities.
  • Running in production at Target edge locations

How did they accomplish this success? The answer — defining very clear objectives from day one:

  1. The ability to deploy to stores in a targeted fashion (pun intended)
  2. Enable application developers to do the deployments
  3. Have clear measurements of progress
  4. Reusing tools allowed developers to rapidly adopt the technology
  5. Flexibility during the solution building — Target accelerated development by using open source, and created custom solutions only when necessary

Not to be biased, but…this was my FAVORITE GHC session. I loved the humorous exchanges between Joana and Connie, they were well rehearsed, knew the material, the flow was logically presented and really took the audience on the journey of WHY developing this technology was necessary, how they implemented the solution, and the return on the investment. Also, might I add, the speakers had the best red tennis shoes, very on brand.

Better code with inner source

I was a member of the Software track committee for GHC, which meant that by attending the conference in person, I was also responsible for chairing a session. Session chairs arrive in the room prior to the start of the presentation and ensure that the presenters have arrived, there are no technical difficulties with A/V equipment, the timer is set up and ready to go, and the session starts and ends on time. The session that I chaired was titled “Better Together: The Inner Source Journey.” Presenters Aliza Carpio and Rocio Montes shared the findings of Intuit’s case study detailing its lessons from embarking on an inner source journey.

By now, you’re probably asking yourself, “What is inner source?” In brief, it is leveraging open source software development practices within your organization. Having been on teams that develop with and without these software practices, I can personally attest to the value of institutionalizing them. Not everyone will want to adopt new ways of working, some will have to be dragged kicking and screaming. Every journey starts with a champion(s), Aliza and Rocio are those brave individuals in this story.

If you work for a company with a large number of developers aligned with different business units, who have competing priorities, and are dispersed geographically, you are painfully familiar with the silos this can create. The challenges Aliza outlined for Intuit were:

  • Code was owned (not stewarded) by teams and individuals, which led to bottlenecks and long wait times for code changes
  • The waiting impacted work/life balance and created a culture of heroics to meet deadlines
  • Repositories lacked documentation, or the documentation was only good enough to be used by the people who already owned the code
  • Varying standards made it difficult to on board new members

So how do you ensure people can work together across the globe and still produce quality software? Rocio discussed three simple criteria to start. Make sure that repositories are:

  • Discover-able – Can people find it?
  • Contribute-able – Once they have found it, can they incorporate their changes?
  • Compose-able – Are there processes in place to ensure that new changes are non breaking?

This means that people, process, and technology changes must be instituted.

Process:

  1. Make sure there is ONE set of unified guidelines, including
    1. A standard structure for repositories
    2. A minimum set of documents to detail contribution guidelines
    3. Rules of engagement — how do you engage the stewards of the repository?
    4. Templates for issues and pull requests that auto-populate with the expected information
  2. Use containers for local development — it minimizes the time to onboard new developers by fully encapsulating the working environment (packages, software versions, etc.)
  3. Continuous Integration/ Continuous Deployment (CICD) must be a part of the process
    1. Pull Request (PR) Builds give contributors and reviewers the opportunity to review tests and coverage to determine quality

People:

  1. See every PR as a mentorship opportunity!
  2. If it does not already exist, a “trusted committer” role, held by the group of developers who have the knowledge to do code reviews, and will be responsible for code mergers and reviewers , should be created
  3. Hold code review training to ensure that consistency and quality is maintained for each PR
  4. Make the trusted committer role a rotating on call so the burden is dispersed and not only one person is responsible — those who are frequent committers will eventually become trusted committers.
  5. Have service level agreements (SLAs) for PR reviews, merge and release; declare and define the timelines so external contributors know what to expect and can plan accordingly
  6. Scale efforts by identifying passionate advocates and leaders at each site (by location) to ensure there is someone physically present to champion the transition, and to assist with the technical implementation
  7. Identify repositories and teams that provide foundational capabilities to the organization, those that are a dependency for many other teams, and bring them to inner source first.
  8. Establish rewards and recognition — work with leaders to make the transition a part of each engineer’s goals

Technology:

While this was not explicitly mentioned during the session, I want to take the liberty of calling out the technology behind the inner source transition. These are observations based on the internal tools and processes in place at my company to support developers so that tooling does not become an encumbrance.

  • Secure the necessary support and funding to internally or externally host the tools to enable the inner source journey
  • Work with IT to identify the CICD pipeline, revision control, and ticketing systems you intend to use; make certain they are interoperable, and integrate them as an enterprise offering.
  • If Agile is part of your Software Development Lifecycle, add additional integrated tools to support the work methodology
  • Allow adoption of the tools to be independent — some teams may be more mature, so they can adopt the entire suite of tools, whereas others may need to start with just revision control.
  • Maintain training collateral for the suite of tools, but have a means of requesting assistance with on boarding
    • Regular office hours where people can dial in for live assistance
    • A means of submitting tickets or requesting help

Tools that I have used in this space are:

*Tool used by Intuit

Back to the session.

What steps do you have to take to start this journey at your company?

  1. Get support from leaders (Vice President, Director, Architect, etc.) and identify partnerships
    1. If possible make these connections in person
  2. Research and beautify the standards; the unified standards; guidelines, documentation, rules should be hosted in a repository as well so that they can be treated as code
  3. Identify teams who will be models for the transition to inner source and work with them to bring other teams along
  4. Conduct workshops to teach teams how to live in the culture

Preparing to be a champion

Moving to inner source is not just a technology adoption, it is a change management journey. To champion the transition, you will need to be able to articulate the return on investment and the business value. Aliza mentioned multiple resources to help prepare for making the case:

You must be a storyteller. Take the time to craft your message so you can be effective at being a catalyst for change!

Helping drive success

When people are new to inner source, it can be overwhelming. Intuit created a “good first issues” site that highlights filed issues from various repositories that are great introductory problems to solve for a newbie. Projects have their issues highlighted on the site by labeling their issues with the appropriate tags, and have well documented contribution guidelines. This also gives engineers an opportunity to gain new skills by working on new projects.

Creating a visible badge for taking the training, becoming a contributor, and championing inner source helps foster pride in the transition.

Creating pride in participation

The final result.

Intuit is one year into their journey and are already seeing the benefits. It is not enough to have anecdotal stories, you want to measure the value added by the transition to inner source, through measurement, analysis and presentation of the results.

Measure and analyze data

Now you’re ready to embark on your journey! Safe travels.

IoT For Social Good

How many times have you encountered technology in the real world, and wondered what the purpose was? It seems to have been deployed just because it could be. I know I have. The Internet of Things (IoT) can have large societal benefits, when applied purposefully. The GHC session presented by PwC strategy consultant Karla Mendez, entitled Creating Shared Value with IoT Solutions shone a light on companies who incorporate the idea of Shared Value into their technology solutions.

The idea of Shared Value is characterized by Harvard business school professors Michael E. Porter Mark R. Kramer as “a new way for companies to achieve economic success” by finding business value in social problems [1].

Business value in social problems.

Karla, who took the Shared Value course at Harvard, presented several examples of businesses using IoT to provide a societal need. When businesses position their products as providing Shared Value, a cynic can perceive this as corporate branding that hinges on pandering. Some ways that differentiate companies who have Shared Value at their core are (among other things):

  • Placing social good on par with profit as a core value
  • Make those values publicly accessible and transparent
  • Weaving those values into the thread of all aspects of operations, as an example: sourcing materials only from suppliers that align with that (social good) value

Farm in a Box

I was late to the session, so I didn’t get to hear from the presenter directly about this company. I did find them online and am glad that I did! They market themselves as an “off-grid toolkit for sustainable agriculture.” You can read more about them here. They have their sustainable development goals right on the front of their website!

Farm in a box sustainable development goals

Intelligent White Boards

An IoT enabled White Board can be deployed in classrooms, and as a teacher writes on the board, it is synced with a corresponding student display, and also allows the student to review the lessons outside of the classroom. Another added benefit is that the teacher gets real-time feedback — doing a quick pop quiz to gauge understanding, can help the teacher adjust when a given topic is not well understood and helps students stay on track for learning. This improves the quality of education. EdTech companies are on the rise, and use the data collected on improved student learning to demonstrate their value. The specific solution referenced in this example, was developed by SMART.

Smart Lighting

The value proposition for smart lighting is that if we can reduce energy use and consumption, we reduce our carbon footprint. Lighting fixtures with IoT sensors can turn off automatically, report when there is an issue (using excess energy). This also reduces energy cost. In the hospitality industry, installing IoT enabled lighting fixtures in hotel rooms can save an estimated $300 per year, per room; the same could be done with heating and cooling. One company providing IoT enabled smart lighting is the presenter’s company: PwC Connected solutions.

Homeless Tracking

There are more than half a million homeless Americans, and only 65% of them are in shelters. This leaves a quarter million people on the streets without resources. Where can IoT help? If we could assess where homeless people are in order to target locations for shelters and other resources, the government could better plan for and reduce homelessness. One solution in this space is digital kiosks. Kiosks could help homeless individuals search for and find resources, like housing. In the Phoenix area, I have seen donation meters. There was not a specific company identified as providing a solution in this space, but with a quick internet search I found that cities like New York and San Francisco are implementing innovative technology to track and align services for their homeless population. I also found an interesting article about LinkNYC, a company that converted old payphones to internet kiosks, but the results were not as rosy as originally intended.

I work for a corporation, and there is an entire branch of the company devoted to social responsibility. It is my hope that as a society, when we learn how our actions impact the world around us, we evolve the way we do business to eliminate negative impacts, not purely for the profit motive, but, because it is the right thing to do.

Recommended Reading:

A few articles I came across that show technology for societal good at work, and one illustrating the unintended consequences.

Smart Contracts using blockchain

One of the emerging trends in computing that everyone talks about, but can seldom articulate, is blockchain. What is that, you ask? If you’re like me, and haven’t done a deep dive, you’ve likely heard of it because of bitcoin, a cryptocurrency (digital money). I found a graphic that provides a nice high level description:

High level blockchain explaination

Where do people use blockchain? Anywhere you need to establish a trust relationship between applications to complete a transaction.

Now that we have a (fragile) foundation, we can dive into the GHC workshop I attended on Ethereum: A blockchain protocol with a complete built-in programming language. The workshop was presented by Julia Chou and Jenny Lu of Coinbase. Over the course of the workshop, we created a simple smart contract as a decentralized app (Dapp).

Prior to walking through the Dapp creation, Julia provided some context for the emergence of smart contracts and the use cases for blockchain.

Web 3.0: a peer to peer (decentralized) web, without servers or authorities to manage the flow of information, instead of the traditional client:server model, every client is also a server. This architecture avoids a single point of failure. In Web 3.0, browsers and wallets are able to represent identity and assets, allowing authentication and payment without using a bank or identity service. While this cuts out intermediaries for transfer of property, it leaves a gap in the establishment of trust (we trust lawyers and banks, we don’t trust unknown users with whom we’ve never interacted) — which is where the technologies we’ve discussed come into play: all processing is done via smart contracts using blockchain as the data storage and protocol.

Web 2.0 vs Web 3.0

Solidity was the language used in the workshop for developing the Ethereum smart contract. It is influenced by Javascript and C++. It is statically typed, compiled into Ethereum virtual machine bytecode, and is Object-Oriented. Ethereum is Turing complete, so a program could run infinitely — at great expense. To avoid this there is a concept called gas, tracked by ether (the Ethereum cryptocurrency), you can set a maximum amount of gas to expend, and if you run out, the program stops executing and rolls back the transaction. That is a very condensed description of a complex concept, so if you want to read more about gas, click here.

Now we can get into the workshop…

The workshop itself was intended to be completed over the course of an hour, and was targeted at (I believe) intermediate developers. The instructions are available here:https://github.com/jp3hou/dapp-demo, if you want to try it for yourself. The presenter slides are also available in the linked GitHub repository.

To complete the workshop, I will say that if you didn’t have Linux OS CLI (Ubuntu specifically), GitHub, and programming experience, you would have struggled to complete the exercise, there were a lot of assumptions. Before you start, you will need an Ubuntu OS or Windows 10 + WSL and Ubuntu, Chrome or other Metamask supported browser, and your IDE of choice; alternatively, you can use the online Solidity IDE .

The application we deployed was a simplification of the popular CryptoKitties. The core components:

And the underlying technology we used to create the Dapp:

I won’t take the time to walk through each step from the workshop, but would encourage you to follow the instructions from the GitHub Demo. Once you’ve completed the various steps to generate the test accounts, set up Metamask, and launch the Dapp, you can click on a kat to purchase it!

Successful kat purchase!

Security Concerns:

Hopefully you know a little more now than you did before. I certainly came away with my curiosity piqued!

Resources:

Living on the Edge

With the growing number of intelligent devices (and by “intelligent” I mean: An internet connected device running some form of software that collects and performs actions on data), bringing intelligence to the Edge has become a more pervasive topic of discussion. What is “the Edge?” Computing devices physically located at the point of use running software that is running locally instead of in the cloud. The cloud? Remotely hosted computing services such as storage (think: Google Drive) and infrastructure (virtual machines) — these services depend on a network connection. This sets the stage for the session: Developing Embedded Intelligence: Opportunities on the Edge. It was led by a panelist of experts in the field:

Brenda Zhuong of MathWorks (moderator), Miriam Leeser of Northeastern University, Micheala Blott of Xilinx Research, Mary Ann Maher of SoftMEMS LLC , and Yan Wan from the University of Texas at Arlington.

Panelists for the Embedded Intelligence session

The high level considerations that were illuminated by the panel of experts were:

  • Improving intelligence through data analytics
  • Gaining efficiency by taking advantage of the hardware capabilities
  • Reducing dependency on the (internet) network by hosting data and services where they will be used.

We then got into some real-world use cases that demonstrate the power of harnessing intelligence at the Edge.

Gain Efficiency in Embedded Intelligence; Michaela Blott

Reduce cost through custom arithmetic

Urban Aerial Vehicle (UAV)-based airborne computing for future Internet of Things; Yan Wan

UAV-based Emergency Communication

Developing an Artificial Kidney; Mary Ann Maher

Artificial Kidney

Considerations…

  • Seed neural networks with data coming from the actual environment so you can determine when sensors are malfunctioning — not all data is good data.
  • Understand power constraints — battery life has been a limitation
  • With all of the data being collected, privacy becomes paramount — always encrypting data at rest and in transit.

Some best practices…

If you plan to develop in this space, or are already working on a project, there are methodologies you can put into practice that will improve your solution. Here are a few:

  • There is so much sensor data, it is not possible, nor would it be advisable, to send all of it back to the cloud, which means the capability to do some level of analysis at the edge and send only the relevant data to the cloud is
  • Take advantage of cloud computing to simulate sensor data to rapidly design but then deploy at the edge.
  • Tagging quality data so you can establish a confidence in the sensor data with corresponding visualization (graphical representation) is crucial.
  • IoT devices tend not to have as much computing power, leveraging distributed computing models to perform calculations
  • Implement redundancy of sensors and computational devices in mission critical systems

Where do we go from here?

Computer vision and artificial intelligence are changing the landscape of computing. We have to improve the accuracy of vision sensors so that the data is reliable. The cost of quality vision sensors is prohibitive at the moment, and before development can really take off, it must come down. Research into correctness proofs is needed to verify algorithms developed for mission critical Edge workloads. Safety, especially for use cases like autonomous driving, is not a 90% correctness solution — it’s okay if your cell phone drops its connection, it is deadly if your car stops in the middle of an intersection. Portable IoT devices like ultrasound and water testing can bring life-saving technology to network constrained environments, and have the potential to revolutionize medicine.

The panelists were asked to make predictions for the next three years in Edge Intelligence (If any of these things come to pass, you heard it here first!) Some of them being:

  • Speech recognition as a human computer interface will become much more prevalent
  • Facial recognition will be integrated into more technology
  • Deployments of sensors and devices in rural areas will help to eradicate diseases
  • More innovative hardware platforms for IoT use cases

Recommended reading:

Hey, Google!

The second session I attended during GHC was a workshop entitled: Getting Started with Actions on Google. Presented by Surbhi Chaudhry, Mandy Chan, and Aylin Altiok, this workshop focused on teaching the key fundamental concepts when developing a conversational action for Google Assistant.

I own a Google Home Hub and find that this technology is particularly compelling because it is more than a convenience, it democratizes access to technology for those with physical and visual impairments.

During the workshop, Google had engineers with “I’m Here to Help” t-shirts, and it so happened that the engineer at my table did not have arms. It was not a point of conversation, but I noticed. I thought to myself, she must be very passionate about this technology — I wish I had asked about her journey, but I felt it might be inappropriate, so I didn’t.

A couple of key points that the presenters made about the different ways a user interacts with the assistant as opposed to a typical search are:

  1. Assistant queries are 200x more conversational than search
  2. Assistant queries are 40x more likely to be an action

Anecdotally, I know this to be the case because I like to ask my assistant to tell me jokes, sing me a song, and other queries that require it to exhibit more ‘human’ behavior than I would expect of my search engine. It’s gratifying to know that I am not the only one — there is data to back it up!

So let’s dig into the meat of the workshop. Over the course of the hour, we created a Google Action flow that allowed us to respond to a color query.

Google Actions workflow

You can walk through the exercise using just your browser and laptop, all of the resources are online. You’ll just need your Google account, a computer, and an internet connection.

It was great to have a working sample by the close of the workshop. The learning curve is not very high for completing a simple action query, and it is gratifying to have something working in a short period of time. If you want to play, it’s a good place to start. That being said, if you are a serious developer who is interested in implementing a more complex use case, we were strongly encouraged to start with understanding how best to design your actions. So, “Hey Developers, happy coding!”