Browser Related Recommendations for Developing and Procuring Web Services at UC Davis
Browser Related Recommendations for Developing and Procuring Web Services at UC Davis
Purpose
The University of California, Davis is a culturally diverse institution rich in research, teaching, learning and administrative activities. This diversity leads to varying IT requirements, including the need to support different web browsers. To ensure that a web site or application works well across the different UCD computing environments, a product needs to work well on all popular web browsers. Web developers and software purchasers need a method of validating services against a common web support framework, thereby ensuring that applications work properly for all users. Campus help desk staff and computer support coordinators need to understand these standards when assisting user access to critical UC web services. In short, deploying standards-compliant web services help ensure smooth upgrades of operating systems and browsers, free of business disruption.
This guide recommends web application development and selection strategies to ensure the application:
is accessible to all users;
is maintainable;
can readily adapt to changing needs of users;
meets applicable legal and UC policy requirements;
Goals
Facilitate Cost-Effective Application Deployment
This document series recommends browsers and web standards that a web content provider should support when the application is deployed for university-wide use. Adhering to these recommendations facilitates cost-effective deployment of the applications to users within the UC Davis.
Encourage Standards Adoption
Conforming to standards makes a web site/application easier to develop, test, deploy, and maintain. It also makes it easier for people with special needs to use the Web.
Provide Desktop Browser Support Guidance
Although not specifically targeted at desktop support IT staff, the recommended browser list in this document can provide input to desktop support staff in their choice of supported browsers.
Strategies
Adhere to Web Standards
The World Wide Web is still a wild and rapidly evolving place. Innovations in browsers and in web programming technology continue to develop at a tremendous pace. It is difficult to keep up with all the changes. Fortunately, the web browser makers and standards bodies have worked hard in recent years to establish a set of web standards to give web developers a coherent and manageable platform to develop sites and applications. The Web Standards Project has an excellent account of this effort and related best practices. When developing or selecting web applications for use at UC, evaluating the applications conformance to these web standards is an excellent way to ensure the application's with web browsers and to maintain a positive user experience.
To clarify, "Web Standards" in this section refers to the protocols and languages used to render a web page display in a web browser. Specifically, these are HTML, cascading stylesheet (CSS) and Javascript. HTML describes the structure and content of a web page. CSS describes how the structure and content should be rendered in a browser window. Javascript is typically used to manipulate the structure and content to produce dynamic behavior in a web browser.
See the Appendix for specific web standard compliance considerations.
Design for Accessibility
Designing for accessibility means making your content available to people with disabilities. In the United States, there are more than 30 million people with disabilities who can be affected by the design of computer software.
Designing or purchasing inaccessible applications places the university at risk for legal action. Designing applications for accessibility, on the other hand, isn't difficult to do, and in fact promotes modularity. An accessible application tends to be a better application for all users.
The UC Web Accessibility Work Group has compiled a wealth of resources at http://www.ucop.edu/irc/itaccessibility/resources/about.html.
A new UC working group, UC Electronic Accessibility Leadership Team, is in the process of drafting standard practices around developing accessible web contents for UC. As information becomes available, this document will be updated to include the appropriate references.
Target Layout Engines Instead of Browsers
When developing web content, it is often easier to think about browser support in terms of the layout engine it uses rather than the browser name/version. The underlying layout engine determines how your web page will render. Better, there are far fewer layout engines than browsers. For example, Safari and Chrome both use WebKit. By targeting the layout engines, you can simplify your testing matrix.
The three most commonly used layout engines are: WebKit (Safari, Mobile Safari, Chrome, etc.), Gecko (Firefox), and Trident (Internet Explorer).
Use Browser Plug-ins Carefully
Applications developed using browser plug-in technologies such as Adobe Flash, Microsoft Silverlight, ActiveX, and Java Applets offer significant advantage over classic HTML-based applications. Plug-ins allow developers to deliver a more media-rich user experience. However, adopting these technologies also means that users are required to install additional software.
The extra set up often creates performance, security, and administrative overheads for the end user and the IT administrators. In addition, these plug-in technologies do not necessarily work in all browsers on all operating systems. Incompabilities translate to higher support overhead and lower user satisfaction. Even plug-in technologies that work in all browsers (read: Flash) may encounter unexpected problems such as web proxy incompatibilities.
If you are developing a web application, use plug-in technology only if the technology offers substantial business value, and only if the technology works across the browsers and operating systems listed in the Browser Support Matrix for UC Davis Web Content Providers.
For example, if an application needs to stream video, Adobe Flash may be an appropriate choice. It has broad support across different browsers on various operating systems. A video streaming ActiveX control, on the other hand, is a poor choice since it only works in Internet Explorer on Windows.
If you are evaluating a web application, and the web application requires plug-in technology, all of the application's functions should be available in any of the supported browsers. If you are issuing an RFP, the RFP should include language asking the vendor to proof the application's compatibility with each browser when the plug-in is in use. It should also specifically ask the vendor to identify all plug-ins needed for the application to function.
A Note about HTML 5: HTML 5, an emerging HTML standards, provides built-in support for rich content such as video, audio, vector graphics. While its features are not yet universally supported in web browsers, it is the standard to come. Consider using HTML 5 to deliver rich media when possible.
Check Operating System Specific Limitations
Web applications promise operating system independence. In most cases, that promise has come true. Nonetheless, developers sometimes inadvertently make operating system-specific decisions. These can range from assuming that a certain system resource would be available (Active Directory, certain file system conventions, etc.) to requiring OS specific plug-ins.
When selecting a web application, make sure to check with the vendor to determine the application's operating system dependencies. As a general rule, a web application should work in all major versions of Windows, Mac OS, Linux, and Unix with modern browser support.
Design for Mobile Devices
Mobile devices such as smart phones and tablets are quickly becoming popular choices for accessing web contents.
It is inevitable that mobile devices will become a significant platform for web access in the next one to two years. If you are deploying a new application, you should carefully evaluate the application's support for mobile browsers against the application's particular user base.
Supporting mobile devices require special considerations such as dealing with a smaller screen and a touch-driven navigation. ITAG is considering launching a follow up project to study and recommend strategies to support mobile devices across UC.
Test with All Applicable Browsers
This point seems obvious, but it is seldom done. When developing a web application for UCD-wide adoption, testing the application for cross browser and OS compatibility is a critical step in the application's development life cycle. Test the application against the browsers listed in Browser Support Matrix for UC Davis Web Content Providers.
Test your web pages against validators as well as the browsers. Validators ensure that your web pages conform to standards. A standards compliant web page is much more likely to render correctly in browsers. You can find a suite of web standards validators at http://www.w3.org/QA/Tools/.
Test early. Browser compatibility testing should be done throughout the application's development cycle.
If you are evaluating a vendor developed application, require the vendor to detail the application's level of support for each browser listed in the Browser Support Matrix for UC Davis Web Content Providers.
References
The Web Standards Project FAQ
The Web Standards Project FAQ contains very useful introductions to the various web browser rendering standards used today. It's an excellent place to start the web browser standards conversation.
Comparision of Web Browsers
This Wikipedia entry contains a comprehensive comparison of numerous web browsers against various web rendering standards.
Web Accessibility at the University of California
UC's Web Accessibility Initiative site. Quite a bit of information that should have significant overlap with browser standards recommendations.
Appendix: UC Davis Endorsed Web Standards
HTML
When developing a UCD web site/application, its HTML output should conform to one of the following HTML mark up specifications:
HTML 4.01
XHTML 1.0 (Strict or Transitional)
XHTML 1.1
W3C offers a convenient HTML validation service at: http://validator.w3.org/
Note: HTML 5, an emerging HTML mark up standard, is a possible choice. However, most web browsers do not yet fully support new elements introduced in HTML 5. If you are marking your page as HTML 5, take care to not use HTML 5 specific elements without developing a plan to degrade the page rendering gracefully.
Cascading Stylesheet
CSS standard, maintained by W3C, is defined in 3 levels. Because of the various rendering bugs in web browsers, applications should test each browser during development to ensure proper page rendering. In particular, test applications with older browsers to make sure the user does not lose functionality due to unsupported CSS syntax.
Javascript (ECMAScript)
The current version of Javascript common in modern web browsers is Javascript 1.5 (ECMA-262 3rd Edition). Many browsers have added custom extensions to Javascript 1.5. These extensions do not always work in all browsers. Once again, test your application with different browsers to make sure your Javascript works across all browsers.