SlideShare ist ein Scribd-Unternehmen logo
1 von 77
Downloaden Sie, um offline zu lesen
Design at Scale: Storage Case Study
Prepared for October 14, 2015
Hi, my name is Audrey and I’m a
Partner at DesignMap.
@DesignMap @ixdasf
1. Designing IN or FOR enterprise?
2. 4th order design: the enterprise system
1. managing the channel
2. old-fashioned challenges with dev
3. reaching “customers”
Topics
In or For?
@DesignMap @ixdasf
IN or FOR Enterprise?
@DesignMap @ixdasf
IN or FOR Enterprise?
@DesignMap @ixdasf
IN or FOR Enterprise?
@DesignMap @ixdasf
IN or FOR Enterprise?
@DesignMap @ixdasf
IN or FOR Enterprise?
@DesignMap @ixdasf
In Enterprise… For Enterprise…
IN and FOR Enterprise Challenges
• credibility
• un-SME-ing
• learning a new process
• who are “customers”?
• non-user concerns
Case Study: Storage
@DesignMap @ixdasf
• mid-sized company
• long institutional and deep topical history
• new market opportunity based on new user type
• internal advocate
• skepticism
Context
Challenge #1:

Our client didn’t mean user when they
said “customer”. Not even close.
You keep using that word. 

I don’t think it means what you think it
means.
@DesignMap @ixdasf
The “Customer” in the Channel
Original Producer
@DesignMap @ixdasf
The “Customer” in the Channel
OEM (original equipment manufacturer)
Original Producer
@DesignMap @ixdasf
The “Customer” in the Channel
OEM (original equipment manufacturer)Customer =
Original Producer
@DesignMap @ixdasf
The “Customer” in the Channel
Customer =
Original Producer
OEM
@DesignMap @ixdasf
The “Customer” in the Channel
Customer = OEM
Reseller
Original Producer
@DesignMap @ixdasf
The “Customer” in the Channel
Customer = OEM
Reseller (Partner)
Original Producer
@DesignMap @ixdasf
Customer =
The “Customer” in the Channel
OEM
Reseller
Buyer
Original Producer
@DesignMap @ixdasf
Customer =
The “Customer” in the Channel
OEM
Reseller
Buyer
User
Original Producer
@DesignMap @ixdasf
Customer =
The “Customer” in the Channel
OEM
Reseller
Buyer
User
Original Producer
@DesignMap @ixdasf
Customer =
The “Customer” in the Channel
OEM
Reseller
Buyer
User
Original Producer
@DesignMap @ixdasf
Customer =
The “Customer” in the Channel
OEM
Reseller
Buyer
User
Original Producer
@DesignMap @ixdasf
Customer =
The “Customer” in the Channel
User
Original Producer
OEM
Reseller
Buyer
@DesignMap @ixdasf
Customer =
The “Customer” in the Channel
User
Original Producer
OEM / VAR
Reseller
Buyer
WHO
CARES?
@DesignMap @ixdasf
Customer =
The “Customer” in the Channel
User
Original Producer
OEM / VAR
Reseller
Buyer
(SRSLY.)
@DesignMap @ixdasf
Challenge #1:

Our client didn’t mean user when they
said “customer”. Not even close.
Solution:

Sure, make sure the users are real.
Challenge #1:

Our client didn’t mean user when they
said “customer”. Not even close.
Solution:

But more than that, find your highest-up
advocate who knows the business case.
Challenge #2:

What if making it easier messes up the
[resellers] business model?
@DesignMap @ixdasf
The “Customer” in the Channel
Customer = OEM
Reseller (Partner)
Original Producer
12 | DesignMap, Inc. | March 22, 2013
FEED-FORWARD RESEARCH
Step 3. Conduct Interviews
Name Role Company
Dave C Owner Atom Creek
Eric Professional Services Engineer TSS Link
Ihsan Professional Services Engineer TSS Link
James Professional Services Engineer Mainline Tampa
Jason Professional Services Engineer Mainline Tampa
Joe M Professional Services Engineer SBS
Jow W Professional Services Engineer SBS
Jose Professional Services Engineer Contender
Matthew Systems Engineer Lewan
Rudd Professional Services Engineer Lewan
Name Role Company
Dave C Owner Atom Creek
Eric Professional Services Engineer TSS Link
Ihsan Senior PSE TSS Link
James Systems Engineer Mainline Tampa
Jason Systems Engineer Mainline Tampa
Joe M Professional Services Engineer SBS Planet
Joe W Professional Services Engineer SBS Planet
Jose Professional Services Engineer Contender Solutions
Matthew Systems Engineer Lewan
Rudd Professional Services Engineer Lewan
Size Location % SMB
~10 Denver, CO 50%
~100 Sunnyvale, CA 25%
~100 Sunnyvale, CA 40-50%
~600 Tampa, FL 30-40%
~600 Raleigh, NC 50%
~200 Sterling, VA 50-60%
~200 Sterling, VA 50%
~25 New Port Richey, FL 40-50%
~500 Denver, CO 90%
~500 Denver, CO 90%
We interviewed 11 VAR Professional Services Engineers
14 | DesignMap, Inc. | March 22, 2013
FEED-FORWARD RESEARCH
Step 3. Conduct Interviews
We interviewed potential users in person and over the phone
4 of 4 Partners
Liked the new import process,
particularly visually mapping extensions
and users to the ports.
Noteworthy
When importing users, if there were a
way to add people to huntgroups/create
huntgroup from the csv.
PARTNER VALIDATION | Templates
AVAYA Web Manager
System Map ExportAdd
Buffalo, NY
View/EditIP Office Linux Box
IP
0
Phone Users
+
LAN
Dashboard
AVAYA Global Settings HardwareCall ManagementWeb Manager
Map Phones
Logout
Wells Fargo West
Account
View/EditIP 500 V2
Analog
0 +
Digital
42 +
IP
0
Phone Users
+
SIP End Points
176
SIP End Points
200
Digital Ports
42
Analog Ports
30
View/EditIP 500 V2
Analog
0 +
Digital
0 +
IP
62
Phone Users
+
SIP End Points
176
Digital Ports
12
Analog Ports
30
View/EditIP 500 V2
Analog
0 +
Digital
0 +
IP
0
Phone Users
+
SIP End Points
176
Digital Ports
12
Analog Ports
30
IP Phones Added
Avaya | IP Office Web Manager 15 May, 2012
AVAYA | IP OFFICE MANAGER
https://ipoffice.avaya.com/
Jenelle Davis Editx111(310) 111-1111 Remove
Voicemail Routed From User RightsVoicemail User RightsRouting
Edit Person
Denver SalesTeam x425
Hunt Group
Janelle Davis x111
Person - Priority 1
(310)-111-1100
DID# Details
(310)-111-1111
DID# Edit
Main Attendant
Auto Attendant Details
Details
Denver Support x426
Hunt Group Details
Mobility Forwarding
EditEdit
PRIORITY
1
SYSTEM PHONE RIGHTS
Level 2
PROFILE
Basic User
Advanced Settings Close
Add Call
Source
Add
4 of 4 Partners
Liked the visual represention of the
incoming call routing.
Noteworthy
One person would like to see the
outgoing call routing visualized here.
PARTNER VALIDATION | Task-based UI
Avaya | IP Office Web Manager 15 May, 2012
Overall a great meeting. They thought our "high value" areas were on target. Overall really positive feeling on the direction we are
going. Dan said "it's miles ahead of where we are today." Two things that stood out as favorites are the network map and the launch
screen with a list of customers. They wish they could link voicemail pro to this and access everything they need from one place.
Multi-site Management Screen #1: Customer List
- They liked the first screen particularly the ability to filter for who is on what version and push out updates.
- Dan thinks that the field "# of units" don't make a lot of sense because he feels that if you have 3 locations you're likely to have 3
control units. Currently most of their customers only have 1 control unit.
- Looking at this screen, he think they'd have a server on site that is hosting this.
Multi-site Management Screen #2: System Map
- Dan raised a concern he needs reassurance that other partners can't see his customers.
- He really likes visually having a "quick look" or "dashboard view" of the system.
- He liked that the systems can auto-detect and hopes not to have to use the manual process.
- He wishes that he can see statuses or "alarms" here (e.g. if a port isn't working).
- He asked "is it a live application running on one of our servers?" and "Maybe SMTP messaging might be possible."
- What they'd like in the "Export" is mapping ports to extension # and person and also things like PRI configuration ("DMS100 or
something else?")
Templates screen #1: import
- They like this process and the visual mapping.
- They liked the DID and extension but he thinks you mapping people to them was automated somehow.
Templates screen #2: User Right
- Overall great impression on this screen, no specific input.
Task-Based UI screen #1: Routing
- They think this makes a lot of sense.
- They liked that you can edit from here.
Task-Based UI screen #1: Call Management
- They really liked being able to see a snapshot of the person.
Access Control screens: Don vs. Robin's Network Map
- He'd rather see slots instead of "chassis" because a "chassis" has multiple cards and he wants to see each card in every slot.
- High impact design issues are right on
- Need to get to one interface/management tool for IP Office
- Need multi-level access privileges for the management tool
- Suggest four or five fixed levels (basic admin, admin, super user, etc) and then the ability to modify or create a customer user.
- Scenarios required to cover are single stand alone, SCN multi-site and Mid Market multi-site
- Like the snapshot of customers for multi-site
- Nice to see the network at a glance
- What do “units” mean – need to clarify.
- Want to see unit element status (red, yellow, green) so that they can proactively go and resolve issues. Quick view of alarms.
- Tech typically deal with port numbers, directory numbers and user names. These would be valuable to export. Plus PRI
configurations.
- Templates – want to see ability to quickly program ranges.
- Agent template well received.
- Menu structure – like the user summaries.
- Want to see status of phones.
- Want to see what is contained in each slot of the main chassis or expansion units.
- Overall direction is good. Miles ahead of what we have today. Want to see other tools like VM Pro integrated.
Dan Silverman & Sidney Almonte Telanet
APPENDIX | Partner Interview Notes
Avaya | IP Office Web Manager 15 May, 2012
Challenge #2:

What if making it easier messes up the
[resellers] business model?
Solution:

Operation bear hug!
Challenge #3: Credibility

How can you little designers possibly
understand all this complicated stuff?
Storage
Primary
Secondary
Tertiary
Random
Access Memory
(RAM)
Flash Drive
Tape Library
Tape Drive
Archiving
Backups
Hardware Software
Cache
Memory
RAM
(Volatile)
Flash
(Non-
Volatile)
Disk Array
Filer
also known as
and
des
Monitoring
Notifications
Email
SMS
can be
can becontains
Virtualization
Software
reads
is comprised of is comprised of
such as
enables
consisting of
sent by
sent by
IT Admin
Support
Desk
Installer
sent to
sent to
sent to
tracks and reports
which is
Storage
Primary
Secondary
Tertiary
Random
Access Memory
(RAM)
Hard Disks
Optical
Drive
Flash Drive
Tape Library
Tape Drive
Archiving
Backups
Hardware
Local
can be
Direct-
Attached
torage (DAS)
Controller
Storage Array
Software
Cache
Memory
RAM
(Volatile)
Flash
(Non-
Volatile)
Disk Array
Filer
also known as
and
also known as
determines how
contains
has certain
measurable
includes
Monitoring
Notifications
Email
SMS
and presented to
Power
Supply
can be
can becontains
contains
Meta-Data
provides mapping information in the form of Mapping Table
stored as a
Virtualization
Software
reads
I/O Request
receives a
translated into
location on the
logical disk using
handles
allows
handles
is comprised of is comprised of
such as
can
enables
consisting of
sent by
sent by
IT Admin
Support
Desk
Installer
sent to
sent to
sent to
tracks and reports
which is
Storage
Primary
Secondary
Tertiary
Random
Access Memory
(RAM)
Hard Disks
Optical
Drive
Flash Drive
Tape Library
Tape Drive
Archiving
Backups
Characteristics
Capacity
Performance
Hardware
Local
can be
Direct-
Attached
Storage (DAS)
Controller
Storage Array
Physical Disk
Drives
Aggregates
Latency
Software
Logical Unit Numbers
(LUNs)
Cache
Reliability
Memory
RAM
(Volatile)
Flash
(Non-
Volatile)
Disk Array
Filer
also known as
and
also known as
such as
such as
such as
Partition
Virtual Disk
also known as
and
carved into
ume
ent
Snapshot
collects the s
is some
can be
determines how
contains
has
has
has certain
measurable
includes
virtualized
with
virtualized
with
are combined as
Logical Volume
and
Monitoring
Notifications
Email
SMS
Logical Block
Addressing
(LBA)
labeled using
and presented to
Storage Pools
or
magnetic
rotational
SSD
Power
Supply
can be
can becontains
contains
through methods of
Raw
Capacity
total amount a
device can hold
compactness
stored data
time it takes to
access a location
an
tten
nanoseconds
measured in
Deduplication
Data
Compression
technique of
in-line as data is
flowing
post-process after
data has been
written
can be done
can be done
File Systems
enable
creation
of
bined
m
Front-End
Back-End
iSCSI
HyperSCSI FICON
communicates
with the
InfiniBand
such as such as such as
such as
Power
Consumption
such as
Temperature
requires
management of
conservation
affects
can be
can be
Meta-Data
provides mapping information in the form of Mapping Table
stored as a
Virtualization
Software
reads
I/O Request
receives a
translated into
location on the
logical disk using
Replication
Synchronous
Asynchronous
handles
can be
can be
Disaster
Recovery
used foris used to create
I/O Access
allows
Non-Disruptive
Data Migration
even during
handles
is comprised of is comprised of
such as
can take a
enables
consisting of
sent by
sent by
IT Admin
Support
Desk
Installer
sent to
sent to
sent to
tracks and reports
which is
is used to create
Storage
Servers
Primary
Secondary
Tertiary
Random
Access Memory
(RAM)
Hard Disks
Optical
Drive
Flash Drive
Tape Library
Tape Drive
Archiving
Backups
Characteristics
Capacity
Performance
Hardware
Block
Access
Storage
File
Access
Storage
Local
Network-
Attached
Storage (NAS)
Storage Area
Network (SAN)
can be
Direct-
Attached
Storage (DAS)
Controller
Storage Array
Physical Disk
Drives
Aggregates
Throughput
Latency
Software
Logical Unit Numbers
(LUNs)
Cache
Redundant Array of
Independent Disks
(RAID)
Redundancy
Reliability
Availability
of which a factor is
Memory
RAM
(Volatile)
Flash
(Non-
Volatile)
Disk Array
Filer
also known as
and
Network
File System
(NFS)
Common
Internet File
System (CIFS)
also known as
also known as
also known as
such as
such as
such as
Partition
Virtual Disk
also known as
and
carved into
Logical Volume
Management
(LVM)
Data Striping
Snapshot
State
collects the system's
Read-Onlyis sometimes
Read-Write
can be
Branching
Snapshot
and considered a
which
provide
determines how
contains
has
has
has certain
measurable
includes
virtualized
with
virtualized
with
is delivered over
are combined as
Logical Volume
and
Client Systems
Thin
Virtual
can be
can be
Applications
installed on
serves requests of
Network
through the
Monitoring
Notifications
Email
SMS
Logical Block
Addressing
(LBA)
labeled using
and presented to
Storage Pools
or
magnetic
rotational
SSD
Power
Supply
can be
can becontains
contains
through methods ofalso handles
used often in
Raw
Capacity
Memory
Density
total amount a
device can hold
the compactness
of stored data
time it takes to
access a location
rate info can
be read/written
bit rate
expressed in
nanoseconds
measured in
Local Area
Network (LAN)
enables
file-level
access over
Wide Area
Network
(WAN)
Internet
crucial difference
between File and
Block
provides access to raw data
and leaves managing up
to attaching systems
presents and manages
file systems to/for
client computers
Deduplication
Data
Compression
technique of
in-line as data is
flowing
post-process after
data has been
written
can be done
can be done
Cluster
Load-
BalancingSingle Point
of Failure
used to avoid
configured for
Clustered File
System
Mounted
on multiple
which is a file
system
File Systems
enable
creation
of
can be combined
to form
Clustered
NAS
Server
Message
Block (SMB)
formerly
called
Active
Directory (AD)
Forest
Tree
Domain
Domain
Controllers
are considered
when they run
Domain Name
System (DNS)
Namespaceidentified by within a
Authentication
allows for
using
Application-
Layer Network
Protocol
operates
as
logically
divided into
enables
file-level
access over
enables
file-level
access over
Front-End
Back-End
Small Computer
System
Interface (SCSI)
Parallel ATA
(ATA or PATA)
Serial ATA
(SATA)
ATA over
Ethernet (AoE)
communicates
with disks using
Protocol
Serial Attached
SCSI (SAS)
such as
such as
Fibre Channel
(FC)
such as
iSCSI
HyperSCSI FICON
Host Bus
Adaptor (HBA)
communicates
with the
using
twisted pair
copper wire
fiber-optic
cable
can be
can be
InfiniBand
Ethernet
Less Popular
Protocols
such as
such as
such as
such as such as such as
such as
such as
such aswhich enables
Distributed
File System
if using
is called
is a
Unix
used with
Windows
used with
Network
Protocol
such as
such as
served by
File System
Fragmentation
influenced by
Defragmentation improved by
Power
Consumption
such as
Temperature
requires
management of
conservation
affects
can be
can be
Meta-Data
provides mapping information in the form of Mapping Table
stored as a
Virtualization
Software
reads
I/O Request
receives a
translated into
location on the
logical disk using
Replication
Synchronous
Asynchronous
handles
can be
can be
Disaster
Recovery
used foris used to create
I/O Access
allows
Non-Disruptive
Data Migration
even during
handles
operates
as
is comprised of is comprised of
such as
can take a
enables
consisting of
sent by
sent by
IT Admin
Support
Desk
Installer
sent to
sent to
sent to
tracks and reports
which is
Shared Disk File
System
to create a
also called
to serve up
is used to create
Version 1.0
February 20, 2013
Java
devices
thatmake
usefulfor
peoplelearn
anduse
Developers
programs
tocreateandrun
and the
internet
What is Java Technology?
This diagram is a model of Java™ technology. The diagram
explains Java technology by placing it in the context of related
concepts and examples, and by defining its major components
and the connections between them. It shows how developers
use Java technology to create programs that benefit people
everywhere, and explains how computers and networks relate
to Java technology.
The diagram is intended to help developers who are familiar
with one part of the Java platform understand other parts. It
relates unfamiliar technologies to ones with which developers
may already be familiar. The diagram also provides an overview
for developers who are new to Java technology and an
introduction for non-programmers who want to improve their
ability to converse with developers. For more information,
visit the web site at http://java.sun.com.
Concept Maps
The diagram takes the form of a concept map – a web of linked
terms showing both overall structure and details. By showing
everything – the forest and the trees – in a single view, concept
maps help people visualize mental models and clarify thoughts.
In concept maps, verbs connect nouns to form propositions.
Examples and details accompany the terms. More important
terms receive visual emphasis; less important terms and
examples are in gray. Purple terms and purple lines indicate a
process. Terms followed by a number link to terms preceded
by the same number.
Trademarks
© 2002 Sun Microsystems, Inc. All rights reserved.
Sun, Sun Microsystems, the Sun logo, Java, the Java
coffee cup logo, J2EE, J2SE, J2ME, Enterprise JavaBeans,
EJB, JavaBeans, Java Card, Java Community Process,
JCP, Javadoc, Java Embedded Server, JavaHelp, JavaServer
Pages, JSP, Java TV, Java 3D, Jini, JVM, PersonalJava,
Solaris, and SunOS are registered trademarks of Sun
Microsystems, Inc.
Any errors or omissions are the responsibility of the
authors. Comments are welcome; contact Audrey Crane
at audrey@dubberly.com.
February 14, 2003
Acknowledgements
Prepared for the Sun Developer Web Services Group
by Dubberly Design Office/Devine/Faris/Saddler.
Significant contributions from the following people
made this map possible: Josh Bloch, Lisa Friendly,
Doug Kramer, Paul Pangaro, Robert Patten, Monica
Pawlan, Carla Schroer, Leigh Shevchik, Alan Sommerer,
Ken Tallman, and James Urquhart.
Thanks also to Cindy Bloch, Adam Cohn, Andrey
Dikanskiy, Larry Freeman, Dale Green, Joann Gray,
Cori Kaylor, Onno Kluyt, Stuart Marks, Shawn Moore,
Chuck Mosher, Shaler Ney, Eduardo Pelegri-Llopart,
Lori Uzzo, Brad Wetmore, and Hinkmond Wong.
Java object model
Java virtual machine
(JVM
TM
)
Programming language
Development process
Java Community ProcessSM
Java
TM
2 Platform:
end-to-end solutions Documentationfor enterprise servers and applications for desktop servers and applications for consumer and embedded servers and applications
is a name for a ... programming language
is also a name for ... SDKs and JREs
defines a set of ... APIs 13
is implemented as a set of ... platforms 27
can be used to write ... programs 24
such as ... applications 28
enable ... services 26
run on and connect ... devices 25
define
may
containmultiple
maycontain
multiple
implement
implement
or
referto...objects15
are
constrainedby
are
constrainedby
areinvokedby
maydefinerequired
or on ... objects 15
define a location to store
canbe
are processed by the to create
has
have
may be an
mayoverrideexisting
maydefinenew
mayrelyonparent's
containmultiple
areratifiedby...theJCP2
servesasthe
definesthe
behaviorof...APIs13
define
canbe
used
through
inherits methods and properties from a
may also be a
field types can be
field or class types can be... classes 12
may implement
are runtime instances of ... classes 12
have
are created by
implement
running in RAM are
may be categorized as
are constrained by
are distinguished by
manipulate
enforces a
is defined by the
enables
improves can be improved by
can be improved by
implements
implements
controls access to
enable
defines
thatisanisorganizedby
provide
suchas
is defined by the ... Java Language Specification 43
is used to write ... programs 24
is used to write ... class libraries 10
is based on the
outline
layout
contributeto
thegenerationof
contributeto
thegenerationof
testing
mayfinda
maybethoughtof
asrunning...objects15
such as
allowsadjustmentof...objects15
may include
are used to write, test, and debug
is trapped by a
areexamples
of...classes12
mayconsistof
often discuss Java in
draft
areledby
consist of members of
and do the work of the
overseen by the
arerepresentedonthe
issubmittedto
administers the
chairs the
exists within
hasawhichis
comments on
may request major revisions via
may revise
develops
works with
supports the development of ... Java 0
provides ... documentation 42
owns the ... Java trademark 1
make(s) ... SDKs 29
makes versions of a ... JVM 18
provides
is represented on
champion
isaddedtothe
definitionof...Java0
become members of the JCP by signing
within the context of the Java Community Process,
may function as ... developers 23
support the development of ... Java 0
make ... SDKs 29
make versions of a ... JVM 18
certify Java applications using
providebuildingblocksforrunon
arecomposedofarecomposedofarecontainedininclude
runonrunon
arecomposedof
readconfigurationsfroma
are configured by is described by have interfaces provided by
can call other
always have
can be ... J2SE applets 36
can be ... J2SE applications 38
can be ... J2ME applets 40
can be ... MIDlets 41
have
such as and
isusedtobuildandrun
canbea
runinsidea
include
canbecreatedbyrunson
runson
runon
are ... class libraries 10
may include ... tools 17
are used in ... development environments 16
include ... class libraries 10
are used to create ... programs 24
include a
include ... packages 11
are used to run ... programs 24
always directly build
embed programming code in a
depends upon
such as
are
mayutilizethe
arerunin
areconfiguredbya
ishousedin
arebuiltusing
runinsidean
runinsidea
arebuiltusing
arebuiltusing
runinsidea
iscreatedbya
iscontainedin
never directly build may directly build
include ... platform packages 37
contains
runs on
may be enabled by
are enabled by
provides a
isonetypeof
isusedto
buildandrun
isusedto
buildandrun
are
are
arebuiltusing
arebuiltusing
mayruninsidea
runinsidean
forexample
are contained in the
arebuiltwith
may be enabled by anmay be enabled by a
arebuiltusing
arebuiltusing
runina
arebuiltusing
runsonrunon
containsa
subsetofa
includea
includesadependson
dependson
such asare
arebuiltwithisusedtobuildandrunarebuiltusinga
are
builtwith
maybe
builtwith
maybe
builtwith
maybe
are
builtwith
iscontainedinthe
definesarunsonrunon
isusedtobuildandrunarebuiltwitharebuiltusingrunonrunonrunsonrunsona
isusedto
buildandrunarebuiltwiththerunsonarunsonrunon
is instantiated by
runson
runson
runon
runon
is based on subsets of
forexample
such as
such as such as
run in a
maybeinterpretedbya
suchas
suchas
suchas
suchas
specifiesand
documents...J2EE32
specifiesand
documents...J2SE35
specifiesand
documents...J2ME39
suchas
arecontainedin
dependon
arecontainedin
runson
are
isusedtocreatearereadbya
runona
defines
are
storedin
compilessourcecodeintoisstoredin
translates
bytecodeintoconstitutea
whendebugged,
contributesto
is edited in the
beginswith
areusedtobuildthe
begins with
if accepted becomes a may become a may become a
is added to the
definition of ... Java 0
may be implemented in
is instantiated in a
12
... interfaces 14
connects ... devices 25
supports
supports ... web services 33
engagein
arefacilitatedbyareinstantiatedin
features and benefits
hasawhichis
isdistinguishedby
may download and install ... JREs 30
often own ... hardware 31
some of whom are ... developers 23
is developed with ... platforms
are used by
support ... services 26
such as ... hardware 31
object-oriented programming language 9
explicit error handling 22
garbage collection 21
security model 20
architecturally independent applications 19
Java virtual machine 18
hosts
is the foundation for
the completed
helpsidentify
problemswith
suchas
is a
runsinsidea...webbrowser34
run inside a ... web browser 34
members join the JCP by signing the
includesmembersfrom
isusedtobuildapplications
andservicesbasedon
maybecomeplatformpackagesviathe...JCP2
may submit or comment on a ... Java Specification Request 3
who are members of the Java Community Process serve on ... expert groups 5
form ... Java developer communities 4
comment on a ... public draft 6
participate in the ... Java Community Process 2
may request revisions from the ... maintenance lead 7
who are members of the JCP elect the ... executive committee 8
often use ... development environments 16
participate in the ... development process
consistof
J2ME Tutorials
Java Series
Mobile Information
Device Profile (MIDP)
API Documents
Connected Limited
Device Configuration
(CLDC) API Documents
Connected Device
Configuration (CDC)
API Documents
J2ME API Specification
Connected Device
Configuration (CDC)
Specification
Connected Limited
Device Configuration
(CLDC) Specification
Foundation Profile
Specification
J2SE Platform
Specification
J2EE Platform
Specification
J2EE Connector
Specification
J2EE API Specification
Java Series
J2EE Tutorials
PersonalJava
Specification
Personal Basis Profile
Specification
Personal Profile
Specification
J2SE API Specification
Java Series
tutorials
Java Language
Specification (JLS)
J2SE Tutorials
J2ME Platform
Specification
Mobile Information
Device Profile (MIDP)
Specification
point-of-sale (POS)
systems, pagers, cell
phones, and personal
digital assistants (PDAs)
Java Card, subscriber
identity module (SIM)
phones, and
multi-application smart
cards
network-aware
appliances,
automobiles, and
Telematic networks
Windows
Mac OS
Unix
Linux
Irix
SolarisTM
SunOSTM
AIX
Alpha
RS6000
FreeBSD
NeXT
HP-UX
Compaq Tru64
beOS
VMS
Solaris, Linux, Windows,
HP-UX, AIX, FreeBSD
Windows
SolarisTM
proprietary systems
Palm OS, Windows CE,
RTOS, Linux, Symbian OS,
proprietary systems
Java forums Java developer
communities
specification leads
(spec leads)
Java Community
ProcessSM
(JCP)
Executive
Committee
alternate
implementations
Sun companies
Java Specification
Request (JSR)
community
draft
public
draft
new Java specification Reference Implementation
& Technology Compatibility Kit (TCK)
Program
Management Office
maintenance
lead
visual programming tools
class
structures
user interface
frameworks
bug
development environments tools
expert groups
logo
source code framework
source code
text editor
classes
text files
compiler
byte code
binary files
virtual machine
machine instructions
fragment or
application
debugger
J2EE
documentation
J2SE
documentation
J2ME
documentation
other
documentation
J2METM
J2ME
applets
J2ME
applications
MIDlets
Personal
Profile (PP)
Profiles
CDC configurations CLDC
J2ME
Wireless
Toolkit
Java virtual machine
specialized
embedded applications
PDA
applications
cell phone
applications
MIDP
Java CardTM
Java TVTM
Java Embedded
ServerTM
(JES)
applications for use
with Smart Cards
Java Card applets
Java Card API
Java Card
virtual machine
interactive television
applications
Java TV Xlets
Java TV APIs
PersonalJavaTM
Java virtual
machine
televisions
embedded
applications
Java Embedded
Server
framework
Java virtual
machine
proprietary
systems
real-time operating
systems (RTOS)
Java Card
Development
Kit
platforms
applications
runnable components
components
packages or
libraries
Software Development
Kits (SDKs)
Java runtime environments
(JREs)
operating
systems
specific devices (hardware)
deployment
descriptor
EJB
container
Enterprise
JavaBeansTM
(EJB)
servlets JavaServer
PagesTM
(JSPTM
)
web container
connector
architecture
business logic server components client components user interfaces
web-based
applications
J2EE platform
packages
J2EE specific
packages
Java virtual
machine
Java-enabled
web server
J2EE
application
server
Java Web Services Developer Pack
servers
J2EE Software Development Kit
web services
web browser
markup language
Extensible Markup
Language (XML)
Simple Object
Access Protocol
(SOAP)
UDDI
J2SE applications
platform packages
Java regular
expressions
J2SE Software
Development Kit
Java Plug-In Java-enabled
browser or viewer
operating system-based
Java virtual machine
J2SE optional packages
desktop applications
Java 3DTM
JavaHelpTM
optional
packages
J2ME
optional
packages
J2SETM
Swing
containers
enterprise applications client/server
applications
J2EETM
applications embedded
in a web page
J2SE applets
JavaBeansTM
Beans
personal
computers
workstations
portability
Java virtual machine specification
critical resources
explicit error handling
garbage collection
security model
architecturally independent applications
Just-In-Time compilation
dynamic compilation
performance
syntax and
keywords
object-oriented programming language
benefits and advantages
reduced development time
ability to write higher-quality code
more maintainable code
ability to call non-Java functions
principles
objects
serialization
class libraries
packages
classes
methods constructorsinner classes
superclass (parent class) abstract class
APIs
subclass (child class)
fields
types
scope
commentsdeclarationsstatements
data
primitives object references
JavadocTM
comments
Javadoc
tool
interfaces
methods and fields
browsable
documentation
API spec
activities
services
software
trademark
logo
JiniTM
Provides a complete
specification for the
syntax and semantics of
the Java programming
language.
11
10 13
14
15
12
18
25
9
22
21
20
19
16 17
32 35
36
37
38
39
40 41
43
42
2
3
0
5
4
6
8
7
33
34
24 26
27
23
28
31
30
29
1
Application
programming
interface
specification.
Runtime instances of classes.
In runtime, refers to the process of
turning an object into a data stream for
purposes of transmission or storage.
Classes are source
code files that
describe a unit of
programming. A class
relates a set of data
(fields) and functions
(methods) that use
the data.
Class libraries are
organized collections
of prebuilt classes
and functions used to
create other classes.
Class libraries can be
part of the Java
standard – meaning
they have been
ratified by the Java
Community Process –
or created by
individual developers
for their own or their
company's use.
An application programming interface is the
written or understood specification of how a
piece of software interacts with the outside
world. It specifies what input the application
or application component accepts, how the
software will behave, and what output it will
provide. All computer software relies on a
variety of APIs to achieve tasks such as
writing a file or displaying text. APIs often
depend on other APIs.
Particular to Java,
interfaces are source code
files that define a set of
functions (methods) that
are required by a class.
Interfaces name methods
and set an expectation for
each method's behavior,
but do not implement the
methods. Interfaces allow
a piece of code to be
written in such a way that
the code can work with
any type of class that
supports the interface.
Abstract classes permit child
classes to inherit a defined method
or to create groups of related
classes for polymorphic behavior.
Primitives
generally enable
basic math or
comparison
operations.
Inner classes reside inside
another class, allowing
for better organization.
Should not be confused
with subclasses.
In running
programs,
statements
prescribe actions
or a sequence of
actions.
Scope limits access to methods and properties. Levels include:
• public: can be called or manipulated freely
• protected: can be called or manipulated by a class in the same package
• private: can be called or manipulated only by the same class.
Comments specifically formatted to
be processed by the Javadoc tool.
In running
programs,
declarations define
a variable's
existence and
determine scope.
Notes that developers include to
explain source code to
themselves and others.
Methods are
detailed
instructions that
cause a running
object to take
action or
manipulate data.
Fields are
sometimes
referred to as
properties.
The virtual machine may encounter a problem, or exception, while a program is running.
The Java language requires that pieces of code which are likely to encounter a particular
error offer a mechanism for handling the exception at runtime. When an error is
encountered, the virtual machine executes the code designed to respond to the error.
Watching for data in memory that is no longer needed and freeing the memory for reuse.
Other programming languages require programmers to free memory explicitly when a
piece of data is no longer needed, which can increase the development effort.
Architecturally dependent machines that are available
for nearly every contemporary operating system.
Significantly improves virtual machine
performance by translating groups of
instructions from byte code to machine
code rather than one instruction at a
time.
Goes beyond Just-in-Time compilation by
examining the code as it runs and
focusing optimization efforts on the most
critical pieces of code as it executes.
Dynamic compilation is enacted by the
Java HotSpotTM
virtual machine.
One application can run in multiple environments
without being rewritten or recompiled.
Including memory and hard drive.
Such as the object
model, inheritance,
modularity,
abstraction, hierarchy,
implementation
hiding, information
hiding, encapsulation,
and polymorphism.
Java Native Interface (JNI) provides a method for calling native
functions such as operating system or legacy library functions.
As opposed to a purely procedural
programming language.
The Java language has roots in C, Objective C,
SmallTalk, and LISP.
Class structures
are basic source
code that
provides a
framework
for the classes,
describes the
class hierarchy,
and provides the
names of the
class methods
and properties.
Does not include
implementation
details (method
definitions).
Downloads and documentation are
available at http://java.sun.com.
Selected Java products have been
localized into many languages. This
localization is one of the key factors
for adoption of Java technology
worldwide.
The combination of the class
structures and the user interface
framework into a skeleton of the
application's overall source code. Does
not include implementation details.
Basic source code that
describes the graphical
user interface.
Does not include
implementation details.
The software development process is iterative, with several
rounds of designing, writing, compiling, running, and testing
before software is deployed.
A software utility
that turns
human-readable
text files into
machine-
friendly byte
code.
Are computer-
readable.
Binary files
usually have
the suffixes
.jar, .jcm,
.class, .ear, or
.war.
Is platform
independent. It
almost never can
be read by the
processor
directly.
Is human
readable.
Are processor
dependent. They can
be read by the
processor directly.
Java developers often use specific development environments
called Integrated Development Environments, or IDEs.
Are human-readable.
Usually have the
suffixes .java or .jav.
A Reference Implementation is
a working example of the JSR.
Other companies will produce
their own implementations.
The TCK is a suite of tests,
tools, and documentation that
provides a standard way of
testing an implementation for
compliance with a Java
specification.
A proposal to develop
a new specification
or significant revision
to an existing spec.
Companies include
IBM, Motorola,
Nokia, Oracle,
Novell, Netscape,
Hewlett-Packard,
Apple, and BEA.
There are two
executive
committees:
J2EE/J2SE and
J2ME.
Universal Description,
Discovery, and Integration
provides a way for businesses
to discover each other. Can
also be used programmatically
by applications to locate an
application or service.
There are several
implementations of
Mobile Information
Device Profile,
including MIDP for
Palm 1.0.3, MIDP
1.04 for Monty, and
MIDP 2.0.
Profiles are packages required
for a particular vertical
market segment or set of
related devices. Other profiles
include Foundation, Game,
Personal Basis Profile, and PDA.
A system that
enables
developers to
incorporate
online help in
applications or
web sites.
A set of classes
used to write
three-dimensional
graphics applets
or applications.
Connected Device
Configuration
includes specific
packages that are
subsets of the J2SE
equivalent:
java.lang
java.util
java.net
java.io
java.text
java.security
A set of
packages that
define basic
services for a
range of
devices.
Connected Limited
Device Configuration
includes specific
packages that are
subsets of the J2SE
equivalent:
java.io
java.lang
java.util
javax.microedition.io
The J2ME Wireless
Toolkit includes the
necessary tools,
emulators,
documentation, and
examples to develop
and simulate Java
applications targeted
at cell phones,
pagers, PDAs, and
other small devices.
A JVM can be optimized for cell phones,
PDAs, and other similarly resourced devices.
Java 2 Platform Micro Edition is intended to run on devices
with limited computing power, such as cell phones or PDAs.
J2ME has reduced processor and memory requirements. It is
based on subsets of J2SE with additional components for
market segments such as hand-held devices.
Manage
transactions,
life-cycles,
and data
persistence.
Provides a mechanism
for connecting to legacy
information systems.
Cannot function on their
own, but are used by other
components or runnable
components.
Enterprise JavaBeans
define independent pieces
of business logic or
application behavior that
can call either servlets,
JSPs, or other EJBs.
Includes the binary version of the J2EE Reference
Implementation, plus the development tools and
documentation needed to build a J2EE application.
Sometimes referred to as
required or core packages.
Servlets respond to
an URL request.
Servlets commonly
generate HTML, XML,
or dynamic images.
They can call other
servlets, JSPs, or
EJBs.
On handheld and
embedded devices, the
initial implementation
of Java technology
addresses the software
needs of networked
applications running
on consumer devices
such as set-top boxes
and smart phones.
A JVM can be optimized
for set-top boxes.
Specifies packages:
http
log
device access
timers
framework
Components that can
run on their own.
Examples include:
¡avax.activation
javax.ejb
javax.servlet
javax.transaction
javax.xml
JSPs define a page
element, which can be
HTML, XML, or another
markup language. JSPs
execute as servlets.
They can call other
JSPs, servlets, or EJBs.
Some JVMs are
optimized for servers.
Provides a framework for developing and hosting J2EE applications
that run inside web containers. The pack includes the Java APIs for
XML included in the Java XML Pack, the JavaServer Pages Standard
Tag Library (JSTL), the Ant build tool, the Java WSDP Registry Server,
and the Tomcat Java Servlet and JavaServer Pages container.
Java 2 Platform Enterprise Edition is
used to build secure, scalable,
distributable server-based
applications for large enterprises.
Can be HTML,
WML, XHTML,
or voice XML.
Provides a structured and
extensible mechanism for
organizing and presenting data.
Many Java packages and classes
utilize XML to store and exchange
data.
Provides a way for applications
to communicate. SOAP is
typically transmitted via HTTP.
Discrete units of software
functionality that conform to the
JavaBeans API and are designed to be
reusable components. The JavaBeans
API makes it particularly easy for
Beans to be utilized by visual
programming tools. (In an
architecture analogy, these would be
prebuilt walls, windows, or doors.)
A component kit that
provides a set of graphical
user interface elements.
Swing can be used to rapidly
build applications without
writing original code to
support common interface
elements. Supports a native
look and feel on many
common operating systems.
A powerful set of text matching and
manipulation routines supported by
many programming languages.
Java technology implements
Perl-compatible regular
Some JVMs are optimized for various types
of laptops, workstations, and desktops.
Includes the necessary
tools, emulators, and
runtime environment
to develop and test
applets for the Java
Card platform.
Depend on the Java
Media Framework
(JMF), which is
optional to J2SE but
required for Java TV.
Includes specific
packages:
java.lang
javacard.framework
javacard.security
javacardx.crypto
A JVM can be
optimized
for residential
gateway servers.
Telematic networks
connect computers with
telecommunications
systems.
Some browsers may be Java-enabled
because they include the Java Plug-In.
Some users may need to download
the Java Plug-In for their browsers.
Installing the Java Plug-In will also
install the J2SE runtime environment.
Java 2 Platform Standard Edition is intended to run
on desktops, laptops, and workstations. J2SE also
includes the core language packages and classes
used by J2EE and J2ME.
Implement a main method. A class that
defines an application must declare a
main method, which the Java virtual
machine uses as the starting point for
the application. The main method gets
executed when the application starts.
Extend the applet class, which
provides developers with a basic
framework for rapid development of
a limited application. This includes a
basic user interface framework and
event model.
Also referred to as required or core
packages, platform packages are the
heart of the Java programming
language. The packages include
myriad classes that define user
interface components, a
programming event model, text and
math processing tools, code-level
security, objects for memory storage
of complex data, and methods for
invoking remote applications, to
name just a few.
Includes Web
Services, Getting
Started, Java XML,
Internationalization,
Sound, and Java 2D.Such as user-controlled camera
views and video on demand.
Java technology is especially
useful in devices that are
connected by a network.
Such as ATMs and
point-of-sale services.
Such as home services and
network-aware automobiles.
The J2SE SDK includes the source code,
class libraries, development tools, and
runtime environment required to build
Java applications and applets.
Including servers, web-based solutions, stand-alone
applications, and clients.
Including news services, instant messaging services,
e-mail services, communication software, collaboration
software, discussion forums, games, the world wide web,
productivity software, image-creation software, and
marketplace services.
Including getting information, communicating,
collaborating, playing, working, creating, and buying
and selling.
A Java specification describes
some aspect of Java technology,
including language, virtual
machines, platform editions,
profiles, and APIs.
Jini network technology provides
one infrastructure for delivering
services in a network and for
creating spontaneous interaction
between programs that use
those services.
is used to build ... web services 33
A standardized way
of integrating and
shaping business logic,
data, and processes
across a network.
A JRE is the software environment in
which programs compiled for the Java
virtual machine can run. The runtime
system comprises everything necessary to
run programs written in the Java
programming language, including the
Java virtual machine, which may be a Java
interpreter, and the platform packages.
JREs may be developed by Sun or by other
companies.
Hosts EJBs,
servlets and JSPs.
Can host EJBs,
servlets and
JSPs.
Optional packages define
a set of methods to
address specific
functionality required for
certain specialized
applications. Applications
that require optional
packages must be shipped
with the package code.
Specifies that the entire
J2SE JLS is applicable to
J2EE, includes additional
specifications for J2EE,
specifies what features
the JVM must support,
and what the platform
packages are.
Includes the JLS and
documentation
describing what the
platform packages are
and what features the
JVM must support.
Specifies which parts
of the JLS are
applicable to J2ME,
what features the JVM
must support, and
what the platform
packages are.
Java BluePrints
Guidelines, patterns,
and code for end-to-end
applications.
is available via http://java.sun.com.
The Java Specification Participation
Agreement is a one-year renewable
agreement that allows signatories to
become members of the JCP.
Alternatively, developers can sign the
more limited Individual Expert
Participation Agreement (IEPA).
Alternate implementations are written
to the same specification and pass the
TCK, but can be licensed differently
and may have enhanced features
beyond the reference
JSPA
Java™ Technology Concept Map
World System
Email
name@email.com
Twitter
@twitter
Mobile Phone
(415) 555-5555
Facebook
654312346
Likes
Notifications
Subscriptions
Advertisements
Purchases
etc.
Tweet
re-Tweet
Purchase
Subscribe
Like
Email
SMS
Import
Address match
Channel matches
Primary contact
match
Location match
Number of matches
Audience
Group
Profile Attributes
Segments
Demographics
Dimensions
Activity
Business Unit Filters
Unsubscribed
Do not contact
Frequency rules
Governance
Email
Tweet
Facebook Post
Message
SMS
Audience Builder
Automation Studio
Report Builder
Email
Mobile Connect
Social Sites
CO Tweet
Klout
Marketo
AUDIENCES
selectto checks for
FILTER PERMISSION SENDS MARKETER
by
System ID
PRIMARY
CONTACT RECORD
CONTACT INFORMATION
PROFILE INFORMATION
CHANNELS
DATE ADDED
INTERESTS AND LIKES
EVENT HISTORY
PREFERENCES
ETC...
PERSON
has
map
to
checks
identify
their
through
an
that
is
ADDRESS
SERVICES
EVENT OBSERVED MATCHING
RULES
GOALS &
WANTS
if new
if existing
match
added/
updated
CONTACT INFORMATION
PROFILE INFORMATION
INTERESTS AND LIKES
EVENT LOGGED
System ID
DISCARDED INFO
SECONDARY RECORD
Facebook Page
Twitter Page
Blog
IDENTITIES
updates
defines
displays
managed in
PROFILE
CENTER
DATA MANAGER
TOOLS
CONFIGURATION
TEMPLATE
direct message delivered to
using adisplay
information
CHANNEL
APPLICATION
SYSTEM
EVENT
triggers
observes
links to
CATEGORYCONTACTS
observes
publishes
stored in
that
is
EXTERNAL
DATA
DB
CONTACT
DATABASE
All
Contacts
Data Extensions
Purchases
Booking
Transaction
Omniture
Governance rules
Frequency
Import Settings
What information
are we displaying
and gathering.
Public facing for
person to
manage/view
contact information
recorded
delivered to
using a
for
accesses
links to
analyze
todefines
feeds
imports
using a
HUB
APPLICATION
PARTNER
APPLICATION
HUB
TOOLS
Business Unit
Permissions
User
Permissions
Contacts
Reporting
Calendar
Campaigns
Challenge #3: Credibility

How can you little designers possibly
understand all this complicated stuff?
Solution:

Ask all the dumb questions, then reflect
and share (and teach!).
Challenge #4: Un-SME-ing

These guys were experts, but their
users weren’t and didn’t want to be!
What keeps you up at night?
Where do
you dream
of being in
5 years?
What do you like to do
when you’re not at work?
What do you
love most
about your
job?
When was the last time you had
such a great day you went home
and told someone about it?
How did you get into
your line of work?
What do you wish
you could change
about your job?
What advice would you giv
someone that was going
into this field?
Challenge #4: Un-SME-ing

These guys were experts, but their
users weren’t and didn’t want to be!
Solution:

This is where the site visits really pay
off — to build empathy for real people.
Challenge #5: New Process

Because of their long history working
together, envisioning a new process
working was incredibly difficult.
3 | DesignMap, Inc. | March 22, 2013
—
—
—
—
FEED-FORWARD
RESEARCH
(21 INTERVIEWS)
RECONCILE:
EXISTING / NEW / OLD
STORY MAP
ITERATE
EPICS & STORIES
MILESTONE &
SPRINT PLANNING
FINAL
CONCEPTS
CONCEPTSPERSONAS CONTEXT
SCENARIOS
M1 M2 M
3
DEV
UX
PM
WE ARE HERE
DESIGN PROCESS
you are
here
21 | DesignMap, Inc. | March 22, 2013
PERSONAS
Persona Set
Darren
38 year old IT Administrator
Garth
45 year old IT Director
Justin
42 year old Installer
Manuel
26 year old Installer
Stan
NetApp Support Staff
Goals
Become less reactive and do
less user support
Get more time to work on
projects
Get more responsibilities with
strategic technology pieces
Goals
Offload more responsibilities
to staff to focus on key
projects
Garner executive support and
budget for key initiatives
Stay on top of latest
technology trends that affect
his business
Goals
Be efficient and accurate with
his installs
Be on top of his billable hours
Stay up-to-date with
certifications and latest
technology
Goals
Get excellent customer ratings
Have a positive impact on his
customer’s businesses
Travel less
We learned during our research
that there are 5 levels of support
staff. Further research should be
done to identify which levels of
support staff will use UMW and
how.
AFTER
StorSolutions
22 | DesignMap, Inc. | March 22, 2013
Darren38 year old IT Administrator
The reseller does the installation,
but at the end of the day it’s my
system. I’m responsible for it.
ABOUT
Has worked at After Dell for 2.5 years. Married with 2 kids.
Watches movies, co-coaches Little League.
ENVIRONMENT
File and Block storage, VMware, Active Directory.
WHATHE’S STORING
Finance records, company Web site, Exchange, Sharepoint,
backs up disk-to-disk.
COMPANY
After Dell, Austin,TX
Regional, 350 Employees
Refurbishes and sells recycled computers.
KEY CHARACTERISTICS
Still adjusting to a recent system change. Handles mostly user
support calls. Works in a team of 5 other IT staff. Works in a
somewhat stressful environment.
Storage Experience
None A Lot
He has little expertise in storage. His main focus is network, server and user
support.
Low High
Self Reliance
He relies on his vendor heavily and has a strong relationship with them.
Low High
Autonomy
His manager gets his input on big projects, but he spends most of his time
reacting to user support tickets or calls.
Mobility
Low High
He spends time away from his desk doing user support and traveling to
different branches during big IT migration projects.
Reactive vs. Proactive
Reactive Proactive
Relies on users and alerts to tell him what he needs to fix.
GOALS
ve and do less user support
chnology pieces
4 | DesignMap, Inc. | March 18, 2013
DARREN’S CONTEXT SCENARIO 1A
Background
Darren has had the Genesis system
for 6 months now. He hasn’t had any
issues with it until today.
He arrives at work and begins his daily
walkthrough. He checks his storage
hardware, network, server and email.
He sees an alert that needs his
attention from Genesis...
Darren38 year old IT Administrator
The reseller does the installation,
but at the end of the day it’s my
system. I’m responsible for it.
ABOUT
Has worked at After Dell for 2.5 years. Married with 2 kids.
Watches movies, co-coaches Little League.
ENVIRONMENT
File and Block storage, VMware, Active Directory.
WHATHE’S STORING
Finance records, company Web site, Exchange, Sharepoint,
backs up disk-to-disk.
COMPANY
After Dell, Austin,TX
Regional, 350 Employees
Refurbishes and sells recycled computers.
KEY CHARACTERISTICS
Still adjusting to a recent system change. Handles mostly user
support calls. Works in a team of 5 other IT staff. Works in a
somewhat stressful environment.
Storage Experience
None A Lot
He has little expertise in storage. His main focus is network, server and user
support.
Low High
Self Reliance
He relies on his vendor heavily and has a strong relationship with them.
Low High
Autonomy
His manager gets his input on big projects, but he spends most of his time
reacting to user support tickets or calls.
Mobility
Low High
He spends time away from his desk doing user support and traveling to
different branches during big IT migration projects.
Reactive vs. Proactive
Reactive Proactive
Relies on users and alerts to tell him what he needs to fix.
GOALS
ve and do less user support
chnology pieces
5 | DesignMap, Inc. | March 18, 2013
DARREN’S CONTEXT SCENARIO 1A
CONTEXT
1. Darren receives an alert from
his Genesis storage device. He sees
that one of his volumes is at 90%
capacity full and needs his attention.
OPPORTUNITIESFUNCTIONALNEEDSQUESTIONS
2. He opens up UMW and
immediately sees that a volume is
running out of space. He clearly sees
how it can affect business operations.
Darren is responsible for the
network, server, applications, and
support users, he’s constantly
prioritizing how he spends his
time. Alert urgency must be clear
and the delivery system should
match urgency level (e.g. text
message, email, within application)
He hasn’t logged into UMW for 2 months
now, we must present information from
his perspective. Darren thinks about his
storage in context of his business
operations.
An alert framework delivery
mechanism based on issue type
and criticality.
Group alerts for different issues.
If the user has not set up
notifications yet, we need to
inform them that they can.
If there are multiple unaddressed
alerts, periodically send summary
email.
Seamless navigation after login:
UMW is aware of what he clicked on
and highlights the issue for him.
See the issue in context of what the
volumes are used for in the business
context.
If we don’t know what applications
are running on his hosts, give Darren
an option to specify.
Is it possible to open UMW by
clicking on a link in the email?
Is it a final decision that each
admin will not have their own log
in?
In order to be aware of what
applications are running on hosts,
current NetApp systems require a
utility to be installed. Is this true for
Genesis?
3. The data stored on this volume is
critical to Darren’s business, he wants to
resolve this immediately. Hovering over
the volume, he sees more explanation of
the problem and its impacts. He clicks to
see UMW’s recommendations.
He normally would have to call his VAR
for help, but the design of the system
empowers him to be more self reliant.
Show Darren solutions in the context of
the storage management experience.
Guided diagnostic help that suggests
solutions based on Darren’s actual
usage.
Presentation of options in plain
language to avoid confusion.
See the issue in context of the
appropriate view of the system
4a-b. He picks the first
recommended solution. A helpful guide
appears on screen for that topic.
The guide helps Darren gain the
confidence he needs to do something
new with his storage and increase his
storage skill level over time.
Guide exists along side edit mode.
Provide video help where
appropriate.
Different levels of administrative
rights
Link to discussions?
Could we link to relevant
discussions in community pages?
5a-b. Following the guide,
he goes ahead and allocates
more space to the volume in
question.
The guide exists within the
screen he is doing the edit in
rather than taking him out of
context. UMW helps Darren get
comfortable with the interface
and gain more storage
experience over time.
Darren can skip a step or click
next to see more
EPIC US 26208 EPIC US 26175 EPIC US 23850
EPIC US 24503
8 | DesignMap, Inc. | March 18, 2013
STORYBOARD
Resolves Capacity Issue 1 of 2
Email
Edit
Open UMW
Host View Issue detail
1. Darren receives an alert
from his Genesis storage device.
He sees that one of his volumes
is at 90% capacity full and needs
his attention.
2. He opens up UMW and
immediately sees that a volume
is running out of space. He
clearly sees how it can affect
business operations.
3. The data stored on this
volume is critical to Darren’s
business, he wants to resolve
this immediately. Hovering
over the volume, he sees more
explanation of the problem and
its impacts. He clicks to see
UMW’s recommendations.
4a. He picks the first
recommended solution.
4b. A helpful guide appears
on screen for that topic.
Edit
Recommendations
Edit
x
Edit
x
Step-by-step Guide
5a-b. Following the guide,
he goes ahead and allocates more
space to the volume in question.
Done
x
Edit Volume
Edit
CONCEPT SKETCHES
11 | DesignMap, Inc. | March 18, 2013
CONCEPT SKETCHES
13 | DesignMap, Inc. | March 18, 2013
1. Darren receives an alert from his Genesis storage device. He
sees that one of his volumes is at 90% capacity full and needs his
attention.
Inspiration
Related Persona Spectrum
Recovery Guru
Reactive vs. Proactive
Reactive Proactive
Darren relies on users and alerts to tell him what he needs to fix.
Email
Edit
Open
Host View Issue detail Recommendations
Edit
17 | DesignMap, Inc. | March 18, 2013
CONCEPT WIREFRAMES
Genesis System
To: darren@afterdell.com
Storage Alert: Vol4 is at 90% capacity full.
1:42pm March 13, 2013
A volume mapped to Host1 is at 90% capacity full.
Impact
Users accessing Host1 will soon be unable to save or
download files.
Storage Alert
This alert was sent to darren@afterdell.com and support@itsolutions.com. Edit my alert settings
Helpful Add-Ons
ICON
AlertMe
ICON
Know-it-all
ICON
Omni Alert
See the problem and get solutions.
Email
Edit
Open
Host View Issue detail
Edit
Recommendations
Edit Edit
2. He opens up UMW and immediately sees that a volume is
running out of space. He clearly sees how it can affect business
operations.
We understand there is a scalability issue with visualizing the
individual volumes inside a pool. What is an appropriate scale for
Genesis?
Hitachi Command Suite 7
Notes
Business operation-related data as it is impacted by the storage
system. Showing application performance and capacity together.
18 | DesignMap, Inc. | March 18, 2013
CONCEPT WIREFRAMES
Host1 serving as a Web Server 1 Application
Pool1
1.0 TB
750 GB used 250 GB free
Local_Array
Vol2 Vol3 Vol4 Vol5 Vol6Vol1
Storage Capacity Edit Volumes
Space UsedSize OS LabelName Free Space
24.8 GB100 GB Drive E:/Vol1 75.2 GB
101.2 GB150 GB Drive F:/Vol2 48.8 GB
81.2 GB200 GB Drive G:/Vol3 118.8 GB
89.1 GB100 GB Drive H:/Vol4 10.9 GB
1
Host1 - Web Server
Vol4 is 90% full capacity.
12.8ms
2
11.3ms
Host2 - Exchange Server
3
15.2ms
Host3 - Database
4
16.1ms
Host4 - Multiple Applications
5
12.4ms
Host5 - VMware Server
6
6.2ms
Host6 - Backup Server
Local_Array Pool1 4 Volumes Host1 Apache
1
Lorem Ipsum Dolor
Storage Performance
Now12pm10pm8pm4am2am10pm8pm 6am12am6pmYesterday 1:42pm
Refresh12.8ms 1 min ago
Activity
NETAPP | GENESIS
https://
3. The data stored on this volume is critical to Darren’s business,
he wants to resolve this immediately. Hovering over the volume, he
sees more explanation of the problem and its impacts. He clicks to
see UMW’s recommendations.
Email
Edit
Open
Host View Issue detail
Edit
Recommendations
Edit Edit
Step-by-step Guide
Edit
Sue Warcup
IBM XIV
SANtricity
Inspiration
Hardware visualization to bring the physical and logical together in
one context.
19 | DesignMap, Inc. | March 18, 2013
CONCEPT WIREFRAMES
Host1 serving as a Web Server
Storage Performance
Now12pm10pm8pm4am2am10pm8pm 6am12am6pmYesterday 1:42pm
Refresh12.8ms 1 min ago
1
Host1 - Web Server
Vol4 is 90% full capacity.
12.8ms
2
11.3ms
Host2 - Exchange Server
3
15.2ms
Host3 - Database
4
16.1ms
Host4 - Multiple Applications
5
12.4ms
Host5 - VMware Server
6
6.2ms
Host6 - Backup Server
Local_Array Pool1 4 Volumes Host1 Apache
1
Lorem Ipsum Dolor
Activity
1 Application
Pool1
1.0 TB
750 GB used 250 GB free
Local_Array
Vol2 Vol3 Vol4 Vol5 Vol6Vol1
Storage Capacity Edit Volumes
Space UsedSize OS LabelName Free Space
24.8 GB100 GB Drive E:/Vol1 75.2 GB
101.2 GB150 GB Drive F:/Vol2 48.8 GB
81.2 GB200 GB Drive G:/Vol3 118.8 GB
89.1 GB100 GB Drive H:/Vol4 10.9 GB
Impact
See Recommended Solutions
Vol4 is running out of free capacity.
Users accessing Drive H:/ will be unable to
save or download files.
NETAPP | GENESIS
https://
Email
Edit
Open
Host View Issue detail
Edit
Recommendations
Edit Edit
Step-by-step Guide Edit Volume
Edit
Kick-off sketch
Tyler Davis
Inspiration
Previous sketches depicting UMW presenting the user with
solutions alongside the problem.
4a. He picks the first recommended solution.
Low High
Self Reliance
Related Persona Spectrum
Darren doesn’t need to call his VAR to address this issue.
20 | DesignMap, Inc. | March 18, 2013
CONCEPT WIREFRAMES
Host1 serving as a Web Server
Storage Performance
Now12pm10pm8pm4am2am10pm8pm 6am12am6pmYesterday 1:42pm
Refresh12.8ms 1 min ago
1
Host1 - Web Server
Vol4 is 90% full capacity.
12.8ms
2
11.3ms
Host2 - Exchange Server
3
15.2ms
Host3 - Database
4
16.1ms
Host4 - Multiple Applications
5
12.4ms
Host5 - VMware Server
6
6.2ms
Host6 - Backup Server
Local_Array Pool1 4 Volumes Host1 Apache
1
Lorem Ipsum Dolor
1 Application
Pool1
1.0 TB
750 GB used 250 GB free
Local_Array
Vol2 Vol3 Vol4 Vol5 Vol6Vol1
Storage Capacity Edit Volumes
Space UsedSize OS LabelName Free Space
24.8 GB100 GB Drive E:/Vol1 75.2 GB
101.2 GB150 GB Drive F:/Vol2 48.8 GB
81.2 GB200 GB Drive G:/Vol3 118.8 GB
89.1 GB100 GB Drive H:/Vol4 10.9 GB
1 Alert
Vol4 is running out of free capacity.
Impact
Recommendations
Users accessing Drive H:/ will be unable to save
or download files.
You have 250 GB left on Pool1.
Add less than 250 GB to Vol4.
1. Increase capacity on Vol4 to create space
for more data. (3 Steps)
Step me through it.
1Task
Add more than 250 GB to Vol4.
2Tasks
ICON Advanced Management
Related Downloads Clear
A more sophisticated way to get the most
out of your storage.
NETAPP | GENESIS
https://
ANNOTATED WIREFRAME EXAMPLE
1
Host1 - Web Server
Vol4 is 90% full.
12.8ms
2
11.3ms
Host2 - Exchange Server
3
15.2ms
Host3 - Database
4
16.1ms
Host4 - Multiple Applications
5
12.4ms
Host5 - VMware Server
6
6.2ms
Host6 - Backup Server
Host Name
IOPS trend
Alert associated
with this host
HostType
Current IOPS
Host Level
Component Selector
User can jump to any level of their storage system using the Secondary Navigation. The individual
components within the chosen system level populates this list in alphabetical order. Each list item
contains at-a-glance, dynamically updating data including alerts associated with that component.
4 Volumes Host1 Apache
Selected level in
Secondary Navigation
1
Pool1 150 GB Free
1TB850 GB
2
Pool2 475 GB Free
1TB525 GB
High level
capacity status
Pool Level
Local_Array Pool1 4 Volumes
Selected level in
Secondary Navigation
31 | DesignMap, Inc. | March 18, 2013
VISUAL DESIGN DIRECTION
35 | DesignMap, Inc. | March 18, 2013
VISUAL DESIGN DIRECTION
36 | DesignMap, Inc. | March 18, 2013
VISUAL DESIGN DIRECTION
37 | DesignMap, Inc. | March 18, 2013
Challenge #5: New Process

Because of their long history working
together, envisioning a new process
going well was incredibly difficult.
Solution:

The Golden Scenario
The Results
@DesignMap @ixdasf
Audrey Crane
audrey@designmap.com
@audcrane
@designmap
@ixdasf
Thank you!

Weitere ähnliche Inhalte

Ähnlich wie Design at Scale Storage Case Study

Creating Mobile Aps without Coding
Creating Mobile Aps without CodingCreating Mobile Aps without Coding
Creating Mobile Aps without CodingJack Molisani
 
Serverless projects at Myplanet
Serverless projects at MyplanetServerless projects at Myplanet
Serverless projects at MyplanetDaniel Zivkovic
 
Dev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsDev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsCristina Vidu
 
Duet enterprise executive overview
Duet enterprise executive overviewDuet enterprise executive overview
Duet enterprise executive overviewYi Guoyong
 
Case Study: How REI increased ROI on SAP Through A Better User Experience
Case Study: How REI increased ROI on SAP Through A Better User ExperienceCase Study: How REI increased ROI on SAP Through A Better User Experience
Case Study: How REI increased ROI on SAP Through A Better User ExperienceDeeDee Kato
 
Strategic Alliance proposal to IT Service Providers – Creating Growth Opportu...
Strategic Alliance proposal to IT Service Providers – Creating Growth Opportu...Strategic Alliance proposal to IT Service Providers – Creating Growth Opportu...
Strategic Alliance proposal to IT Service Providers – Creating Growth Opportu...abhinashak
 
How to Revamp your Legacy Applications For More Agility and Better Service - ...
How to Revamp your Legacy Applications For More Agility and Better Service - ...How to Revamp your Legacy Applications For More Agility and Better Service - ...
How to Revamp your Legacy Applications For More Agility and Better Service - ...NRB
 
Building Maintainable PHP Applications.pptx
Building Maintainable PHP Applications.pptxBuilding Maintainable PHP Applications.pptx
Building Maintainable PHP Applications.pptxdavorminchorov1
 
Soa Lessons learned
Soa Lessons learnedSoa Lessons learned
Soa Lessons learnedCharles Wade
 
Real time insights for better products, customer experience and resilient pla...
Real time insights for better products, customer experience and resilient pla...Real time insights for better products, customer experience and resilient pla...
Real time insights for better products, customer experience and resilient pla...Balvinder Hira
 
Haresh Karkar - Visual Resume
Haresh Karkar - Visual ResumeHaresh Karkar - Visual Resume
Haresh Karkar - Visual ResumeHaresh Karkar
 
Lead Allocation System - Attribute Driven Design (ADD)
Lead Allocation System - Attribute Driven Design (ADD)Lead Allocation System - Attribute Driven Design (ADD)
Lead Allocation System - Attribute Driven Design (ADD)Amin Bandeali
 
Solving 21st Century App Performance Problems Without 21 People
Solving 21st Century App Performance Problems Without 21 PeopleSolving 21st Century App Performance Problems Without 21 People
Solving 21st Century App Performance Problems Without 21 PeopleDynatrace
 
Does Web 2.0 herald the end of in-house development and provision of IT servi...
Does Web 2.0 herald the end of in-house development and provision of IT servi...Does Web 2.0 herald the end of in-house development and provision of IT servi...
Does Web 2.0 herald the end of in-house development and provision of IT servi...Paul Walk
 
Sr.Application Support Engg(having 4.11 years of EXP) 2
Sr.Application Support Engg(having 4.11 years of EXP) 2Sr.Application Support Engg(having 4.11 years of EXP) 2
Sr.Application Support Engg(having 4.11 years of EXP) 2Hitesh Kushwaha
 
SAP Overview and Architecture
SAP Overview and ArchitectureSAP Overview and Architecture
SAP Overview and Architecture Ankit Sharma
 
Rohit Vashishtha - SAP EP & NetWeaver Consultant
Rohit Vashishtha - SAP EP & NetWeaver ConsultantRohit Vashishtha - SAP EP & NetWeaver Consultant
Rohit Vashishtha - SAP EP & NetWeaver ConsultantRohit Vashishtha
 

Ähnlich wie Design at Scale Storage Case Study (20)

Creating Mobile Aps without Coding
Creating Mobile Aps without CodingCreating Mobile Aps without Coding
Creating Mobile Aps without Coding
 
Serverless projects at Myplanet
Serverless projects at MyplanetServerless projects at Myplanet
Serverless projects at Myplanet
 
Dev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath AppsDev Dives: Unlock automation adoption with UiPath Apps
Dev Dives: Unlock automation adoption with UiPath Apps
 
Duet enterprise executive overview
Duet enterprise executive overviewDuet enterprise executive overview
Duet enterprise executive overview
 
Case Study: How REI increased ROI on SAP Through A Better User Experience
Case Study: How REI increased ROI on SAP Through A Better User ExperienceCase Study: How REI increased ROI on SAP Through A Better User Experience
Case Study: How REI increased ROI on SAP Through A Better User Experience
 
Strategic Alliance proposal to IT Service Providers – Creating Growth Opportu...
Strategic Alliance proposal to IT Service Providers – Creating Growth Opportu...Strategic Alliance proposal to IT Service Providers – Creating Growth Opportu...
Strategic Alliance proposal to IT Service Providers – Creating Growth Opportu...
 
How to Revamp your Legacy Applications For More Agility and Better Service - ...
How to Revamp your Legacy Applications For More Agility and Better Service - ...How to Revamp your Legacy Applications For More Agility and Better Service - ...
How to Revamp your Legacy Applications For More Agility and Better Service - ...
 
UXD's process
UXD's processUXD's process
UXD's process
 
Soa Test Methodology
Soa Test MethodologySoa Test Methodology
Soa Test Methodology
 
Building Maintainable PHP Applications.pptx
Building Maintainable PHP Applications.pptxBuilding Maintainable PHP Applications.pptx
Building Maintainable PHP Applications.pptx
 
satvinder_Resume
satvinder_Resumesatvinder_Resume
satvinder_Resume
 
Soa Lessons learned
Soa Lessons learnedSoa Lessons learned
Soa Lessons learned
 
Real time insights for better products, customer experience and resilient pla...
Real time insights for better products, customer experience and resilient pla...Real time insights for better products, customer experience and resilient pla...
Real time insights for better products, customer experience and resilient pla...
 
Haresh Karkar - Visual Resume
Haresh Karkar - Visual ResumeHaresh Karkar - Visual Resume
Haresh Karkar - Visual Resume
 
Lead Allocation System - Attribute Driven Design (ADD)
Lead Allocation System - Attribute Driven Design (ADD)Lead Allocation System - Attribute Driven Design (ADD)
Lead Allocation System - Attribute Driven Design (ADD)
 
Solving 21st Century App Performance Problems Without 21 People
Solving 21st Century App Performance Problems Without 21 PeopleSolving 21st Century App Performance Problems Without 21 People
Solving 21st Century App Performance Problems Without 21 People
 
Does Web 2.0 herald the end of in-house development and provision of IT servi...
Does Web 2.0 herald the end of in-house development and provision of IT servi...Does Web 2.0 herald the end of in-house development and provision of IT servi...
Does Web 2.0 herald the end of in-house development and provision of IT servi...
 
Sr.Application Support Engg(having 4.11 years of EXP) 2
Sr.Application Support Engg(having 4.11 years of EXP) 2Sr.Application Support Engg(having 4.11 years of EXP) 2
Sr.Application Support Engg(having 4.11 years of EXP) 2
 
SAP Overview and Architecture
SAP Overview and ArchitectureSAP Overview and Architecture
SAP Overview and Architecture
 
Rohit Vashishtha - SAP EP & NetWeaver Consultant
Rohit Vashishtha - SAP EP & NetWeaver ConsultantRohit Vashishtha - SAP EP & NetWeaver Consultant
Rohit Vashishtha - SAP EP & NetWeaver Consultant
 

Mehr von DesignMap

What CEOs Need to Know About Design...
What CEOs Need to Know About Design...What CEOs Need to Know About Design...
What CEOs Need to Know About Design...DesignMap
 
Design at Scale: An ExactTarget Case Study
Design at Scale: An ExactTarget Case StudyDesign at Scale: An ExactTarget Case Study
Design at Scale: An ExactTarget Case StudyDesignMap
 
Design, the Importance of Research, and a Call to Arms
Design, the Importance of Research, and a Call to ArmsDesign, the Importance of Research, and a Call to Arms
Design, the Importance of Research, and a Call to ArmsDesignMap
 
Sixty Design Tools
Sixty Design ToolsSixty Design Tools
Sixty Design ToolsDesignMap
 
Sparkle-ize it Talk and Workshop from The Sum Conference
Sparkle-ize it Talk and Workshop from The Sum ConferenceSparkle-ize it Talk and Workshop from The Sum Conference
Sparkle-ize it Talk and Workshop from The Sum ConferenceDesignMap
 
Practice: Design "Swarms"
Practice: Design "Swarms"Practice: Design "Swarms"
Practice: Design "Swarms"DesignMap
 
DesignMap (hearts) Slack
DesignMap (hearts) SlackDesignMap (hearts) Slack
DesignMap (hearts) SlackDesignMap
 
DesignMap (hearts) Prototyping
DesignMap (hearts) PrototypingDesignMap (hearts) Prototyping
DesignMap (hearts) PrototypingDesignMap
 
Design Thinking Meetup: Sparkle-ize It (or, what to do when you get a napkin)
Design Thinking Meetup: Sparkle-ize It (or, what to do when you get a napkin)Design Thinking Meetup: Sparkle-ize It (or, what to do when you get a napkin)
Design Thinking Meetup: Sparkle-ize It (or, what to do when you get a napkin)DesignMap
 
UXD / DNA - DesignMap, Inc.
UXD / DNA - DesignMap, Inc.UXD / DNA - DesignMap, Inc.
UXD / DNA - DesignMap, Inc.DesignMap
 
Enterprise is Sexy
Enterprise is SexyEnterprise is Sexy
Enterprise is SexyDesignMap
 
Research Training Workshop
Research Training WorkshopResearch Training Workshop
Research Training WorkshopDesignMap
 

Mehr von DesignMap (12)

What CEOs Need to Know About Design...
What CEOs Need to Know About Design...What CEOs Need to Know About Design...
What CEOs Need to Know About Design...
 
Design at Scale: An ExactTarget Case Study
Design at Scale: An ExactTarget Case StudyDesign at Scale: An ExactTarget Case Study
Design at Scale: An ExactTarget Case Study
 
Design, the Importance of Research, and a Call to Arms
Design, the Importance of Research, and a Call to ArmsDesign, the Importance of Research, and a Call to Arms
Design, the Importance of Research, and a Call to Arms
 
Sixty Design Tools
Sixty Design ToolsSixty Design Tools
Sixty Design Tools
 
Sparkle-ize it Talk and Workshop from The Sum Conference
Sparkle-ize it Talk and Workshop from The Sum ConferenceSparkle-ize it Talk and Workshop from The Sum Conference
Sparkle-ize it Talk and Workshop from The Sum Conference
 
Practice: Design "Swarms"
Practice: Design "Swarms"Practice: Design "Swarms"
Practice: Design "Swarms"
 
DesignMap (hearts) Slack
DesignMap (hearts) SlackDesignMap (hearts) Slack
DesignMap (hearts) Slack
 
DesignMap (hearts) Prototyping
DesignMap (hearts) PrototypingDesignMap (hearts) Prototyping
DesignMap (hearts) Prototyping
 
Design Thinking Meetup: Sparkle-ize It (or, what to do when you get a napkin)
Design Thinking Meetup: Sparkle-ize It (or, what to do when you get a napkin)Design Thinking Meetup: Sparkle-ize It (or, what to do when you get a napkin)
Design Thinking Meetup: Sparkle-ize It (or, what to do when you get a napkin)
 
UXD / DNA - DesignMap, Inc.
UXD / DNA - DesignMap, Inc.UXD / DNA - DesignMap, Inc.
UXD / DNA - DesignMap, Inc.
 
Enterprise is Sexy
Enterprise is SexyEnterprise is Sexy
Enterprise is Sexy
 
Research Training Workshop
Research Training WorkshopResearch Training Workshop
Research Training Workshop
 

Kürzlich hochgeladen

AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...BarusRa
 
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵anilsa9823
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...amitlee9823
 
The Art of Batik, template ppt aesthetic
The Art of Batik, template ppt aestheticThe Art of Batik, template ppt aesthetic
The Art of Batik, template ppt aestheticTiaFebriani
 
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...SUHANI PANDEY
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...kumaririma588
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfAmirYakdi
 
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Delhi Call girls
 
Fashion trends before and after covid.pptx
Fashion trends before and after covid.pptxFashion trends before and after covid.pptx
Fashion trends before and after covid.pptxVanshNarang19
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdftbatkhuu1
 
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130Suhani Kapoor
 
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...Call Girls in Nagpur High Profile
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)amitlee9823
 
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130Suhani Kapoor
 
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Call Girls in Nagpur High Profile
 
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfParomita Roy
 
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Call Girls in Nagpur High Profile
 

Kürzlich hochgeladen (20)

young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
young call girls in Vivek Vihar🔝 9953056974 🔝 Delhi escort Service
 
B. Smith. (Architectural Portfolio.).pdf
B. Smith. (Architectural Portfolio.).pdfB. Smith. (Architectural Portfolio.).pdf
B. Smith. (Architectural Portfolio.).pdf
 
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...AMBER GRAIN EMBROIDERY | Growing folklore elements |  Root-based materials, w...
AMBER GRAIN EMBROIDERY | Growing folklore elements | Root-based materials, w...
 
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service  🧵
CALL ON ➥8923113531 🔝Call Girls Kalyanpur Lucknow best Female service 🧵
 
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Nagavara ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
Brookefield Call Girls: 🍓 7737669865 🍓 High Profile Model Escorts | Bangalore...
 
The Art of Batik, template ppt aesthetic
The Art of Batik, template ppt aestheticThe Art of Batik, template ppt aesthetic
The Art of Batik, template ppt aesthetic
 
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
VIP Model Call Girls Kalyani Nagar ( Pune ) Call ON 8005736733 Starting From ...
 
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...Verified Trusted Call Girls Adugodi💘 9352852248  Good Looking standard Profil...
Verified Trusted Call Girls Adugodi💘 9352852248 Good Looking standard Profil...
 
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdfThe_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
The_Canvas_of_Creative_Mastery_Newsletter_April_2024_Version.pdf
 
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
Best VIP Call Girls Noida Sector 44 Call Me: 8448380779
 
Fashion trends before and after covid.pptx
Fashion trends before and after covid.pptxFashion trends before and after covid.pptx
Fashion trends before and after covid.pptx
 
Editorial design Magazine design project.pdf
Editorial design Magazine design project.pdfEditorial design Magazine design project.pdf
Editorial design Magazine design project.pdf
 
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
VIP Call Girls Service Mehdipatnam Hyderabad Call +91-8250192130
 
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...Booking open Available Pune Call Girls Kirkatwadi  6297143586 Call Hot Indian...
Booking open Available Pune Call Girls Kirkatwadi 6297143586 Call Hot Indian...
 
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
Escorts Service Basapura ☎ 7737669865☎ Book Your One night Stand (Bangalore)
 
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
VIP Call Girls Service Kukatpally Hyderabad Call +91-8250192130
 
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Saswad ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
 
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdfChapter 19_DDA_TOD Policy_First Draft 2012.pdf
Chapter 19_DDA_TOD Policy_First Draft 2012.pdf
 
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...Top Rated  Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
Top Rated Pune Call Girls Koregaon Park ⟟ 6297143586 ⟟ Call Me For Genuine S...
 

Design at Scale Storage Case Study

  • 1. Design at Scale: Storage Case Study Prepared for October 14, 2015
  • 2. Hi, my name is Audrey and I’m a Partner at DesignMap.
  • 3.
  • 4.
  • 5. @DesignMap @ixdasf 1. Designing IN or FOR enterprise? 2. 4th order design: the enterprise system 1. managing the channel 2. old-fashioned challenges with dev 3. reaching “customers” Topics
  • 7. @DesignMap @ixdasf IN or FOR Enterprise?
  • 8. @DesignMap @ixdasf IN or FOR Enterprise?
  • 9. @DesignMap @ixdasf IN or FOR Enterprise?
  • 10. @DesignMap @ixdasf IN or FOR Enterprise?
  • 11. @DesignMap @ixdasf IN or FOR Enterprise?
  • 12. @DesignMap @ixdasf In Enterprise… For Enterprise… IN and FOR Enterprise Challenges • credibility • un-SME-ing • learning a new process • who are “customers”? • non-user concerns
  • 14. @DesignMap @ixdasf • mid-sized company • long institutional and deep topical history • new market opportunity based on new user type • internal advocate • skepticism Context
  • 15. Challenge #1:
 Our client didn’t mean user when they said “customer”. Not even close. You keep using that word. 
 I don’t think it means what you think it means.
  • 16. @DesignMap @ixdasf The “Customer” in the Channel Original Producer
  • 17. @DesignMap @ixdasf The “Customer” in the Channel OEM (original equipment manufacturer) Original Producer
  • 18. @DesignMap @ixdasf The “Customer” in the Channel OEM (original equipment manufacturer)Customer = Original Producer
  • 19. @DesignMap @ixdasf The “Customer” in the Channel Customer = Original Producer OEM
  • 20. @DesignMap @ixdasf The “Customer” in the Channel Customer = OEM Reseller Original Producer
  • 21. @DesignMap @ixdasf The “Customer” in the Channel Customer = OEM Reseller (Partner) Original Producer
  • 22. @DesignMap @ixdasf Customer = The “Customer” in the Channel OEM Reseller Buyer Original Producer
  • 23. @DesignMap @ixdasf Customer = The “Customer” in the Channel OEM Reseller Buyer User Original Producer
  • 24. @DesignMap @ixdasf Customer = The “Customer” in the Channel OEM Reseller Buyer User Original Producer
  • 25. @DesignMap @ixdasf Customer = The “Customer” in the Channel OEM Reseller Buyer User Original Producer
  • 26. @DesignMap @ixdasf Customer = The “Customer” in the Channel OEM Reseller Buyer User Original Producer
  • 27. @DesignMap @ixdasf Customer = The “Customer” in the Channel User Original Producer OEM Reseller Buyer
  • 28. @DesignMap @ixdasf Customer = The “Customer” in the Channel User Original Producer OEM / VAR Reseller Buyer WHO CARES?
  • 29. @DesignMap @ixdasf Customer = The “Customer” in the Channel User Original Producer OEM / VAR Reseller Buyer (SRSLY.)
  • 31. Challenge #1:
 Our client didn’t mean user when they said “customer”. Not even close. Solution:
 Sure, make sure the users are real.
  • 32. Challenge #1:
 Our client didn’t mean user when they said “customer”. Not even close. Solution:
 But more than that, find your highest-up advocate who knows the business case.
  • 33. Challenge #2:
 What if making it easier messes up the [resellers] business model?
  • 34. @DesignMap @ixdasf The “Customer” in the Channel Customer = OEM Reseller (Partner) Original Producer
  • 35. 12 | DesignMap, Inc. | March 22, 2013 FEED-FORWARD RESEARCH Step 3. Conduct Interviews Name Role Company Dave C Owner Atom Creek Eric Professional Services Engineer TSS Link Ihsan Professional Services Engineer TSS Link James Professional Services Engineer Mainline Tampa Jason Professional Services Engineer Mainline Tampa Joe M Professional Services Engineer SBS Jow W Professional Services Engineer SBS Jose Professional Services Engineer Contender Matthew Systems Engineer Lewan Rudd Professional Services Engineer Lewan Name Role Company Dave C Owner Atom Creek Eric Professional Services Engineer TSS Link Ihsan Senior PSE TSS Link James Systems Engineer Mainline Tampa Jason Systems Engineer Mainline Tampa Joe M Professional Services Engineer SBS Planet Joe W Professional Services Engineer SBS Planet Jose Professional Services Engineer Contender Solutions Matthew Systems Engineer Lewan Rudd Professional Services Engineer Lewan Size Location % SMB ~10 Denver, CO 50% ~100 Sunnyvale, CA 25% ~100 Sunnyvale, CA 40-50% ~600 Tampa, FL 30-40% ~600 Raleigh, NC 50% ~200 Sterling, VA 50-60% ~200 Sterling, VA 50% ~25 New Port Richey, FL 40-50% ~500 Denver, CO 90% ~500 Denver, CO 90% We interviewed 11 VAR Professional Services Engineers
  • 36. 14 | DesignMap, Inc. | March 22, 2013 FEED-FORWARD RESEARCH Step 3. Conduct Interviews We interviewed potential users in person and over the phone
  • 37. 4 of 4 Partners Liked the new import process, particularly visually mapping extensions and users to the ports. Noteworthy When importing users, if there were a way to add people to huntgroups/create huntgroup from the csv. PARTNER VALIDATION | Templates AVAYA Web Manager System Map ExportAdd Buffalo, NY View/EditIP Office Linux Box IP 0 Phone Users + LAN Dashboard AVAYA Global Settings HardwareCall ManagementWeb Manager Map Phones Logout Wells Fargo West Account View/EditIP 500 V2 Analog 0 + Digital 42 + IP 0 Phone Users + SIP End Points 176 SIP End Points 200 Digital Ports 42 Analog Ports 30 View/EditIP 500 V2 Analog 0 + Digital 0 + IP 62 Phone Users + SIP End Points 176 Digital Ports 12 Analog Ports 30 View/EditIP 500 V2 Analog 0 + Digital 0 + IP 0 Phone Users + SIP End Points 176 Digital Ports 12 Analog Ports 30 IP Phones Added Avaya | IP Office Web Manager 15 May, 2012
  • 38. AVAYA | IP OFFICE MANAGER https://ipoffice.avaya.com/ Jenelle Davis Editx111(310) 111-1111 Remove Voicemail Routed From User RightsVoicemail User RightsRouting Edit Person Denver SalesTeam x425 Hunt Group Janelle Davis x111 Person - Priority 1 (310)-111-1100 DID# Details (310)-111-1111 DID# Edit Main Attendant Auto Attendant Details Details Denver Support x426 Hunt Group Details Mobility Forwarding EditEdit PRIORITY 1 SYSTEM PHONE RIGHTS Level 2 PROFILE Basic User Advanced Settings Close Add Call Source Add 4 of 4 Partners Liked the visual represention of the incoming call routing. Noteworthy One person would like to see the outgoing call routing visualized here. PARTNER VALIDATION | Task-based UI Avaya | IP Office Web Manager 15 May, 2012
  • 39. Overall a great meeting. They thought our "high value" areas were on target. Overall really positive feeling on the direction we are going. Dan said "it's miles ahead of where we are today." Two things that stood out as favorites are the network map and the launch screen with a list of customers. They wish they could link voicemail pro to this and access everything they need from one place. Multi-site Management Screen #1: Customer List - They liked the first screen particularly the ability to filter for who is on what version and push out updates. - Dan thinks that the field "# of units" don't make a lot of sense because he feels that if you have 3 locations you're likely to have 3 control units. Currently most of their customers only have 1 control unit. - Looking at this screen, he think they'd have a server on site that is hosting this. Multi-site Management Screen #2: System Map - Dan raised a concern he needs reassurance that other partners can't see his customers. - He really likes visually having a "quick look" or "dashboard view" of the system. - He liked that the systems can auto-detect and hopes not to have to use the manual process. - He wishes that he can see statuses or "alarms" here (e.g. if a port isn't working). - He asked "is it a live application running on one of our servers?" and "Maybe SMTP messaging might be possible." - What they'd like in the "Export" is mapping ports to extension # and person and also things like PRI configuration ("DMS100 or something else?") Templates screen #1: import - They like this process and the visual mapping. - They liked the DID and extension but he thinks you mapping people to them was automated somehow. Templates screen #2: User Right - Overall great impression on this screen, no specific input. Task-Based UI screen #1: Routing - They think this makes a lot of sense. - They liked that you can edit from here. Task-Based UI screen #1: Call Management - They really liked being able to see a snapshot of the person. Access Control screens: Don vs. Robin's Network Map - He'd rather see slots instead of "chassis" because a "chassis" has multiple cards and he wants to see each card in every slot. - High impact design issues are right on - Need to get to one interface/management tool for IP Office - Need multi-level access privileges for the management tool - Suggest four or five fixed levels (basic admin, admin, super user, etc) and then the ability to modify or create a customer user. - Scenarios required to cover are single stand alone, SCN multi-site and Mid Market multi-site - Like the snapshot of customers for multi-site - Nice to see the network at a glance - What do “units” mean – need to clarify. - Want to see unit element status (red, yellow, green) so that they can proactively go and resolve issues. Quick view of alarms. - Tech typically deal with port numbers, directory numbers and user names. These would be valuable to export. Plus PRI configurations. - Templates – want to see ability to quickly program ranges. - Agent template well received. - Menu structure – like the user summaries. - Want to see status of phones. - Want to see what is contained in each slot of the main chassis or expansion units. - Overall direction is good. Miles ahead of what we have today. Want to see other tools like VM Pro integrated. Dan Silverman & Sidney Almonte Telanet APPENDIX | Partner Interview Notes Avaya | IP Office Web Manager 15 May, 2012
  • 40. Challenge #2:
 What if making it easier messes up the [resellers] business model? Solution:
 Operation bear hug!
  • 41. Challenge #3: Credibility
 How can you little designers possibly understand all this complicated stuff?
  • 42. Storage Primary Secondary Tertiary Random Access Memory (RAM) Flash Drive Tape Library Tape Drive Archiving Backups Hardware Software Cache Memory RAM (Volatile) Flash (Non- Volatile) Disk Array Filer also known as and des Monitoring Notifications Email SMS can be can becontains Virtualization Software reads is comprised of is comprised of such as enables consisting of sent by sent by IT Admin Support Desk Installer sent to sent to sent to tracks and reports which is
  • 43. Storage Primary Secondary Tertiary Random Access Memory (RAM) Hard Disks Optical Drive Flash Drive Tape Library Tape Drive Archiving Backups Hardware Local can be Direct- Attached torage (DAS) Controller Storage Array Software Cache Memory RAM (Volatile) Flash (Non- Volatile) Disk Array Filer also known as and also known as determines how contains has certain measurable includes Monitoring Notifications Email SMS and presented to Power Supply can be can becontains contains Meta-Data provides mapping information in the form of Mapping Table stored as a Virtualization Software reads I/O Request receives a translated into location on the logical disk using handles allows handles is comprised of is comprised of such as can enables consisting of sent by sent by IT Admin Support Desk Installer sent to sent to sent to tracks and reports which is
  • 44. Storage Primary Secondary Tertiary Random Access Memory (RAM) Hard Disks Optical Drive Flash Drive Tape Library Tape Drive Archiving Backups Characteristics Capacity Performance Hardware Local can be Direct- Attached Storage (DAS) Controller Storage Array Physical Disk Drives Aggregates Latency Software Logical Unit Numbers (LUNs) Cache Reliability Memory RAM (Volatile) Flash (Non- Volatile) Disk Array Filer also known as and also known as such as such as such as Partition Virtual Disk also known as and carved into ume ent Snapshot collects the s is some can be determines how contains has has has certain measurable includes virtualized with virtualized with are combined as Logical Volume and Monitoring Notifications Email SMS Logical Block Addressing (LBA) labeled using and presented to Storage Pools or magnetic rotational SSD Power Supply can be can becontains contains through methods of Raw Capacity total amount a device can hold compactness stored data time it takes to access a location an tten nanoseconds measured in Deduplication Data Compression technique of in-line as data is flowing post-process after data has been written can be done can be done File Systems enable creation of bined m Front-End Back-End iSCSI HyperSCSI FICON communicates with the InfiniBand such as such as such as such as Power Consumption such as Temperature requires management of conservation affects can be can be Meta-Data provides mapping information in the form of Mapping Table stored as a Virtualization Software reads I/O Request receives a translated into location on the logical disk using Replication Synchronous Asynchronous handles can be can be Disaster Recovery used foris used to create I/O Access allows Non-Disruptive Data Migration even during handles is comprised of is comprised of such as can take a enables consisting of sent by sent by IT Admin Support Desk Installer sent to sent to sent to tracks and reports which is is used to create
  • 45. Storage Servers Primary Secondary Tertiary Random Access Memory (RAM) Hard Disks Optical Drive Flash Drive Tape Library Tape Drive Archiving Backups Characteristics Capacity Performance Hardware Block Access Storage File Access Storage Local Network- Attached Storage (NAS) Storage Area Network (SAN) can be Direct- Attached Storage (DAS) Controller Storage Array Physical Disk Drives Aggregates Throughput Latency Software Logical Unit Numbers (LUNs) Cache Redundant Array of Independent Disks (RAID) Redundancy Reliability Availability of which a factor is Memory RAM (Volatile) Flash (Non- Volatile) Disk Array Filer also known as and Network File System (NFS) Common Internet File System (CIFS) also known as also known as also known as such as such as such as Partition Virtual Disk also known as and carved into Logical Volume Management (LVM) Data Striping Snapshot State collects the system's Read-Onlyis sometimes Read-Write can be Branching Snapshot and considered a which provide determines how contains has has has certain measurable includes virtualized with virtualized with is delivered over are combined as Logical Volume and Client Systems Thin Virtual can be can be Applications installed on serves requests of Network through the Monitoring Notifications Email SMS Logical Block Addressing (LBA) labeled using and presented to Storage Pools or magnetic rotational SSD Power Supply can be can becontains contains through methods ofalso handles used often in Raw Capacity Memory Density total amount a device can hold the compactness of stored data time it takes to access a location rate info can be read/written bit rate expressed in nanoseconds measured in Local Area Network (LAN) enables file-level access over Wide Area Network (WAN) Internet crucial difference between File and Block provides access to raw data and leaves managing up to attaching systems presents and manages file systems to/for client computers Deduplication Data Compression technique of in-line as data is flowing post-process after data has been written can be done can be done Cluster Load- BalancingSingle Point of Failure used to avoid configured for Clustered File System Mounted on multiple which is a file system File Systems enable creation of can be combined to form Clustered NAS Server Message Block (SMB) formerly called Active Directory (AD) Forest Tree Domain Domain Controllers are considered when they run Domain Name System (DNS) Namespaceidentified by within a Authentication allows for using Application- Layer Network Protocol operates as logically divided into enables file-level access over enables file-level access over Front-End Back-End Small Computer System Interface (SCSI) Parallel ATA (ATA or PATA) Serial ATA (SATA) ATA over Ethernet (AoE) communicates with disks using Protocol Serial Attached SCSI (SAS) such as such as Fibre Channel (FC) such as iSCSI HyperSCSI FICON Host Bus Adaptor (HBA) communicates with the using twisted pair copper wire fiber-optic cable can be can be InfiniBand Ethernet Less Popular Protocols such as such as such as such as such as such as such as such as such aswhich enables Distributed File System if using is called is a Unix used with Windows used with Network Protocol such as such as served by File System Fragmentation influenced by Defragmentation improved by Power Consumption such as Temperature requires management of conservation affects can be can be Meta-Data provides mapping information in the form of Mapping Table stored as a Virtualization Software reads I/O Request receives a translated into location on the logical disk using Replication Synchronous Asynchronous handles can be can be Disaster Recovery used foris used to create I/O Access allows Non-Disruptive Data Migration even during handles operates as is comprised of is comprised of such as can take a enables consisting of sent by sent by IT Admin Support Desk Installer sent to sent to sent to tracks and reports which is Shared Disk File System to create a also called to serve up is used to create Version 1.0 February 20, 2013
  • 46.
  • 47. Java devices thatmake usefulfor peoplelearn anduse Developers programs tocreateandrun and the internet What is Java Technology? This diagram is a model of Java™ technology. The diagram explains Java technology by placing it in the context of related concepts and examples, and by defining its major components and the connections between them. It shows how developers use Java technology to create programs that benefit people everywhere, and explains how computers and networks relate to Java technology. The diagram is intended to help developers who are familiar with one part of the Java platform understand other parts. It relates unfamiliar technologies to ones with which developers may already be familiar. The diagram also provides an overview for developers who are new to Java technology and an introduction for non-programmers who want to improve their ability to converse with developers. For more information, visit the web site at http://java.sun.com. Concept Maps The diagram takes the form of a concept map – a web of linked terms showing both overall structure and details. By showing everything – the forest and the trees – in a single view, concept maps help people visualize mental models and clarify thoughts. In concept maps, verbs connect nouns to form propositions. Examples and details accompany the terms. More important terms receive visual emphasis; less important terms and examples are in gray. Purple terms and purple lines indicate a process. Terms followed by a number link to terms preceded by the same number. Trademarks © 2002 Sun Microsystems, Inc. All rights reserved. Sun, Sun Microsystems, the Sun logo, Java, the Java coffee cup logo, J2EE, J2SE, J2ME, Enterprise JavaBeans, EJB, JavaBeans, Java Card, Java Community Process, JCP, Javadoc, Java Embedded Server, JavaHelp, JavaServer Pages, JSP, Java TV, Java 3D, Jini, JVM, PersonalJava, Solaris, and SunOS are registered trademarks of Sun Microsystems, Inc. Any errors or omissions are the responsibility of the authors. Comments are welcome; contact Audrey Crane at audrey@dubberly.com. February 14, 2003 Acknowledgements Prepared for the Sun Developer Web Services Group by Dubberly Design Office/Devine/Faris/Saddler. Significant contributions from the following people made this map possible: Josh Bloch, Lisa Friendly, Doug Kramer, Paul Pangaro, Robert Patten, Monica Pawlan, Carla Schroer, Leigh Shevchik, Alan Sommerer, Ken Tallman, and James Urquhart. Thanks also to Cindy Bloch, Adam Cohn, Andrey Dikanskiy, Larry Freeman, Dale Green, Joann Gray, Cori Kaylor, Onno Kluyt, Stuart Marks, Shawn Moore, Chuck Mosher, Shaler Ney, Eduardo Pelegri-Llopart, Lori Uzzo, Brad Wetmore, and Hinkmond Wong. Java object model Java virtual machine (JVM TM ) Programming language Development process Java Community ProcessSM Java TM 2 Platform: end-to-end solutions Documentationfor enterprise servers and applications for desktop servers and applications for consumer and embedded servers and applications is a name for a ... programming language is also a name for ... SDKs and JREs defines a set of ... APIs 13 is implemented as a set of ... platforms 27 can be used to write ... programs 24 such as ... applications 28 enable ... services 26 run on and connect ... devices 25 define may containmultiple maycontain multiple implement implement or referto...objects15 are constrainedby are constrainedby areinvokedby maydefinerequired or on ... objects 15 define a location to store canbe are processed by the to create has have may be an mayoverrideexisting maydefinenew mayrelyonparent's containmultiple areratifiedby...theJCP2 servesasthe definesthe behaviorof...APIs13 define canbe used through inherits methods and properties from a may also be a field types can be field or class types can be... classes 12 may implement are runtime instances of ... classes 12 have are created by implement running in RAM are may be categorized as are constrained by are distinguished by manipulate enforces a is defined by the enables improves can be improved by can be improved by implements implements controls access to enable defines thatisanisorganizedby provide suchas is defined by the ... Java Language Specification 43 is used to write ... programs 24 is used to write ... class libraries 10 is based on the outline layout contributeto thegenerationof contributeto thegenerationof testing mayfinda maybethoughtof asrunning...objects15 such as allowsadjustmentof...objects15 may include are used to write, test, and debug is trapped by a areexamples of...classes12 mayconsistof often discuss Java in draft areledby consist of members of and do the work of the overseen by the arerepresentedonthe issubmittedto administers the chairs the exists within hasawhichis comments on may request major revisions via may revise develops works with supports the development of ... Java 0 provides ... documentation 42 owns the ... Java trademark 1 make(s) ... SDKs 29 makes versions of a ... JVM 18 provides is represented on champion isaddedtothe definitionof...Java0 become members of the JCP by signing within the context of the Java Community Process, may function as ... developers 23 support the development of ... Java 0 make ... SDKs 29 make versions of a ... JVM 18 certify Java applications using providebuildingblocksforrunon arecomposedofarecomposedofarecontainedininclude runonrunon arecomposedof readconfigurationsfroma are configured by is described by have interfaces provided by can call other always have can be ... J2SE applets 36 can be ... J2SE applications 38 can be ... J2ME applets 40 can be ... MIDlets 41 have such as and isusedtobuildandrun canbea runinsidea include canbecreatedbyrunson runson runon are ... class libraries 10 may include ... tools 17 are used in ... development environments 16 include ... class libraries 10 are used to create ... programs 24 include a include ... packages 11 are used to run ... programs 24 always directly build embed programming code in a depends upon such as are mayutilizethe arerunin areconfiguredbya ishousedin arebuiltusing runinsidean runinsidea arebuiltusing arebuiltusing runinsidea iscreatedbya iscontainedin never directly build may directly build include ... platform packages 37 contains runs on may be enabled by are enabled by provides a isonetypeof isusedto buildandrun isusedto buildandrun are are arebuiltusing arebuiltusing mayruninsidea runinsidean forexample are contained in the arebuiltwith may be enabled by anmay be enabled by a arebuiltusing arebuiltusing runina arebuiltusing runsonrunon containsa subsetofa includea includesadependson dependson such asare arebuiltwithisusedtobuildandrunarebuiltusinga are builtwith maybe builtwith maybe builtwith maybe are builtwith iscontainedinthe definesarunsonrunon isusedtobuildandrunarebuiltwitharebuiltusingrunonrunonrunsonrunsona isusedto buildandrunarebuiltwiththerunsonarunsonrunon is instantiated by runson runson runon runon is based on subsets of forexample such as such as such as run in a maybeinterpretedbya suchas suchas suchas suchas specifiesand documents...J2EE32 specifiesand documents...J2SE35 specifiesand documents...J2ME39 suchas arecontainedin dependon arecontainedin runson are isusedtocreatearereadbya runona defines are storedin compilessourcecodeintoisstoredin translates bytecodeintoconstitutea whendebugged, contributesto is edited in the beginswith areusedtobuildthe begins with if accepted becomes a may become a may become a is added to the definition of ... Java 0 may be implemented in is instantiated in a 12 ... interfaces 14 connects ... devices 25 supports supports ... web services 33 engagein arefacilitatedbyareinstantiatedin features and benefits hasawhichis isdistinguishedby may download and install ... JREs 30 often own ... hardware 31 some of whom are ... developers 23 is developed with ... platforms are used by support ... services 26 such as ... hardware 31 object-oriented programming language 9 explicit error handling 22 garbage collection 21 security model 20 architecturally independent applications 19 Java virtual machine 18 hosts is the foundation for the completed helpsidentify problemswith suchas is a runsinsidea...webbrowser34 run inside a ... web browser 34 members join the JCP by signing the includesmembersfrom isusedtobuildapplications andservicesbasedon maybecomeplatformpackagesviathe...JCP2 may submit or comment on a ... Java Specification Request 3 who are members of the Java Community Process serve on ... expert groups 5 form ... Java developer communities 4 comment on a ... public draft 6 participate in the ... Java Community Process 2 may request revisions from the ... maintenance lead 7 who are members of the JCP elect the ... executive committee 8 often use ... development environments 16 participate in the ... development process consistof J2ME Tutorials Java Series Mobile Information Device Profile (MIDP) API Documents Connected Limited Device Configuration (CLDC) API Documents Connected Device Configuration (CDC) API Documents J2ME API Specification Connected Device Configuration (CDC) Specification Connected Limited Device Configuration (CLDC) Specification Foundation Profile Specification J2SE Platform Specification J2EE Platform Specification J2EE Connector Specification J2EE API Specification Java Series J2EE Tutorials PersonalJava Specification Personal Basis Profile Specification Personal Profile Specification J2SE API Specification Java Series tutorials Java Language Specification (JLS) J2SE Tutorials J2ME Platform Specification Mobile Information Device Profile (MIDP) Specification point-of-sale (POS) systems, pagers, cell phones, and personal digital assistants (PDAs) Java Card, subscriber identity module (SIM) phones, and multi-application smart cards network-aware appliances, automobiles, and Telematic networks Windows Mac OS Unix Linux Irix SolarisTM SunOSTM AIX Alpha RS6000 FreeBSD NeXT HP-UX Compaq Tru64 beOS VMS Solaris, Linux, Windows, HP-UX, AIX, FreeBSD Windows SolarisTM proprietary systems Palm OS, Windows CE, RTOS, Linux, Symbian OS, proprietary systems Java forums Java developer communities specification leads (spec leads) Java Community ProcessSM (JCP) Executive Committee alternate implementations Sun companies Java Specification Request (JSR) community draft public draft new Java specification Reference Implementation & Technology Compatibility Kit (TCK) Program Management Office maintenance lead visual programming tools class structures user interface frameworks bug development environments tools expert groups logo source code framework source code text editor classes text files compiler byte code binary files virtual machine machine instructions fragment or application debugger J2EE documentation J2SE documentation J2ME documentation other documentation J2METM J2ME applets J2ME applications MIDlets Personal Profile (PP) Profiles CDC configurations CLDC J2ME Wireless Toolkit Java virtual machine specialized embedded applications PDA applications cell phone applications MIDP Java CardTM Java TVTM Java Embedded ServerTM (JES) applications for use with Smart Cards Java Card applets Java Card API Java Card virtual machine interactive television applications Java TV Xlets Java TV APIs PersonalJavaTM Java virtual machine televisions embedded applications Java Embedded Server framework Java virtual machine proprietary systems real-time operating systems (RTOS) Java Card Development Kit platforms applications runnable components components packages or libraries Software Development Kits (SDKs) Java runtime environments (JREs) operating systems specific devices (hardware) deployment descriptor EJB container Enterprise JavaBeansTM (EJB) servlets JavaServer PagesTM (JSPTM ) web container connector architecture business logic server components client components user interfaces web-based applications J2EE platform packages J2EE specific packages Java virtual machine Java-enabled web server J2EE application server Java Web Services Developer Pack servers J2EE Software Development Kit web services web browser markup language Extensible Markup Language (XML) Simple Object Access Protocol (SOAP) UDDI J2SE applications platform packages Java regular expressions J2SE Software Development Kit Java Plug-In Java-enabled browser or viewer operating system-based Java virtual machine J2SE optional packages desktop applications Java 3DTM JavaHelpTM optional packages J2ME optional packages J2SETM Swing containers enterprise applications client/server applications J2EETM applications embedded in a web page J2SE applets JavaBeansTM Beans personal computers workstations portability Java virtual machine specification critical resources explicit error handling garbage collection security model architecturally independent applications Just-In-Time compilation dynamic compilation performance syntax and keywords object-oriented programming language benefits and advantages reduced development time ability to write higher-quality code more maintainable code ability to call non-Java functions principles objects serialization class libraries packages classes methods constructorsinner classes superclass (parent class) abstract class APIs subclass (child class) fields types scope commentsdeclarationsstatements data primitives object references JavadocTM comments Javadoc tool interfaces methods and fields browsable documentation API spec activities services software trademark logo JiniTM Provides a complete specification for the syntax and semantics of the Java programming language. 11 10 13 14 15 12 18 25 9 22 21 20 19 16 17 32 35 36 37 38 39 40 41 43 42 2 3 0 5 4 6 8 7 33 34 24 26 27 23 28 31 30 29 1 Application programming interface specification. Runtime instances of classes. In runtime, refers to the process of turning an object into a data stream for purposes of transmission or storage. Classes are source code files that describe a unit of programming. A class relates a set of data (fields) and functions (methods) that use the data. Class libraries are organized collections of prebuilt classes and functions used to create other classes. Class libraries can be part of the Java standard – meaning they have been ratified by the Java Community Process – or created by individual developers for their own or their company's use. An application programming interface is the written or understood specification of how a piece of software interacts with the outside world. It specifies what input the application or application component accepts, how the software will behave, and what output it will provide. All computer software relies on a variety of APIs to achieve tasks such as writing a file or displaying text. APIs often depend on other APIs. Particular to Java, interfaces are source code files that define a set of functions (methods) that are required by a class. Interfaces name methods and set an expectation for each method's behavior, but do not implement the methods. Interfaces allow a piece of code to be written in such a way that the code can work with any type of class that supports the interface. Abstract classes permit child classes to inherit a defined method or to create groups of related classes for polymorphic behavior. Primitives generally enable basic math or comparison operations. Inner classes reside inside another class, allowing for better organization. Should not be confused with subclasses. In running programs, statements prescribe actions or a sequence of actions. Scope limits access to methods and properties. Levels include: • public: can be called or manipulated freely • protected: can be called or manipulated by a class in the same package • private: can be called or manipulated only by the same class. Comments specifically formatted to be processed by the Javadoc tool. In running programs, declarations define a variable's existence and determine scope. Notes that developers include to explain source code to themselves and others. Methods are detailed instructions that cause a running object to take action or manipulate data. Fields are sometimes referred to as properties. The virtual machine may encounter a problem, or exception, while a program is running. The Java language requires that pieces of code which are likely to encounter a particular error offer a mechanism for handling the exception at runtime. When an error is encountered, the virtual machine executes the code designed to respond to the error. Watching for data in memory that is no longer needed and freeing the memory for reuse. Other programming languages require programmers to free memory explicitly when a piece of data is no longer needed, which can increase the development effort. Architecturally dependent machines that are available for nearly every contemporary operating system. Significantly improves virtual machine performance by translating groups of instructions from byte code to machine code rather than one instruction at a time. Goes beyond Just-in-Time compilation by examining the code as it runs and focusing optimization efforts on the most critical pieces of code as it executes. Dynamic compilation is enacted by the Java HotSpotTM virtual machine. One application can run in multiple environments without being rewritten or recompiled. Including memory and hard drive. Such as the object model, inheritance, modularity, abstraction, hierarchy, implementation hiding, information hiding, encapsulation, and polymorphism. Java Native Interface (JNI) provides a method for calling native functions such as operating system or legacy library functions. As opposed to a purely procedural programming language. The Java language has roots in C, Objective C, SmallTalk, and LISP. Class structures are basic source code that provides a framework for the classes, describes the class hierarchy, and provides the names of the class methods and properties. Does not include implementation details (method definitions). Downloads and documentation are available at http://java.sun.com. Selected Java products have been localized into many languages. This localization is one of the key factors for adoption of Java technology worldwide. The combination of the class structures and the user interface framework into a skeleton of the application's overall source code. Does not include implementation details. Basic source code that describes the graphical user interface. Does not include implementation details. The software development process is iterative, with several rounds of designing, writing, compiling, running, and testing before software is deployed. A software utility that turns human-readable text files into machine- friendly byte code. Are computer- readable. Binary files usually have the suffixes .jar, .jcm, .class, .ear, or .war. Is platform independent. It almost never can be read by the processor directly. Is human readable. Are processor dependent. They can be read by the processor directly. Java developers often use specific development environments called Integrated Development Environments, or IDEs. Are human-readable. Usually have the suffixes .java or .jav. A Reference Implementation is a working example of the JSR. Other companies will produce their own implementations. The TCK is a suite of tests, tools, and documentation that provides a standard way of testing an implementation for compliance with a Java specification. A proposal to develop a new specification or significant revision to an existing spec. Companies include IBM, Motorola, Nokia, Oracle, Novell, Netscape, Hewlett-Packard, Apple, and BEA. There are two executive committees: J2EE/J2SE and J2ME. Universal Description, Discovery, and Integration provides a way for businesses to discover each other. Can also be used programmatically by applications to locate an application or service. There are several implementations of Mobile Information Device Profile, including MIDP for Palm 1.0.3, MIDP 1.04 for Monty, and MIDP 2.0. Profiles are packages required for a particular vertical market segment or set of related devices. Other profiles include Foundation, Game, Personal Basis Profile, and PDA. A system that enables developers to incorporate online help in applications or web sites. A set of classes used to write three-dimensional graphics applets or applications. Connected Device Configuration includes specific packages that are subsets of the J2SE equivalent: java.lang java.util java.net java.io java.text java.security A set of packages that define basic services for a range of devices. Connected Limited Device Configuration includes specific packages that are subsets of the J2SE equivalent: java.io java.lang java.util javax.microedition.io The J2ME Wireless Toolkit includes the necessary tools, emulators, documentation, and examples to develop and simulate Java applications targeted at cell phones, pagers, PDAs, and other small devices. A JVM can be optimized for cell phones, PDAs, and other similarly resourced devices. Java 2 Platform Micro Edition is intended to run on devices with limited computing power, such as cell phones or PDAs. J2ME has reduced processor and memory requirements. It is based on subsets of J2SE with additional components for market segments such as hand-held devices. Manage transactions, life-cycles, and data persistence. Provides a mechanism for connecting to legacy information systems. Cannot function on their own, but are used by other components or runnable components. Enterprise JavaBeans define independent pieces of business logic or application behavior that can call either servlets, JSPs, or other EJBs. Includes the binary version of the J2EE Reference Implementation, plus the development tools and documentation needed to build a J2EE application. Sometimes referred to as required or core packages. Servlets respond to an URL request. Servlets commonly generate HTML, XML, or dynamic images. They can call other servlets, JSPs, or EJBs. On handheld and embedded devices, the initial implementation of Java technology addresses the software needs of networked applications running on consumer devices such as set-top boxes and smart phones. A JVM can be optimized for set-top boxes. Specifies packages: http log device access timers framework Components that can run on their own. Examples include: ¡avax.activation javax.ejb javax.servlet javax.transaction javax.xml JSPs define a page element, which can be HTML, XML, or another markup language. JSPs execute as servlets. They can call other JSPs, servlets, or EJBs. Some JVMs are optimized for servers. Provides a framework for developing and hosting J2EE applications that run inside web containers. The pack includes the Java APIs for XML included in the Java XML Pack, the JavaServer Pages Standard Tag Library (JSTL), the Ant build tool, the Java WSDP Registry Server, and the Tomcat Java Servlet and JavaServer Pages container. Java 2 Platform Enterprise Edition is used to build secure, scalable, distributable server-based applications for large enterprises. Can be HTML, WML, XHTML, or voice XML. Provides a structured and extensible mechanism for organizing and presenting data. Many Java packages and classes utilize XML to store and exchange data. Provides a way for applications to communicate. SOAP is typically transmitted via HTTP. Discrete units of software functionality that conform to the JavaBeans API and are designed to be reusable components. The JavaBeans API makes it particularly easy for Beans to be utilized by visual programming tools. (In an architecture analogy, these would be prebuilt walls, windows, or doors.) A component kit that provides a set of graphical user interface elements. Swing can be used to rapidly build applications without writing original code to support common interface elements. Supports a native look and feel on many common operating systems. A powerful set of text matching and manipulation routines supported by many programming languages. Java technology implements Perl-compatible regular Some JVMs are optimized for various types of laptops, workstations, and desktops. Includes the necessary tools, emulators, and runtime environment to develop and test applets for the Java Card platform. Depend on the Java Media Framework (JMF), which is optional to J2SE but required for Java TV. Includes specific packages: java.lang javacard.framework javacard.security javacardx.crypto A JVM can be optimized for residential gateway servers. Telematic networks connect computers with telecommunications systems. Some browsers may be Java-enabled because they include the Java Plug-In. Some users may need to download the Java Plug-In for their browsers. Installing the Java Plug-In will also install the J2SE runtime environment. Java 2 Platform Standard Edition is intended to run on desktops, laptops, and workstations. J2SE also includes the core language packages and classes used by J2EE and J2ME. Implement a main method. A class that defines an application must declare a main method, which the Java virtual machine uses as the starting point for the application. The main method gets executed when the application starts. Extend the applet class, which provides developers with a basic framework for rapid development of a limited application. This includes a basic user interface framework and event model. Also referred to as required or core packages, platform packages are the heart of the Java programming language. The packages include myriad classes that define user interface components, a programming event model, text and math processing tools, code-level security, objects for memory storage of complex data, and methods for invoking remote applications, to name just a few. Includes Web Services, Getting Started, Java XML, Internationalization, Sound, and Java 2D.Such as user-controlled camera views and video on demand. Java technology is especially useful in devices that are connected by a network. Such as ATMs and point-of-sale services. Such as home services and network-aware automobiles. The J2SE SDK includes the source code, class libraries, development tools, and runtime environment required to build Java applications and applets. Including servers, web-based solutions, stand-alone applications, and clients. Including news services, instant messaging services, e-mail services, communication software, collaboration software, discussion forums, games, the world wide web, productivity software, image-creation software, and marketplace services. Including getting information, communicating, collaborating, playing, working, creating, and buying and selling. A Java specification describes some aspect of Java technology, including language, virtual machines, platform editions, profiles, and APIs. Jini network technology provides one infrastructure for delivering services in a network and for creating spontaneous interaction between programs that use those services. is used to build ... web services 33 A standardized way of integrating and shaping business logic, data, and processes across a network. A JRE is the software environment in which programs compiled for the Java virtual machine can run. The runtime system comprises everything necessary to run programs written in the Java programming language, including the Java virtual machine, which may be a Java interpreter, and the platform packages. JREs may be developed by Sun or by other companies. Hosts EJBs, servlets and JSPs. Can host EJBs, servlets and JSPs. Optional packages define a set of methods to address specific functionality required for certain specialized applications. Applications that require optional packages must be shipped with the package code. Specifies that the entire J2SE JLS is applicable to J2EE, includes additional specifications for J2EE, specifies what features the JVM must support, and what the platform packages are. Includes the JLS and documentation describing what the platform packages are and what features the JVM must support. Specifies which parts of the JLS are applicable to J2ME, what features the JVM must support, and what the platform packages are. Java BluePrints Guidelines, patterns, and code for end-to-end applications. is available via http://java.sun.com. The Java Specification Participation Agreement is a one-year renewable agreement that allows signatories to become members of the JCP. Alternatively, developers can sign the more limited Individual Expert Participation Agreement (IEPA). Alternate implementations are written to the same specification and pass the TCK, but can be licensed differently and may have enhanced features beyond the reference JSPA Java™ Technology Concept Map
  • 48. World System Email name@email.com Twitter @twitter Mobile Phone (415) 555-5555 Facebook 654312346 Likes Notifications Subscriptions Advertisements Purchases etc. Tweet re-Tweet Purchase Subscribe Like Email SMS Import Address match Channel matches Primary contact match Location match Number of matches Audience Group Profile Attributes Segments Demographics Dimensions Activity Business Unit Filters Unsubscribed Do not contact Frequency rules Governance Email Tweet Facebook Post Message SMS Audience Builder Automation Studio Report Builder Email Mobile Connect Social Sites CO Tweet Klout Marketo AUDIENCES selectto checks for FILTER PERMISSION SENDS MARKETER by System ID PRIMARY CONTACT RECORD CONTACT INFORMATION PROFILE INFORMATION CHANNELS DATE ADDED INTERESTS AND LIKES EVENT HISTORY PREFERENCES ETC... PERSON has map to checks identify their through an that is ADDRESS SERVICES EVENT OBSERVED MATCHING RULES GOALS & WANTS if new if existing match added/ updated CONTACT INFORMATION PROFILE INFORMATION INTERESTS AND LIKES EVENT LOGGED System ID DISCARDED INFO SECONDARY RECORD Facebook Page Twitter Page Blog IDENTITIES updates defines displays managed in PROFILE CENTER DATA MANAGER TOOLS CONFIGURATION TEMPLATE direct message delivered to using adisplay information CHANNEL APPLICATION SYSTEM EVENT triggers observes links to CATEGORYCONTACTS observes publishes stored in that is EXTERNAL DATA DB CONTACT DATABASE All Contacts Data Extensions Purchases Booking Transaction Omniture Governance rules Frequency Import Settings What information are we displaying and gathering. Public facing for person to manage/view contact information recorded delivered to using a for accesses links to analyze todefines feeds imports using a HUB APPLICATION PARTNER APPLICATION HUB TOOLS Business Unit Permissions User Permissions Contacts Reporting Calendar Campaigns
  • 49. Challenge #3: Credibility
 How can you little designers possibly understand all this complicated stuff? Solution:
 Ask all the dumb questions, then reflect and share (and teach!).
  • 50. Challenge #4: Un-SME-ing
 These guys were experts, but their users weren’t and didn’t want to be!
  • 51.
  • 52. What keeps you up at night? Where do you dream of being in 5 years? What do you like to do when you’re not at work? What do you love most about your job? When was the last time you had such a great day you went home and told someone about it? How did you get into your line of work? What do you wish you could change about your job? What advice would you giv someone that was going into this field?
  • 53. Challenge #4: Un-SME-ing
 These guys were experts, but their users weren’t and didn’t want to be! Solution:
 This is where the site visits really pay off — to build empathy for real people.
  • 54. Challenge #5: New Process
 Because of their long history working together, envisioning a new process working was incredibly difficult.
  • 55. 3 | DesignMap, Inc. | March 22, 2013 — — — — FEED-FORWARD RESEARCH (21 INTERVIEWS) RECONCILE: EXISTING / NEW / OLD STORY MAP ITERATE EPICS & STORIES MILESTONE & SPRINT PLANNING FINAL CONCEPTS CONCEPTSPERSONAS CONTEXT SCENARIOS M1 M2 M 3 DEV UX PM WE ARE HERE DESIGN PROCESS you are here
  • 56. 21 | DesignMap, Inc. | March 22, 2013 PERSONAS Persona Set Darren 38 year old IT Administrator Garth 45 year old IT Director Justin 42 year old Installer Manuel 26 year old Installer Stan NetApp Support Staff Goals Become less reactive and do less user support Get more time to work on projects Get more responsibilities with strategic technology pieces Goals Offload more responsibilities to staff to focus on key projects Garner executive support and budget for key initiatives Stay on top of latest technology trends that affect his business Goals Be efficient and accurate with his installs Be on top of his billable hours Stay up-to-date with certifications and latest technology Goals Get excellent customer ratings Have a positive impact on his customer’s businesses Travel less We learned during our research that there are 5 levels of support staff. Further research should be done to identify which levels of support staff will use UMW and how. AFTER StorSolutions
  • 57. 22 | DesignMap, Inc. | March 22, 2013 Darren38 year old IT Administrator The reseller does the installation, but at the end of the day it’s my system. I’m responsible for it. ABOUT Has worked at After Dell for 2.5 years. Married with 2 kids. Watches movies, co-coaches Little League. ENVIRONMENT File and Block storage, VMware, Active Directory. WHATHE’S STORING Finance records, company Web site, Exchange, Sharepoint, backs up disk-to-disk. COMPANY After Dell, Austin,TX Regional, 350 Employees Refurbishes and sells recycled computers. KEY CHARACTERISTICS Still adjusting to a recent system change. Handles mostly user support calls. Works in a team of 5 other IT staff. Works in a somewhat stressful environment. Storage Experience None A Lot He has little expertise in storage. His main focus is network, server and user support. Low High Self Reliance He relies on his vendor heavily and has a strong relationship with them. Low High Autonomy His manager gets his input on big projects, but he spends most of his time reacting to user support tickets or calls. Mobility Low High He spends time away from his desk doing user support and traveling to different branches during big IT migration projects. Reactive vs. Proactive Reactive Proactive Relies on users and alerts to tell him what he needs to fix. GOALS ve and do less user support chnology pieces
  • 58. 4 | DesignMap, Inc. | March 18, 2013 DARREN’S CONTEXT SCENARIO 1A Background Darren has had the Genesis system for 6 months now. He hasn’t had any issues with it until today. He arrives at work and begins his daily walkthrough. He checks his storage hardware, network, server and email. He sees an alert that needs his attention from Genesis... Darren38 year old IT Administrator The reseller does the installation, but at the end of the day it’s my system. I’m responsible for it. ABOUT Has worked at After Dell for 2.5 years. Married with 2 kids. Watches movies, co-coaches Little League. ENVIRONMENT File and Block storage, VMware, Active Directory. WHATHE’S STORING Finance records, company Web site, Exchange, Sharepoint, backs up disk-to-disk. COMPANY After Dell, Austin,TX Regional, 350 Employees Refurbishes and sells recycled computers. KEY CHARACTERISTICS Still adjusting to a recent system change. Handles mostly user support calls. Works in a team of 5 other IT staff. Works in a somewhat stressful environment. Storage Experience None A Lot He has little expertise in storage. His main focus is network, server and user support. Low High Self Reliance He relies on his vendor heavily and has a strong relationship with them. Low High Autonomy His manager gets his input on big projects, but he spends most of his time reacting to user support tickets or calls. Mobility Low High He spends time away from his desk doing user support and traveling to different branches during big IT migration projects. Reactive vs. Proactive Reactive Proactive Relies on users and alerts to tell him what he needs to fix. GOALS ve and do less user support chnology pieces
  • 59. 5 | DesignMap, Inc. | March 18, 2013 DARREN’S CONTEXT SCENARIO 1A CONTEXT 1. Darren receives an alert from his Genesis storage device. He sees that one of his volumes is at 90% capacity full and needs his attention. OPPORTUNITIESFUNCTIONALNEEDSQUESTIONS 2. He opens up UMW and immediately sees that a volume is running out of space. He clearly sees how it can affect business operations. Darren is responsible for the network, server, applications, and support users, he’s constantly prioritizing how he spends his time. Alert urgency must be clear and the delivery system should match urgency level (e.g. text message, email, within application) He hasn’t logged into UMW for 2 months now, we must present information from his perspective. Darren thinks about his storage in context of his business operations. An alert framework delivery mechanism based on issue type and criticality. Group alerts for different issues. If the user has not set up notifications yet, we need to inform them that they can. If there are multiple unaddressed alerts, periodically send summary email. Seamless navigation after login: UMW is aware of what he clicked on and highlights the issue for him. See the issue in context of what the volumes are used for in the business context. If we don’t know what applications are running on his hosts, give Darren an option to specify. Is it possible to open UMW by clicking on a link in the email? Is it a final decision that each admin will not have their own log in? In order to be aware of what applications are running on hosts, current NetApp systems require a utility to be installed. Is this true for Genesis? 3. The data stored on this volume is critical to Darren’s business, he wants to resolve this immediately. Hovering over the volume, he sees more explanation of the problem and its impacts. He clicks to see UMW’s recommendations. He normally would have to call his VAR for help, but the design of the system empowers him to be more self reliant. Show Darren solutions in the context of the storage management experience. Guided diagnostic help that suggests solutions based on Darren’s actual usage. Presentation of options in plain language to avoid confusion. See the issue in context of the appropriate view of the system 4a-b. He picks the first recommended solution. A helpful guide appears on screen for that topic. The guide helps Darren gain the confidence he needs to do something new with his storage and increase his storage skill level over time. Guide exists along side edit mode. Provide video help where appropriate. Different levels of administrative rights Link to discussions? Could we link to relevant discussions in community pages? 5a-b. Following the guide, he goes ahead and allocates more space to the volume in question. The guide exists within the screen he is doing the edit in rather than taking him out of context. UMW helps Darren get comfortable with the interface and gain more storage experience over time. Darren can skip a step or click next to see more EPIC US 26208 EPIC US 26175 EPIC US 23850 EPIC US 24503
  • 60. 8 | DesignMap, Inc. | March 18, 2013 STORYBOARD Resolves Capacity Issue 1 of 2 Email Edit Open UMW Host View Issue detail 1. Darren receives an alert from his Genesis storage device. He sees that one of his volumes is at 90% capacity full and needs his attention. 2. He opens up UMW and immediately sees that a volume is running out of space. He clearly sees how it can affect business operations. 3. The data stored on this volume is critical to Darren’s business, he wants to resolve this immediately. Hovering over the volume, he sees more explanation of the problem and its impacts. He clicks to see UMW’s recommendations. 4a. He picks the first recommended solution. 4b. A helpful guide appears on screen for that topic. Edit Recommendations Edit x Edit x Step-by-step Guide 5a-b. Following the guide, he goes ahead and allocates more space to the volume in question. Done x Edit Volume Edit
  • 61. CONCEPT SKETCHES 11 | DesignMap, Inc. | March 18, 2013
  • 62. CONCEPT SKETCHES 13 | DesignMap, Inc. | March 18, 2013
  • 63. 1. Darren receives an alert from his Genesis storage device. He sees that one of his volumes is at 90% capacity full and needs his attention. Inspiration Related Persona Spectrum Recovery Guru Reactive vs. Proactive Reactive Proactive Darren relies on users and alerts to tell him what he needs to fix. Email Edit Open Host View Issue detail Recommendations Edit 17 | DesignMap, Inc. | March 18, 2013 CONCEPT WIREFRAMES Genesis System To: darren@afterdell.com Storage Alert: Vol4 is at 90% capacity full. 1:42pm March 13, 2013 A volume mapped to Host1 is at 90% capacity full. Impact Users accessing Host1 will soon be unable to save or download files. Storage Alert This alert was sent to darren@afterdell.com and support@itsolutions.com. Edit my alert settings Helpful Add-Ons ICON AlertMe ICON Know-it-all ICON Omni Alert See the problem and get solutions.
  • 64. Email Edit Open Host View Issue detail Edit Recommendations Edit Edit 2. He opens up UMW and immediately sees that a volume is running out of space. He clearly sees how it can affect business operations. We understand there is a scalability issue with visualizing the individual volumes inside a pool. What is an appropriate scale for Genesis? Hitachi Command Suite 7 Notes Business operation-related data as it is impacted by the storage system. Showing application performance and capacity together. 18 | DesignMap, Inc. | March 18, 2013 CONCEPT WIREFRAMES Host1 serving as a Web Server 1 Application Pool1 1.0 TB 750 GB used 250 GB free Local_Array Vol2 Vol3 Vol4 Vol5 Vol6Vol1 Storage Capacity Edit Volumes Space UsedSize OS LabelName Free Space 24.8 GB100 GB Drive E:/Vol1 75.2 GB 101.2 GB150 GB Drive F:/Vol2 48.8 GB 81.2 GB200 GB Drive G:/Vol3 118.8 GB 89.1 GB100 GB Drive H:/Vol4 10.9 GB 1 Host1 - Web Server Vol4 is 90% full capacity. 12.8ms 2 11.3ms Host2 - Exchange Server 3 15.2ms Host3 - Database 4 16.1ms Host4 - Multiple Applications 5 12.4ms Host5 - VMware Server 6 6.2ms Host6 - Backup Server Local_Array Pool1 4 Volumes Host1 Apache 1 Lorem Ipsum Dolor Storage Performance Now12pm10pm8pm4am2am10pm8pm 6am12am6pmYesterday 1:42pm Refresh12.8ms 1 min ago Activity NETAPP | GENESIS https://
  • 65. 3. The data stored on this volume is critical to Darren’s business, he wants to resolve this immediately. Hovering over the volume, he sees more explanation of the problem and its impacts. He clicks to see UMW’s recommendations. Email Edit Open Host View Issue detail Edit Recommendations Edit Edit Step-by-step Guide Edit Sue Warcup IBM XIV SANtricity Inspiration Hardware visualization to bring the physical and logical together in one context. 19 | DesignMap, Inc. | March 18, 2013 CONCEPT WIREFRAMES Host1 serving as a Web Server Storage Performance Now12pm10pm8pm4am2am10pm8pm 6am12am6pmYesterday 1:42pm Refresh12.8ms 1 min ago 1 Host1 - Web Server Vol4 is 90% full capacity. 12.8ms 2 11.3ms Host2 - Exchange Server 3 15.2ms Host3 - Database 4 16.1ms Host4 - Multiple Applications 5 12.4ms Host5 - VMware Server 6 6.2ms Host6 - Backup Server Local_Array Pool1 4 Volumes Host1 Apache 1 Lorem Ipsum Dolor Activity 1 Application Pool1 1.0 TB 750 GB used 250 GB free Local_Array Vol2 Vol3 Vol4 Vol5 Vol6Vol1 Storage Capacity Edit Volumes Space UsedSize OS LabelName Free Space 24.8 GB100 GB Drive E:/Vol1 75.2 GB 101.2 GB150 GB Drive F:/Vol2 48.8 GB 81.2 GB200 GB Drive G:/Vol3 118.8 GB 89.1 GB100 GB Drive H:/Vol4 10.9 GB Impact See Recommended Solutions Vol4 is running out of free capacity. Users accessing Drive H:/ will be unable to save or download files. NETAPP | GENESIS https://
  • 66. Email Edit Open Host View Issue detail Edit Recommendations Edit Edit Step-by-step Guide Edit Volume Edit Kick-off sketch Tyler Davis Inspiration Previous sketches depicting UMW presenting the user with solutions alongside the problem. 4a. He picks the first recommended solution. Low High Self Reliance Related Persona Spectrum Darren doesn’t need to call his VAR to address this issue. 20 | DesignMap, Inc. | March 18, 2013 CONCEPT WIREFRAMES Host1 serving as a Web Server Storage Performance Now12pm10pm8pm4am2am10pm8pm 6am12am6pmYesterday 1:42pm Refresh12.8ms 1 min ago 1 Host1 - Web Server Vol4 is 90% full capacity. 12.8ms 2 11.3ms Host2 - Exchange Server 3 15.2ms Host3 - Database 4 16.1ms Host4 - Multiple Applications 5 12.4ms Host5 - VMware Server 6 6.2ms Host6 - Backup Server Local_Array Pool1 4 Volumes Host1 Apache 1 Lorem Ipsum Dolor 1 Application Pool1 1.0 TB 750 GB used 250 GB free Local_Array Vol2 Vol3 Vol4 Vol5 Vol6Vol1 Storage Capacity Edit Volumes Space UsedSize OS LabelName Free Space 24.8 GB100 GB Drive E:/Vol1 75.2 GB 101.2 GB150 GB Drive F:/Vol2 48.8 GB 81.2 GB200 GB Drive G:/Vol3 118.8 GB 89.1 GB100 GB Drive H:/Vol4 10.9 GB 1 Alert Vol4 is running out of free capacity. Impact Recommendations Users accessing Drive H:/ will be unable to save or download files. You have 250 GB left on Pool1. Add less than 250 GB to Vol4. 1. Increase capacity on Vol4 to create space for more data. (3 Steps) Step me through it. 1Task Add more than 250 GB to Vol4. 2Tasks ICON Advanced Management Related Downloads Clear A more sophisticated way to get the most out of your storage. NETAPP | GENESIS https://
  • 67. ANNOTATED WIREFRAME EXAMPLE 1 Host1 - Web Server Vol4 is 90% full. 12.8ms 2 11.3ms Host2 - Exchange Server 3 15.2ms Host3 - Database 4 16.1ms Host4 - Multiple Applications 5 12.4ms Host5 - VMware Server 6 6.2ms Host6 - Backup Server Host Name IOPS trend Alert associated with this host HostType Current IOPS Host Level Component Selector User can jump to any level of their storage system using the Secondary Navigation. The individual components within the chosen system level populates this list in alphabetical order. Each list item contains at-a-glance, dynamically updating data including alerts associated with that component. 4 Volumes Host1 Apache Selected level in Secondary Navigation 1 Pool1 150 GB Free 1TB850 GB 2 Pool2 475 GB Free 1TB525 GB High level capacity status Pool Level Local_Array Pool1 4 Volumes Selected level in Secondary Navigation 31 | DesignMap, Inc. | March 18, 2013
  • 68. VISUAL DESIGN DIRECTION 35 | DesignMap, Inc. | March 18, 2013
  • 69. VISUAL DESIGN DIRECTION 36 | DesignMap, Inc. | March 18, 2013
  • 70. VISUAL DESIGN DIRECTION 37 | DesignMap, Inc. | March 18, 2013
  • 71. Challenge #5: New Process
 Because of their long history working together, envisioning a new process going well was incredibly difficult. Solution:
 The Golden Scenario
  • 73.
  • 74.
  • 75.
  • 76.