This document discusses user experience (UX) design through the lens of representational state transfer (REST) architectural principles. It argues that applying REST concepts like standardized interfaces, hypermedia, and resource-oriented design can help lower complexity and improve usability for users. The document examines examples like the iPhone and universal remote controls to show how RESTful approaches promote a better user experience (RUX) for common users compared to remote procedure call (RPC) styles that are better suited for power users. It advocates a pragmatic approach combining strategic use of REST principles with tactical use of RPC where needed.
Do you have an incident response plan to cover disasters, cyber-attacks, and other threats to your organization? How confident are you that it will work in a real-world situation? While simply having a plan will help you check the box on the audit, it doesn't guarantee effectiveness in a real situation. Assessing your incident response plans through fire drills, desk top exercises, functional scenarios, and full scale exercises will help your organization truly validate the effectiveness of the plan.
IR assessments are meant to:
- Evaluate plans, policies, and procedures
- Find weaknesses in the plan and gaps in resources
- Improve coordination and communication internally and externally
- Define and validate roles and responsibilities
- Train personnel in their roles and responsibilities
This webinar will provide practical steps for assessing your organization's plans and demonstrate ways to improve them through a methodical and proven approach. After all, whether they're big or small, internal or external, in most any organization incidents occur. Complete plans that have been tested, backed by trained resources and thorough communication, are the proven recipe to minimize the impact of incidents when they occur.
Our featured speakers for this webinar will be:
- Ted Julian, Chief Marketing Officer, Co3 Systems
- Richard White, Security Intelligence and Operations Principal, HP Enterprise Security Products
Implementation of RBAC and Data Classification onto a Mainframe system (v1.5)Rui Miguel Feio
A walk through the challenges of implementing a Role-Based Access Control (RBAC) solution and Data Classification on the mainframe. A basic overview of the steps taken, the tools used, the problems encountered and the final benefits.
F5 and Infoblox deliver complete secured DNS infrastructureDSorensenCPR
F5 and Infoblox have partnered to develop a solution to simplify and speed deployment of the Domain Name System Security Extensions (DNSSEC). F5 and Infoblox together deliver the market’s only fully integrated and complete DNSSEC solution including high-performance DNS and GSLB functions, all supporting signed DNSSEC data. This provides customers a scalable, manageable, and secure DNS infrastructure that is equipped to withstand DNS attacks. The solution is a combination of Infoblox’s purpose-built appliances that deliver highly reliable, manageable and secure DNS services with built-in, automated DNSSEC features, and F5 BIG-IP Global Traffic Manager appliances optimized with hardware acceleration facilitating real-time signing of DNSSEC signature queries.
Do you have an incident response plan to cover disasters, cyber-attacks, and other threats to your organization? How confident are you that it will work in a real-world situation? While simply having a plan will help you check the box on the audit, it doesn't guarantee effectiveness in a real situation. Assessing your incident response plans through fire drills, desk top exercises, functional scenarios, and full scale exercises will help your organization truly validate the effectiveness of the plan.
IR assessments are meant to:
- Evaluate plans, policies, and procedures
- Find weaknesses in the plan and gaps in resources
- Improve coordination and communication internally and externally
- Define and validate roles and responsibilities
- Train personnel in their roles and responsibilities
This webinar will provide practical steps for assessing your organization's plans and demonstrate ways to improve them through a methodical and proven approach. After all, whether they're big or small, internal or external, in most any organization incidents occur. Complete plans that have been tested, backed by trained resources and thorough communication, are the proven recipe to minimize the impact of incidents when they occur.
Our featured speakers for this webinar will be:
- Ted Julian, Chief Marketing Officer, Co3 Systems
- Richard White, Security Intelligence and Operations Principal, HP Enterprise Security Products
Implementation of RBAC and Data Classification onto a Mainframe system (v1.5)Rui Miguel Feio
A walk through the challenges of implementing a Role-Based Access Control (RBAC) solution and Data Classification on the mainframe. A basic overview of the steps taken, the tools used, the problems encountered and the final benefits.
F5 and Infoblox deliver complete secured DNS infrastructureDSorensenCPR
F5 and Infoblox have partnered to develop a solution to simplify and speed deployment of the Domain Name System Security Extensions (DNSSEC). F5 and Infoblox together deliver the market’s only fully integrated and complete DNSSEC solution including high-performance DNS and GSLB functions, all supporting signed DNSSEC data. This provides customers a scalable, manageable, and secure DNS infrastructure that is equipped to withstand DNS attacks. The solution is a combination of Infoblox’s purpose-built appliances that deliver highly reliable, manageable and secure DNS services with built-in, automated DNSSEC features, and F5 BIG-IP Global Traffic Manager appliances optimized with hardware acceleration facilitating real-time signing of DNSSEC signature queries.
Give you an overview about
– device virtualization on ARM
– Benefit and real products
– Android specific virtualization consideration
– doing virtualization in several approaches
A Mobile Centric View of Silicon Valley - January 2011Lars Kamp
A presentation held at Opinno in San Francisco to a delegration from PromoMadrid. Goal was to provide a quick overview of major trends in mobile in 30 min.
Be A Mobile Design Hero: Transform Your Web Design Knowledge Into Mobile Desi...Vinny Wu
Kim Lenox (Consumer Electronics Industry)
This workshop is for web designers interested in shifting their careers toward designing for mobile devices. Kim Lenox of Adaptive Path, will describe what makes mobile different from the web and how to design for mobile context of use. Join Kim for this workshop and learn how your current web design background can be leveraged to design compelling mobile products.
Fjord @ Smart device and mobile user experience summitFjord
Fjord's Daniel Harris presented at Informa's 'Smart device and mobile user experience summit' in London. Here is the presentation. For more information visit www.fjordnet.com or follow us on Twitter @fjord
slides of a presentation about cross-platform mobile app development I gave at MobileTechCon 2010 in Mainz (Germany).
Links and additional information on the related blog post at http://HeikoBehrens.net/2010/10/11/cross-platform-app-development-for-iphone-android-co-—-a-comparison-i-presented-at-mobiletechcon-2010/
This deck was prepared for a lecture for week 1 of Founder Labs Mobile Edition.
The audience was a mix of developers, UI/UX designers and hardware engineers. The goal was to provide a baseline ecosystem overview and talk about technology drivers and business models in mobile.
Most of the slides in the deck are derived from work with my clients at Accenture.
Teaser section of my little book, "Experimental Media Voodoo™". It's about what I do as a digital media artist, and my approach to understanding digital culture, discussed and explained in micro-essays, case studies, tutorials, and neat charts!
Currently looking for a publisher for the full-color, full-bleed version! More info at : http://www.badmindtime.com/book .
Saiful hidayar santri indigo telkom republika pondok pesantren keresek garut ...Saiful Hidayat
Presentasi pada acara Santri Indigo di Pondok Pesantren Keresk Garut Jawa Barat pada tanggal 19 Mei 2010 yang diselenggarakan oleh TELKOM dan Republika dengan Topic Syiar Islam melalui pemanfaatan IT
Insights on interface and interaction design for multitouch interfaces. A free workshop I did on the C-mine event in Genk, Belgium on 21-09-2010 especially for interface designers.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Give you an overview about
– device virtualization on ARM
– Benefit and real products
– Android specific virtualization consideration
– doing virtualization in several approaches
A Mobile Centric View of Silicon Valley - January 2011Lars Kamp
A presentation held at Opinno in San Francisco to a delegration from PromoMadrid. Goal was to provide a quick overview of major trends in mobile in 30 min.
Be A Mobile Design Hero: Transform Your Web Design Knowledge Into Mobile Desi...Vinny Wu
Kim Lenox (Consumer Electronics Industry)
This workshop is for web designers interested in shifting their careers toward designing for mobile devices. Kim Lenox of Adaptive Path, will describe what makes mobile different from the web and how to design for mobile context of use. Join Kim for this workshop and learn how your current web design background can be leveraged to design compelling mobile products.
Fjord @ Smart device and mobile user experience summitFjord
Fjord's Daniel Harris presented at Informa's 'Smart device and mobile user experience summit' in London. Here is the presentation. For more information visit www.fjordnet.com or follow us on Twitter @fjord
slides of a presentation about cross-platform mobile app development I gave at MobileTechCon 2010 in Mainz (Germany).
Links and additional information on the related blog post at http://HeikoBehrens.net/2010/10/11/cross-platform-app-development-for-iphone-android-co-—-a-comparison-i-presented-at-mobiletechcon-2010/
This deck was prepared for a lecture for week 1 of Founder Labs Mobile Edition.
The audience was a mix of developers, UI/UX designers and hardware engineers. The goal was to provide a baseline ecosystem overview and talk about technology drivers and business models in mobile.
Most of the slides in the deck are derived from work with my clients at Accenture.
Teaser section of my little book, "Experimental Media Voodoo™". It's about what I do as a digital media artist, and my approach to understanding digital culture, discussed and explained in micro-essays, case studies, tutorials, and neat charts!
Currently looking for a publisher for the full-color, full-bleed version! More info at : http://www.badmindtime.com/book .
Saiful hidayar santri indigo telkom republika pondok pesantren keresek garut ...Saiful Hidayat
Presentasi pada acara Santri Indigo di Pondok Pesantren Keresk Garut Jawa Barat pada tanggal 19 Mei 2010 yang diselenggarakan oleh TELKOM dan Republika dengan Topic Syiar Islam melalui pemanfaatan IT
Insights on interface and interaction design for multitouch interfaces. A free workshop I did on the C-mine event in Genk, Belgium on 21-09-2010 especially for interface designers.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Restful User Experience
1. “Restful User Experience”
Unconventional views on
user experience vs. architectural design
Wayne Lee, May 2009
http://trilancer.wordpress.com/
2. What is this all about?
To share
my humble opinions
on user experience designs with
insights from representational state transfer
studies as well as inspecting software architectural design
with user experience philosophy to improve overall system design …
Or simply put, to study
through
UX REST LENS
and
through
REST UX LENS
to better system designs
Image Source: http://www.flickr.com/photos/danielgreene/344196890/
http://www.flickr.com/photos/surstubben/475404411/
3. Background
• Representational state transfer (REST)
– A software architecture style for distributed
hypermedia systems, e.g., the World Wide Web
– Introduced by Roy Fielding in 2000
• User experience (UX)
– The overarching experience a person has as a result
of interactions with a product or service, its delivery,
and related artifacts, according to their design
4. The REST Triangle
[Post, Get, Put, Delete], Hypermedia: HTML, XML,
[Post, Get, Put, Delete], Hypermedia: HTML, XML,
Represe
[C R U D] … JSON, JPG, GIF …
[C R U D] … JSON, JPG, GIF …
Verbs
Constrained Set Constrained Set
ntations
Constrained Set Constrained Set
RESOURCES
Nouns
Universal URI, XRI …
Universal URI, XRI …
Unconstrained Set
Unconstrained Set
5. REST vs. RPC
• Resource-centric view • Command-centric view
– ONE uniform set of – Custom, unique sets of
methods (verbs) methods (verbs)
– Standard media types – Custom media types
– Lots resources (nouns) – Fewer objects (nouns)
– Some common knowledge – Prior specific knowledge
required to access ALL required to locate / access
resources each object
6. REST vs. SOAP
• REST simplicity = • WS-* Complexity =
freedom from choice freedom of choice
– 5 decisions to choose – 12 decisions to choose
among 16 alternatives among 32 alternatives
– 12 decisions already – 2 decisions already
taken (but 5 are DIY) taken (SOAP, WSDL +
XSD)
Source: http://www.jopera.org/docs/publications/2008/restws
7. UX through REST lens
Image Source: http://www.flickr.com/photos/mark_boucher/794747329/
8. UX Differences
in software architectural terms
l”
” tfu
PC es
“R “R
Press together to
lock / unlock
“Dumb Phone” iPhone
• Lots models, varying UX • Few models, consistent UX
• Lots buttons, with function overload • Few buttons, soft keys on-demand
• Various key-combinations to invoke lots • Few gestures (tap, flick, glide…) to
(sometimes mysterious) functions invoke ALL functions
Image Source: Nokia & Apple
11. Conceptual Restful State Machine of iPhone
i.e., web browsing mentality can be mapped smoothly
/phone/favorites /phone/favorites/Jerry
/phone/contacts/Tom
/phone/contacts Call (submit)
/phone
/phone/keypad /phone/call
Dial (form input) Call (submit) End Call
/phone/voicemail /phone/voicemail/Emily Call Back (submit)
Delete
/phone/reschedule
State Transitions Explained with REST
Create a new call
/calendar POST /phone/call
Call session resource
Destroy current
DELETE /phone/call
End Call
call session
/mail Redirect back to
state before call
12. The iPhone Triangle
[Tap, Glide, Flick, Pinch, CoverFlow, List, Icon,
[Tap, Glide, Flick, Pinch, CoverFlow, List, Icon,
Represe
Rotate, Swing … ] ] Map, Table, Player …
Rotate, Swing … Map, Table, Player …
Verbs
Constrained Set Constrained Set
ntations
Constrained Set Constrained Set
Nouns
Events, SMS, Mails, Photos,
Events, SMS, Mails, Photos,
Songs, Videos, Apps …
Songs, Videos, Apps …
Unconstrained Set
Unconstrained Set
13. Restful User Experience (RUX)
UNIFORM STANDARDIZED
UNIFORM STANDARDIZED
Represe
buttons //commands // Info presentation
buttons commands Info presentation
Verbs
ntations
gestures … layouts //views
gestures … layouts views
Nouns
UNLIMITED
UNLIMITED
Volume of content
Volume of content
indexed or hyperlinked
indexed or hyperlinked
14. Further RUX Example – Universal Remote Control
• One-Touch Control
• Up to 15 components: video,
audio, & gaming
• Compatibility: supports 5,000+
brands & 225,000 devices
Logitech Harmony 1000 Advanced Universal Remote
Source: http://www.logitech.com/index.cfm/remotes/universal_remotes/devices/373&cl=US,EN
15. Different Approaches to Universal Remote Control, aka
RUX vs. RPC-UX
15 Devices
VS
Logitech Harmony 1000
5 Devices 8 Devices
16 Devices
Sony RM-AX4000A Logitech Harmony 510 Sony RMVL610B
for common users for power users
Image Source: Sony & Logitech
16. RUX or RPC-UX?
aka, REST or RPC
Image Source: http://deadthingsdontfly.deviantart.com/art/thisway-thatway-72119766
17. freedom of choice freedom from choice
4+ 10+
3
Models
14 10
Models
4
Models
Models
Models
Models
12 (color variation included)
Models / Series
Source: http://www.electronista.com/articles/08/06/30/rbc.high.iphone.demand/
18. iPhone Takes 2/3 of Mobile Market
Source: http://blog.concentricsky.com/2009/03/iphone-takes-23-of-mobile-market/
19. Implications
• Market suggests RUX popularity
– Device / application with lots “nouns” in usage scenarios better adopt
RUX to ease user access
– RPC-UX still works with limited nouns, but potential extensibility greatly
hindered by e.g., physical shape
• iPhone resembles web browsing experiences
– If you can surf the Web, you can use an iPhone
– If you can’t “surf” a phone, you won’t use it to surf the Web
• Less choices + good design = good business
UX through REST lens
20. REST through UX lens
Image Source: http://www.flickr.com/photos/valpopando/2787823568/
21. Less is More (More or Less):
Uncommon Sense and the Design of Computers
System Functionality vs. Human System Strength vs. Generality
y
alit
on
ti
nc
Fu
of Example: Potato Peeler
th
row (Can do FEW things BETTER than others)
G
Strength
Strong
Growth of Human Capability
Example: Generic Kitchen Knife Specific
(Can do LOTS things, but NOT optimized) System
Threshold of Frustration
a.k.a.
“Complexity Barrier” Weak General System
Generality
Source: http://www.billbuxton.com/LessIsMore.html
22. Software Architecture Design
through “less is more” lens
System Functionality vs. Human System Strength vs. Generality
• SOA
• “Smartphone”
which demand
lity RPC systems, Dedicated client
na really smart user
tio
nc Specific Remote Control…
Fu
Strength
Strong
Human Capability
Restful systems, Web browser Specific
Universal Remote Control… System
• Web dev
• iPhone
Weak General System
Generality
The theories hold true for developers & users alike …
23. A Strong AND General System?
a.k.a., integrated set of strong specific systems
Unlikely – “Net Benefit” –
Due to “threshold of frustration” from high A theoretical solution from Buxton about
cognitive load in design & use digital and networked devices …
Strength
Strength
Cognitive Load
“Net Benefit”
Threshold of Frustration
Generality
Generality
Net Benefit: devices communicate & cooperate with each other, thereby
assuming much of the load that would otherwise burden the user …
Source: http://www.billbuxton.com/LessIsMore.html
24. Approaches to “Net Benefit”
in Software Systems Integration
Solution A:
Unlikely
Solution A:
Intelligence in each system to enable
Intelligence in each system to enable
due to even more
automatic communication & collaboration
automatic communication & collaboration
complexity therein
between systems … aka. Magic
between systems … aka. Magic
Solution B:
Feasible
Solution B:
Apply principles, standardization,
Apply principles, standardization,
Apply “less is more”
simplification, unification & specifications…
simplification, unification & specifications…
for greater good
aka. Design Constraints
aka. Design Constraints
25. Less is More
The world wide web works by design, not magic
• Few verbs
Whole universe of knowledge
REST • A few MIME types
only clicks away
• Uniform resource URI
Image: 3D Map of World Wide Web from www.opte.org
26. More or Less?
Situations where RPC works way better …
Strong Specific System Weak General System
Looking for a Presenter?
Handy & efficient Overkill & inconvenient
Source: http://www.logitech.com/index.cfm/remotes/presentation_remote/devices/175&cl=us,en
27. More or Less?
… and REST works positively terribly
Try playing piano in a browser or on an iPhone all day …
Source: http://www.daniellaberge.com/music/webpiano/webpiano1.htm
http://moocowmusic.com/
28. REST or RPC?
aka, RUX or RPC-UX
Image Source: http://deadthingsdontfly.deviantart.com/art/thisway-thatway-72119766
29. RUX vs. RPC-UX versus REST vs. RPC
RPC-UX RUX
• Direct & Efficient • Lower “cognitive load” working with
Pros large complex systems
• High “cognitive load” operating large • Indirect / inefficient for responsive /
Cons complex systems repetitive tasks
• Fits specific command-&-control tasks • Fits general tasks
Conclusion • Good for power users, professionals … • Good for common users, info seekers…
RPC REST
• Optimized for specific task • Low technical barrier to entry
Pros • Fine-grained control • Massively extensible / scalable
• Hidden status & implicit semantics • Performance penalty, hard to customize
Cons • Complicated testing & debugging • Coarse-grained control
• Fits proprietary mission-critical apps • Fits open resource-oriented apps
Conclusion • Costly planning & implementation • Easier planning & implementation
30. UX Classification of iPhone Apps
RPC-UX RUX
QuickVoice Recorder
BrainTeaser Kindle for iPhone
FedEx Mobile
quot;Purequot; RPC-UX
quot;Purequot; RUX
RPC REST
A given system is usually a balanced combination of
RPC-UX & RUX, aka RPC & REST
31. “Pure” RPC vs. “Pure” REST
Difference in Aggregated Complexity
V R V R
N N
# of systems integrated
V – Verbs (method)
R – Representations (media)
Low High
N – Nouns (object, resource)
32. A Pragmatic Architectural Approach
for
Large Scale System Integration
V R
A REST “Core” Some RPC “Deviations”
• Governing constraints • Local architecture & principles
ARCHITECT
• Uniform interfaces & views • Special methods or layouts
• Mitigated overall complexity • Optimized local performance
DEVELOPER
• Clearer global design • Optimized local design
• Minimized cognitive load • Optimized local operation
USER
• Assured common user access • Convenience for power users
N
33. The Pragmatic Architectural Approach to
Realize “Net Benefit”
Tactic Use of RPC (RPC-UX):
Tactic Use of RPC (RPC-UX):
Strong Specific Approach
Specific command, custom configuration,
Local Specific command, custom configuration,
To strengthen specific tasks
non-standard interface, proprietary layout…
non-standard interface, proprietary layout…
Deviance and power users
To optimize specific local designs
To optimize specific local designs
+ + +
Strategic Use of REST (RUX):
Strategic Use of REST (RUX):
Weak General Approach
Architectural constraints, standardization,
Global Architectural constraints, standardization,
For common user access with
simplification, convention over configuration…
simplification, convention over configuration…
Uniformity minimized cognitive load
To mitigate overall complexity for design
To mitigate overall complexity for design
34. The Result – A Hybrid System
Actual System Cognitive Load
Strength & Generality Perceived by User
Strong specific features atop
Strength
Strength
Threshold of Frustration
“Net Benefit” foundation
Generality
Generality
35. Implications
• Complexity should be a decisive factor in architectural design
– For small & simple systems, either RPC or REST will work
– For large complex system integration: Strategic use of REST + Tactic
use of RPC recommended
• An actual system architecture should be a reasonable balance of
REST + RPC, according to usage nature
• Always fight complexity with Architectural Wisdom, not prayers for
miracle
REST through UX lens
37. References
• Roy T. Fielding’s DISSERTATION
– Architectural Styles and the Design of Network-based Software Architectures
• Wikipedia:
– http://en.wikipedia.org/wiki/Representational_State_Transfer
– http://en.wikipedia.org/wiki/User_experience
• Bill Buxton:
– http://www.billbuxton.com/LessIsMore.html
• iPhone App Store
– http://www.apple.com/iphone/appstore/
38. “Everything should be made as
simple as possible, but not simpler.”
Image Source: http://en.wikipedia.org/wiki/File:Albert_Einstein_portrait.jpg