WWDC2001 Session 111

Transcript

Kind: captions
Language: en
ladies and gentlemen please welcome
manager of the worldwide developer
relations Mac OS Technology Group Tim
Holmes good morning
welcome to session 111 I'm not going to
be speaker today fortunately there was a
chance of that due to an impending child
birth coming this session is gonna be a
little different than many of the
sessions you've been to you've been to a
lot of details about technical hurdles
you need to get over to move to Mac OS
10 you've learned about the technology
underlying Mac OS 10 but this one is
important in a different way this isn't
just about coding it's not just about
moving your Macintosh application or
your application to the Macintosh or to
Mac OS 10 it's about truly making it a
Mac OS 10 experience there's a lot going
to be covered today it's a long session
so I won't take a lot of time I simply
want to introduce a man who I consider a
true evangelist the user experience
technology manager for Mac OS 10 and
Apple Computer John Glenn's II
[Applause]
all right well good morning as Tim said
we're gonna take a different tact with
this session and look at some sort of
conceptual ideas relating to user
interface design and how to create a
really great product on Mac OS 10 we're
not gonna be looking at api's we're not
going to be talking about coding we're
not gonna be looking at data structures
or i/o kit or any low-level stuff that
you know a lot of you are looking at in
other sessions when you're looking at
the high-level ideas behind what does it
take to create a great citizen product a
true citizen on Mac OS 10 under the Mac
OS 10 the user experience from Equus 10
which is aqua and we're gonna do that by
first looking at building a foundation
for why that's important by looking at
some of the benefits that users are
going to gain from this and that you as
a developer going to gain from creating
a product that has great design next
thing we're gonna do is look at what are
some of the scenarios that you're gonna
face as you consider adopting aqua how
do you allocate your resources where do
you spend your time because there's lots
of stuff to do when you bring a product
to Mac os10 and so we're looking and
help you sort of set the priorities for
those for those decisions and the third
thing I want to do is go in depth on
what some of the building blocks are for
a great product on Mac OS 10 under aqua
okay so this is the Mac OS 10 desktop
we're all familiar with this we've all
you know you're all you running Mac OS
10 you've seen this you've interacted
with you yourselves but you know when
Apple released Mac OS 10 back in what
was it January 2002 Mac world we were
revealed to the world an interface that
was unparalleled on the on any computing
platform and and the reviews that we've
seen to date have really attested to
this fact right I mean the reviews we're
getting are fantastic they're talking
about Ocwen in using words like awesome
and and you know fabulous etc and and
you know they wrote it I didn't write it
so but the reviews are a testing factor
this is this is a phenomenal interface
we use transparency and shadowing and
anti-aliasing to create an environment
that's incredibly attractive and that
really is the new world in which your
apps on Mac OS 10 are gonna live and
that's why I'm gonna keep talking about
this idea of citizenship you treat Mac
OS 10 as if it was you know a country
that you were gonna belong to that your
product is gonna belong to it's going to
relate to the citizenship
are you a stranger in a strange land or
are you really a full class citizen and
a true citizen of this country so the
benefits of creating a product with
great design are many right the first
benefits for users are they're gonna
learn your product faster a product
that's well designed that has a great
intuitive you know interface layout that
leads them through the process of
arriving at the solution that your
product offers is a product that's going
to allow users to learn the product
faster if they can learn the product
faster they accomplish tasks more
quickly because things aren't getting in
their way they're not confused about
where they're gonna find some given
feature in your product right windows
that are laid out nicely that are
organized properly to have proper
spacing and we're gonna get into all
these details shortly our applications
and products they're going to enable
users to get on with the tasks that
they're trying to get on with and the
software is not going to get in their
way
as a result of those things you're going
to be increased productivity so users
are gonna gain a great return on
investment they purchased your product
they wanted to get a solution from your
product they're getting the solution
they're getting their things done and so
they're gonna have great return on
investment which is going to save them
time which is going to save them money
as a business or a small business all of
this stuff matters and sometimes when
we're developing software we forget
about those end users out there who are
using the product they don't care about
all the features per se as features they
care about how those things enable them
to get the product of the solution that
they're trying to arrive at to the
problem that they're facing with their
with their business or with their life
or whatever all of us have introduced
Macintosh to somebody right we've all
sat down with a family member and we
started to you know we've been preaching
them or whatever we've been talking them
for months or years about how great the
Macintosh was and so we SAP them down
finally we had an opportunity to sit
them down over Christmas holiday
vacation or whatever and we sit them
down to the front of the machine and we
you know it's that first experience that
matters right and I bet you half the
audience here will have chosen the wrong
product to introduce the Macintosh with
I've done this several times with people
and I remember at certain times I chose
a product that I will never choose again
and they sat them down I thought this
was the product that would get them
introduced to Macintosh and they started
to interact with this thing and they got
all confused about what they needed to
do next
those were products that were not well
designed in terms of
leading the user into the task at hand
and into the solution that they're after
so increased self-confidence it comes
about when products are designed in such
a way that users accomplish the things
they're trying to do and they feel good
about it
and ultimately if the users have done
all these things if they're getting
things done if they were getting return
their investment a positive return on
investment if they're you know they're
feeling good about themselves in terms
of using the computer they're gonna have
real process Attis faction the purchase
they made from your company the
developer benefits come right out of
this of course right if you've got
satisfied customers you've got increased
upgrade revenue the chances are that a
happy customer excited by a customer of
a previous product of yours will buy a
new product is very great if they have a
great experience with that right not
only that but with aqua specifically on
Mac OS 10 if you do nothing but clean up
the interface on your product follow the
interface guidelines completely and add
all of the functionality that aqua
offers and add no additional features
people will buy the product upgrade so
you don't even need to new you don't
even need to add new functionality
specifically for Mac OS 10 because
people are looking for the Mac OS 10
user experience within your product and
if you just deliver that alone you'll
get a product upgrade potentially so
anyway based on the user user experience
benefits that we've seen before you're
gonna have reduce support costs if
customers are getting things done with
your product why would they call you
things their software's not getting in
their way
why would you have complex documentation
if the product just sort of leads the
user through the task at hand right so
reduce documentation more positive
product reviews probably the single most
the the single manner in which customers
and reviewers are going to evaluate your
software in Mac OS 10 and the quality of
your product on Mac OS 10 is based on
the quality of your interface if your
interface is half done or shoddy or it
just doesn't feel like aqua you're going
to see it reflected in the reviews all
of us have read certainly those who've
been on the Mac platform for you know a
number of years know about those typical
reviews product reviews that sort of say
you know what this is kind of a cool
product for from a functionality point
of view but it sure feels like a Mac
port two stars right don't have that
happen to your product on Mac OS 10 when
the review start coming out about it
and gaining a competitive advantage I've
taken a few minutes on these slides
because it's really important to build
this foundation for why the rest of the
stuff in this session matters a
competitive advantage can be earned by
your product if you deliver a product
that has a fantastic user experience
because if you consider all things being
equal in a given software category right
your competitor has the same
functionality that you do you
essentially read and write each other's
files you do all you know you know all
things being equal the product out of
those two that has the better user
experience that builds on aqua the best
is going to have the competitive Vantage
not only for that but because you're
going to reduce tech support costs
employee documentation all the other
things as a result so how do you decide
what to adopt you know what attributes
of aqua do you want to adopt in your
product as you come to ten well the way
to do this I think is to sort of lay out
a good better best scenario kind of like
we do on the Apple Store with our
software with our hardware right good
better best configurations let's let's
look at it that way in terms of adopting
aqua the good scenario is really the
minimum what does it take to create a
great product and or a good product in
Mac OS 10
well it takes native code for one thing
right and then it takes these six things
it's not enough to bring your product to
Mac OS 10 to bring your code over to Mac
OS 10 to carbonize or to cocoa bring
your product right in cocoa or bring it
over in Java or whatever you do to get
your code onto 10 it's not enough to
bring to port your code to 10 because
that just gets you to the operating
system but it doesn't get your product
on the operating system if you know what
I mean
so native code is one step but it's not
the minimum that's not what we would
consider the minimum the minimum is
native code plus these six things
quality icons respecting the dock we'll
get in all these in detail in a minute
here but adhering to the system
appearance adhering to the layout
guidelines adhering to the new windowing
model on Mac OS 10 if that's going to
affect you and providing user assistance
through Apple help that's the minimum
that's what it takes to provide to ship
a great product or a good product
content sorry a good product on tin a
better product than 10 is going to have
all of those things native code and all
of those things
plus adhering to the file locations that
are default per every user on Mac os10
saving files in the right places as
predefined by the system adopting sheets
and doing things like help tags going to
the next step next level in terms of
providing user assistance and of course
the best the best delivery of a great
product or the best way to deliver a
great product on 10 is to do all of
these things which is add dock animation
where it makes sense implement drawers
take advantage of drawer functionality
and then do speech enabling your
application where it makes sense as well
so really what I'm saying is that to
provide a fantastic user experience on
Mac OS 10 under aqua you need to adopt
the human interface guidelines this is a
document that's been evolving over the
last year we've continued to we've had I
don't know I think it's three updates
now as of today there's a new update
that's available for download off our
developer website I'll give you the URL
at the end but this document is a
dynamic document it's going to continue
to be updated as we continue to add
functionality in Mac OS 10 and as we
continue to view what developers are
doing and help give you guys guidance in
terms of what you're doing on the
platform so step one let's go in-depth
on some of these some of these building
blocks for creating a great aqua
application step one is native code you
all know how to do this and if you don't
that's why you're here or whatever and
I'm not going to go into this in great
detail step two is quality icons
well--why quality icons well probably
the single most visible attribute of
your application on 10 on Mac OS 10 is
the icon that shows up in the dock when
the application is launched icons in Mac
OS 10 can be extremely large 128 528
when you're looking at the browser view
and finder and you select an application
don't double-click it but just select it
or a document you see the enlarged
application icon in finder right and
application icons and document icons on
Mac OS 10 are extremely rich in design
and visual appearance and they have lots
of characteristics if you look at this
particular slide on the top row you've
got user applications which are highly
you know they have lots of color they're
inviting they're attractive they can
get lots about what the application does
that's the first genre of applications
first type of application icons the
second row is as utility applications
they're monochromatic in color they're
more subdued in in characteristics
visual characteristic right in fact
there's a lot to say about icons and I'm
not even the expert there and I don't
want to go into any great detail because
I could talk this whole session about it
so we've actually put a session
specifically aside to talk about icons
here in Hall to 10:30 on Friday and this
session the biggest takeaway from this
session is going to be that you will
learn how to critique icons in Mac OS 10
so that when you're working with a
graphic design agency or graphic
designer in-house graphic designer and
they produce a you know a first turn of
an icon and say hey what do you think of
this new icon you can say well you know
I don't know either it's great or it's
not or it needs some more work so I
think coming to this session is going to
give you that information give you some
insight into how to critique icons and
make some good choices icons are very
different on records at Mac os10 and
they're a very visual component of your
application so they're really a big deal
conversations about the icon inevitably
lead to the dock because the dock is the
keeper of icons right and there are
three things that you need to do with
respect to the dock or that you need to
pay attention to with respect to the
dock in terms of delivering a great user
experience on 10 with your application
the first two things are things that you
must do every application on the
platform should do the first two things
and we're going to talk about these in
detail the third thing is something that
some applications should do in some
instances it really makes sense to
animate a dock icon but not in every
case so the first thing that every
application that ships on Mac OS 10
should do is to respect the docks
location why does this matter well
everybody has been caught currently
because lots applications don't do this
currently with Windows that size behind
the dock and now suddenly you're caught
because you've got to move the dock or
size it down or whatever you do to get
at the the resize box for the window so
every application of macmost and the
chips should respect the docks location
their API is available for carbon and
cocoa and when you open a new window or
opening you
window or zoom your window make sure
that you don't zoom it or size it behind
the dock so this is the behavior that
you want to have not this this users
will be a lot less frustrated and you're
going to provide a greater user user
experience for them the next thing that
every application should do to provide a
great user experience of Equus 10 it's
the two to have docked clicks always
produce a window well why is this so
important well one of the things that
we're trying to get around with in aqua
is to move beyond where we worth mac OS
9 and provide a better more streamlined
user experience not all the features are
there yet we know that we're continually
consistently revising the operating
system we're gonna add new functionality
but one of the things that's that's an
experience that we've probably all had
with someone on the Macintosh is where
people close the document window
thinking that they're quitting the
application and suddenly they're sitting
there now and there's no windows open on
the machine they click on the background
the desktop on Mac OS 9 and they're lost
where'd my application go where do my
document go I don't know what I did and
one of our design goals for the doc and
for this particular principle is to make
sure that that doesn't happen anymore on
Mac OS 10 and if every developer out
there shipping a product in Mac OS 10
does this the problems can be gone
because what happens is if you follow
the rules if you're a document based
application if you have no document
windows open I click on the doc will
result in a new untitled document if all
of your windows are minimized I click on
the doc is going to minimize the last
one that was earth or you activate the
last window that was minimized and if
you're an on document based application
like System Preferences for example and
you close the System Preferences window
when you click on the system perhaps
icon the app is still running right what
it does it brings up its main window
that's the behavior that every
application of Mac OS 10 should be doing
animating dock icons this is the third
thing that relates to the dock and this
is this falls into the category of
things that some application should do
every application can could animate it's
possible to animate your dot your
application icon and your document icon
and they should only be done in the case
where you want to provide meaningful
feedback to the user you want to provide
status and some operator
that's occurring you want to provide
some some update as to you know progress
on some maybe a high-end rendering
process that's taking place with one of
the documents so when you consider
animating your dock icon
whether it's your document a document
icon or an application icon think very
carefully about whether this is going to
provide great value to the user in terms
of indicating progress or status or
whether this is just something cool this
is the kind of functionality that we
that we dread making available sometimes
because there's always developers out
there go this is just too cool and they
call home and they say you know what I
got to work on something really
important and then they stay up all late
late real night making something really
neat and yet it has no value and the
last thing that any of us want is firing
up a bunch of apps and having the doc
animating every single icon in the
document in the dock animating so do
this where it makes it lens value and
don't use garish colors don't use
blinking don't use you know just some
crazy animation that's constantly going
use it where it adds value so for
example in Mac OS 10 if you look at what
we're doing with the mail application
the mail application icon looks like
this and when you receive new mail
that's it that's a status that we want
to communicate to the user that's a
situation we want to communicate to the
user so what we do is we tag the the
application icon with a red badge the
red badge happens to have inside of it
the number of new unread messages that
you have in your inbox but that's not
what's most important here what's most
important here is that there's a red
visual cue that your eye picks up on
even if you're not even looking at the
dock
you're on screen you're interacting with
your computer and yet you see that red
icon up here if that's certainly if the
dock is up right that's the kind of
guideline that we're looking to lay out
for you before you be very careful how
you do animation do it in a way that's
that's minimal minimalist that doesn't
get in the way and stand out in a way
that's that's going to distract users
but that also communicates volumes so
what happens is your eye sees a red dot
and it goes oh I got new mail and then
you zero on on the details as to how
much mail and whether you really care
about reading it or not so be careful
how you choose to animate your icons and
we're gonna have sessions later on this
week that go into detail about how to do
this from the API point of view but I
don't want to get into those details
here
so before we get into the next session I
want to talk about what's your
citizenship and I brought this up
because I recently moved to Silicon
Valley from Canada I'm a Canadian yeah
and and it's a great place to live here
it really is but you know and I'm not an
American citizen I'm a Canadian citizen
proudly so and but I have a work visa
here but the thing about citizenship is
that they're there when I go around here
particularly when we moved in and I
started to drive around the valley and
you know find my way around I couldn't
find things there were certain things I
was looking for and I couldn't find them
and it really came down to a cultural
difference or it kind of it like a
citizenship I mean they do things
differently in the States than they do
in Canada they do things differently in
Europe than they do in you know in
Canada or in the States or whatever and
so some prime examples of looking for
something and not finding it when I
expected it to be there were three
things first of all service stations gas
stations driving down the highway
I'm expecting a gas station to be at an
interchange where there's another
highway or whatever that's where they
are in Canada and so we've gone on trips
here and we've you know been near
running out of gas and there's no
service station it's not the visual cues
that I expected are there but there's no
service station the other thing is a
7-eleven I can't find 711s they're not
where expect them to be usually in
Canada or in eastern Canada certain ones
that I knew about 7-elevens were by that
the local sort of the strip mall right
this small shopping plaza that's in the
neighborhoods or whatever there's always
a 7-eleven right there well that's not
where they are here so I'm looking for
things in certain places and I'm not
finding them and the other thing is
Lakes where I come from in eastern
Canada there's lakes everywhere and so
when I go into the woods go for a hike
or whatever and I'm walking around over
the hills I expect to see a lake and I
do and yet when I go for hikes here in
the Santa Cruz Mountains or whatever
they're there numerous instances where
we've been at a children's camp or
something and we're looking at walking
around and we we expect the lake to be
somewhere and there's no lakes and it
really disorients you and the reason I'm
talking about this is we showed the Mac
os10 desktop at the beginning right
that's the world in which your
application is going to live
the question is will your application
show things in the right places where
users expect them to be what's your
citizenship going to be with your Mac
os10 product and the way to show what
your citizenship is through is through
the next several building blocks the
first is system appearance aqua has very
specific representation of on-screen
interface elements right pops look a
certain way push buttons look a certain
way bevel buttons radio buttons all of
the interface widgets that we're used to
have a particular appearance that's
unique on Mac OS 10 they don't look
grayscale they don't look just white or
whatever that we're used to from
previously on the Macintosh they don't
have other platform appearances they're
very unique to Mac OS 10 your
application needs to follow this
appearance if it's going to look like a
full class citizen to Mac OS 10 the
reason that's important is because users
are going to come to expect a particular
appearance for controls and they're
going to use that as visual cue visual
cues for visual cues as they search hope
things on the screen and know what to
click on etc so one of the new things
that was introduced with Mac OS 10 is
toolbars toolbars in Mac OS 10 I have a
have a striped background appearance
they have icons that are up on the
toolbar that have a shelf like
perspective on them and we're gonna talk
about in detail about how to what
toolbar icons look like in the designing
art icon session on Friday but Mac OS 10
toolbars have a very specific special
appearance they're very cleanly laid out
lots of nice use of whitespace the icons
sit on a striped background as I said
there's text below the icon anti-alias
text of the system font right Carbon
Asarco co-developers get this for free
by using anna's toolbar class they just
get this stuff for free plus the
configuration sheet that comes down to
configure the toolbar
Carbon developers need to do a little
bit more work in assembling some of the
pieces but essentially can easily do
this the other thing about these
toolbars is they don't really show
status they're used for selecting you
know making a choice and moving on and
so when you make a choice when you
select an icon it it darkens 50% so when
you look to roll your own toolbar
through carbon for example make sure
that the icons darken 50% so if you have
toolbars in your application this is the
appearance for them on Mac OS 10 square
bevel button the bevel buttons nothing
new the square Belleville button was
particularly
created specifically by Mac os10 to
provide for the situation where you want
to have multiple buttons that are
related that show status the square
bubble button does a really good job of
showing which one is selected so you
have text attributes you know bold
italicize underline or alignment or
whatever the bevel button does a great
job of that the bevel of the square
bubble button also is great for in the
bottom left corner or anywhere along the
scrollbar edge of a window because it
fits in there it can be any size it can
have a pop-up menu associated with it it
can have an icon in it and a whole bunch
of things it's a great use of it they're
great for toolbars etc so this is
another way of doing a toolbar in Mac OS
10 or doing collections of related items
that need to show status another thing
on Mac OS 10 is the appearance of text
it's anti aliased it's anti aliased
everywhere and the font that's provided
through the system is lucida grande when
you specify this particular font face in
your application when you're drawing
text yourself you should select text
through metaphors pacification - the
appearance manager if your carbon avoid
hard-coding font references avoid
hard-coding font sizes specifically
saying use Geneva 9 for my interface is
something you should avoid those fonts
may not even be available in the future
lucida grande is the system font you
need to specify the font that you're
going to use to draw the interface it
detects an interface by using meta
specifications using the system let the
system draw it wherever possible and in
one of the sessions here one 19 session
1 19 carbon controls and appearance
we're gonna get into detail as to what
are the common API changes that you need
to make to get your text to draw
properly on micros 10 so one of the
great ways of learning is by looking at
pictures of what not to do or what to do
and in this case because this is just so
as we look at applications that are
coming to Mac OS 10 we're seeing lots of
great examples of what to do we're also
seeing lots of common oversights it's a
rather than fabricate some you know fake
screenshot that we put together in
Photoshop to communicate some idea I
chose to I think
to use some real developer examples from
out there some of maybe some of these
are your products and show what some of
the common oversights are with respect
to creating a great appearance for your
Mac os10 product one of the typical
things that developers are doing today
on shipping products in Mac OS 10 so
that you can learn from them and this is
not an effort at picking on a developer
this is all about learning from each
other okay first one is wrong window
background windows in Mac OS 10 come up
be certainly under carbon come by
default come up with a white background
so you need to use theme backgrounds to
get the striping the pinstriping
background that's common on Mac OS 10 so
Windows on Mac OS 10 dialogues palettes
utility windows you know whatever all
the tech window types have a pinstriped
background your application needs to
have pinstriping on the background of
your dialogues and your palette windows
and utility windows
not only does do there's a white
background look well basically what this
does it makes it look incomplete aqua
controls in fact we're designed to look
best on a strike background and I've
been up and using the wrong background
although this is a really little thing
leads the bigger things like this custom
backgrounds controls that don't even
look this is a Mac OS 10 product it
doesn't even look like Mac OS 10 it's
using not even Mac OS 9 pop-up menus
there's no you know little down arrow
indicating that those are pop-up menus
these look like system 7 pop-up menus or
not even the tabs that are being used
those three buttons in the top are tabs
non-standard tabs so what this does is
it makes this product feel even though
it has fantastic functionality it makes
it feel like it's not a full class
citizen antilles text we're not one of
the most common things that we're seeing
with products shipping these are all
shipping products in Mac OS 10 in fact
this product comes from this dialog
comes from a product that's in fact the
companies that a fantastic job moving to
10 and yet in this particular dialog for
whatever reason we have a mixture of
antilles text and non antilles text we
have a mixture of system fonts and hard
coded font references
so if you look at the right side of this
screen of this particular dialogue we've
got controls that have the Helvetica
font we're not using the system to draw
the font in the controls so there they
must be drawing the controls themselves
with appearance manager maybe but the
font is not correct we've got the labels
down the side our Helvetica so we've got
Helvetica font on some controls and on
some labels mixed with lucida grande
font that the system drew on some of the
controls if you look even there's some
other lack of attention to detail even
the baseline of the text on the labels
and the controls doesn't even line up so
one of the messages I want to
communicate really clearly here is that
your customers hold on one of the
messages I want to communicate here is
that you've spent a lot of time writing
your product you spend a lot of time
poor you know investing yourself into
the code behind your product and all of
its functionality if you put on a
half-hearted effort for the user
interface people are looking for a
fabulous interface on Mac os10 because
it's set a new standard for interface if
your product doesn't deliver that that's
how they're gonna judge the quality of
your product and that's highly unfair
probably for the code that you've
written because your product probably
does some great stuff but the same way
that we buy cars and we buy other things
we look for attention to detail if
there's no good icon in your product if
it's just gonna you know Mac OS 9
grayscale icon that's scaled up to 128
by 128 in the dock the first impression
I'm gonna have is whoa
you know these Wow they looks like they
rushed to market and then you get this
kind of stuff which which further you
know aggravates that idea or pushes that
idea here's another common mistake too
small text every developer pretty much
in this room probably every one of you
is gonna argue that I need to use small
text to my interface it's got to be
really small because my users want lots
of functionality on the screen and
there's not enough screen real estate
I've got to cram all this stuff on the
screen well you know what that might be
the case for some utility windows and
for pallette windows and productivity
applications that might there's probably
some good arguments in certain instances
where that matters and where that's
valuable and where that's important but
the vast majority of cases
that we see in that I interact as they
interact with developers vast majority
of cases it's completely unworkable it's
completely not important to its in fact
you shouldn't do small text I'm
stumbling on my words here the problem
with this particular dialogue for
example is this text is so it's so small
it's hard to read on a 1024 768 this
display what happens if I start running
this application on my new iBook that
has 160 P I running Mac OS 10 I can't
read it so be very careful where you
choose small text dialog boxes like this
one are transient in nature users you
display a dialog because the user told
you to display the dialog they chose
some of the interface the dialog appears
it could be much bigger this dialog
could grow 25% or 30% and use the full
size system font large system font
everywhere on it and it would be equally
usable and because dialogues are
transient they can be much bigger you
can use standard size controls you can
use standard size text large system font
because I'm focusing that as a user I'm
not interacting with other stuff on my
screen typically careful how often you
use small text another common problem
mixing small and large text here we've
got a dialog or a portion of a dialog
that's got standard font in the pinup in
the pop-up menus but it's got small
system font for the labels if using
small ustym font you know small controls
then use small labels if you're using
large controls standard controls use
large system font because what this does
it looks incomplete it looks unfinished
there's another thing it might be a list
I'm not sure what this is
in fact lists on Mac OS 10 have a white
background this one's got a striped
background this list is using
non-standard fonts for the contents of
the list so it's a Helvetica or
something I'm not even sure what it is
the OK and cancel are in the right place
but we're going to get to that shortly
and along the top here we have what are
they white bevel buttons oh there column
headers well on Mac OS 10 there's a
particular appearance for list headers
for carbon if you use data browser AP is
the data browser will give you the right
appearance in Mac OS 9 and on Mac OS 10
it just does the right thing for column
headers and it
takes care of a lot of other stuff like
cool animation of columns as you move
them around it does the right thing for
you saving you helping you or allowing
you to focus on the value add for your
product and letting us do the UI code
and in-car in cocoa lists can be done
with an S outline view and NS browser
view and some of the other classes
they're available so lists have a white
background the dialogue has a striped
background this is common and that is
where we have a duality in character for
controls and the most common of these is
button labels or label buttons or I'm
not sure which it is so as I look at
this dialog it's laid out great it's
followed the interface you know the
layout guidelines the spacing and stuff
like that
it's got full aqua you know the right
pinstriping at the right controls
everything like that the problem is is
gradation a button or is it a label for
the pop-up menu beside it well it's both
actually four people are used to the
heat computer they could probably figure
this out and it's not that big a deal we
probably wouldn't even think you know
very much about this but for new users
new customers it's confusing a button is
not a label a button is a button a
pop-up menu needs a label interface
elements were designed for specific
reasons use them for what they were they
were designed for and don't make them do
two different things going back to
dialog that we looked at a little bit
before in terms of the font size mixing
up something else I want to bring
attention to is something else I see
fairly often in products that are
shipping on 10 today and that is this
button that is 3 an ellipsis in it what
does it do I don't know what they really
want this to do is essentially be the
last item in those pop-up menus where
there's a separator that says more or
other right maybe it's a font list or
well in this case I forget what's in
these menus but maybe it's a list of
font sizes and then there's a separator
spacing right and then it says other dot
dot dot so so unless something has to be
elevated to the primary level you know
that's the highest level in the
interface I thought thought thought
button is not something that's that
users
understand and the problem here is that
it cuts down on productivity because the
user has to click on this thing to see
what it does oh okay and then they make
a mental note about what this does and
hopefully they remember what it does in
the future too many group boxes one of
the design goals in aqua was to
eliminate black lines and hard edges and
move to sort of a softer environments
that has lots of breathing space and
white space you know and that sort of
thing and you know this is a fantastic
product on Mac OS 10 they've done a
fabulous job with this from a
technological point of view but here's a
great example of a dialog box that has
way too many bought group boxes in it
and in fact the goal for the developer
probably was to make this the group
boxes help the user navigate the dialog
and find excuse me find the things that
they're looking for but in fact they've
not accomplished that they've gone it's
in fact done the wrong thing it's gone
the other way in fact in all the lines
now make it very confusing confusing to
read we're gonna get into some examples
later of how to avoid using group boxes
but use separator lines and white
spacing to accomplish the same goal and
yet it makes the dialogue far more
readable if they're if you do have to
use blue boxes which are available in in
aqua there's all there's a primary group
box and there's a secondary group box
which have both different appearances so
in the case where you might have a group
box within another one where it's
warranted there's another appearance for
a secondary group box so look in the
interface guidelines for details on that
mixing platinum and aqua a lot of you
are coming from Mac OS 9 to Mac OS 10
your carbonizing your products and
here's a product that's shipping on 10
today they've got it inside of a Mac
os10 window but the concerts of the
window are completely platinum the
disclosure triangle on the folder is the
Platinum the Mac OS 9 appearance that to
folders themselves Mac OS 9 appearance
the list background is gray and white
Mac OS 9 background so what this leads
me to believe as a user is that well is
this a native Mac was to nap bird I'm
not sure because it feels like kind of 9
make sure that every interface element
that you draw is native for the platform
on which you're on what's your
citizenship
another example mixing platinum and aqua
here is somebody who decided that the
progress bar
you know I don't know they were gonna
drive themselves so they figured out
what the pixels were and they drawing
this thing by themselves but the problem
is that on 10 it draws the same way it
always did on Mac OS 9 so there's a
progress bar control available in Mac OS
10 and it will draw the pulsing you know
the sort of the animating nut pulsing
the animating progress bar common issue
wrong tabs tabs you know and some of
this is because Apple in the past didn't
have a tab control so developers had to
come up with another way of allowing
users to switch the pane in a dialog box
but here are three examples of ways in
which people have customized tabs in
which they continue to customize tabs on
10 and for example in the right side
we've got we've got two rounded bevel
buttons that they're taken out of
context here but in context you would
have no idea that they'd switch the pane
of the window they just look like two
buttons that happen to be really close
together so if you've got a tabbed
interface use the standard Mac os10 tabs
which look like this they're available
north south east west side of a pain top
bottom left right and they're available
in large or small or standard or small
size toolbar overdose this is actually a
real product shipping on ten and when
you launch when you fire it up for the
very first time you get well I think
it's nine toolbars showing up on screen
not and not only that well first of all
what that shows me is that that the
programmer or the programmers or
whatever felt that every single piece of
code that they wrote was extremely
important and needed to be connected to
up to an interface element because they
wanted the user to use that cool feature
that's not what usability is about
usability about is about progressive
disclosure to your users to allow them
to move through the process of solving a
problem that you're trying to solve and
you providing a great solution for your
software don't just expose every feature
in your application to the interface
don't populate you know the menus with
every possible hook into your code it
just makes for a completely confusing
environment this is synonymous with
taking every control in an automobile
and putting it on the steering wheel it
becomes highly unusable you can't find
anything how would you possibly drive
how would you do stuff not only that
we have appearance issues here it
doesn't look like a Mac os10 toolbar
right we talked about the toolbar
designed for Mac OS 10 it's clean strike
background nice icons up on a background
although this is the bevel button which
is another option that's true but we
have the font inside of some of the
controls here is Helvetica or something
it's not Lucetta we have a pop-up menu
in the top four percentage which looks
like it's trying to be a combo box but
it's a pop-up but it's an edit field so
we've got this multi characteristic you
know schizophrenic control which really
becomes highly confusing for users and
why is it confusing because it doesn't
look like anything they're used to it
kind of looks like something to use do
so maybe they'll figure it out but it
doesn't lend users to self-confidence
and to encourage them to move on and
learn the product step five about being
a good citizen is lay out guidelines we
publish very detailed specific detailed
information about the spacing between
interface elements and that we've
thought long and hard about why this is
important it's about it comes down to
readability it comes about down to you
know navigation of content of your
dialogues it comes down to localization
issues comes down to the overall
appearance of Mac OS 10 lots of white
space and breathing room and and and a
light friendly kind of lively feeling to
Mac os10
so it's important to follow these and
we're not suggesting that you memorize
this stuff because we've got a great
tool that's available that you've seen
already probably called interface
builder that lets you basically draw
your interface drag and drop elements on
screen and as you drag these things on
screen you get guidelines that sort of
snap in place that say hey this is the
right place for that with respect to
that other control or with respect to
the edge of the window or the tab panel
or whatever err face builder is a
fantastic prototyping tool nataly's that
let you draw this stuff but it lets you
hook it up to code and you saw in the
keynote address where Scott Forstall
demonstrated this fantastic example of
how this is a really this is a prototype
or with a kick
it's the UI design tool of choice and
we're going to continue to extend this
this tool so that it becomes the premier
design tool for interface design at
Apple and carbon api's are available
today this isn't only just for cocoa
developers Carbon developers can use
their output from interface builder and
extract the resources and windows that
are in there
those api's exist and we're gonna talk
about those in some of the other
sessions so let's look at some common
scenarios that we're seeing as products
come to Mac OS 10 developers who are not
adopting the interface guidelines in
terms of layout
you know guidelines and we're to look at
why this matters and how you can
transition a dialogue that doesn't
follow this stuff into what a dialog
that does and how dramatically it
affects the overall usability here's a
preference panel from an application
that's bill 110 today fantastic
application and yet it's very hard to
navigate this panel it's very hard to
tell what's here and you have to
actually read every single element and
think about it in its context relative
the other elements to think about
whether it's the one that you want the
alternative is of course to apply the
interface guide the layout guidelines
and you get something like this which
has grouping of elements that are
related it uses a separator bar it uses
whitespace and suddenly now you can
quickly scan the categories and zero in
on the category that you're interested
in the setting that you're after right
so go to this or go to this and the
dramatic effect that you see here if
that is applied to every single dialog
box in your application every single
pilot window or utility window or
whatever whatever you want to call them
but if you take these guidelines and
apply them to your application you could
ship that application simply by applying
the guidelines and people would buy it
because it looks so much better than
there's so much more navigatable and so
much more usable so the effect on your
application moving it back was ten
applying these guidelines he's dramatic
we've seen developers who have taken the
time to do this
and they're blown away by the results
their their Quality Assurance teams look
at these things and go wow this is great
he hit the developers haven't done
anything they've only modified the
layout guidelines or the layout of their
dialogues here's another example this is
a shipping product that Mac was 10 we've
got a bunch of problems here we've got
checkboxes way too close to each other
although they're on a whitelist so we'll
give them a credit for that we've got
some big buttons on the right which
which we're not sure what they do but
we'll talk about in a second
and then we've got some text at the top
which is the list label I guess but the
text is clipped it's cut off this is
shipping on tin so what does that say to
you as a user if you buy a product you
spend 200 bucks or whatever you spend on
the product and you fire this thing up
and there's text that's cut off the
effect it has on you is that you have an
immediate impression and you make a
decision you make an it you form an
opinion about the quality of that
product based on what you're seeing in
the interface and you maybe haven't even
done anything with the product maybe it
does provide a great solution maybe it
does have highly functional
characteristics and yet you make a
decision about its quality based on the
interface so for all of you out there
writing code if you're not the one of us
you UI designers at your company get on
the UI designers to make sure that they
do a good job because otherwise your
code will be misrepresented to your
users so when you apply the layout
guidelines not only do you adjust the
spacing and cut get away get rid of the
clipping text but you end up thinking
about the overall functionality does
this need to be a modal dialogue in fact
if we make it a modeless dialogue we can
simplify the dialogue and make it a lot
cleaner so we end up with this check all
uncheck all turns on and off all of the
checkboxes in the list we've had the
spacing list but the right font at the
top dramatic change from this to this if
you apply the layout guidelines using
interface builder or whatever tool you
want to use you get dramatic effects in
your product dramatic usability
increases productivity increases so the
cumulative effect of a lot of these
oversights is an interface that's very
confusing here's an example of a product
shipping on Mac OS 10 it's a great
product it really is but it's hindered
by a really clumsy interface we've got
label buttons or button labels at the
top we've got features that are just
sort of existing in space I don't know
why we have a checkbox up and up there
below the buttons we've got overuse of
group boxes which you know aren't even
laid out nicely so I don't know what's
grouped together really and why there's
no labels we've got interface elements
like a slider control that talks about
Yale that goes from a scale of 9 to 4266
I don't know what that means so the
developer does and there must be a
reason but you know what the user
probably doesn't care so be careful of
elevating things to the primary
interface that are meaningless to the
user in the context of what they're
doing not only that we've got something
else halfway down the screen you see
some bevel buttons that have icons in
them they're disabled for this
particular screenshot but they're
actually the title of a group box that's
connected by a reset control what does
that mean
I don't know so here's an example where
someone had a creative idea and yet when
they if they've done usability testing
or whatever they would have realized
this is just non-standard so group boxes
have particular appearances the contents
of group boxes or whatever you know
groupings you have this is just a
stranger in a strange land and add to
that a whole bunch of other stuff and
you get an interface that's hyaline
useable you don't know where to go first
although they've tried to show you where
to go first by making this the push
button at the bottom very big ok and we
see that a lot and this is not to pick
on this developer at all I see that a
lot so when you apply the layout
guidelines to this you get you end up
with something that's highly more more
navigatable visually there are visual
cues there's groupings dramatic change
tab along the top labels and pop-ups you
don't have duality of meanings of
controls you've got groupings original
image scanned image image quality you
know the center alignment of sort of
center orientation of stuff in aqua
great white spacing the proper help
button no more closed box all that stuff
big difference in usability between that
and that so it does matter to apply this
stuff and I interact with a lot of
helpers who go yeah yeah you know what
does it matter well it really does
because we see lots of examples as we
interact with you looking at your
products on 10
and it affects the usability it affects
the the the self-confidence of users it
affects their productivity it affects
all of those things that we talked about
at the beginning that ultimately user
benefits roll into developer benefits
you want to make money on Mac os10
make a product that is so easy to use
and so navigatable and so visually
gorgeous like this you will make money
on mac OS 10 it's not about just
bringing your code to Mac OS 10 and
making it native because that just gets
you to the platform remember it doesn't
get you on the platform so don't be a
stranger in a strange land talked about
this message a lot I'm not going to
carry on about that more let's talk
about the new layout in terms of the
layout guidelines this a little bit
different but there's a new layout in
Mac OS 10 for menus and this came about
again to try to solve a problem an
age-old problem that we've had on the
Mac with it whereby we've become so used
to certainly those in the audience who
are from the Macintosh background have
become so used to quitting an
application by going to the file menu
quit they haven't even thought about the
fact that that makes absolutely no sense
we don't quit files you quit
applications you closed files you save
files you print files you open them but
you don't quit them although that's a
term that people sort of say I'm going
to quit this document right but that's a
misuse of the term we quit applications
and so we've taken the opportunity in
acqua to introduce a new hierarchy in
the menu bar
that starts on the left with the Apple
menu which is system global this menu
shouldn't be populated by you this is
not for developer features developer
commands this is for the system and the
new Apple menu is accessible everywhere
in the system regardless of what
application you're in you can get to the
same function L in the Apple menu unlike
what you could do in Mac OS 9 which was
highly frustrating now that once you see
the new design you go back to Mac OS 9
it's like ah blast I gotta click on
finder and then go to the Apple menu to
find about this Mac Mac OS 10 you just
go the Apple menu boom about this
Macintosh
alright this computer whatever it says
the next one moving moving rights first
was the Apple menu system global now we
have application global so the things
that you put in the application global
menu are the things that relate to your
application
on a global scale like preferences an
application has preferences
sometimes documents have preferences and
what we're encouraging you through the
interface guidelines is to put a
preference item in the application menu
that is hierarchical in nature that says
preferences application you know
preferences document but in most cases
applications have preferences and they
should go in the application menu and
therefore with the application menu in
place we now have a great place to put
the quit item right we quit processes on
10 we quit applications that's where the
quit menu should go so as you move from
Mac OS 9 to Mac OS 10 one of the first
things you need to do is make sure that
your menu structure adheres to the Mac
os10 mini structure move your
preferences item from wherever it was
before many cases it's the edit menu but
in many cases it's elsewhere and it's
not even called preferences call it
preferences and put it in the
application menu moving right we have
the file menu which is document global
in the sent document-centric so you put
into the file menu the things that
relate to your application documents
saving opening printing page setup you
actually close we put the close one in
here we didn't put it in the window menu
we put it in the file menu because you
actually close files and a lot of people
think of it that way and so that's where
the closed closed command is the window
menu is really for manipulating windows
and tiling them and say ranging them but
this is where we put clothes so pay
attention to that to some people over
like that next moving right again so
we've got so starting at the left just
remind you right system global app
global documents specific now we're
looking at document content specific so
the next menus are all about document
content and then you've got the window
and helping you at the end for the
system which the system takes care of in
many cases and the help menu is where
you're going to hook up your user
assistance remember we talked about how
a good application delivers help through
delivers user assistance this is where
you would hook up your user assistance
for Apple help on Mac os10 predefined
file locations on Mac os10 every user
has an account right and in that account
in that set up they've got places a
place a default directory predefined
directory for movies for documents
for music for pictures so don't put your
your application support files in the
music folder put them in the library
folder in a folder that's titled
according to your application if you
save music make the default location the
users user music directory and after the
after that if the user chooses to make
another place for you to save as a
default location fine but that's the
users choice but a well behaved
application of Mac OS 10 that delivers a
great user experience is going to
respect the default predefined file
locations that are available in per user
basis and the new interface guidelines
by the way they're published today and
available on the web talk about when you
should use those locations what they are
and when they're to be used that sort of
thing another building block of a great
user experience on 10 is Apple help
Apple help is lightweight HTML browser
basically that you know we've been
talking about this for two years and
it's it's just it's not a memory hog
it's it's there it's written in a way
specifically to deliver quick content
feature-rich content you can put
QuickTime movies and sound in there
we've got a great announcement to make
in the Apple help session on I forget
which data is a session 125 anyway I
think it's Thursday or might be today
I'm not sure look on your calendar but
session 125 got a great announcement
about moving some content from other
platforms into Apple help format but
Apple helped us the way you should
deliver user assistance we're gonna be
extending Apple help function l in the
future of course is we're gonna extend
everything in the operating system but
this is where you should this is where
and how you should deliver user
assistance on Mac OS 10 it's gonna
provider anti-alias display it's gonna
provide really rich content do it this
way don't roll your own let us deliver
the services that our user experience
related wherever we can so that you can
focus on the solutions that you need to
providing to your users don't spend time
writing a help viewer we already did
that and if it doesn't have the
functionality that you're interested in
or that you need for a particular case
work with me and developer relations to
get that functionality added talk about
that a little detail later on the new
window Larry model here's another
example of where an aqua we're trying to
go beyond what the experience that we've
had before and solve some of the
problems we've had in the past in Mac OS
9 when you have multiple
Haitians open with multiple document
windows open it becomes really confusing
and frustrating sometimes to move data
from one a Finder window into an
application window because every time
you click on one of the you know whether
you click on finder or the app all of
the windows come forward from that
application a member and maintain their
Z order as a Canadian I would say is
that order but they maintain the
ordering that's there that the user put
in place and that because really high it
becomes really frustrating for moving
dock data back and forth through
drag-and-drop for example so one of our
design goals with aqua was to enhance
that functionality and solve some the
usability issues there create a more
modeless environment for it that will
support sheets which we're going to talk
about in a second but have this
interleaved document model which allows
you to have multiple applications open
with multiple documents and interleave
an excel window with a you know Metro
works window with a you know word
probably whatever answer leave your
document windows and it makes for a
whole easier a whole lot easier movement
of data between windows some other
things tannish sheets sheets are
fantastic they're probably one of the
things that's mentioned the most often
in a review of Mac OS 10 this new you
know interface behavior or new interface
element which is called sheets well
really sheets are just dialogues their
documents specific modal dialogues so
where ever today you have a document
when you have a document open you would
bring up a dialog whose contents and
who's you know the settings affect the
current document the active document
that's a perfect candidate for a sheet
and the benefit of sheets is that it for
it moves the user into a more modeless
world where they become modal only for
that document today in most cases if you
put up a modal dialog for a document I'm
now I'm now you know forced into this
modality for within the application I'm
modal for that application I can't do
anything else in that application on Mac
OS 9 sheets allow me to put up the sheet
this dialog that is connected with the
title bar of a document
so there's this immediate Association I
can move that a window around and the
sheet just follows along with it right
and yet I can still interact interact
with all the other documents and work on
the other documents in the application
that I'm on so this is a move a
deliberate move on our part
to move even more closely to some of the
design principles that are laid out
software design principles that are in
the beginning of the human ear face
guidelines document I know a lot of
people are just sort of open that book
and they go software design principles
Oh a that's what a button needs to look
like and they go on and to make the
widgets look right and yet they haven't
paid any attention to the software
design principles here's a great example
of how we are paying attention those
software design principles in Mac OS 10
with aqua and moving one of those
principles is mode lessness don't force
users into a mode where they're stuck
and they can't do anything else but what
they're focused on Sheets does that so
you sheets only where it's document
specific help tags help tags is another
is the next level of user assistance on
Mac OS 10 HTML help is really just
delivery of content right it's sort of
like I need to read about you know
making a movie or whatever it is that
you do and so the user goes off and
reads the HTML document and looks at
some interactive stuff and here's some
sound clips or whatever it is but help
tags are all about sort of saying
letting the user move around the screen
and say let's see what's this what's
this okay so it's what's this user
assistance and the interface guidelines
talked a great detail about how to write
the content for a help tag it's pretty
straightforward and help tags go a long
way in providing a really rich really
informative user experience for your
customers and speech at abling we've
come a long way with our speech
technologies at Apple there's the
session here called one session 1:27
it's speech recognition and synthesis
you know we all talk we all listen we
these are things that we don't think
about doing wouldn't it be great if your
application could enhance the user
experience by speaking to the user where
it made sense
say you're in K through 12 so you
deliver educational products or say
you're a graphic design tool and you
want it just right now yeah you say
you're drawing something in today's
applications if you're drawing something
the mouse button is down and that's my
input device wouldn't it be cool if I
could say while I'm drawing thicker pen
color red
that's another input device and the
speech technologies at Apple
to do that and so think about ways in
Mac os10 all of the API is and all the
functionality that was there before is
available in 10 and and we're gonna
extend this stuff further as we're gonna
do a lot of other stuff so speech
enabling your application can greatly
enhance the user experience and make you
even a better full class citizen or a
better citizen in this in this country
of Mac OS 10 and this world of Mac OS 10
not only speech recognition which
sometimes is difficult to do and get
right be given the environment that your
product is used in or whatever but
speech synthesis is actually fantastic
you can actually embed in the text
string that you give to the speech
synthesizer
you know little codes that say emphasize
change the intonation pause so that the
speech synthesis you get is actually
very very realistic so imagine you're a
K through 12 customer and you want to
use speech in your product you can
actually greatly enhance user experience
by having this product talk back to the
kids or if you're a game developer
instead of soaring tons and tons or
megabytes and megabytes of digitized
speaking you know digitized voices use
speech synthesis you just have to store
the ASCII text of the spring string that
the synthesizer would speak with some of
the you know encoding since I'd and
you'd save tons of space on your CD
which would in turn translate into lower
cost of goods at etc etc so speech
enabling your application can make sense
in a lot of cases the last final
building block which wasn't on the chart
in the beginning but I want to mention
is consistency everywhere as we look at
products coming to Mac OS 10 this is
true on Mac OS 9 but particularly on Mac
OS 10 as products are coming over we
still see developers who say I well let
me give it a different way of picking
colors I've got a better way of picking
colors so they choose to offer different
way of picking colors I don't need to
use the system font picker you know I
don't like it or I can't figure out the
api's or I don't know where the api's
are I didn't even know it existed so I
wrote my own font picker well the
problem with that is that users who come
to Mac OS 10 are going to be expecting a
consistent experience it's like me
looking for a gas station or a 7-eleven
I want a coke you know where a mountain
dew at 11 o'clock at night and so I say
my boy I'm gonna go to 7-eleven so I go
bombing around well an hour later I
still don't have a Coker
new or whatever it was I wanted to get
and I'm still looking for this thing
because the visual cues weren't there
the things I was looking for weren't
there if I'm looking to change a font
and all of the applications I've ever
used on the Mac on Mac OS 10 do font
picking in a certain way and now I get
into your application and your font
picking is it a different way it's not
that I can't figure it out it's that it
it's an it impedes my productivity it
slows me down because now I'm gonna go
oh where do I pick fonts in this product
where do I choose a color how do I
choose a color how does this color
picker work we have color pickers on Mac
os10 yes their difference between carbon
and cocoa we know that it's a known bug
we're gonna fix that that's no excuse to
not use the car the color picker that's
available in the system because when we
do make them the same they'll be the
same your application will just offer
color picking the same way that every
other application does yes the font
picker might not be available to some of
you depending on the framework that
you're in but it will be eventually
that's certainly our goal we're
investigating that but so build your
code in anticipation of it coming
support Unicode in international
customers Mac OS 10 I mean we made a big
message in the keynote in obvious
keynote about the the localize ability
of Mac OS 10 the multilingual aspects of
Mac OS 10 if you're going to provide a
great user experience for all of your
customers which are worldwide hopefully
you need to think about all the
international issues use Unicode
encoding for your for your fonts and
stuff like that for your text
application bundles that point is up
there because it's about the
double-click experience on Mac OS 10
never years by years gone by back in 84
when Mac paint was just a single file
this this application that we all love
to use it was a single file on the desk
desktop was in a folder and you just
double click that that was all you know
if you wanted to move it to another
system you know your new Macintosh you
just copied it on the floppy disk and
moved it across it was just when I kind
of move Mac OS 10 not only does it
provide bundles that give you a single
icon that users move around and that
icon is really just a folder containing
lots of stuff right but the bundle also
gives you a lot of other functionality
we're going to talk about in one of the
sessions here 114 app packaging and
document binding and in other sessions
you're gonna hear a lot about the bundle
the application bundle so consistency
everywhere the point of this slide is
wherever possible build on system server
and system behaviors because users are
expecting those things they're looking
for things in certain places they're
looking for this common visual cues and
if they're not there because you just
decided to do something different it's
going to dramatically affect the
usability of your product it's going to
affect the product reviews that you get
it's gonna affect all the things that we
talked about at the beginning
so in closing and I wish I had a slide
here that was the original slide of the
building blocks for aqua focus on the
basics before the advanced we've talked
about a lot of stuff that relates to
aqua and providing a great user
experience in records to end product but
what we want them clearly communicate
what that chart is don't go off and do
sheets before you have the system
appearance or the look excuse me the
layout guidelines in place that chart is
assuming is really important do the
layout guidelines in a quality icon and
the top the system appearance before you
go off and do some of the other stuff
respect the doc before you go off and do
dock animations and don't do
documentation s it makes it make sense
to do that don't do help tags before you
have delivered basic user assistance
through Apple help understand so there
are priorities there focus on adopting
the system appearance and getting the
layout guidelines in place because of
all the apps that I've seen out there
the vast majority of them don't yet do
those basic things and as I lurk around
many of the interface design discussion
lists that are out there some hosted by
Apple some that are not you know we see
all kinds of weeping and wailing and
gnashing of teeth about different
features in aqua that aren't there or
how can we you know Apple change this or
that but but I want to just turn it
we're aware of a lot of those issues and
we're gonna address them but I want to
turn the challenge back to you as Steve
said create products that are going to
delight your users what is your
citizenship are you going to exist in
this world of Mac OS 10 to make your
product look like a true
you know citizen of that world or is it
gonna be a stranger in a foreign land a
great way to do that is to follow the
checklist for creating aqua applications
which is in the back section it's one of
the appendix one of the back sections of
the interface guidelines it's called the
checklist for adopting aqua applications
and it's a great checklist follow that
checklist and if you can do all those
things or many of those you're gonna
have a fantastic product on Tim work
with Apple to enhance aqua if you're
thinking of creating a control that you
think is absolutely important and key to
the success of your product don't just
keep it to yourself work with me and
developer relations I'll give you my
email address shortly to convince me and
how and I can work as an advocate on
your behalf to get Apple to add that
functionality this system potentially
and then everybody can benefit from that
functionality the whole platform will so
what's your legacy Mac os10
has the capability has an interface
that's unparalleled of anything we've
seen before and the reviews would attest
to that
you have an opportunity to release a
product that on 10 sets a new standard
in interface design so it's the newest
standard in terms of appearance on Mac
OS 10 what's your legacy what do you
want your legacy to be as a software
developer if you want to be known for
having you know yeah it does a lot of
stuff but man I don't know how to use
the product you know or you want to be
known as a company that delivers
fantastic solutions that delight
customers and that feels like it's it
was it's part of the OS o who made this
wow you know I thought this was part of
the OS or whatever what's your legacy
gonna be
it's not only about api's and features
and elevating all those features up into
a tool bar that's completely overloaded
last thing I wanna do a plug for the
Apple Design Awards tonight the Apple
Design Awards has four categories one of
them is best Mac OS 10 user experience
we're gonna highlight a runner-up and a
winner in that category among as well as
other categories where we're gonna say
these products set the standard to which
every other product and Mac OS 10 should
be should be coated towards terms of
user experience so come to the Apple
Design Awards tonight it's gonna be a
fun event last thing just some
information for you inside Mac OS 10
aqua human interface guidelines they're
available now new version is available
on the website there's a new web page up
there that went up a few weeks ago it's
from developer.apple.com /ue it just
basically links to all kinds of
discussions about Windows and dialogues
and icons and all this stuff it's a
great just sort of drop into that one
page and you've got contacts
the carbon and cocoa worlds for all the
different air face elements that I've
talked about today and a lot more and
then there's an air face discussion list
that's hosted by Apple which is up there
and you don't need to write down these
URLs because in fact in the last slide
that I'll end up on there's a single URL
you can visit and it's got this session
number with all of that information
below it just point you to a few more
sessions that are coming up session 119
and 120 there tomorrow in hall two right
here they're gonna talk there in those
sessions specifically about how to get
the right appearance if you look at some
of the common oversights we looked at
how do you get beyond you know striping
that doesn't line up which isn't even an
example I showed how do you get beyond a
white background how do you get beyond
you know the wrong halo around your
controls or controls that animate and
the you know all those sort of things
that's the session to come to if your
carbon developer you want to get around
those issues designing and using aqua
icons again great session to attend to
learn how to critique and decide where
the icon that somebody's made for you is
the right one or not
Apple help again straightforward speech
synthesis of recognition please visit
that one session that's going to be very
interesting and I would encourage you to
attend a session 114 where we are going
to set clear as many of you have asked
us to make a clear statement about what
is going on in terms of file naming and
document binding and application
packaging what are the rules what should
I do all these sorts of things come to
that session please an interface builder
learn about interface builder if you
haven't played with it go to session 702
even though was yesterday but you can
watch it on the DVD or something and the
last thing is feedback on aqua we love
to get feedback on aqua there's a
feedback forum it should be a really fun
event it's this afternoon please come to
that
I've actually run out of time here
although I've got about five minutes I
think I could take a couple questions so
if I want at the interface design T a
couple of you want to come up front here
we'll take a few questions but there's a
feedback form for aqua and then for the
high level toolbox and here's my contact
information please work with me as you
look to get a few things added to the
system when you consider adopting aqua
you