Wednesday, February 14th, 2007

Intel Web 2.0 Technology Development Kit (TDK)

Category: JavaScript, Library

Have you ever wished that you could getPercentRemaining() to find out the battery charge left in a users device, or getProtocolRateTx() to find out about the connectivity of a device?

These are some of the methods available in the Intel Web 2.0 Technology Development Kit (TDK).

Imagine if your Web 2.0 application could be aware of the platform it is running on and its environment. It could, for example, leverage multi-core power to provide more immersive user interfaces, postpone certain tasks during low power situations, avoid network traffic over low bandwidth/high latency connections, etc.

The Intel® Web 2.0 Technology Development Kit (TDK) allows developers to learn about the platform’s configuration, e.g. display, storage, processor, and the platform’s context, e.g. bandwidth, connectivity, power and location, etc. within a browser using JavaScript.

The Intel® Web 2.0 TDK contains documentation and full source code (C++ and JavaScript) for IE 6/7 and Firefox. The code can be incorporated directly in your extensions or JavaScript libraries, and be redistributed royalty free.

I have to admit… I wouldn’t have guessed that this would be the next API out of Intel!

Posted by Dion Almaer at 12:23 am
17 Comments

+++--
3.5 rating from 31 votes

17 Comments »

Comments feed TrackBack URI

I’m just waiting for the getUniqueChipID() method to surface so that we can all run screaming from our computers to hide in the mountains…. =p

Comment by Jesse Kuhnert — February 14, 2007

More browser sniffing, please.

Comment by Andy — February 14, 2007

You do realize that your site’s visitors will need to install this software on their machines in order for you to use the promised features?

Comment by Michael Geary — February 14, 2007

This is usefull for Widgets (Mac) and similar apps for Windows and Linux. It is not something you would use for a Public webpage, but for local applications, it’s an interesting announcement.
Many people seem to think that local Ajax apps will be important in the future (Adobe Apollo, Dojo Storage,…), but this is a move I certainly didn’t expect.
Libraries like this open posibilities for this local Javascript/HTML apps that I hadn’t even thought of.

Comment by Salva — February 14, 2007

I don’t like this kind of API, most the time this will end in security problems. I think it should belong to a middle ware application to give access to the system and not javascript which is controlled by the browsers security. Or do they provide secure software since vista and ie7 is available ;-)

Perhaps we get some snowboards next year with a builtin AJAX API where we can call home via a wirless lan access. How knows ;-)

Comment by Roger — February 14, 2007

@Roger

Just to repeat Michael’s post

“You do realize that your site’s visitors will need to install this software on their machines in order for you to use the promised features?”

Comment by Justin — February 14, 2007

Well, once it is installed, does it allow Joe Advertiser and Scumbag Botmaster to access my location information (long/lat and address according to the PDF) and all system info the API provides from a simple public website?

As for the Widget comment: Widgets may be allowed system access already, so you can query the proper system ressources for the info already. Although a nice API can indeed make things more efficient and less error prone.

A note: “We will be using the Observer pattern,
and model it after the approach used in the Google Map API”. Nice to see that the not-invented-here syndrom is contained. Thumbs up for that.

Funny: Only supports Windows XP, but uses an Apple MacBook Pro as an example for the output of PlatformInfo.getModel()

Comment by Martin — February 14, 2007

The more tools that advertisers are given to profile a visitor, the more anonymity that visitor will lose. Who needs a name when you can build a hash that’s 99% unique?


However, I could see this being a strong addition to any application that’s designed for an intranet or simply a web technology based desktop application.

Comment by Andrew Herron — February 14, 2007

Not only will users need to install, but check out this part:

Key Features

* Support for Windows XP* operating system.
* Support IE6/7 and Firefox

Since when is support for WindowsXP only a “feature”?

Comment by John Eckman — February 14, 2007

Just installed it, the test page seem broken to me in firefox 2.x but fully working in IE6
I’ve look up the js code and it’s actually using activex control for IE and netscape.security.PrivilegeManager for else.
Both browser trigger a security pop-up.

Comment by jpjoyal — February 14, 2007

Try Nenest.com, which enables you create a complete Web 2.0 website including BLOG, Forum, Article database, Article comments, Rss Feed, Digg/Delicious link etc.

Comment by Tony Y. — February 14, 2007

From the site:

– Allows creation of user-defined callbacks in an object-oriented way to handle specific platform events.
– Provides a high-level JavaScript API to get information about battery power states, network connectivity, and processor information, including number of cores.

* Power information API
* Connectivity information API
* Storage information API
* Bandwidth information API
* Processor information API
* Location information API

This is of specific and perhaps limited use due to the platform limitation/download requirement, but might be cool if you wanted to make particular information available to a custom app you were building – maybe something wireless + GPS (location?) related, with JS.

Comment by Scott Schiller — February 14, 2007

This could be really useful in a closed environment for support purposes; if you run across an issue, you could post a ticket to a help desk and the information about your computer’s state could be included automatically. I know of at least 3 large companies who’s internal IT groups would love to have this kind of thing.

Comment by Tom Trenka — February 14, 2007

Some comments on the comments.

The current download code is in it’s very alpha stages – we’re planning to release a new version in about a week (fixes Firefox issues, a new “Web 2.0”-ish demo, contain some prepackaged widgets, and will be more feature complete.)

Yes, the TDK does require a download – a necessary evil giving the stuff we want to expose. The next version will make this process a bit less painful. I’m open to any other ideas or approaches to make this more fluid.

Speaking of evil. We share everyone’s concerns about privacy and we continue to wrestle with what to include in the API. Our major goal with this technology is provide Ajax apps with Context information (power, connectivity and bandwidth) and not platform/hardware information.

Being from Intel, I did need to add some information about the CPU :). I feel there is are benefits for an application to know the number of cores, e.g. video processing and rendering.

getCpuId (or any other identifying info) WILL NOT be exposed.

The location API is in the document for completeness (it’s one of the contexts we feel are important for mobile systems.) We have no plans to provide an implementation. BTW, there are already services which can provide Ajax applications with your location without your knowledge using your IP address. Though not perfect they are amazingly accurate.

Regardless, for a motivated bad guy this type of technology is easy to create and add to malware, etc. In the end it’s up to user (I know, bad idea)

The demo was run on a MacBook because that’s what we’re developing on. BTW, Linux support and OsX support is also in the plan (we’ve already got Linux working.)

I’m appreciate everyone’s comments. Feel free to contact me cvvickintel.com

Comment by C.V. Vick — February 14, 2007

quick email address note: there’s a period between cv and vick and an at sign between vick and intel

Comment by C.V. Vick — February 14, 2007

This discussion is one of the reasons that we have created the TDK. Web 2.0 apps are creating a world where the hardware platform and computing context are–ironically–becoming more relevant. The browser and JS engine platform seems to level the playing field. And when you are rendering a 1K static HTML page, who cares whether Joe User’s client is a desktop with 4 cores, 4 GB and a 1 Gbps pipe; or a ‘ancient’ PIII laptop with 256 MB, a 26 Kpbs dial-up connection, and a battery that is only going to last 30 more seconds?
AJAX apps are becoming powerful enough to rival traditional thick client apps and they need to start thinking about resources that way. How does your AJAX app handle the user who’s network connection is intermittent? If you are going to take your app offline with dojo.storage, do you have enough room? Does the client have the CPU power to handle a compressed stream? The Intel Web 2.0 TDK won’t (and perhaps shouldn’t) answer all the questions about context, but it’s a start.

Comment by Clayne Robison — February 15, 2007

C.V. Vick and Clayne Robison: It’s really neat stuff. Finding good ways to make use of this data to auto-deliver different capabilities to users, along with the different types of utility apps and widgets that could be authored looks really promising. Assuming the security concerns can be worked around as you state, this looks to be a very useful tool in making JavaScript that much more useful as a development tool.

Comment by Dylan Schiemann — February 16, 2007

Leave a comment

You must be logged in to post a comment.