DPD lectures
Week 2: Infrastructure
The connected lightbulb
Conceptual model= how the user understands the system, in example lightbulb: focuses on
connection between switch and lightbulb
Infrastructure= the fundamental facilities and systems that support the sustainable functionality of a
digital product
Connected model - lightbulb= remains almost the same, press button, digital or physical to turn on
the light, philips hue light bulb, but how it works and need for infrastructure changes, needs to be
connected to local network.
Internet= global network of exchange information related to different applications example: e-mail,
video streaming, web page.
Smartphone and lightbulb are the clients.
Service= computer providing a service
Technical model= message is sent to the light bulb, but it's actually through router, company servier,
identified, and sent message back, to the router and finally the light bulb. One possible internet
architecture between many → the tremendous gap between what the user needs to know and what
happens, thus conceptual and technical model
Wrap-up
● The number of facilities and systems necessary for the light bulb to work
● Distinction of the global network, the internet, only one application on that network
● The concept of clients and servers. Client= computer requesting information such as light
bulb, a web page.
● Server serves information in response to a client request over the network.
The internet
What is the internet?
Internet= network of networks
Communication needs rules:
Network protocol= a set of rules and conventions enabling computers to communicate through a
network. So machines speak the same language.
The aspects to agree on:
Nature of information, how is it physically transported, what is the destination, how is it protected,
how is it compressed
All ruled by different protocols, organized in different layers.
What are the internet architectures?
Internet layers: help us focus on what we need to design, hide the technical details, network layers:
create an abstraction to focus on the design of the product.
Networking, 4 layers, each with set of protocol:
● Application: every network details are taken care of by lower layers, application protocol take
care of communication.
○ HTTP= computers exchange of web pages
○ SMTP= email exchange
, ○ MQTT= sensor data exchange
● Transport: establishes a communication channel between two computers on that network.
The information from its source to its destination crosses many different network devices
that root the information like crosswalks. Example: router (crosswalk). Every information
leaving the source is received in good order by the destination. Repeating information can
also ensure good quality. Sometimes fast as possible is more important. Examples: TCP, UDP,
protocols to use for such strategies.
● Internet: connects network. Ensures that computers when connected at home, one
connected at a university can talk to each other without noticing that they are on different
networks, both connected to the larger internet network. Example: IP= the identifier of a
computer on a network at a given time.
● Link: transfers information from one computer to another. Choice between wired or wireless.
Example: WiFi, Ethernet.
The cloud
= abstraction of a set of servers that can be reached out to provide services over the network e.g.
webpages, ingesting, processing and visualizing sensor data, broadcasting live video events, AI,
calculating your shortest way on Google maps etc.
● requires different computers working together around the world
● how the service is provided by computers in a data center of a mini small computer, is not
relevant to the user.
● Depending on the way devices connect and rely on the internet strongly influences what you
design with benefits and constraints
Internet Architecture
= how your product service reach and rely on the internet.
Connected washing machine:
● pay-per-wash
● shared laundry facility: shared resource, you know when it is not available.
● sun/wind power wash: adjusting behavior based on sun and wind energy
Direct Internet Connection:
= connecting the washing machine directly to the internet via a 4g network
● assumes a 4g network available
● no assumption on home wifi network
● requires data plan included as part of the product
● Minimal intervention from the user, exposes washing machine directly to the internet
without local control via the home network
Local network
= connecting via the broadband router
● typical home internet vox
● user needs to set up password wi-fi network, but no need for data plan
● If connection internet fails, smartphone could connect directly to washing machine on local
network
Smartphone as Gateway
= bluetooth, communication between washing machine and smartphone
● smartphone is then gateway=translator one network to another
, ● in this case, bluetooth network to internet network
● But washing machine is then not able to connect to the internet on its own, but relies on
smartphone nearby, if away then it loses its connection
Dedicated gateway
= device plays same role as smartphone, continuous there providing washing machine with a internet
connection at all times
● makes sense in ecosystem of products connecting through this gateway
● might signal a device not to use the green energy and prioritize this for another device
Service-to-service
= all the communication taking place across the internet between service providers. The washing
machine from a paper use company could inquire for the energy availability in the householder’s
electric vehicle provided by a car manufacturer. Indication for when the washing machine can use
energy sustainably.
Different benefits and constraints that all the architectures bring, have significant impact on how the
user experiences the product, what business models it enables and the control it offers or imposes:
How do they influence the seven product dimensions?
● Complexity: direct connection faster than a round trip, more control and business
opportunity
● Learning curve
● Maintenance
● Latency: gateway might reduce latency as devices can talk on the local network, but it
requires users to buy a gateway, but on the business side opportunity to develop an
ecosystem of products.
● Internet availability
● Controllability (by the company, by the user)
● Revenue stream
● Interoperability
● etc.
8 fallacies of distributed computing (responsibility layer of the canvas)
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology does not change
6. There is one administrator
7. Transport cost is zero
8. The network is homogenous
The web
What is the web?
Client/server
HTTP protocol: to send request or respond to server.
HTTP= hypertext transfer protocol = foundation of the web
, Client - HTTP Request -> Server
Server - HTTP Response -> Client
Server
- Content a web page
- Action of a device
- Processing of data
Client
- Show web page
- Show ON/OFF switch
- Show Data visualization
Anatomy of HTTP Request → url= uniform resource locator
● http:// → protocol
● connectedlight.com → public domain name
● 80 → port
● buildings/123/rooms/123/lights → route
HTTP Methods and Routes
● POST /lights Create/Add a light
● GET /lights List all lights
● DELETE /lights Delete all lights
● PUT /lghts/123 Update a lights
● GET /lights/123 Read a light
● DELETE /lights/123 Delete a light
What are web APIs?
Root shapes the web API of the product
API= Application Programming Interface= resources/capabilities that the product exposes to the
network
The role of a designer regarding API: to be in control of design solution.
Designers must have the ability to specify the requirement of the product, not only the hardware
part, but also the software. Should the product expose services to the internet, what are the
boundaries of this exposition, who can access it, when, where, how. By specifying the API, you
control the exposition based on your understanding of the stakeholder needs and what they should
be protected from.
Light bulb example: designers have holistic understanding of the context. Two main challenges can
be addressed:
● granularity= are the resources on the server often requested individually or as a whole e.g.
does my application need to know the details of each occupant in the house or does it just
need the total count
● structure: what is the most important way to access resources, it might make more sense to
have all devices in one single list, getting data from the internet, what requirements should
Getting data from the internet
- what requirement should it comply with
- important to be able to read the documentation of an API to understand promises and
limitation of service before relying on it for the design solution.