Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
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...
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...
Case Study: Storage
@DesignMap @ixdasf
• mid-sized company
• long institutional and deep topical history
• new market opportunity based on new...
Challenge #1:

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

I don’t ...
@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...
Challenge #1:

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

But more than that, find ...
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...
14 | DesignMap, Inc. | March 22, 2013
FEED-FORWARD RESEARCH
Step 3. Conduct Interviews
We interviewed potential users in p...
4 of 4 Partners
Liked the new import process,
particularly visually mapping extensions
and users to the ports.
Noteworthy
...
AVAYA | IP OFFICE MANAGER
https://ipoffice.avaya.com/
Jenelle Davis Editx111(310) 111-1111 Remove
Voicemail Routed From Us...
Overall a great meeting. They thought our "high value" areas were on target. Overall really positive feeling on the direct...
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
Hardwa...
Storage
Primary
Secondary
Tertiary
Random
Access Memory
(RAM)
Hard Disks
Optical
Drive
Flash Drive
Tape Library
Tape Drive...
Storage
Primary
Secondary
Tertiary
Random
Access Memory
(RAM)
Hard Disks
Optical
Drive
Flash Drive
Tape Library
Tape Drive...
Storage
Servers
Primary
Secondary
Tertiary
Random
Access Memory
(RAM)
Hard Disks
Optical
Drive
Flash Drive
Tape Library
Ta...
Java
devices
thatmake
usefulfor
peoplelearn
anduse
Developers
programs
tocreateandrun
and the
internet
What is Java Techno...
World System
Email
name@email.com
Twitter
@twitter
Mobile Phone
(415) 555-5555
Facebook
654312346
Likes
Notifications
Subs...
Challenge #3: Credibility

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

Ask all...
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 d...
Challenge #4: Un-SME-ing

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

This is where...
Challenge #5: New Process

Because of their long history working
together, envisioning a new process
working was incredibl...
3 | DesignMap, Inc. | March 22, 2013
—
—
—
—
FEED-FORWARD
RESEARCH
(21 INTERVIEWS)
RECONCILE:
EXISTING / NEW / OLD
STORY M...
21 | DesignMap, Inc. | March 22, 2013
PERSONAS
Persona Set
Darren
38 year old IT Administrator
Garth
45 year old IT Direct...
22 | DesignMap, Inc. | March 22, 2013
Darren38 year old IT Administrator
The reseller does the installation,
but at the en...
4 | DesignMap, Inc. | March 18, 2013
DARREN’S CONTEXT SCENARIO 1A
Background
Darren has had the Genesis system
for 6 month...
5 | DesignMap, Inc. | March 18, 2013
DARREN’S CONTEXT SCENARIO 1A
CONTEXT
1. Darren receives an alert from
his Genesis sto...
8 | DesignMap, Inc. | March 18, 2013
STORYBOARD
Resolves Capacity Issue 1 of 2
Email
Edit
Open UMW
Host View Issue detail
...
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 n...
Email
Edit
Open
Host View Issue detail
Edit
Recommendations
Edit Edit
2. He opens up UMW and immediately sees that a volum...
3. The data stored on this volume is critical to Darren’s business,
he wants to resolve this immediately. Hovering over th...
Email
Edit
Open
Host View Issue detail
Edit
Recommendations
Edit Edit
Step-by-step Guide Edit Volume
Edit
Kick-off sketch
...
ANNOTATED WIREFRAME EXAMPLE
1
Host1 - Web Server
Vol4 is 90% full.
12.8ms
2
11.3ms
Host2 - Exchange Server
3
15.2ms
Host3 ...
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 incred...
The Results
@DesignMap @ixdasf
Audrey Crane
audrey@designmap.com
@audcrane
@designmap
@ixdasf
Thank you!
Design at Scale: A Storage Case Study
Design at Scale: A Storage Case Study
Design at Scale: A Storage Case Study
Design at Scale: A Storage Case Study
Design at Scale: A Storage Case Study
Design at Scale: A Storage Case Study
Design at Scale: A Storage Case Study
Design at Scale: A Storage Case Study
Prochain SlideShare
Chargement dans…5
×

Design at Scale: A Storage Case Study

303 vues

Publié le

A case study of designing at scale for an enterprise client in the storage vertical. A review of what we mean by "Consumerization of the Enterprise." Do we mean designing IN or FOR enterprise?
And 4th order design: the enterprise system, managing and designing alongside a complex B2B sales channel, old-fashioned challenges with engineers, and reaching “customers”.

Publié dans : Design
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Design at Scale: A Storage Case Study

  1. 1. Design at Scale: Storage Case Study Prepared for October 14, 2015
  2. 2. Hi, my name is Audrey and I’m a Partner at DesignMap.
  3. 3. @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
  4. 4. In or For?
  5. 5. @DesignMap @ixdasf IN or FOR Enterprise?
  6. 6. @DesignMap @ixdasf IN or FOR Enterprise?
  7. 7. @DesignMap @ixdasf IN or FOR Enterprise?
  8. 8. @DesignMap @ixdasf IN or FOR Enterprise?
  9. 9. @DesignMap @ixdasf IN or FOR Enterprise?
  10. 10. @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
  11. 11. Case Study: Storage
  12. 12. @DesignMap @ixdasf • mid-sized company • long institutional and deep topical history • new market opportunity based on new user type • internal advocate • skepticism Context
  13. 13. 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.
  14. 14. @DesignMap @ixdasf The “Customer” in the Channel Original Producer
  15. 15. @DesignMap @ixdasf The “Customer” in the Channel OEM (original equipment manufacturer) Original Producer
  16. 16. @DesignMap @ixdasf The “Customer” in the Channel OEM (original equipment manufacturer)Customer = Original Producer
  17. 17. @DesignMap @ixdasf The “Customer” in the Channel Customer = Original Producer OEM
  18. 18. @DesignMap @ixdasf The “Customer” in the Channel Customer = OEM Reseller Original Producer
  19. 19. @DesignMap @ixdasf The “Customer” in the Channel Customer = OEM Reseller (Partner) Original Producer
  20. 20. @DesignMap @ixdasf Customer = The “Customer” in the Channel OEM Reseller Buyer Original Producer
  21. 21. @DesignMap @ixdasf Customer = The “Customer” in the Channel OEM Reseller Buyer User Original Producer
  22. 22. @DesignMap @ixdasf Customer = The “Customer” in the Channel OEM Reseller Buyer User Original Producer
  23. 23. @DesignMap @ixdasf Customer = The “Customer” in the Channel OEM Reseller Buyer User Original Producer
  24. 24. @DesignMap @ixdasf Customer = The “Customer” in the Channel OEM Reseller Buyer User Original Producer
  25. 25. @DesignMap @ixdasf Customer = The “Customer” in the Channel User Original Producer OEM Reseller Buyer
  26. 26. @DesignMap @ixdasf Customer = The “Customer” in the Channel User Original Producer OEM / VAR Reseller Buyer WHO CARES?
  27. 27. @DesignMap @ixdasf Customer = The “Customer” in the Channel User Original Producer OEM / VAR Reseller Buyer (SRSLY.)
  28. 28. @DesignMap @ixdasf
  29. 29. Challenge #1:
 Our client didn’t mean user when they said “customer”. Not even close. Solution:
 Sure, make sure the users are real.
  30. 30. 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.
  31. 31. Challenge #2:
 What if making it easier messes up the [resellers] business model?
  32. 32. @DesignMap @ixdasf The “Customer” in the Channel Customer = OEM Reseller (Partner) Original Producer
  33. 33. 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
  34. 34. 14 | DesignMap, Inc. | March 22, 2013 FEED-FORWARD RESEARCH Step 3. Conduct Interviews We interviewed potential users in person and over the phone
  35. 35. 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
  36. 36. 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
  37. 37. 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
  38. 38. Challenge #2:
 What if making it easier messes up the [resellers] business model? Solution:
 Operation bear hug!
  39. 39. Challenge #3: Credibility
 How can you little designers possibly understand all this complicated stuff?
  40. 40. 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
  41. 41. 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
  42. 42. 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
  43. 43. 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
  44. 44. 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
  45. 45. 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
  46. 46. 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!).
  47. 47. Challenge #4: Un-SME-ing
 These guys were experts, but their users weren’t and didn’t want to be!
  48. 48. 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?
  49. 49. 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.
  50. 50. Challenge #5: New Process
 Because of their long history working together, envisioning a new process working was incredibly difficult.
  51. 51. 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
  52. 52. 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
  53. 53. 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
  54. 54. 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
  55. 55. 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
  56. 56. 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
  57. 57. CONCEPT SKETCHES 11 | DesignMap, Inc. | March 18, 2013
  58. 58. CONCEPT SKETCHES 13 | DesignMap, Inc. | March 18, 2013
  59. 59. 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.
  60. 60. 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://
  61. 61. 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://
  62. 62. 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://
  63. 63. 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
  64. 64. VISUAL DESIGN DIRECTION 35 | DesignMap, Inc. | March 18, 2013
  65. 65. VISUAL DESIGN DIRECTION 36 | DesignMap, Inc. | March 18, 2013
  66. 66. VISUAL DESIGN DIRECTION 37 | DesignMap, Inc. | March 18, 2013
  67. 67. Challenge #5: New Process
 Because of their long history working together, envisioning a new process going well was incredibly difficult. Solution:
 The Golden Scenario
  68. 68. The Results
  69. 69. @DesignMap @ixdasf Audrey Crane audrey@designmap.com @audcrane @designmap @ixdasf Thank you!

×