WWDC2004 Session 624
Transcript
Kind: captions Language: en welcome to the sessions before in the enterprise we're put up a little slide that's me here at last I wanted to wait outside a little bit and make sure that people had enough time to come in since the last session went a little long so pardon the delay on this here's what we're going to cover today a little Safari history and coming of age building applications that just work from an IT perspective I want to give you some development recommendations as well as some debugging techniques common things that folks run into when they're trying to get their enterprise application up and running and then we've got some special guests here to come up and talk about them dealing with safari in their organization what they look at as far as their IT requirements for browsers and their experiences so for supporting Safari as well as a PeopleSoft here to talk about their experience certifying Safari as well and then wrap it up with how to partner with Apple how you can make sure that your enterprise applications work the ones that you author and the ones that you buy as well let's get going first of all I want to start off with the little road map we need to set some context for Safari and just to outline where we've come from effectively and and the first question might be asking yourself if you're an IT organization is again not another browser I've got to make sure that I test on this browser and and why are they going and doing this and frankly it's because it's too important for Apple to lead to other vendors we know that the thin client is dead and and/or that fat client is dead and thin client is the current distribution method for all applications these days in an IT organization so the browser is really your eye to the organization we want to make sure that we've got something on our platform that is the best that's out there of course not all I ease are created equal as you've probably found out a lot of IT shops would go and standardize on ie we support I e on windows we'd support IE on the Mac and yet there were still plenty of differences there as well so what we want to do is create a good target on our platform for IT application developers as well as internal developers and course to support our developers and our customer community we need to have something out there that you can leverage in your application if you're building your own app that needs these sort of web application services go ahead you can use our WebKit api's build an application that's fat takes advantage of the same sort of architecture that Safari uses words it's rendering in its JavaScript and to of course add the innovative features that you expect out of Apple computer a clean browser a nice browser with features that you expect something a little more innovative than just putting up HTML in a window so here's what we delivered open source core nifty drop in here javascriptcore webcor those are open source libraries created as wrappers around k HTML and KJ s which we source from the KDE group and those of you out there kitty he is our familiar is the windowing environment for Linux and they use these same core libraries in their in their browser their window view or end their files you are all sorts all over the place actually it's sort of their main interface for for viewing content in their OS on top of it we wrap WebKit which is a higher level cocoa API also a capi and on top of that we just built this thin veneer that's Safari if you look at the stack here it's pretty true to how much is really Safari it's about twenty percent is actual Safari code and then the rest is WebKit and the web corn javascriptcore any changes we make at that low-level javascriptcore WebKit core we push back out to open source so you're you're free to go to the website and pick up that other companies have actually built browsers on Mac OS 10 around that and you're welcome to contribute bug fixes or features or all those things as well we also delivered impressive performance our latest i bench scores on the website that apple com indicate that were by far the fastest browser on the platform with Tiger coming out where of course going to rerun those benchmarks and ensure that we keep that bad place standards compliant number one that we wanted to make sure that we gave IT folks at tarde to shoot for that wasn't a browser name and so we adopted the w3 standards as what we build two and the w3c is the standards body for CSS and Dom and we support Dom to CSS one CSS 2.1 as well as the latest version of Safari that you can download whether it's rather it's the Panther version or the tiger version submit the ecss three things that still haven't quite been vetted out and of course we have to match the reality of the web the web is a big place and it's not full of standard code there's plenty of extensions that we've had to add just to make sure that the browser worked with commercial sites that you use every day we still got some distance to go on that but we even we've added some compatibility extensions that are found in all other browsers that aren't part of this standard just ensure that we would work properly and finally we created an extensible browser as well you can create plugins obviously the Netscape we support the Netscape plugin model Java applets we support we added live connect with Safari 12 and Java 142 which was great and we just announced this week a new Koko plug-in model as well we've also extended the netscape api while working with our partners other browser vendors that are building plugins as well and or using plugins to to make sure that the netscape api still alive and supported on multiple browsers so here's a timeline it's pretty pretty indicative exactly indicative of what it is so beta went in Macworld when it was first released to the public and then we released 10 at WWDC so basically a year ago we released 10 1 dot one came out in the panther LS release and then one dot to a significant update as far as i'm concerned was released in in February and then all along we've had system software updates to provide security patches and compatibility fixes so effectively from 10 to now the browser's a year old and I'm pretty proud of how far we've come in that year so going forward what can you expect we're going to focus on consumer sites like we've always done and enterprise applications it's it's clear from our requirement that the browser has to work in an IT organization that it has to perform relative to other browsers other brothers up browsers on other other platforms it needs to support the same applications and we're going to make sure that it's the best that Windows users are going to be drooling over the Safari implementation that's definitely a focus increase performance all along we always want to make it faster and compatibility obviously we're going to step outside the standards every once in a while and adopt something that we have to and then push for it to become a standard because we're part of the w3 and a lot of the features that you've probably heard about here if you've gone to any of the WebKit features you'll find out are available in Safari 1 dot 3 on Panther which is great news as well as safari 2 dot 0 and target in tiger so let me invite mark see Anka he's a director of academic information systems at university of santa cruz up and he's going to share some of his experiences with safari with IT with all that good stuff Martin thank you Mark first of all I want to welcome a rather August crowd here I know it's an afternoon session and I'm pleased to see so many people awake at this hour that's always a challenge for speaker I'm here not as a technical expert I want to make it very clear I manage technical experts so my promise to you today is that I'm not going to use any management speak but you should know I'm also not going to teach you how to code a groc you later because that's not really what I'm about here what I am going to talk to you about today is really the customers perspective in talking about use of Safari and support for Safari within the enterprise UC Santa Cruz is a campus that's undergone significant growth in the last 10 to 15 years and we have some internal business initiatives that have to be met in a way that the institution deems to be very cost-effective and web-based deployments help us meet some of those initiatives we have some external business constraints that we have to meet as well whenever we're talking about enterprise applications I'll also talk a bit about why we chose to engage vendors directly and how we chose to do that the process the outcomes and take you forward into where I think we are today and based on some of the news that have heard here this week especially about enhancements to WebKit what I see is a very bright future for safari in the enterprise I want to talk to you bit about UC Santa Cruz first of all because all university administrators have a chronic inflammation of the marketing gland so whenever we get up in front of a crowd we actually talked about summary facts of our institution we're about 15,000 students now we're a tier 1 research institution we are poised on the edge of joining AAU next year which makes us among the elite universities in the United States we are ranked first in the nation in space sciences so those of you who wonder how the heck they figured out how to make the blur and the Hubble telescope work that was our team at UC Santa Cruz who did adaptive optics we're second in the world in physical sciences as well we're heavily into research were heavily into science and we're heavily into supporting faculty who like to live their life at the edge of technology so that's the kind of environment that we support at UC Santa Cruz I'm on the stage today because we are currently most of the way through a very major enterprise application implementation we are currently in an enterprise-wide deployment of PeopleSoft CRP sweet and specifically their Enterprise Portal and their application called student administration plus the Cognos business intelligence suite those are the big elements of this implementation we're moving from an environment in which every user of the system had a nice telnet session into a 32 and 30 to 70 environment onto the IBM mainframe which is a remarkably fast environment but a remarkably uninviting graphic environment for users the critical success factors for our project were defined pretty early on in the project we whatever solution we found for our end user environment had to be platform independent that is to say we couldn't favor pcs over macintosh / linux over anything we had a support a heterogeneous environment and that was to define as a very critical factor our success perceived speed was going to be very important for us because moving from 30 to 70 we had users who were accustomed and lightning fast speed but who had very little tolerance for anything other than environment and I had this other little kicker I had to take care of which was minimal to no deployment costs well I love them dearly I have computing coordinators on campus who get quite edgy when new systems come online and they're required to support end users in a major deployment process we want to minimize that or or completely eliminated some of the deployment challenges that we had is that we've been in a rolling phase deployment for quite some time now we started a project maybe I shouldn't bring this up with PeopleSoft in the room but the first we actually started with a different vendor the product that we bought was actually acquired by another company in that product was killed so then we turned the PeopleSoft and we're hopeful that Department of Justice cease cease its way to win a particular lawsuit for us shortly here as we move forward with PeopleSoft the other challenge that we've faced is that their core technology stack in the in the applications of we've licensed actually run in two different versions so that's another consideration that we've had to look at student administration stack is on people tools 81 and their enterprise portal is on 84 may not mean a lot unless you use PeopleSoft but it is something of a challenge in the way that the browser reacts to the software in our business intelligence suite was actually licensed fairly recently and we demoed that product on OS 9 at the time and using Netscape 476 because that's all they certified for this is the environment we're moving from any of you who have used a 30 to 70 screen before know what this looks like this is a typical student screen that we look at day after day after day in the old environment but what we're moving toward is this broader portal based environment where staff faculty and students will be able to access self-service administrative services and functionality through a portal environment that we're pushing to them today so that's at UC Santa how we prioritize our deployment was pretty interesting many of our users assume that all if an application is browser-based then there's no real deployment issues and we've found of course that that's not quite the case in fact it's quite the opposite we know that there's not parity between browsers even on the same platform let alone between platforms and I think sometimes that's a good thing because it pushes browser development continually if you've got feature sets that are available for some but not for others but the other thing that happened and that really kind of engendered this relationship with the vendors was that we began a consolidation of our IT environment at UC Santa Cruz about a year ago we were charged with consolidating a very Confederated environment and bringing it central to do that we undertook a very large data collection effort just to find out what was out there and who was doing what another issue that we looked at was that while we if we if we encountered platform differences that were too great we had options that no one wanted to to look at one of those would be to use citrix for example to ensure common experiences for both mac and pc users so those are some of the things that we looked at when I think about vendor relationships I actually have two working tenants first of all from my perspective the sales cycle is always open this means that I always have the opportunity to negotiate with all of my vendors at any point in a in a license of relationship that we have with them because at some point in the future we're likely going to be buying more software licenses so for me the sales cycle is always open the other tenant I always assume is that sales staff always over-promised and typically under deliver so we've all been through a cycle where we hear from sales staff yeah we can do that but what they fail to mention is behind that answers and it'll cost you two million dollars of customization to get that code to work for you or you're going to have to buy an infrastructure that will cost you 25 full-time employees just to keep that environment up and running the other thing that we have long known is that fail staff almost never use Macintoshes to demo their products so one of the things that UC Santa Cruz is instituted is a requirement that any vendor hoop now comes in in demos and enterprise application has to demo on a Macintosh okay you see a lot of scared sales guys coming in to do demos but if it doesn't work for sales guy it's certainly not going to work for us so we need to ensure that the products were looking at from the get-go can be used by a Macintosh population well why is that important and just this is another bullet point that I want to point out when we first looked at cognos it was marginally acceptable that there was a math solution in a meant we didn't have to use citrix and that was another big plus for us so a challenge in getting vendors understand why we were asking them to demo on max was able to show them the value of having a product that worked out of the box so to speak soul I said earlier we had this consolidation going on and we as a part of that actually colleague here in the audience was part of an effort to undertake a large part of data collection about the campus and what we learned was some very interesting stuff if you can see that graphic very well this is a just a simple bar chart that shows you all hardware non-academic use Hardware on the UC Santa Cruz campus there's just over 7500 7600 machines that are accounted for here and innocent in this environment forty-one percent or Mac forty-three percent or Wintel thirteen almost fourteen percent are Linux or other flavors of UNIX and the rest are you know the odd kaypro that's still running or be box or next cube or whatever's out there that's still running from 1982 so that's the entire distribution when we narrow it down a bit and we look simply at laptops and desktops in use you begin to see that Mac becomes the dominant platform so we've got just over forty five percent mac users forty-three percent windows and ten percent unix linux whatever on again desktops and laptops but where this becomes significant for us is in the distribution of administrative users hardware these are the people who are banging on machines all day long as administrative support staff in the business function of the institution so when I get to this point fifty-seven percent of my users or Mac users that means the predominant population that I have to be able to support is Mac OS based forty-one percent is when tell we've got 35 machines that are something else linux probably and then just a smattering of machines that are unidentified in the survey this becomes really really important if you look at the blue column these are users who are accustomed to calling the helpdesk if you look at the purple column these are people who are pretty self-sufficient so whatever I introduce has to continue to provide them with the use ease of use in the look and feel that they're accustomed to in using their machines day in and day out so when we landed on peoplesoft that had the promise of providing them with that kind of experience but this is the kind of number that I now show to vendors when I say listen you've gotta support mac that's my primary population and because it just so happens that my office also supports helpdesk this becomes really important to me in terms of workload so we all had early safari experiences Mark showed you a timeline well here's what we learned with PeopleSoft it worked it's slow baby it was really really slow one point 0 1.1 PeopleSoft performance was marginal at best we had some display issues intense table structures didn't work very well at all and the fat thing was cognos didn't work at all in fact looking forward to the updates to WebKit that's really when will begin to use cognos on safari with some confidence right now we've got people using alternate browsers navigation was crippled I couldn't do slicing and dicing on data cubes and it was it was frustrating so we asked for some help we have a terrific account exec at UC Santa Cruz maintains good contact with us is the kind of apple rep that I look for who's always wanting to know what are you dealing with what if they we approached him a year ago when we first started to use Safari and said you know this has got some promise but it's nowhere close to being where we need it to be he then fostered some introductions internal to Apple and we met up with apples Enterprise alliances manager in the late summer and actually began a process that has led to us being where we are today we talked about our project objectives we actually sat down and looked at safari using these applications and said okay what do you see how are they coding what's wrong with this picture and so we actually got some really great help internal to Apple simply by saying we know your sales helical is always open with us so you all y'all come and help us out so what we discovered is well first of all Apple and I already been approached PeopleSoft about doing some certification work for Safari so we were able to jump aboard a train that had already left the station the good news there is that we in the third quarter of this year have got some certification coming on the portal tool set that's the 84 tool set will be certified for Safari and coming up this fall for our student administration application that version of people tools will also be certified for Safari that means that a majority of my mac users now work in a supported and certified environment for use of peoplesoft we've also brokered a collaboration between Apple and cognos cognos is now updating their software based on some recommendations received in their interactions with Apple so that as they upgrade their bi suite from version 7 to 2 73 we should be able to address most of the parity issues and features between the PC experience and Mac users on a safari I'm most interested in the updates to WebKit because then we get drag and drop and my cube users will go crazy because then they get feature parity with their pc users all right so where we are today I actually feel like we've got some empowered IT managers who have watched this process play out and who are now feeling a lot more emboldened in there dealing with other enterprise men in talking about Macintosh support and Macintosh certification particularly using Safari we've got in our sights right now Oracle for use of their calendar application it's part of their collaboration suite now doesn't have feature parity on Macintosh and that's something that Oracle can take care for us checkpoint VPN Chronos software's at a time and attendance system and then we're also eager for this upgrade that's coming at the end of the fourth quarter because that really then allows all the folks who are using our student administration system to just bang away and be oblivious to the tool they're using and focus more on the services that are providing to students faculty and staff so that's where I met on this I'm going to turn it back over to mark he's actually going to talk to you a bit about specific developer recommendations he's got that will help folks like me in dealing with end-users mark thanks put you back to sleep here this is a developer's conference so I wanted to make sure that I had some recommendations for folks that are out there building new sites and we sort of what to shoot for when you're going to support Safari when it's part of the stack that you support out there and and give you some guidelines because I don't think there's a really straightforward example of out there of how to go and build something that's supported by Safari end and it's really it's quite simple so let's just start in it's designed to standards like I said in the introduction the w3 defines the standards for HTML and the Dom hopefully those aren't new words to you if they are it's the structure of a particular page the Dom addresses the particular functions JavaScript functions that access the pieces on that page the w3c also defines the standard for CSS cascading style sheets that's the layout in the presentation portion of it so designing the standards visa visa w3 is the best way to build for Safari and the specifications are available at the w3c web site really quite straightforward to go and read what they have there's also sloughs of self-help and documentation associated with supporting standards out there and the benefit is that it's supported by modern browsers as well my typical message is not hate safaris create make sure that you support it it's really Safari does great with the standards make sure that you support the standards put the power back into your hands support the standards the browser vendors will have to do the same and they actually do IE the one that you all know and love and Netscape Mozilla and even I cab or anybody familiar with I cab out there does well with the standards so bill to the standards support all the modern browsers make pages that are well-formed invalid another very important point to make ensure that your HTML is weren't well-formed meaning if you've got to begin tag make sure that if the specification requires you've got an end tag it's it's faster it lets the browser it keeps the browser actually from having to second-guess what your you've got on your page what you're trying to do it instead of having to put the end tags around and tidy up your code before it draws it to the screen it's already there it has to work less so it's faster it's a little less fragile because when we start interpreting what you want to do sometimes we get it wrong sometimes we crashed ensure that your pages include a valid doctype this is this is critical a doctype is your way of communicating to the browser what what's the standard that this particular page supports what's that DTD that should be fulfilled by the content on the page a doctype is very important if you don't have a doc type in your page Safari will degrade to a standard minus minus type implementation sometimes called quirk or corks or compatibility mode where we do a lot of second-guessing and you'll find out that we might make things look a little different than they look in IE ensure that your pages are valid there's a standard out there ensuring that it's valid against that Sanders another way of ensuring that you've given us the doctype you've told us how it should be make sure that you've checked it to ensure that is and there's a validator for HTML at the w 3 which is great it's the website you can go and you can upload a file or you could point it to a URL you can also download this it's all pearl and run a machine internally and we'll have a recipe on the developer site up shortly on that and you can also validate your CSS at the same website and it's really quite nice it'll give you a page that shows you exactly what's wrong on your on your in your code and then you have tools probably built into many of the editors that you use for doing validation and checking so make sure you explore those and find out what they support it's ours validation validation is extremely important be browser agnostic how many how many times have you seen a page where it's actually looking for a particular version of a particular web browser the best thing to do is to avoid all that user agent sometimes called browser sniffing logic if at all possible and there's ways to get around at using object detection if you've got a page that has some complexity in it that you're afraid that certain browsers can't support it's pretty straightforward to go and see if it's supported without looking at the version of the browser if your browser sniffing then you find that you'll have to constantly update your sniffing code to make sure it goes and supports the particular functionality that you think is on the margins object detection basically it's just checking a particular function before you go and call it and if it returns undefined then you know it doesn't it doesn't exist and you can branch around it and have some other code that will function appropriately or degrade nicely once that particular function is supported in the browser it'll just work we should just work you should test it but it should just work and you won't have to go and update your sniffing code number one use the w3 standard way of accessing page objects on a page this is probably the number one issue I run into when I'm working with developers trying to figure out why their particular site isn't working get element by ID for folks trying to access an element on a page in dynamic HTML is the way to do it via standards and all the modern browsers support this I'll show an example coming up a little bit later about how to actually do that and get involved help us keep the standards relevant you can do that by pushing the vendors joining the w3c just really staying on top of it there's there's many good sources for fender Titus or sorry for standards-based information and here's someone putting up here Dave Hyatt the last one is an apple employee great source they've got all sorts of recommendations example code stories about why skander's important and why they feel there's a real business case for supporting the standards independent of that sort of the wysiwyg things that you can do and last but not least by standards based products push the vendors to make sure that they're supporting it they'll come back to us and say there's a bug in your browser you say you supports the standard here's a standard call it's not working please fix it and we're happy to do it we we want to be the best standards based browser on the platform so great so I just want to run through one more set of things just some debugging techniques real quick if you've got a page that doesn't work a site that doesn't work run through some of these turn on exception logging is probably the first step that you want to do any time you're going through a debugging process with an existing site or site that you're creating and what it does is it displays the JavaScript and parsing exceptions into the console on the Macintosh and it's getting better I promise if any of you out there how many have seen the debugging menu and tried to debug okay so it's getting a lot better and actually Kevin here and in the front row is is working to make sure that that's a lot better and if you load your 13 preview or the 20 version of safar that you see in Tiger you'll see that we've got a pop-up window that provides that same sort of functionality you used to see in the console but only better it's not quite Venkman but we're working on it to turn it on use the terminal type in a bit of code this is also available on the website how to turn it on basically turn on our debug menu once you get the debug menu turned on then you can select log JavaScript exceptions and they'll show up in the console application another good thing to check for on web sites that aren't working is for browser sniffing I talked to talked about this before and we have a workaround for taking a look you can pretend to be another browser once you've got the debug menu turned on a good a good practice is to go to the site with Safari you see what it looks like go to the site with a Windows machine see what it looks like go to the site with Safari choose the the windows msie setting from the spoofing debug menu and then hit the site again and if the site just worked then you know it's the server that's looking at the browser and saying I don't support you or I've never heard of you before and then rejecting sending you back the wrong code branching you in the wrong direction this is another great way to find out if something just just works and you have to change the server look for the two browser trap this was another extremely common issue that we've had with websites out there especially legacy sites sites that were built to support netscape or IE and it was accessing elements on a page with documented all the IE specific way of doing it or document dot layers that the Netscape 47 way of accessing elements on a page here's a sample code here's what a traditional it looks like somebody checks to see if it's IE and if not assume that it's Netscape we don't support either of these methods document dot all or document layers and it's actually something we and we thought about doing at one point but we kept getting so much windows code as a result of supporting some of these compatibility features that it made sites actually work a lot worse so supporting the standard was a good thing basically you need to ensure that there's a get element by ad case basically a w3 supported case of accessing elements on a page and here's an example right here put it at the very top if w3 get element by ID all the modern browsers will fall into that case and get handled and then there's if-then-else code that degrades nicely for older versions of the browser here's a quick fix that I came up to came up with the fix a site recently that had thousands of pages what document dot all on admits it's kind of a useful hack you can just go in to find document dot all if it's not too fine go ahead and define it you can create functions sitting off the document on your own and this just calls I get elements by tag name throws all the elements in there and then this doc doc iNDOT all function is defined for all the subsequent code on a page it's a really nice hack just to bring the site up see if it actually works with this hack then you can go and do the right thing as on the previous code example another another good thing to try the site's not working for you is to validate the page I told you before the w3c has validators for CSS and HTML so you can go to them take the source off a particular page that's not validating and upload it see if see what it says it'll it'll point out all sorts of things that are wrong and here's an example here saying that it's not it's not for tato transitional so this page evidently had for tato transitional and it's docked height and here's all the errors that it gave and it was quite extensive actually for this site I don't remember which one it was respect the cross domain frame security rules it's a it's a mouthful but it's it's pretty common in portaled environments universities and such where you've got pieces that you're pulling from all sorts of different organizations little portlets that you've built to support a student system and then some other system over here and you want to combine them on a page well there's there's a rule for frames and it's pretty much the same sandbox rules that are out there for Java it's that in one frame you can't access the code elements on another frame if they don't come from the same domain and so we found out that a lot of folks were running into this sort of issue and merely serving up that portlet from the same domain they were able to work just fine the other the other functionality that they were expecting just worked so yeah here's a line saying that and here's a typical error that you'll see in the console if you've turned on the debugging to the console you'll see this in there and it'll it's it's pretty clear that this is what's happening run into this quite a bit check the default cookie policy there's some defaults in Safari that catch people by surprise because they're not what they're expecting necessarily based on a windows browser perhaps or Netscape's preferences sometimes it's just the default that our gotchas and the default cookie issue is generally found on the same sort of sites ones that are using portals where they're trying to write a cookie from one particular domain and one from another and these things are important the fact that we can block these cookies from a privacy perspective our users really enjoy this particular feature and it's probably bitten quite a few people and the default is extremely conservative here's a picture of it what it basically says is only accept cookies from sites that you navigate to so if you have a page that has a couple frames on it and you're writing out trying to write out a cookie in one frame and that URL isn't the same URL that's in the top banner that the user went to then it's not going to write out that cookie and subsequently you'll go to another page and things just aren't working because you were depending on that so this is another great thing all you need to do is turn on except always in the preferences and if it just starts working than you know that that's the particular gotcha check for pop-up blocking this bit a lot of people it's it's an extremely popular feature of Safari everybody runs with it on and traditionally a lot of portal type applications homegrown application sites but you build an IT will have pop-up windows on on page load or on page unload it applies to the window open function and it blocks those irritating pop-ups that you get when you go to commercial pop commercial sites keeps those commercials from coming up well our customers love it a lot of them turned it on and then they end up saying well your particular applications not working so this is this is a great thing to check and it's it's it's basically associated with window to open and it prevents any user it prevents any opening of windows or calls of that functions that's not a listed by a user action clicking on a button doing some sort of action window that opens aren't allowed in unload handlers or on load handlers and that's traditionally wear these pop-up advertisements come in and sometimes you'll see this in your code and once again is the default you can turn it on you can turn it off in the Preferences there's the the checkbox for it there's also a setting underneath the the Safari menu as well and last but not least turn turn on the keyboard link navigation a lot of folks are used to using ie and tabbing around elements on a page and they go to Safari and they see that that doesn't work and they complain they say your websites not working or Safari is not working well it's it's really there but it's off to my default our preference is option tab and we can talk about whether we should have done that or not but the preference is to use the option key instead and this is something that you can change as well so through the Preferences again choose the radio button that says tab between links and once again you've got the same sort of functionality that folks were used to having in IE great so that's sort of the the debugging techniques I want to have yes for Anderson come up and talk a little bit about his debugging technique suffering through safari at the early versions but working wholeheartedly with us to make sure that we got their applications running smoothly yes sir thank you I am responsible for all the tools and technology at PeopleSoft so I appreciate the opportunity to speak to all of you here today I thought it'd be a good idea to kind of give you and I give you an overview of PeopleSoft thanks to larry and his evil empire we've got great brand recognition these days over the past year it's really grown from out from a brand perspective but dumb in case you didn't know PeopleSoft is now since our acquisition of JD at which wich was about a year ago just over a year ago now the second largest provider of enterprise application software in the world we have about 11,000 customers actually closer to 12 thousand customers nowadays the kind of software we run for these customers the customers varied between small customers and very large customers but just to give you a perspective we we have you know the largest companies in the world run our software and the software is truly mission-critical they're the kind of software we built and and sell to all customers and support and help our customers with are used for things like payrolls so if I own software doesn't work people don't get paid it's that simple and that's never popular in businesses I'm sure you can you can appreciate that as an example I know you know in the Apple community there are many contractors we have lot of staffing companies that use our software and obviously you know they use our payroll types of applications and and they're certainly very critical in nature the kind of applications we have obviously were dominating the space of human resources or human capital management as we call it financial management is a very strong area for us so general ledger accounts payable accounts receivable traditional erp applications we are doing well in CRM customer relationship management we're doing well in supplier relationship management with the acquisition of JD Edwards we acquired one of the leading manufacturing application vendors in the world most people associate manufacturing with SI p big competitor for you from europe it's a not a well-known fact that idiot which my manufacturing software perspective actually have more installations in North America than SI p so by acquiring did yet which we acquired a large install base and I think everybody would agree that's mission-critical software as well we have customers in 150 countries across the world that means globalization is very important to us that means working in many languages having the ability to essentially support different types of applications with local legislative types of flavors of our applications is very critical for our customers also PeopleSoft always been known for our cross-platform support it's been a true north for PeopleSoft ever since the day we started we are by far the enterprise application bender that supports the largest multitude of operating systems databases browsers will talk about today application servers just to give you an idea an operating system a very large portion of our revenue comes from very large companies that are running mainframe IBM VOS the operating system is important to us also the MBS slightly older operating system and mainframe any flavor of UNIX you want very important to us today we primarily are running with Java infrastructure at a mid-tier and that means we ship our applications with websphere and with weblogic the two leading java centric application servers and obviously we have a pure internet architecture which were pretty proud about we were the first company to truly run all of our applications in nothing but a browser where most of our competitors still had flavors of their product that were heavy if you like in nature either you know thick windows clients or at least Java applet types of clients many of them still do whereas we already know or ever since 2000 ran in a pure internet architecture and that obviously means given the critical nature of our applications and the different types of applications that if you're having a pure internet architecture we stress browsers and have been stressing browsers ever since 2000 and so it's obviously kia according to the subject we're talking about today so we're on the max in our world max are very important to PeopleSoft higher education and Mark was one of the representatives from one of our customers in higher education is an absolute key area key industry for PeopleSoft and I think it's fair to say we dominate that industry higher education means payrolls it means student administration systems and and Mark showed you one of the one of the kind of screenshots of one of those applications but there's an awful lot of functionality that's going into those areas it's not just managing the students it's also managing all the employees at the University their payroll their benefits their training programs all of those kind of things so that's a an important area for us university of santa cruz being one of our good customers in that area but it spans the world Ivy League universities all the big universities in North America pretty much PeopleSoft customers healthcare and pharmaceutical is an important area for us and for Apple companies like Genentech has awful lot of Apple computers in their laps and use PeopleSoft as well so another key area where we're max are important for us as an enterprise software company government key I can't mention all the different government agencies that use our software but i can let you imagine who they are and there's an awful lot of max in that area i think also if you think about higher education one of the things that ski there is and i'll talk more about that whether you're a power user or a transient use or whether you use one type of our application or the other application financial services and in general the service industries is an area where PeopleSoft traditionally have been strong whereas maybe SI p has dominated more the asset intensive industries and manufacturing types of industries but those are some of the areas where we see an awful lot of maxim so it is very important and has always been very important for us to support max in in the right kind of way as a first class citizen of the peoplesoft infrastructure so given that Y is Safari important customer demand should be obvious based on what I just talked about here but also if you think about the user experience and and both of the marks talked about that before you know prior to Safari coming out we were forced to work with netscape and work with ie and it was frustrating for our users for the same reasons that the two previous speakers talked about but it was actually equally frustrating to us as a development organization because when Microsoft came out with newer versions of ie they do develop you know smart new utilities great features that we can take advantage of in in our development in an hour you know hunt for better and better applications but no good when those same features are not available on the Mac because I e on the Mac was always lagging behind and that forced us to quote to code to a kind of common lowest common denominator and and so we were always forced to compromise and we're always on one always but we're falling behind in certain areas as you know to some of the our competitors who just coded for that one platform and that was a real challenge for us so when we when we first saw you know Safari one point oh we we just that was like a sigh of relief that was thank God that that Apple is is going into this area and actually even more important for us that that Apple was so committed to standards like Mark was just talking about w3c absolute key for us because we use things like Dom and cascading style sheets heavily in the way that we code our application there's just no way to make browser experience interactive if you don't and so the fact that that Apple made it very clear from the get-go that they were going to code very clearly to the standards was huge for us if Apple had not been done that and we needed that strong support we would have had to either for girl code everywhere or coach some kind of an abstraction layer over these kind of things and that would have caused performance problems and that would have just just absolutely been a nightmare so PeopleSoft technology just to give you an idea about our infrastructure and our architecture so that you can understand how we use the browser I talked about the pure browser-based type of applications that we have the pure internet architecture you know from a from an architecture perspective we're we're through NT a type of application with a often a large database sitting at the bottom with all our transactional data of our customers but but really importantly we're a meta data driven architecture and and what that means is the applications that we develop at PeopleSoft are developed in a in a developer tool if you like where our developers and our customers that I extending or modifying our applications define the applications all of that data about the application is stored in the data is metadata and that means that our tool set people tools as Mark talked about earlier interpret that metadata and creates the screens that customers interact with that architecture is the right architecture for an enterprise application and it is hugely important when you're dealing with as many technologies as we do so when we moved from a client server type of architecture to a web pure internet architecture it was easy for us to do because all we had to do was change the tool set to instead of generating a Windows client generating HTML clients now that was in two thousand we released it so you can imagine we started like in 98 97 even kind of thing and you know after a few failed attempts and in those kind of areas we we got it right you know initially just within HTML because there wasn't the XHTML and D HTML and all of those things we've since then enhanced it to take advantage of all of these things and it says XM HTML here because we use that a lot but but really a lot of the D HTML Javascript things are what we are using today it's probably also worth pointing out and I alluded a little bit to it earlier the difference in uses and what their expectations are of a peoplesoft application so in the case of Magan the University of Santa Cruz it's important for him that we have an application that is really primarily used sometimes by self service users that students that are sitting at home or in the dorm or wherever they might be they have a normal browser and they access the University of Santa Cruz website to see what kind of courses they're taking just like they're accessing amazon com or ebay.com or wherever they're going it is normal self service application and that's one type of user it's kind of the infrequent you so they don't access it very much happens once in a while and they use their their macs in there in there in their home for that kind of thing but we also have power users imagine you are a you know a data entry or order entry clerk or you know imagine you are one of these types of users that sit in front of your screen all day long you do not want an amazon.com experience with that you do not want to have your hand on your browser all on the mouse all the time and point and click and you certainly don't want the screens to refresh every time there's something you want to pick these these people come from mainframe environments and the screen Mark showed you earlier may not look pretty but it's very functional it's tap tap tap look ahead click down Bing select they've been used to a data entry in that kind of world and it's fast it's efficient and so our applications have to mirror that if our applications don't match that our customers unhappy that's the power user some of those users never use the mouse they just want to be able to look ahead tap ahead all of those kind of things and so we must support that same kind of interactivity in our application that's a very different user model than the self-service type of user we talked about before accessibility is key for us right especially in the government kind of area I talked about at universities it's important everywhere but it's a requirement a legal requirement when you're dealing with the government so the ADA section 508 compliance requirement is very important the the readers that need to be able to apply to the screen to to magnify must work within these kind of applications and obviously ease of use is key and was one of the things that really attracted us to the Safari browser as well because of the visual appeal in in the normal kind of tradition of Apple that people have come to expect browser needs for the for the application so so I won't get quite as technical as Mark Rutte with all of his debugging techniques but but it is a developer crowd so a little bit of tech speak some of the things we kind of ran into early and and have to interact a little bit with with Apple on you know JavaScript event handling we do use frames we try to not use it a lot but we do use it for example in our portal as Mark said so event handling as you're changing between frames is something we had to kind of work with Apple a little bit on to get to work live Connect is a protocol that allows communication between JavaScript and Java applets and so although I said no code on the client sometimes we're forced to integrate into environments a good example of that is crm in a call center where some of our partners developed like floating toolbars where it immediately will show if a call is coming into a call center where you can click a button and pick up the the phone those kind of technologies aren't pull technologies their push technologies and they use Java applet technology for that once in a while so live Connect is the protocol for communication between Java applets and JavaScript and that was another area we had a few challenges in unicode support obviously i mentioned that earlier absolutely critical for us and peoplesoft accessibility we talked about but also like a non technical requirement one of the clan needs we had and one of the things that Apple supported very well was just interaction with a browser development team you know it's it was critical for us that we had easy access to the core apple developers that were able to help us sometimes they were able to help us because there were issues in the Apple side of the the house sometimes they were able to help us because we've done dumb things we haven't stayed true to the standards things had worked just fine in IE or mozilla on that escape the kind of things we support so we have to go modify our coded at the request of Apple and at the right request so so what did it mean for us concretely to support Safari you know we we took the initial what works what doesn't kind of testing we I think kind of late last year had a press release where we announced our intent to support Safari between our two companies and and immediately on i think it was our website viajo websites you know some mac user wrote great big deal i'm already using PeopleSoft application using my Mac and well he was able to do that because it was one of these self service applications we didn't find a lot of challenges there so in the initial step of initial what works what doesn't work testing you know we brought up our PeopleSoft applications and they worked okay it wasn't a big deal and even with one point oh they they were just fine it was when we shifted over to those power users I was talking about that it started getting a little more challenging so that was where we started finding some things Apple had already completed well close I think to completing the 1.1 browser when we would deep into our testing of those things and although and one of the things I didn't mention earlier than that we're very proud of his Apple is is a big user of PeopleSoft applications as well so so Apple had peoplesoft products on site where Apple could you know see some of those issues for themselves but we didn't think it was fair to the apple safari browse the team to you know have to go troubleshoot some of the issues we jointly had on the live system they had so occasionally if there are things we couldn't get to work we had to spend some time you know writing some simple HTML test cases that we could then ship to the Apple developers so that they could troubleshoot what might be the issue with the with a safari browser and I talked a little bit about code changes both of us have to make code changes from time to time a couple of examples around that at PeopleSoft was the way we do hover over functionality where you hover over a subject and then kind of text can be seen we coded that in a non standard way did not work with the Safari browser not apple's fault support of the functionality they supported it in a standard way we have encoded in a standard way so we have to go back an hour code in modify our code another way was the way we did file downloads if you're clicking to something and there's like a word document then you want to save it to your desktop again we've done that in a non standard way and working with Apple forced us to change our code which I would say was to the better because now it is in a standard way and I'm sure there were a few few areas where Apple had to change their code as well you know areas around hot keys that are absolutely key for us in for a power user to be able to bind f1 f2 f3 to specific functions didn't quite work with you know the one point O so some of the enhancements that we had that we needed to get from Apple didn't quite make it into 111 was 11 with too close to the cutoff so Apple put them you know in scope for the 1.2 release and so you know we were testing all the way through this very closely with the apple team with some of the pre-release Safari builds that we were getting directly from apple and really had a had a good good cooperation from that perspective we had to wait for safari 1.2 to formally certify our release that meant we missed our release window of 844 which was at the end of last year where we really wanted to do it and that's why the formal certification was announced just recently with our people tools 845 release which we just shipped this month a couple of weeks ago after we had done everything in my organization and tools and technology where we were running you know various tests and automated testing and everything we obviously had to do a full technology and application QA of the Safari browser and the reason for that is in people tools we have certain hooks that the application teams can use themselves that give them more free range to do if not pretty much what they want to do we kind of give them HTML areas so an application like CRM customer relationship management uses that a lot to be innovative in things like online marketing where they have to have flow of events and so while if you stay within the declarative aspects of people tools you are guaranteed certification of the browsers that we certify as an application developer you know we did have to do testing when you kind of step outside that as an application developer we had a customer program early customer program Apple was one of the customers in that but we had another couple of customers that were working with us on our beta versions to try out as power users that everything work and and that was how we got to support the Safari Browser new releases of PeopleSoft technology so we will continue to support the versions of Safari that are coming out with Tiger and 20 release and those kind of things with the eight for xcode line of people tools but as Mark was talking about earlier we're actually very encouraged with the ease with which we were able to adopt the Safari browser again because of the use of standards that we're at even going back to our older release of people tools the what we call 81 Xcode line and certifying with that that's important for things like student administration because student ministration is only available on that older code line of people tools until the end of this year and even when that comes out we know that it will take our customers a while to get upgraded so if we thought it was important to certify it with an older version also lastly just kind of want to say that you know this was a team effort as you can see here this was the team I had on it at PeopleSoft not a large team this was not that tough I would tell all of you with if most of you are Mac people so you're already probably supporting it but if you don't and if you have a large website and all applications and you are you know worried about how much effort is this going to take it is not that hot the reason why I have to have you know even a team of this side was just because of the critical nature of the applications that we have that I talked about earlier we had great support from Apple directly from the development team couple of technical context I'm sure they were working other things all the time as well but they were available to us 24-7 so we got all the support we needed super response and it was a great believe me from all the fires I'm fighting on the daily basis this one was not even really on my radar screen I think I had one call with with my Apple counterpart during the whole kind of cycle that we that we had so I think it was a very successful outcome we've just today actually with this conference announced a couple of press releases in you know not only the availability but also the intent we have we are now available on peoplesoft enterprise which is the product line that was the traditional PeopleSoft that I caught that I talked about but we're all so busy certifying our enterprise one product line which is our former JD Edwards one world product line on safari as well that will get us more into the manufacturing and and the mid-market space as well and again we're doing so because we're encouraged by the ease with which with which we were able to do this so I would say as the conclusion you know this was important for us this just completely underlines our our mantra which is you know we need access anywhere to to our applications for our customers and with this we have ensured between Apple and PeopleSoft that Mac users get the best-in-class user experience of of using PeopleSoft applications so I appreciate your time and will be available for Q&A alright so I just want to wrap it up with a quick overview of you know what are you going to do on your side with if you have the same sort of issues that marks janka hat or if you have an enterprise product and you want to work with Apple to ensure that it's supported whether you're writing it yourself or something that you need to support your organization it just sort of number one is to make sure you've joined the developer connection obviously you're all here so you've all been part of it but make sure that QA folks make sure that other folks that are using the Safari Browser in their day-to-day lives are part of this so that they can beat us bugs give us feedback help us get this right you know what the site looks like login just a quick ad for that the folks that have access to the Safari site to the ABC have pre-release views of Safari pre-release views of Mac OS 10 which includes Safari so if you've got a site that you're trying to get up and running and you want to find out how things are going visa V the fixes that you've submitted to us being part of the ADC is the way to download and test those early versions of the browsers see how we're doing let us know if we broke something along the way sort of join in the co-development effort to make sure that we've got the breast fest browser out there and so will we GM we don't release something that's not going to work for you file bugs against Safari here's the screen bug reporter apple.com don't use the bug button go and create a real bug force that's the quickest way to get something addressed it's your submission to drive our priorities and the more concrete they are the better off don't assume that somebody else has submitted the same bug youth you're submitting if you see something please go to our website make sure you log in you it's a bug report log it against the fari we want to knock these down we want to make sure that we're the best browser on the platform here's the URL to go and do it if you're not aware of where to go and finally just want to say the anatomy of a good bug submission is a really good sink description and your priority of the problem we need to know that it's something that we can reproduce in house so something that's separate then from that enterprise app so we don't have to log in and do the debugging ourselves if you can narrow it down to a specific function or specific issue then it allows us to gives us the tools to get it address much faster get it out in a more timely manner and end quote what you need and finally Safari version OS information what version you're running what's what's the OS what what's the version of WebKit just more details as always better and of course weather happens on another browser this is something that works fine in IE or works fine in Mozilla let us know there's some things that our compatibility fixes that we do because they work in other browsers not necessarily because it's a standard based thing we need to know sort of what the breakdown is the popularity of these particular quests help drive these features that come in the next version of the browser and that's it so for some more information I've got some URLs up here developer connection connect out apple.com you all know where it is because you've got your tickets their internet developer site within the developer documentation section of our website there's a whole internet section there's a safari section off of that it's got a lot of good information there's a lot of good web development best practices content up there ways to go and implement new features that we've added to Safari web core mailing list if you're thinking about grabbing the core of our web kit and building your own product on top of that if you're an application developer there's a mailing list associated with that if you're just a web developer you're trying to figure out the best way to do something and you want to work with your community then we've got wists topple com has the web development list subscribe to that get on there with your web development peers ask the best way to do some it's a great community to go and fix your issues and then finally the Safari faq which basically was the root of most of this talk has a lot of gotchas associated with supporting Safari that a lot of folks aren't used to when they're using another browser this is a great resource to go to we keep it up to date with latest features that we add try to add some examples it's sort of a good one stop shop when you see a new rabbit Safari