views:

259

answers:

10

Hey guys just been looking at the Steam website and noticed it doesnt use Flash.

What technologies are being used to create the page? For example the slide bar to scroll through the different games, how exactly is that happening?

Thanks in advance for any replys.

A: 

Javascript................................. .

Rob
Way to add a bunch of dots to get past the minimum character filter. You know, that's there to *prevent* responses like this...
animuson
@animuson - agreed. Please put a little more thought into your responses.
ABach
I took it to convey a disbelieve in the OP's not seeing that for himself? But perhaps that's just a optimist's interpretation.
Tchalvak
But if the response is correct there's really no reason to say any more right? Just because the filter dictates something doesn't mean it's correct in all cases. A classic case of technology trying to enforce and there are many edge cases it doesn't handle properly.
John K
@jdk: He can always quickly explain how he determined it was JavaScript. An easy way to get past the minimum requirement and much better than a bunch of worthless dots.
animuson
I suggest you remove this answer and elaborate on it some more to prevent losing rep points over an insufficient answer. If you want to be that concise in your answers, add a comment to the question instead.
yuval
A few down votes actually don't cause enough rep damage to worry about. Yes, he could elaborate, but then again I've seen many elaborate answers on SO that actually don't say anything. Considering that, I like the conciseness of this answer in particular.
John K
I like the metric that "if it doesn't meet the minimum post length, it's comment material, not answer material". Makes sense ta me.
Tchalvak
Agreed! .......
John K
To all, if you have a more correct answer, please give it. If you don't, then shut up.
Rob
+3  A: 

The scrollable "games" section is most likely a <div> with an overflow scrollbar. The arrows are probably links to a javascript call. Since it's fixed width, it just uses javascript to scroll the box by "width x."

For the most part that page is just JavaScript, HTML, and CSS. It's not necessarily AJAX, although it may request those images from the server "on demand" to lessen server load, instead of prefetching them.

Robbie
I think the "scroll horizontally by width X" is probably really apt, and doubt that there would even be any benefit from not preloading all of the images, and the lack of any visible load time implies that those puppies aren't wasting time being loaded on the fly as you scroll. That's a great technique that I'll have to use for my own pages.
Tchalvak
+9  A: 

Javascript, and lots of it. From the page's head:

<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    <title>Welcome to Steam</title> 
    <link href="http://cdn.store.steampowered.com/public/css/styles_storev5.css?v=221260115" rel="stylesheet" type="text/css" /> 
<!--[if lte IE 6]> <link href="http://cdn.store.steampowered.com/public/css/styles_storev5_ie6.css?v=3855293424" rel="stylesheet" type="text/css" />
 <![endif]--> 
<!--[if lte IE 7]> <style type="text/css"> .iepoupfix{ display: block; } </style> <![endif]--> 
    <script type="text/javascript" src="http://cdn.store.steampowered.com/public/javascript/swfobject.js?v=3216748271&amp;l=english"&gt;&lt;/script&gt; 
<script type="text/javascript" src="http://cdn.store.steampowered.com/public/javascript/prototype-1.6.0.2.js?v=1627908004&amp;l=english"&gt;&lt;/script&gt; 
<script type="text/javascript" src="http://cdn.store.steampowered.com/public/javascript/scriptaculous/scriptaculous.js?v=1333279996&amp;l=english&amp;load=effects,controls,slider"&gt;&lt;/script&gt; 
<script type="text/javascript" src="http://cdn.store.steampowered.com/public/javascript/javascript.js?v=853265233&amp;l=english"&gt;&lt;/script&gt; 
<script type="text/javascript" src="http://cdn.store.steampowered.com/public/javascript/main.js?v=199395227&amp;l=english"&gt;&lt;/script&gt; 
<script type="text/javascript" src="http://cdn.store.steampowered.com/public/javascript/jserrorreport.js?v=19341832&amp;l=english"&gt;&lt;/script&gt; 
<script type="text/javascript" src="http://cdn.store.steampowered.com/public/javascript/header.js?v=318945778&amp;l=english"&gt;&lt;/script&gt; 
<script type="text/javascript" src="http://cdn.store.steampowered.com/public/javascript/search.js?v=630051104&amp;l=english"&gt;&lt;/script&gt; 
    <script type="text/javascript" src="http://cdn.store.steampowered.com/public/javascript/cluster.js?v=4033443305&amp;l=english"&gt;&lt;/script&gt; 
    <link rel="search" type="application/opensearchdescription+xml" title="Steam Search" href="http://store.steampowered.com/public/open_search.xml"&gt; 
</head> 

Notable libraries: Scriptaculous. Prototype. swfobject.js! Strangely that last one is actually supposed to be useful for embedding flash, though I'm not sure if it's in use on that page (perhaps just elsewhere on the site for movies or audio).

Tchalvak
+1  A: 

They are using JavaScript for all this stuff. If you look at the page source you can see that the prototype.js and scriptaculous libraries are both included by the page.

Justin Ethier
+3  A: 

My awesome Chrome Sniffer Chrome extension tells me that this site is using script.aculo.us, which is a Javascript library similar to MooTools and jQuery. Dynamic javascript is being used for lots of neat effects these days.

ABach
alternatively: http://builtwith.com/store.steampowered.com and https://addons.mozilla.org/en-US/firefox/addon/10229
davidosomething
@davidosomething - I had forgotten about builtwith.com. Thanks for reminding me! :)
ABach
Great resource, builtwith.com, hadn't heard of it, thanks for pointing that out.
Tchalvak
A: 

Like you tagged, ajax, or other forms of javascript.

DMan
+3  A: 

Most none-flash solutions are likely to be using either a combination of XHTML and Javascript (often JS libraries such as jQuery or Prototype, or Microsoft's flash competitor - Silverlight.

The steam website seems to be using something along the lines of the very popular jQuery and jQuery Tools (Scrollable plugin). The scrollable plugin with jQuery Tools is really quick and easy to set up and really useful for displaying content and images. I've used it on several clients' websites with positive results.


UPDATE: looking at the source it seems that Steam is actually using the also-popular Prototype library but it's a very similar concept to jQuery and the scrollabel plugin.

yuval
+1  A: 

hey, it uses script.aculo.us, which on its behalf is based on Prototype. I didn't see anyone noting that.

prototype, jQuery, MooTools and such are just frameworks. You can do the same if you write your own javascript functions. They just provide ready-to-go functions for AJAX, animation effects, advanced DOM traversal, slides etc. And the reason i'm using them is animation smoothness - i've written my own functions when i couldn't include jQuery.

Luka Ramishvili
A: 

You may have a look at this: http://w3techs.com/sites/info/steampowered.com

Sam
+2  A: 

In addition to Tchalvak's reply (I can't comment yet), swfobject, which is used to embed Flash objects, is used for trailers which are shown in a corner when you choose to view a detailed description of a game.

Its also used to preview Trailers before downloading the high-quality (usually HD) version as a "Media" item in the Steam client.

Sherman