PhoneGap seems interesting, but I don't fully understand it yet. Which of its capabilities should be added to the browser? Should they be standardized in HTML5 or should they be part of a devices OS?
PhoneGap provides, if you include its JavaScript file in your PhoneGap-wrapped web app, JavaScript APIs to the camera, stored photos, the address book, and some other stuff.
Some of this stuff is in 'HTML5', like geolocation, but much of it isn't. Apple could have provided custom APIs to the camera and so on and allowed people to access it from their iOS-specific web apps.
The way that an API gets to be a standard is that someone implements it and people use it - if Apple had included a camera access API in Mobile Safari, it probably would have found its way into a spec and been implemented by other browsers.
Your last question seems confused: HTML/CSS rendering and JavaScript processing is part of the device's OS (in the form of its web browser). No browser does everything that's in the standard, and most browsers do things that aren't in the standard. Just adding it to the spec for HTML5 wouldn't be directly meaningful.
Exactly. I would be surprised if people working on WebKit for Apple weren't involved in those kind of discussions, and would fully expect Mobile Safari to support a workable device API.
I wonder how long before iOS development is like WebOS development?
PhoneGap sees itself as a temporary measure and everything should be a browser capability. They bridge the OS capabilities that are not available now in the browser.
Some of this stuff is in 'HTML5', like geolocation, but much of it isn't. Apple could have provided custom APIs to the camera and so on and allowed people to access it from their iOS-specific web apps.
The way that an API gets to be a standard is that someone implements it and people use it - if Apple had included a camera access API in Mobile Safari, it probably would have found its way into a spec and been implemented by other browsers.
Your last question seems confused: HTML/CSS rendering and JavaScript processing is part of the device's OS (in the form of its web browser). No browser does everything that's in the standard, and most browsers do things that aren't in the standard. Just adding it to the spec for HTML5 wouldn't be directly meaningful.