Expanding ideas that I previously explored in Design Research: The Next 500 Years (Hill 2022), this article considers the contributions to temporal understanding of three analogies: architecture as a time machine, as a history, and as a fiction. Assembled from materials of all ages: from the newly formed, to those centuries or millions of years old, and incorporating varied rates of transformation and decay, a building is a time machine, transporting us to many times separately or simultaneously. Like a history, a design is a reinterpretation of the past in the present. Equally, a design is equivalent to a fiction, freely moving backward and forward in time and between types of time. In conclusion, I emphasize temporal understanding as a means by which to learn from the past, reassess the present, and speculate on future models of practice and discourse.
During the exhibition Pentagram filmed Weil in the show, observing and interacting with his work. A year on, we released this short video with commentary from Weil about the nature of design, creative activity and making time. The film introduces the show to new audiences, and gives deeper insight to those who have already visited.
Engineering teams can now store, access and utilize real-time dashboards, schedules and documents at any time, from anywhere. It drives efficiency into the machine development process, boosting overall productivity. In addition, machine builders can concurrently capture and incorporate design feedback from numerous internal and external stakeholders. This ensures the creation of the most effective machines possible while avoiding delays and managing product costs. By incorporating feedback earlier into the design process, machine builders can also account for supply chain issues and source materials from outside vendors.
Cloud-based technology is a critical enabler for creating the digital twin in advanced machine engineering. By streamlining communication between disciplines, the cloud encourages the sharing of data vital to creating a comprehensive digital twin of the future machine. The multi-disciplinary model of the proposed machine connects mechanical, electrical and automation engineers to evaluate performance, energy use, output and other key indicators. Then a digital twin can simulate everything virtually, reducing the need for costly and time-consuming physical prototyping. The virtual process, based on simulation and the digital twin, offers benefits across the entire development and deployment of an advanced machine:
Using modular design, machine builders have a cost-effective path to scale for mass customization. It is now possible to produce highly differentiated machines quickly and cost-effectively from a shared set of modules.
Rahul Garg is the vice president for Industrial Machinery & SMB Programs at Siemens, responsible for defining and delivering key strategic initiatives and solutions and global business development.
Rahul Garg is the vice president for Industrial Machinery & SMB Programs at Siemens Digital Industries Software, responsible for defining and delivering key strategic initiatives and solutions and global business development. He and his team are responsible for identifying key initiatives and developing solutions for the industry while working closely with industry leading customers and providing thought leadership on new and emerging issues faced by the machinery industry.
Headspace's core products are iOS, Android and web-based apps that focus on improving the health and happiness of its users through mindfulness, meditation, sleep, exercise and focus content. Machine learning (ML) models are core to our user experiences by offering recommendations that engage users with new relevant, personalized content that builds consistent habits in their lifelong journey.
Data fed to ML models is often most valuable when it can be immediately leveraged to make decisions in the moment, but, traditionally, consumer data is ingested, transformed, persisted and sits dormant for lengthy periods of time before machine learning and data analytics teams leverage it.
Finding a way to leverage user data to generate real-time insights and decisions means that consumer-facing products like the Headspace app can dramatically shorten the end-to-end user feedback loop: actions that users perform just moments prior can be incorporated into the product to generate more relevant, personalized and context-specific content recommendation for the user.
In this blog post, we provide a technical deep dive into our architecture. After describing our requirements for real-time inference, we discuss challenges adapting traditional, offline ML workflows to meet our requirements. We then give an architecture overview before discussing details of key architectural components.
The above requirements are problems that are often not solved (and don't need to be solved) with offline models that serve daily batch predictions. ML models that make inferences from records pulled and transformed from an ELT / ETL data pipeline usually have lead times of multiple hours for raw event data. Traditionally, an ML model's training and serving workflow would involve the following steps, executed via periodic jobs that run every few hours or daily:
ML models are developed in Databricks Notebooks and evaluated via MLflow experiments on core offline metrics such as recall at k for recommendation systems. The Headspace ML team has written wrapper classes that extend the base Python Function Model Flavor class in MLflow:
The Headspace ML team's model wrapper class invokes MLflow's own save_model method to perform much of the implementation logic, creating a directory in our ML Models S3 bucket that contains the metadata, dependencies and model artifacts needed to build an MLflow model Docker image:
We can then create a formal Github Release that points to the model we just saved in S3. This can be picked up by CI/CD tools such as CircleCI that test and build MLflow model images that are ultimately pushed to AWS ECR, where they are deployed onto Sagemaker model endpoints.
Headspace user event actions (logging into the app, playing a specific piece of content, renewing a subscription, searching for content, etc.) are aggregated and forwarded onto Kinesis Data Streams (Step 1 in diagram). We leverage the Spark Structured Streaming framework on top of Databricks to consume from these Kinesis Streams. There are several benefits to Structured Streaming, including that it:
Streaming data pipelines must differentiate between event-time (when the event actually occurs on the client device) and processing-time (when the data is seen by servers). Network partitions, client-side buffering and a whole host of other issues can introduce non-trivial discrepancies between these two timestamps. The Structured Streaming API allows simple customization of logic to handle these discrepancies:
Using Scheduled Job clusters significantly reduces compute DBU costs while also mitigating the likelihood of correlated infrastructure failures. Jobs that run on a faulty cluster---perhaps with missing/incorrect dependencies, instance profiles or overloaded availability zones---will fail until the underlying cluster issue is fixed, but separating jobs across clusters prevents interference.
We then point the stream query to read from a specially configured Amazon Kinesis Stream that aggregates user client-side events (Step 2 of diagram). The stream query can be configured using the following logic:
Here, outputMode defines the policy for how data is written to a streaming sink and can take on three values: append, complete and update. Since our Structured Streaming Job is concerned with handling incoming events, we select append to only process "new" rows.
In addition, our Spark Structured Streaming job cluster assumes a special EC2 Instance Profile with the appropriate IAM policies to interact with AWS Sagemaker Feature Groups and put messages onto our prediction job SQS queue.
Pull: This method involves persisting the final recommended content to our internal Prediction Service, which is responsible for ultimately supplying users with their updated personalized content for many of the Headspace app's tabs upon client app request. Below is an example experiment using real-time inference infrastructure that allows users to fetch personalized recommendations from the app's Today tab:
Push: This method involves placing the recommendation onto another SQS queue for push notifications or in-app modal content recommendations. See the images below for examples of (above) in-app modal push recommendations triggered from a user recent search for sleep content and (below) iOS push notification from a recent user content completion:
The Headspace ML team is still rolling out production use cases for this infrastructure, but initial A/B tests and experiments have seen strong lifts in content start rates, content completion rates and direct/total push open rates relative to both other Headspace initiatives and industry benchmarks.
Currently I only have a backup external hard drive which is connected to my system all the time. One problem I have is that the light on this drive pops on and off frequently during the day. My system is fairly old (6 years) and if I run Illustrator and the backup drive light pops on while I'm working, I've noticed Illustrator can crash.
So, my idea is that I will connect the drive at the end of the day, and then disconnect it in the morning. I'd rather risk losing a few hours of work than let the drive interfere with my current work.
Note I'm not in a corporate environment. I'm solely responsible for the integrity of my system and viability of my files. If you are in an employment environment, this really should be a concern for an IT department, not the designer.
The important part of any backup system is to simply have it. It can be something as simple as an external USB mini-drive which you manually drag files to, then keep in a drawer somewhere. The more redundancy you can build, the safer you'll be in case something fails. It's all too easy to think you're safe.... only to later discover you've lost a ton of work.
c80f0f1006