Difference between revisions of "Winamp Browser Support"

From Winamp Developer Wiki
Jump to: navigation, search
(Access to Online Services API's:)
(Default omBrowser Settings:)
Line 43: Line 43:
===''Default omBrowser Settings'':===
===''Default omBrowser Settings'':===
By default the omBrowser enables "Show a notification for every JS error," and also Script debugging. In the production environment right clicking is also disabled by default.
By default the following omBrowser settings are off:
-Context menu filtering
-Show a notification for every script error
-Script debugging
To turn these features on, you will need to download the web dev plugin.
===''Access to Online Services API's'':===
===''Access to Online Services API's'':===

Revision as of 16:01, 9 September 2009

This wiki page has been created to help Web developers and QA engineers optimize their web pages to be rendered within the Winamp client application.

Where are web pages loaded within Winamp?

Winamp has 2 primary areas that allow external web sites to be loaded within the client experience -- Online Services and the Bento Skin Browser

1) Online Services

Online Services is likely to be the primary traffic driver to any 3rd-party web experience that manifest in Winamp.

Online Services is a feature within the Winamp Media library that allows 3rd parties to submit their web site to appear as an integrated service within the client. An Online Service is distinct in that the web pages displayed are able to interact with the Winamp Client by leveraging the Online Services APIs. Check out the Online Services Developer section of this wiki for more information.

File:Online Services Screenshot.png

2) Bento Skin Browser

Winamp's default skin, named "Bento", has a built in web browser that allows users to freely surf the web, create bookmarks, etc.

File:Bento Browser Screenshot.png

What browser engine is embedded within Winamp?

The Winamp Browser is powered by leveraging the version of Internet Explorer that is resident on the users local machine (IE only). As such, the browser support matrix for the Winamp client is shown in the image below.

File:Winamp Browser Support Matrix.png

How can I detect that my page Is being loaded inside Winamp?

The easiest way to determine if the web page is being loaded within the Winamp client is by checking for Winamp specific strings in the user agent (see below).

Example: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648) omBrowser/1.3 (Winamp 5.57 build 2596 Beta, JSAPI2)

What unique conditions exist as compared to a stand alone browser?

Screen Size:

The biggest difference is the available screen real estate. The browser window that loads within Winamp is significantly smaller than a fullscreen stand alone browser window. To avoid horizontal scroll bars from appearing by default, the page grid size that designers and web page creators should target for is 660p wide (see image below).

Once a web page detects that its being loaded within Winamp, its recommended that the page modifies its CSS to accommodate the smaller dimensions (or redirect to a alternate web page that is specifically optimized to render in Winamp).

File:Winamp Client Browser Default Page Grid.png

Default omBrowser Settings:

By default the following omBrowser settings are off:

-Context menu filtering -Show a notification for every script error -Script debugging

To turn these features on, you will need to download the web dev plugin.

Access to Online Services API's:

Your web page is now inside of the Winamp media player, make the experience contextually relevant to Winamp's media centric users by leveraging the Online Servcies API's.

For example, you might want to use the Skins API to adjust the colors of your service to blend with active color palatte of the users client. If you have on-demand media, you can use the Transport API to have Winamp natively control the playback of streaming audio/video.

The screenshot below is highlighting an example of a website using the Transport API to fetch metadata for the users currently playing asset and automatically programming a relevant experience based on that metadata.

File:Example Use of Online Serivces API.png