Please email your resume's to (e-mail address removed)
Senior Member of Technical Staff
Zimbra, a division of VMware (NYSE: VMW), is the leader in next-
generation, open source email and collaboration software. With more
than 55 million paid mailboxes at over 100 thousand service provider,
business, university and government organizations, Zimbra is the
fastest growing collaboration provider today and together with VMware
reshaping IT technology. Zimbra's talented team and unique open
source business model are also revolutionizing sales and marketing in
the enterprise software market; driving thousands of visitors online
each day to try then buy its server software. Learn more at *********
My host uses Zimbra for Webmail. It sucks.
LOL. Found this inline on every Zimbra page:-
AjxEnv=function(){};
AjxEnv._inited=false;
AjxEnv.DEFAULT_LOCALE=window.navigator.userLanguage||
window.navigator.language||window.navigator.systemLanguage;
AjxEnv.reset=function(){
AjxEnv.geckoDate=0;
AjxEnv.mozVersion=-1;
AjxEnv.webKitVersion=-1;
AjxEnv.isMac=false;
AjxEnv.isWindows=false;
AjxEnv.isLinux=false;
AjxEnv.isNav=false;
AjxEnv.isIE=false;
AjxEnv.isNav4=false;
AjxEnv.trueNs=true;
AjxEnv.isNav6=false;
AjxEnv.isNav6up=false;
AjxEnv.isNav7=false;
AjxEnv.isIE3=false;
AjxEnv.isIE4=false;
AjxEnv.isIE4up=false;
AjxEnv.isIE5=false;
AjxEnv.isIE5_5=false;
AjxEnv.isIE5up=false;
AjxEnv.isIE5_5up=false;
AjxEnv.isIE6=false;
AjxEnv.isIE6up=false;
AjxEnv.isIE7=false;
AjxEnv.isIE7up=false;
AjxEnv.isIE8=false;
AjxEnv.isIE8up=false;
AjxEnv.isNormalResolution=false;
AjxEnv.ieScaleFactor=1;
AjxEnv.isFirefox=false;
AjxEnv.isFirefox1up=false;
AjxEnv.isFirefox1_5up=false;
AjxEnv.isFirefox3up=false;
AjxEnv.isFirefox3_6up=false;
AjxEnv.isMozilla=false;
AjxEnv.isMozilla1_4up=false;
AjxEnv.isSafari=false;
AjxEnv.isSafari2=false;
AjxEnv.isSafari3=false;
AjxEnv.isSafari4=false;
AjxEnv.isSafari3up=false;
AjxEnv.isCamino=false;
AjxEnv.isChrome=false;
AjxEnv.isGeckoBased=false;
AjxEnv.isWebKitBased=false;
AjxEnv.isOpera=false;
AjxEnv.useTransparentPNGs=false;
AjxEnv.isDesktop=false;
AjxEnv.isDesktop2up=false;
AjxEnv.is800x600orLower=screen&&(screen.width<=800&&screen.height<=600);
AjxEnv.is1024x768orLower=screen&&(screen.width<=1024&&screen.height<=768)
};
AjxEnv.parseUA=function(){
AjxEnv.reset();
var n=navigator.userAgent.toLowerCase();
var t=n.split(" ");
var c=false;
var o=false;
var r=false;
var e=false;
var a=false;
if(t!=null){
var u;
var l=-1;
if((l=t[0].search(/^\s*mozilla\//))!=-1){
e=true;
AjxEnv.browserVersion=parseFloat(t[0].substring(l+8));
AjxEnv.isNav=true
}
var s;
for(var h=0;
h<t.length;
++h){
s=t[h];
if(s.indexOf("compatible")!=-1){
a=true;
AjxEnv.isNav=false
}else{
if((s.indexOf("opera"))!=-1){
AjxEnv.isOpera=true;
AjxEnv.isNav=false;
u=parseFloat(t[h+1])
}else{
if((s.indexOf("spoofer"))!=-1){
c=true;
AjxEnv.isNav=false
}else{
if((s.indexOf("webtv"))!=-1){
o=true;
AjxEnv.isNav=false
}else{
if((s.indexOf("hotjava"))!=-1){
r=true;
AjxEnv.isNav=false
}else{
if((l=s.indexOf("msie"))!=-1){
AjxEnv.isIE=true;
u=parseFloat(t[h+1])
}else{
if((l=s.indexOf("gecko/"))!=-1){
AjxEnv.isGeckoBased=true;
AjxEnv.geckoDate=parseFloat(s.substr(l+6))
}else{
if((l=s.indexOf("applewebkit/"))!=-1){
AjxEnv.isWebKitBased=true;
AjxEnv.webKitVersion=parseFloat(s.substr(l+12))
}else{
if((l=s.indexOf("rv:"))!=-1){
AjxEnv.mozVersion=parseFloat(s.substr(l+3));
u=AjxEnv.mozVersion
}else{
if((l=s.indexOf("firefox/"))!=-1){
AjxEnv.isFirefox=true;
u=parseFloat(s.substr(l+8))
}else{
if((l=s.indexOf("prism"))!=-1){
AjxEnv.isPrism=true
}else{
if((l=s.indexOf("camino/"))!=-1){
AjxEnv.isCamino=true;
u=parseFloat(s.substr(l+7))
}else{
if((l=s.indexOf("netscape6/"))!=-1){
AjxEnv.trueNs=true;
u=parseFloat(s.substr(l+10))
}else{
if((l=s.indexOf("netscape/"))!=-1){
AjxEnv.trueNs=true;
u=parseFloat(s.substr(l+9))
}else{
if((l=s.indexOf("safari/"))!=-1){
AjxEnv.isSafari=true
}else{
if((l=s.indexOf("chrome/"))!=-1){
AjxEnv.isChrome=true;
u=parseFloat(s.substr(l+7))
}else{
if(l=s.indexOf("version/")!=-1){
u=parseFloat(s.substr(l+7))
}else{
if(s.indexOf("windows")!=-1){
AjxEnv.isWindows=true
}else{
if((s.indexOf("macintosh")!=-1)||(s.indexOf("mac_")!=-1)){
AjxEnv.isMac=true
}else{
if(s.indexOf("linux")!=-1){
AjxEnv.isLinux=true
}else{
if(s.indexOf("zdesktop")!=-1){
AjxEnv.isDesktop=true;
u=parseFloat(t[h+1])
}}}}}}}}}}}}}}}}}}}}}}
AjxEnv.isNav=(e&&!c&&!a&&!AjxEnv.isOpera&&!o&&!r&&!AjxEnv.isSafari);
AjxEnv.isIE=(AjxEnv.isIE&&!AjxEnv.isOpera);
AjxEnv.isNav4=(AjxEnv.isNav&&(u==4)&&(!AjxEnv.isIE));
AjxEnv.isNav6=(AjxEnv.isNav&&AjxEnv.trueNs&&(u>=6&&u<7));
AjxEnv.isNav6up=(AjxEnv.isNav&&AjxEnv.trueNs&&(u>=6));
AjxEnv.isNav7=(AjxEnv.isNav&&AjxEnv.trueNs&&(u>=7&&u<8));
AjxEnv.isIE3=(AjxEnv.isIE&&u<4);
AjxEnv.isIE4=(AjxEnv.isIE&&u>=4&&u<5);
AjxEnv.isIE4up=(AjxEnv.isIE&&u>=4);
AjxEnv.isIE5=(AjxEnv.isIE&&u>=5&&u<6);
AjxEnv.isIE5_5=(AjxEnv.isIE&&u==5.5);
AjxEnv.isIE5up=(AjxEnv.isIE&&u>=5);
AjxEnv.isIE5_5up=(AjxEnv.isIE&&u>=5.5);
AjxEnv.isIE6=(AjxEnv.isIE&&u>=6&&u<7);
AjxEnv.isIE6up=(AjxEnv.isIE&&u>=6);
AjxEnv.isIE7=(AjxEnv.isIE&&u>=7&&u<8);
AjxEnv.isIE7up=(AjxEnv.isIE&&u>=7);
AjxEnv.isIE8=(AjxEnv.isIE&&u>=8&&u<9);
AjxEnv.isIE8up=(AjxEnv.isIE&&u>=8);
AjxEnv.isMozilla=((AjxEnv.isNav&&AjxEnv.mozVersion&&AjxEnv.isGeckoBased&&(AjxEnv.geckoDate!
=0)));
AjxEnv.isMozilla1_4up=(AjxEnv.isMozilla&&(AjxEnv.mozVersion>=1.4));
AjxEnv.isFirefox=((AjxEnv.isMozilla&&AjxEnv.isFirefox));
AjxEnv.isFirefox1up=(AjxEnv.isFirefox&&u>=1);
AjxEnv.isFirefox1_5up=(AjxEnv.isFirefox&&u>=1.5);
AjxEnv.isFirefox2_0up=(AjxEnv.isFirefox&&u>=2);
AjxEnv.isFirefox3up=(AjxEnv.isFirefox&&u>=3);
AjxEnv.isFirefox3_6up=(AjxEnv.isFirefox&&u>=3.6);
AjxEnv.isSafari2=(AjxEnv.isSafari&&u>=2&&u<3);
AjxEnv.isSafari3=(AjxEnv.isSafari&&u>=3&&u<4)||AjxEnv.isChrome;
AjxEnv.isSafari4=(AjxEnv.isSafari&&u>=4);
AjxEnv.isSafari3up=(AjxEnv.isSafari&&u>=3)||AjxEnv.isChrome;
AjxEnv.isDesktop2up=(AjxEnv.isDesktop&&u>=2);
AjxEnv.browser="[unknown]";
if(AjxEnv.isOpera){
AjxEnv.browser="OPERA"
}else{
if(AjxEnv.isSafari3up){
AjxEnv.browser="SAF3"
}else{
if(AjxEnv.isSafari){
AjxEnv.browser="SAF"
}else{
if(AjxEnv.isCamino){
AjxEnv.browser="CAM"
}else{
if(o){
AjxEnv.browser="WEBTV"
}else{
if(r){
AjxEnv.browser="HOTJAVA"
}else{
if(AjxEnv.isFirefox3up){
AjxEnv.browser="FF3.0"
}else{
if(AjxEnv.isFirefox2_0up){
AjxEnv.browser="FF2.0"
}else{
if(AjxEnv.isFirefox1_5up){
AjxEnv.browser="FF1.5"
}else{
if(AjxEnv.isFirefox1up){
AjxEnv.browser="FF1.0"
}else{
if(AjxEnv.isFirefox){
AjxEnv.browser="FF"
}else{
if(AjxEnv.isPrism){
AjxEnv.browser="PRISM"
}else{
if(AjxEnv.isNav7){
AjxEnv.browser="NAV7"
}else{
if(AjxEnv.isNav6){
AjxEnv.browser="NAV6"
}else{
if(AjxEnv.isNav4){
AjxEnv.browser="NAV4"
}else{
if(AjxEnv.isIE8){
AjxEnv.browser="IE8"
}else{
if(AjxEnv.isIE7){
AjxEnv.browser="IE7"
}else{
if(AjxEnv.isIE6){
AjxEnv.browser="IE6"
}else{
if(AjxEnv.isIE5){
AjxEnv.browser="IE5"
}else{
if(AjxEnv.isIE4){
AjxEnv.browser="IE4"
}else{
if(AjxEnv.isIE3){
AjxEnv.browser="IE"
}else{
if(AjxEnv.isDesktop){
AjxEnv.browser="ZDESKTOP"
}}}}}}}}}}}}}}}}}}}}}}
AjxEnv.platform="[unknown]";
if(AjxEnv.isWindows){
AjxEnv.platform="Win"
}else{
if(AjxEnv.isMac){
AjxEnv.platform="Mac"
}else{
if(AjxEnv.isLinux){
AjxEnv.platform="Linux"
}}}}
if(AjxEnv.isIE){
AjxEnv.isNormalResolution=true;
AjxEnv.ieScaleFactor=screen.deviceXDPI/screen.logicalXDPI;
if(AjxEnv.ieScaleFactor>1){
AjxEnv.isNormalResolution=false
}}
AjxEnv.useTransparentPNGs=!AjxEnv.isIE&&!AjxEnv.isLinux&&!
AjxEnv.isSafari;
AjxEnv._inited=!AjxEnv.isIE;
And so on, and so on... They do need some new "Ajax developers",
don't they?
Responsibilities:
• Develop deep knowledge of Zimbra's Ajax framework and its
various client's.
It's not very deep, unless you mean the depth of the browser sniffing.
• Contribute in designing and developing new features.
· Web UI implementation using AJAX framework, JSP and Tag
libraries
Required Skills:
• 4 - 7 years of relevant experience as an AJAX developer
• Expertise in AJAX, Java Script , DHTML , XML, SOAP,CSS
(Knowledge of Java, JSP, Servlets
• recommended )
Virtually anyone can claim that. Who will sort them out?
• Strong command of Java Script, AJAX, HTML, DOM methodsand
properties
That's a new spelling.
• Ability to crank out high quality AJAX applications, debug
JavaScript errors and page layout
• problems
Crank out? I'm sure that means to cobble together jQuery (or YUI or
whatever) widgets.
• Exposure in writing code for cross-browser development
You definitely need that (can clearly nobody on the project has it at
present).
• Good work experience in building rich AJAX front-end for
products/services
• Experience in Firebug/Venkman debugging tool
• Self motivated and passionate
• Excellent verbal and written abilities
Qualification:
BS / MS in Computer Science
Oh brother. Is this what computer scientists are doing these days?
Sniffing browsers and "cranking out" perishable Ajax applications?