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