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