Questions to the Amazon Silk team

Dear Amazon Silk team,

You released a marketing campaign disguised as a technical talk about your new Silk browser for the Kindle.

Web developers are very interested in what you have to offer, and would love to study the solutions you’ve created for browsing in connection-challenged environments, but currently that’s impossible due to lack of information.

That lack is understandable: right now you’re hurrying to get all last-minute fixes applied in time for the release and don’t have time for answering detailed technical questions.

Still, the emphasis you put on Silk’s use of completely new concepts makes web developers very nervous and has them scramble for any information. Browser vendor had completely idiotic ideas before and tried to sell them as the Next Big Thing. We’d like to know for sure that Amazon is not one of those vendors.

Therefore I have a few questions for you, which are detailed below.

I would also very much like to get in touch with a Silk developer relations manager.

Oh, and next time, please don’t pretend all these concepts are totally new and utterly astounding. They’re not. Opera has been doing this for years. Your solution may be technically better, but the onus of proving that is on you.

Thanks, ppk

Definitions

First some definitions in order to prevent any miscommunication.

Full browser

A browser that runs on the client, receives all HTML, CSS, JavaScript, and images, and interprets and renders them. The browser is capable of running JavaScript and changing the DOM on the fly.

Proxy browser

A browser that consists of a thin client that leaves the parsing and rendering of the HTML, CSS, and JavaScript to a server-side component which sends the rendered page to the client. The browser is incapable of running JavaScript: every script call requires a new server request.

Now Silk seems to be both, and also seems to be able to function as a hybrid of the two, where some, but not all, parsing and rendering is done on the server.

Questions

So here are my questions:

Can Amazon Silk at need function either as a full browser or as a proxy browser? Does it also have a hybrid mode where it does some stuff on the server and some on the client? (I’m assuming the answer to both is Yes; if it’s No Amazon is guilty of gross miscommunication.)

Is the full browser on the device an Android WebKit? Or did you create your own WebKit port?

Is the proxy browser on the server the same as the full browser? I.e. do they render HTML, CSS, and JavaScript the same? I’m expecting at least a few minor differences here; could you give some examples?

Can you give a few examples of factors that make Silk decide to run as full or as proxy browser or as something in-between?

Can you give a few examples of how executing a JavaScript can be split between the client and the server? I.e. how does this hybrid stuff work in practice? (I have some ideas, but I’d prefer to hear from the horse’s mouth.)

And a few CSS examples?

Is there a switch with which developers can force the browser in either full-client or full-server mode? We need it for testing purposes. If there is no such switch, when will it be provided? Could we also set the switch to hybrid mode, or several hybrid modes?

The Terms & Conditions document refers to a user switch. Am I correct in understanding that the users can set this switch to either use the full browser only, or use both full and proxy browser based on your decisions?

Will you provide a stand-alone emulator? For the proxy browser this shouldn’t be too hard, though porting the full browser to Windows and Mac will be more challenging. (Do not under any circumstance force web developers to download a bloody SDK. They won’t.)

Can you please show the Silk User-Agent string? Is it the same for the full and the proxy browser?

Where is the documentation?

Do you have any Silk developer relations managers? It would be a good idea if you did.