




if (typeof(disqus_iframe_css) == 'undefined') {
	disqus_iframe_css = '';
}
if (typeof(disqus_def_name) == 'undefined') {
	disqus_def_name = '';
}
if (typeof(disqus_def_email) == 'undefined') {
	disqus_def_email = '';
}
if (typeof(disqus_skip_auth) == 'undefined') {
	disqus_skip_auth = false;
}
if (typeof(disqus_default_text) == 'undefined') {
	disqus_default_text = 'Type your comment here.';
}

(function(){
	
	var ie = document.uniqueID
		&& document.compatMode
		&& !window.XMLHttpRequest
		&& document.execCommand ;

	try {
		if(!!ie) {
			document.execCommand("BackgroundImageCache", false, true);
		}
	} catch(e) {};
})();

var Dsq = new function() {
	this.container = document.getElementById('dsq-content');
	this.jsonData = {"reactions": [{"body": "http://bit.ly/3F9lDf\n\nSays it All , its just a other rip off of the iPhone one again", "author_name": "Aztian", "source_url": "http://www.ubervu.com/conversations/scobleizer.com/2007/11/12/google-android-we-want-developers-but/", "id": 16506337, "get_service_url": "http://twitter.com/", "title": "http://bit.ly/3F9lDf\n\nSays it All , its just a other rip off of the iPhone one again", "url": "http://twitter.com/Aztian/status/5508241576", "source": "ubervu", "get_service_name": "twitter", "avatar_url": "http://a1.twimg.com/profile_images/478520342/Photo_on_2009-10-17_at_14.08_normal.jpg", "author_url": "", "date_created": "1 month ago", "retweets": []}], "has_more_reactions": false, "users": {"d43b31b1d98966b95da0afb87fabe3b9": {"username": "-gary", "tumblr": "", "display_name": "-gary", "url": "http://disqus.com/guest/d43b31b1d98966b95da0afb87fabe3b9/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "aff533acf9b173682e713fb1cb290a94": {"username": "scott", "tumblr": "", "display_name": "scott", "url": "http://disqus.com/guest/aff533acf9b173682e713fb1cb290a94/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "beb00600821addcd27706a481fde403f": {"username": "Kreg Steppe", "tumblr": "", "display_name": "Kreg Steppe", "url": "http://disqus.com/guest/beb00600821addcd27706a481fde403f/", "registered": false, "linkedin": "", "blog": "http://www.spyndle.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "99c6df92367e704e59a2d63b1bee4301": {"username": "Eric", "tumblr": "", "display_name": "Eric", "url": "http://disqus.com/guest/99c6df92367e704e59a2d63b1bee4301/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0e38885a361606b411a260b6e0b7f87b": {"username": "esmith", "tumblr": "", "display_name": "esmith", "url": "http://disqus.com/guest/0e38885a361606b411a260b6e0b7f87b/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b78712fb722454894a0be62a978646f5": {"username": "milan", "tumblr": "", "display_name": "milan", "url": "http://disqus.com/guest/b78712fb722454894a0be62a978646f5/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "5d618314274b099c6eb2b546bf38d184": {"username": "Julian", "tumblr": "", "display_name": "Julian", "url": "http://disqus.com/guest/5d618314274b099c6eb2b546bf38d184/", "registered": false, "linkedin": "", "blog": "http://www.julianonsoftware.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4afc618b221dd9f632185fe8b5ee61b4": {"username": "Hendrik", "tumblr": "", "display_name": "Hendrik", "url": "http://disqus.com/guest/4afc618b221dd9f632185fe8b5ee61b4/", "registered": false, "linkedin": "", "blog": "http://www.studiomuscle.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "cc83398f6c420df8faae18a0e14dba5b": {"username": "Fnord", "tumblr": "", "display_name": "Fnord", "url": "http://disqus.com/guest/cc83398f6c420df8faae18a0e14dba5b/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "96878b054a4207c664f63fb159d7abfb": {"username": "Steve S.", "tumblr": "", "display_name": "Steve S.", "url": "http://disqus.com/guest/96878b054a4207c664f63fb159d7abfb/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "aba9e34a7f1d7bf51512297641164ac8": {"username": "Chad W Smith", "tumblr": "", "display_name": "Chad W Smith", "url": "http://disqus.com/guest/aba9e34a7f1d7bf51512297641164ac8/", "registered": false, "linkedin": "", "blog": "http://www.chadwsmith.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "700894dce08524a3dcd88584bd94196b": {"username": "mikep", "tumblr": "", "display_name": "mikep", "url": "http://disqus.com/guest/700894dce08524a3dcd88584bd94196b/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2ba55419be3daaa7f52fa82a9c3737a2": {"username": "davodd", "tumblr": "", "display_name": "davodd", "url": "http://disqus.com/guest/2ba55419be3daaa7f52fa82a9c3737a2/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d1b44a8368e7418bc4347a587f7f83b9": {"username": "neverness", "tumblr": "", "display_name": "neverness", "url": "http://disqus.com/guest/d1b44a8368e7418bc4347a587f7f83b9/", "registered": false, "linkedin": "", "blog": "http://neverness.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "31619da312abf59369e8473e80543ade": {"username": "trinest", "tumblr": "", "display_name": "trinest", "url": "http://disqus.com/guest/31619da312abf59369e8473e80543ade/", "registered": false, "linkedin": "", "blog": "http://trinest.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "964855fa433dba58b76f9c12dc4bf538": {"username": "Andrew Venegas", "tumblr": "", "display_name": "Andrew Venegas", "url": "http://disqus.com/guest/964855fa433dba58b76f9c12dc4bf538/", "registered": false, "linkedin": "", "blog": "http://thesoapboxprophet.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0e0e7f8d2d5505c06f658d46c0c0eb70": {"username": "Robert", "tumblr": "", "display_name": "Robert", "url": "http://disqus.com/guest/0e0e7f8d2d5505c06f658d46c0c0eb70/", "registered": false, "linkedin": "", "blog": "http://www.propdata.co.za/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "17a97e09a1b23bc733ae22880a961b59": {"username": "Gregor", "tumblr": "", "display_name": "Gregor", "url": "http://disqus.com/guest/17a97e09a1b23bc733ae22880a961b59/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "43019d61aee011f7ed2abd4af1524fcb": {"username": "Callek", "tumblr": "", "display_name": "Callek", "url": "http://disqus.com/guest/43019d61aee011f7ed2abd4af1524fcb/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "204d53f26a4da6d5920108e26c268634": {"username": "Sean McGee", "tumblr": "", "display_name": "Sean McGee", "url": "http://disqus.com/guest/204d53f26a4da6d5920108e26c268634/", "registered": false, "linkedin": "", "blog": "http://designbyseanmcgee.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7625ccb46c9bfd4175eb4582e588d939": {"username": "sigh", "tumblr": "", "display_name": "sigh", "url": "http://disqus.com/guest/7625ccb46c9bfd4175eb4582e588d939/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "f0e2e7181221d362a226abe48d46e0e0": {"username": "Shajith", "tumblr": "", "display_name": "Shajith", "url": "http://disqus.com/guest/f0e2e7181221d362a226abe48d46e0e0/", "registered": false, "linkedin": "", "blog": "http://mostlyyes.tumblr.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b11a9a7bee6fc07723be3e8aea636835": {"username": "Alexander van Elsas", "tumblr": "", "display_name": "Alexander van Elsas", "url": "http://disqus.com/guest/b11a9a7bee6fc07723be3e8aea636835/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/6/5510/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "37028ca64efd298e05aaa20cc029d384": {"username": "Ron", "tumblr": "", "display_name": "Ron", "url": "http://disqus.com/guest/37028ca64efd298e05aaa20cc029d384/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d298a3adf3dfc66d6790d5013819644f": {"username": "Comic Strip Blogger", "tumblr": "", "display_name": "Comic Strip Blogger", "url": "http://disqus.com/guest/d298a3adf3dfc66d6790d5013819644f/", "registered": false, "linkedin": "", "blog": "http://comicstripblog.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6da80c53e4c3a09ff233623a5119a10b": {"username": "Tom", "tumblr": "", "display_name": "Tom", "url": "http://disqus.com/guest/6da80c53e4c3a09ff233623a5119a10b/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0e3f61ce34e76baaeb8e99f1e9bc3b00": {"username": "Utterly furious", "tumblr": "", "display_name": "Utterly furious", "url": "http://disqus.com/guest/0e3f61ce34e76baaeb8e99f1e9bc3b00/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "75d620852fc7691a0a3a86c336055e7d": {"username": "Rob Bazinet", "tumblr": "", "display_name": "Rob Bazinet", "url": "http://disqus.com/guest/75d620852fc7691a0a3a86c336055e7d/", "registered": false, "linkedin": "", "blog": "http://rbazinet.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/169/9035/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "99c268da0e78e0f0741e988719dc8adb": {"username": "Ronald Horowitz", "tumblr": "", "display_name": "Ronald Horowitz", "url": "http://disqus.com/guest/99c268da0e78e0f0741e988719dc8adb/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d3efd484a01826b1151cd4d16ffea084": {"username": "Ryan Ackley", "tumblr": "", "display_name": "Ryan Ackley", "url": "http://disqus.com/guest/d3efd484a01826b1151cd4d16ffea084/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4db72a1dd7e479359cdc27a77678d149": {"username": "Porta", "tumblr": "", "display_name": "Porta", "url": "http://disqus.com/guest/4db72a1dd7e479359cdc27a77678d149/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "08c546e344d3a6034f64cfdb5ec72170": {"username": "Lyle", "tumblr": "", "display_name": "Lyle", "url": "http://disqus.com/guest/08c546e344d3a6034f64cfdb5ec72170/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8fbd1902c9d786dd42a39d3e081ff778": {"username": "Ian Betteridge", "tumblr": "", "display_name": "Ian Betteridge", "url": "http://disqus.com/guest/8fbd1902c9d786dd42a39d3e081ff778/", "registered": false, "linkedin": "", "blog": "http://www.technovia.co.uk/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b145c79380d49a8c0b8b05ebb1fab234": {"username": "David", "tumblr": "", "display_name": "David", "url": "http://disqus.com/guest/b145c79380d49a8c0b8b05ebb1fab234/", "registered": false, "linkedin": "", "blog": "http://www.daivddalka.com/createvalue/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4fe19b3352f366bef89ea9cdf6c0e0c9": {"username": "RJ", "tumblr": "", "display_name": "RJ", "url": "http://disqus.com/guest/4fe19b3352f366bef89ea9cdf6c0e0c9/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/22/6452/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4ccce0a45fdc765fcc27b0c99395a4ba": {"username": "Swaroop", "tumblr": "", "display_name": "Swaroop", "url": "http://disqus.com/guest/4ccce0a45fdc765fcc27b0c99395a4ba/", "registered": false, "linkedin": "", "blog": "http://swaroop.in/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "e513d6507faed4fc4625e71bd2961758": {"username": "Matt", "tumblr": "", "display_name": "Matt", "url": "http://disqus.com/guest/e513d6507faed4fc4625e71bd2961758/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8153ef257a93cc5955e73fe92ec3a607": {"username": "toivo", "tumblr": "", "display_name": "toivo", "url": "http://disqus.com/guest/8153ef257a93cc5955e73fe92ec3a607/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "a87f31f4ab88f90c7806a718bd170ff1": {"username": "Mr Speaker", "tumblr": "", "display_name": "Mr Speaker", "url": "http://disqus.com/guest/a87f31f4ab88f90c7806a718bd170ff1/", "registered": false, "linkedin": "", "blog": "http://mrspeaker.webeisteddfod.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "a3ced448c151b062a0b3afbc80b2c9a5": {"username": "Jim", "tumblr": "", "display_name": "Jim", "url": "http://disqus.com/guest/a3ced448c151b062a0b3afbc80b2c9a5/", "registered": false, "linkedin": "", "blog": "http://www.yahoo.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d8bb4623895a9ba01a125d3d7800bead": {"username": "Joe Duck", "tumblr": "", "display_name": "Joe Duck", "url": "http://disqus.com/guest/d8bb4623895a9ba01a125d3d7800bead/", "registered": false, "linkedin": "", "blog": "http://joeduck.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/1372/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6c4794d0cc24fe906fb0d582ed427322": {"username": "Peter Kasting", "tumblr": "", "display_name": "Peter Kasting", "url": "http://disqus.com/guest/6c4794d0cc24fe906fb0d582ed427322/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0f73420c03e8e253f428f89c113f76ff": {"username": "Lars Fischer", "tumblr": "", "display_name": "Lars Fischer", "url": "http://disqus.com/guest/0f73420c03e8e253f428f89c113f76ff/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7f6291e8344b594235e57b843fc05d9b": {"username": "Christopher Coulter", "tumblr": "", "display_name": "Christopher Coulter", "url": "http://disqus.com/guest/7f6291e8344b594235e57b843fc05d9b/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "74899c5f1ce6170a74f5c6169cc9d9e8": {"username": "callingshotgun", "tumblr": "", "display_name": "callingshotgun", "url": "http://disqus.com/guest/74899c5f1ce6170a74f5c6169cc9d9e8/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "fc01b6575368251c1a310ed6ea5d6a03": {"username": "eric rice", "tumblr": "", "display_name": "eric rice", "url": "http://disqus.com/guest/fc01b6575368251c1a310ed6ea5d6a03/", "registered": false, "linkedin": "", "blog": "http://ericrice.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/868/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "a188342dd007efdd6b228d77cd5a9676": {"username": "Aaron", "tumblr": "", "display_name": "Aaron", "url": "http://disqus.com/guest/a188342dd007efdd6b228d77cd5a9676/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ed358d9b64a8993db13d5d16f05aba92": {"username": "Matt", "tumblr": "", "display_name": "Matt", "url": "http://disqus.com/guest/ed358d9b64a8993db13d5d16f05aba92/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "688c054b7b4066bc84aa3cff6bce2079": {"username": "Wrenchy", "tumblr": "", "display_name": "Wrenchy", "url": "http://disqus.com/guest/688c054b7b4066bc84aa3cff6bce2079/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0bbc995de95a392e05de2af05fe090f1": {"username": "SEO Training", "tumblr": "", "display_name": "SEO Training", "url": "http://disqus.com/guest/0bbc995de95a392e05de2af05fe090f1/", "registered": false, "linkedin": "", "blog": "http://searchtempo.com/content/view/37/51/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "5e1c87273c34ed82429ba3fe4f3ca09f": {"username": "Benoit Cazenave", "tumblr": "", "display_name": "Benoit Cazenave", "url": "http://disqus.com/guest/5e1c87273c34ed82429ba3fe4f3ca09f/", "registered": false, "linkedin": "", "blog": "http://benoit.cazenave.fr/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "cf3bebfb8c2ce94a191bb122ce87705c": {"username": "Bobby", "tumblr": "", "display_name": "Bobby", "url": "http://disqus.com/guest/cf3bebfb8c2ce94a191bb122ce87705c/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "06ff299843ed8d6b7ffeaedf78f49382": {"username": "exapted", "tumblr": "", "display_name": "exapted", "url": "http://disqus.com/guest/06ff299843ed8d6b7ffeaedf78f49382/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b8f33170f3ce4b0469508e66a01da7d6": {"username": "Michael", "tumblr": "", "display_name": "Michael", "url": "http://disqus.com/guest/b8f33170f3ce4b0469508e66a01da7d6/", "registered": false, "linkedin": "", "blog": "http://fupeg.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1f8e7b0610bf12287e239d32c2a9ae66": {"username": "dc crowley", "tumblr": "", "display_name": "dc crowley", "url": "http://disqus.com/guest/1f8e7b0610bf12287e239d32c2a9ae66/", "registered": false, "linkedin": "", "blog": "http://doncrowley.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/7894/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "spinchange": {"username": "spinchange", "tumblr": "spinchange", "display_name": "spinchange", "url": "http://disqus.com/spinchange/", "registered": true, "linkedin": "", "blog": "http://www.lifeonthegrid.com", "remote_domain": null, "points": 5, "facebook": "", "avatar": "http://media.disqus.com/uploads/users/3/7536/avatar92.jpg", "delicious": "spinchange", "is_remote": false, "verified": true, "flickr": "spinchange", "twitter": "", "remote_domain_name": ""}, "22daaa1609893a74c628bde91ad3e0c0": {"username": "Steve Brewer", "tumblr": "", "display_name": "Steve Brewer", "url": "http://disqus.com/guest/22daaa1609893a74c628bde91ad3e0c0/", "registered": false, "linkedin": "", "blog": "http://www.bigdumbdev.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6c86e49e71095ceb15f364277776b95e": {"username": "Pei Zheng", "tumblr": "", "display_name": "Pei Zheng", "url": "http://disqus.com/guest/6c86e49e71095ceb15f364277776b95e/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3be7c93eec49f7dd4bd23236f3795c46": {"username": "harrison", "tumblr": "", "display_name": "harrison", "url": "http://disqus.com/guest/3be7c93eec49f7dd4bd23236f3795c46/", "registered": false, "linkedin": "", "blog": "http://www.snaptint.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "7f7ab0999871a4de1055be84acf3de24": {"username": "FSJ", "tumblr": "", "display_name": "FSJ", "url": "http://disqus.com/guest/7f7ab0999871a4de1055be84acf3de24/", "registered": false, "linkedin": "", "blog": "http://fakesteve.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "d52e278b8509bd3867ff15ee23937ed3": {"username": "Vanchi", "tumblr": "", "display_name": "Vanchi", "url": "http://disqus.com/guest/d52e278b8509bd3867ff15ee23937ed3/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "74a262a91950a885208e7b846a3321ba": {"username": "Max", "tumblr": "", "display_name": "Max", "url": "http://disqus.com/guest/74a262a91950a885208e7b846a3321ba/", "registered": false, "linkedin": "", "blog": "http://www.androidapps.org/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "c54e496c8f9bc47e384511985b206cfa": {"username": "Artichoke Heart", "tumblr": "", "display_name": "Artichoke Heart", "url": "http://disqus.com/guest/c54e496c8f9bc47e384511985b206cfa/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2ec6a4450673a58848f470b80cef5808": {"username": "Vinod", "tumblr": "", "display_name": "Vinod", "url": "http://disqus.com/guest/2ec6a4450673a58848f470b80cef5808/", "registered": false, "linkedin": "", "blog": "http://www.vinodlive.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/24/8229/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b970d6f11c194a8c1820af7498c8d993": {"username": "Ali", "tumblr": "", "display_name": "Ali", "url": "http://disqus.com/guest/b970d6f11c194a8c1820af7498c8d993/", "registered": false, "linkedin": "", "blog": "http://www.alimaggs.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3553f5e0db0fd1ec4e40a932a2d8f5b3": {"username": "Robert Scoble", "tumblr": "", "display_name": "Robert Scoble", "url": "http://disqus.com/guest/3553f5e0db0fd1ec4e40a932a2d8f5b3/", "registered": false, "linkedin": "", "blog": "http://scobleizer.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/uploads/anonusers/4069/avatar92.jpg", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "bb49e53a4b18390987818860dd6147dd": {"username": "craigbbaker", "tumblr": "", "display_name": "craigbbaker", "url": "http://disqus.com/guest/bb49e53a4b18390987818860dd6147dd/", "registered": false, "linkedin": "", "blog": "http://craigbbaker.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "35e156845af26eb52d00e3531c47c157": {"username": "David Jacobs", "tumblr": "", "display_name": "David Jacobs", "url": "http://disqus.com/guest/35e156845af26eb52d00e3531c47c157/", "registered": false, "linkedin": "", "blog": "http://www.theconnectedworld.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "85d698411f00b8ec5af6adecfd84c8b5": {"username": "kvp", "tumblr": "", "display_name": "kvp", "url": "http://disqus.com/guest/85d698411f00b8ec5af6adecfd84c8b5/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "0cc3174349ca778502a9b8d89fc7720a": {"username": "mark", "tumblr": "", "display_name": "mark", "url": "http://disqus.com/guest/0cc3174349ca778502a9b8d89fc7720a/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "57f5042681fbc7b6bc5eb19900049ee3": {"username": "Muchacho", "tumblr": "", "display_name": "Muchacho", "url": "http://disqus.com/guest/57f5042681fbc7b6bc5eb19900049ee3/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "fee18b2bd419b1cb011f23d501368366": {"username": "Chris", "tumblr": "", "display_name": "Chris", "url": "http://disqus.com/guest/fee18b2bd419b1cb011f23d501368366/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "57a5f32d24d34a67901ff8f2df32ad47": {"username": "Ben", "tumblr": "", "display_name": "Ben", "url": "http://disqus.com/guest/57a5f32d24d34a67901ff8f2df32ad47/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1453239087125522a1c55ea6f9e1e733": {"username": "Seth E", "tumblr": "", "display_name": "Seth E", "url": "http://disqus.com/guest/1453239087125522a1c55ea6f9e1e733/", "registered": false, "linkedin": "", "blog": "http://theobstructionist.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "58a5c624b6f5f7d9d8af6e5d6f95e7ae": {"username": "nkt", "tumblr": "", "display_name": "nkt", "url": "http://disqus.com/guest/58a5c624b6f5f7d9d8af6e5d6f95e7ae/", "registered": false, "linkedin": "", "blog": "http://www.nektra.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "ce56665a53573f8cf401244abea61482": {"username": "Jim Pick", "tumblr": "", "display_name": "Jim Pick", "url": "http://disqus.com/guest/ce56665a53573f8cf401244abea61482/", "registered": false, "linkedin": "", "blog": "http://jimpick.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "59d97252b39967717149e54ef07ba6f1": {"username": "Victor", "tumblr": "", "display_name": "Victor", "url": "http://disqus.com/guest/59d97252b39967717149e54ef07ba6f1/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "6fa3b81cd13b999189e4010f600694b3": {"username": "Henry S.", "tumblr": "", "display_name": "Henry S.", "url": "http://disqus.com/guest/6fa3b81cd13b999189e4010f600694b3/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "3eda6fcd3204ef285fa52176c28c4d3e": {"username": "Mao Tse Tongue", "tumblr": "", "display_name": "Mao Tse Tongue", "url": "http://disqus.com/guest/3eda6fcd3204ef285fa52176c28c4d3e/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "4874f0d265c4147a46a39ba182c7e4f7": {"username": "Robuka Kenderle", "tumblr": "", "display_name": "Robuka Kenderle", "url": "http://disqus.com/guest/4874f0d265c4147a46a39ba182c7e4f7/", "registered": false, "linkedin": "", "blog": "http://radiochango.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "73a1d488804258f5bdd75cfb26ec1647": {"username": "Neil Weisenfeld", "tumblr": "", "display_name": "Neil Weisenfeld", "url": "http://disqus.com/guest/73a1d488804258f5bdd75cfb26ec1647/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "aa16e1d1e63b1deffdef216fd4f9ac5c": {"username": "James", "tumblr": "", "display_name": "James", "url": "http://disqus.com/guest/aa16e1d1e63b1deffdef216fd4f9ac5c/", "registered": false, "linkedin": "", "blog": "http://www.modadigital.es/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "776c6abf3926ec876a39cd4b49067389": {"username": "Steve Ballmer", "tumblr": "", "display_name": "Steve Ballmer", "url": "http://disqus.com/guest/776c6abf3926ec876a39cd4b49067389/", "registered": false, "linkedin": "", "blog": "http://fakesteveballmer.blogspot.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "b86bf4bc0bad3872deec1f92d17204bb": {"username": "Fred Grott", "tumblr": "", "display_name": "Fred Grott", "url": "http://disqus.com/guest/b86bf4bc0bad3872deec1f92d17204bb/", "registered": false, "linkedin": "", "blog": "http://www.jroller.com/shareme", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8b130bdbcd2e1c22848fd30e7a50267c": {"username": "lningram", "tumblr": "", "display_name": "lningram", "url": "http://disqus.com/guest/8b130bdbcd2e1c22848fd30e7a50267c/", "registered": false, "linkedin": "", "blog": "http://lningram.wordpress.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "1aaabc9016e949d1d7f1d67308b8b226": {"username": "Daniel Kvasnicka", "tumblr": "", "display_name": "Daniel Kvasnicka", "url": "http://disqus.com/guest/1aaabc9016e949d1d7f1d67308b8b226/", "registered": false, "linkedin": "", "blog": "http://www.danielkvasnicka.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "00c6791b6391754b9c6be78143a32b6b": {"username": "bobo moreno", "tumblr": "", "display_name": "bobo moreno", "url": "http://disqus.com/guest/00c6791b6391754b9c6be78143a32b6b/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "489566e937089920b70d9fe2d4419766": {"username": "Computer Consulting Kit", "tumblr": "", "display_name": "Computer Consulting Kit", "url": "http://disqus.com/guest/489566e937089920b70d9fe2d4419766/", "registered": false, "linkedin": "", "blog": "http://www.computerconsultingkit.net/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "8604c7a1bf52ea9eaf5652702b2de6a0": {"username": "Steve", "tumblr": "", "display_name": "Steve", "url": "http://disqus.com/guest/8604c7a1bf52ea9eaf5652702b2de6a0/", "registered": false, "linkedin": "", "blog": "http://www.mysticliquid.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "cd1a82546822e02b308015d196efdfd4": {"username": "trademark registration", "tumblr": "", "display_name": "trademark registration", "url": "http://disqus.com/guest/cd1a82546822e02b308015d196efdfd4/", "registered": false, "linkedin": "", "blog": "http://www.secureyourtrademark.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "2078fcd4da0217146b8a8ace6aa8cf5c": {"username": "bdjnk", "tumblr": "", "display_name": "bdjnk", "url": "http://disqus.com/guest/2078fcd4da0217146b8a8ace6aa8cf5c/", "registered": false, "linkedin": "", "blog": "http://bdjnk.50webs.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "315fe510385674ceee62396085aa4cd6": {"username": "Kevin Cawley", "tumblr": "", "display_name": "Kevin Cawley", "url": "http://disqus.com/guest/315fe510385674ceee62396085aa4cd6/", "registered": false, "linkedin": "", "blog": "http://www.newsgator.com/", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}, "afd24a9e46cb5aa210940544617e6a59": {"username": "Roshuan", "tumblr": "", "display_name": "Roshuan", "url": "http://disqus.com/guest/afd24a9e46cb5aa210940544617e6a59/", "registered": false, "linkedin": "", "blog": "", "remote_domain": null, "points": null, "facebook": "", "avatar": "http://media.disqus.com/images/noavatar92.png", "delicious": "", "is_remote": false, "verified": false, "flickr": "", "twitter": "", "remote_domain_name": ""}}, "forum": {"use_media": true, "name": "Scobleizer", "streaming_realtime": true, "url": "scobleizer", "allow_anon_post": true, "reactions_enabled": true, "reply_position": 1, "show_avatar": true, "allow_anon_votes": false, "disqus_auth_disabled": false}, "realtime_enabled": true, "request": {"username": "", "is_global_moderator": false, "sharing": {}, "sort": 4, "forum": "scobleizer", "is_initial_load": true, "is_authenticated": false, "timestamp": "2009-12-17_03:50:14", "remote_domain": "", "page": 1, "is_moderator": false, "display_username": "", "points": null, "subscribe_on_post": 2, "moderator_can_edit": false, "is_remote": false, "is_verified": false, "missing_perm": "locked"}, "realtime_paused": false, "posts": {"10633806": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Scoble, don't you look like a clown! Look where Android is now and where they're heading.<br>It's a pity an iTard fanboi like yourself has no vision. Maybe you should just stay at home wanking off to your precious Ifone playing World of Warcraft with your ibuddies.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2009-06-08_21:18:10", "killed": false, "user_key": "688c054b7b4066bc84aa3cff6bce2079", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "6 months ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693570": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, I think you are off on this one.  I am a mobile dev and I am psyched (and it has NOTHING to doo with the $10 mill)!!!<br><br>It's about an open mobile platform where the developer is free to imagine, create, and build killer apps that are deeply integrated with the phone and other apps on the device.<br><br>It has nothing to do with the iPhone.  It's about creating a technology stack that allows for kick ass mobile applications from third party devlopers, letting manufacturers build cool devices, and having these devices run on any network/provider.<br><br>You are right on one thing... the make/break is going to be if we see lots of devices with the Android stack.<br><br>BTW, my favorite mobile stack right NOW is Windows Mobile.. go Russians :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_12:36:59", "killed": false, "user_key": "315fe510385674ceee62396085aa4cd6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693571": {"up_voted": false, "ip": "", "has_replies": false, "message": "Not Trendously impressed.  I'm not getting an IPhone either until they pack a few more features.<br><br>For now, I'm very impressed with the HTC TyTN II (The AT&amp;T Tilt) - which packs everything in - touch screen, good music/video, 3 Mega pixel camera (and a second camera for video calls), GPS, HSDPA/3G, WiFi, Video Calling and a slide out keyboard.  Admittidly, Windows Mobile isn't nearly as pretty as the iPhone (although it is more producive), but HTC did a good job with building the Touch Flo interface over the top.<br><br>For me, the only reason I'd switch to an iPhone or to an Android phone would be if they took all the useful features I have on my tilt and did something better on top.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_12:37:28", "killed": false, "user_key": "b970d6f11c194a8c1820af7498c8d993", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693572": {"up_voted": false, "ip": "", "has_replies": false, "message": "If it's open source, I can put it on my N770, right?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_13:32:01", "killed": false, "user_key": "ce56665a53573f8cf401244abea61482", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693573": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wonder what the masses of RAZR users will think.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_13:24:06", "killed": false, "user_key": "fc01b6575368251c1a310ed6ea5d6a03", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693574": {"up_voted": false, "ip": "", "has_replies": false, "message": "Robert, as you can read <a href=\"http://wirelesssoftware.info/archive/2007/11/12/java---main-language-of-android-sdk.aspx\" rel=\"nofollow\">HERE</a> the language of Android SDK is Java. I am asking myself questions: why Java for SDK? is whole Android written in Java too?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_13:18:50", "killed": false, "user_key": "d298a3adf3dfc66d6790d5013819644f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693575": {"up_voted": false, "ip": "", "has_replies": false, "message": "Saying your not going to switch from the iPhone to Android is like saying your not trading in your BMW for a Z Platform.  Product != platform.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_13:50:15", "killed": false, "user_key": "22daaa1609893a74c628bde91ad3e0c0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693576": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Robert,<br><br>Any idea if this thing is going to have Flash?<br><br>That would be one thing the iPhone can't (currently) do.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_13:50:42", "killed": false, "user_key": "204d53f26a4da6d5920108e26c268634", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693577": {"up_voted": false, "ip": "", "has_replies": false, "message": "Let's have a bet?  Prizes are good.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_14:02:18", "killed": false, "user_key": "8153ef257a93cc5955e73fe92ec3a607", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693578": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow, agree. You sick? You've been making sense lately. Totally something developers developed for other developers to show off their way cool developer skills, like most of what Google ever does. Arrogant Stanford grads masturbating to their own code.<br><br>The iPhone is nice, but more a toy, Blackberry, full-sized QWERTY keyboarders and PDA phones far more productive, though not as much fun. But sadly iPhone is saddled with AT&amp;T's EDGE 2g inferior network. But with hacks, it's good, and 1.1.2 was hosed almost in minutes.<br><br>With Voyager on 3g EV-DO, with the best of iPhone and QWERTY's and then a slew of new Sony Ericsson's and Nokia's (Haptikos) and Sidekick LX and on and on and on, a Googleish API Phone is a joke at best.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_15:50:47", "killed": false, "user_key": "7f6291e8344b594235e57b843fc05d9b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693579": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree, this is an empty announcement.  I think since Apple announced they would release an iPhone SDK, Google felt compelled to show their hand early.  It turns how to be a half-baked SDK or at least the total story is not really written.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_16:52:03", "killed": false, "user_key": "75d620852fc7691a0a3a86c336055e7d", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693580": {"up_voted": false, "ip": "", "has_replies": false, "message": "I would admit that this demo does not impress me big time. iPhone can easily beat almost most of the stuff they demoed, except the openGL part. However, Windows Mobile may have a hard time competing with Android.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_17:03:45", "killed": false, "user_key": "6c86e49e71095ceb15f364277776b95e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693581": {"up_voted": false, "ip": "", "has_replies": false, "message": "The iPhone is simply too expensive (at least here in Germany). Even half the price would be too much for such a (nice) toy.<br><br>I like Apple and I could afford the iPhone but I don't like robbery.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_17:32:47", "killed": false, "user_key": "0f73420c03e8e253f428f89c113f76ff", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693582": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"I didn\u2019t see ONE feature that will get normal people to switch from the iPhone.\"<br><br>Dumbest statement. Ever. Hate to break it to you Robert, but there aren't that many iPhone users out there. It is a very, very small market. Anybody just going for that market would be setting their sights low. Now of course Apple is hoping to expand that market rapidly, which is why they dropped the price by 33% just a few moths after the highly touted debut.<br><br>Further, it is silly to compare some prototypes to a polished retail product. The real success of the Android platform will be how many phones are built with it. Now you can definitely compare those phones to the iPhone. That would be a true apple-to-Apple comparison...<br><br>Meanwhile as others have pointed out, this is a huge difference maker for developers. Mobile device development is so fragmented and painful right now. This is not just an SDK, it is an SDK that provides access to phone hardware that is rarely accessible to most developers. Plus it runs Java, so one can imagine that many Java based apps and games are already going to work on this thing. That should be no surprise since Google Mail, Talk, and Maps are all Java apps.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_00:08:27", "killed": false, "user_key": "b8f33170f3ce4b0469508e66a01da7d6", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693583": {"up_voted": false, "ip": "", "has_replies": false, "message": "In the video the speaker says that the ui will be replaced completely. Please watch the video and then make a comment about something that you don't know about.<br>To all people that make ui comments:<br>Are you 5 year old kids that when they read a book, they look for the pictures. and when they don't find any pictures, they say the book \"sucks\"?<br>(when i say a book, i don't mean a comic book.)<br><br>any person that has any computer science education at all can tell you that anything that is still in the development process doesn't have a good ui.  so respect that. and don't go blobing around like a mad monkey that sdk is bad untill you actually installed it and created a simple program with it. and i don't mean hello world.<br><br>To all people that say: \"i am not gonna touch it until it comes out on a real device...\" - Be my guest! from my experience it is better to learn the break-through technologies fast to stay ahead of gray faceless mob. so meanwhile you sit and wait, i will be learning. when finally it will strike you and gphone will be handed to you on the silver plater, i will be the one reading your resume.<br>You say you don't believe it is not going to work? Why not???!!! What is so unbelievably difficult to understand that an open mobile platform gives you a chance to make the transition into the wireless age of small factor devices? Do you think google will just let that one slide through if it fails the first time? Do you think it will just say: \"No, after buying a company and waisting 10000000 for android challenge and making fools out of ourselves we will just create an ugly, un-functional, featureless device because we are not really a mobile company. we are just a search engine that does doodles every christmas...\" Yeah right...<br><br>Also to a guy that thinks Sergey Brin needs a haircut and a speech coach...<br>First Sergey is probably sorry he assaulted your royal ears.<br>Second, it is not about wearing a suite like a lot of corporate monkeys out there. i wonder what you would look like if you had a multi-billion dollar business? Oh i am sorry you don't have one, so i guess we will never know.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-12-28_04:06:40", "killed": false, "user_key": "0e3f61ce34e76baaeb8e99f1e9bc3b00", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693584": {"up_voted": false, "ip": "", "has_replies": false, "message": "Scoble: It is not a phone! It's a framework, with an SDK available for Windows, OS X(Intel), and Linux, which allows developers to write applications in Java and test them in an emulator. There is complete and excellent documentation of the very extensive API, and an emerging support community. What you saw in the videos was very likely an early hardware prototype, and not representative of any final incarnation of the Android platform on a device.<br><br>That should put the whole iPhone comparison thing to rest.<br><br>In terms of the SDK, Android is indeed pretty exciting, due to the sheer breadth of libraries available (OpenGL ES, XMPP, full phone stack/contacts access, etc) and the elegance of the API (it's NOT another version of J2ME, please at least look at the sample code).<br><br>It's hardly vapourware from the point of view of a developer. You can, today, download the SDK and start writing applications which have access to nearly everything on the phone. Sure, OpenMoko would be even cooler, with the hardware accessible now, but Android is by no means a certain dud.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_06:16:19", "killed": false, "user_key": "f0e2e7181221d362a226abe48d46e0e0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693585": {"up_voted": false, "ip": "", "has_replies": false, "message": "Android is not a copy of the iPhone, and the iPhone is hardly perfect. In fact, from the demo video, Android looks a lot better than the iPhone. At least I can chat and receive notifications while I am doing something such a browsing. Woo... The iPhone has it's work cut out for it in terms of integrating actual application communication with their pretty \"perfect\" UI. Ugh...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_13:09:39", "killed": false, "user_key": "06ff299843ed8d6b7ffeaedf78f49382", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693586": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow. It's the old Scoble! The magic of text! I hope he stays around, I miss this guy. :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_12:45:58", "killed": false, "user_key": "b145c79380d49a8c0b8b05ebb1fab234", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693587": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hmm... The demo doesn't look half bad.  I would much rather get this phone than an overpriced GPS system.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_12:20:01", "killed": false, "user_key": "3be7c93eec49f7dd4bd23236f3795c46", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693588": {"up_voted": false, "ip": "", "has_replies": false, "message": "Normal people don't use the iPhone idoits do.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-12-18_02:42:30", "killed": false, "user_key": "31619da312abf59369e8473e80543ade", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693589": {"up_voted": false, "ip": "", "has_replies": false, "message": "I wonder whether either android or apple will have any impact on the european and asian markets. Considering the rather lukewarm reception of the iPhone in the UK and Germany, this might just not be depending on the SDK, but more on the amount of handsets that will have the OS on it.<br><br>I think that the set vendors are more worried about android then they are about the iPhone overhere in Europe, regardless of the developer support.<br><br>Google doesn't need to pitch to the end customers, the handset makers will take care of this. And as you point out correctly, after the customers will come the developers...<br><br>Just look at the development section of nokia, most of it is wide in the open and how many developers use it.... And the market share of nokia is a lot higher than apples iPhone.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_12:28:37", "killed": false, "user_key": "d1b44a8368e7418bc4347a587f7f83b9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693590": {"up_voted": false, "ip": "", "has_replies": false, "message": "I disagree with the disappoints comment. It JUST came out, it is not for consumers yet, and it IS Open Source. Look at Nokia N800. It does a LOT, and it is based on Linux...I am sure a lot of those apps will be a no brainier to port over. So the \"No making stuff for it\" doesn't really hold water for me.<br><br>I think you are beating up on it a little too early out of the gate.<br><br>Also may I add that I can see the Gphone OS on several phones and the iPhone os on .. the iPhone. I think developing on a platform far and wide might make more sense than just on the iPhone. So, yes an SDK is coming for the iPhone...it still only runs on the iPhone once you make the app.<br><br>Now, was it a Dry video presentation...Oh yea, I am with you there.<br><br>Let me add...I do enjoy your insight and opinions on things like this.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_12:30:28", "killed": false, "user_key": "beb00600821addcd27706a481fde403f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693591": {"up_voted": false, "ip": "", "has_replies": false, "message": "He sounds like Ben Stein.  \"I am excited about this product.  I will show you how excited I am about this product by not smiling, talking in a monotone voice, and reading cue cards.  Wow.  That's spectacular.\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_14:33:42", "killed": false, "user_key": "a188342dd007efdd6b228d77cd5a9676", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693592": {"up_voted": false, "ip": "", "has_replies": false, "message": "They aren't trying to beat the iPhone right now.  They are just announcing a platform; it's ok if it is a little dweeby and not that impressive of a video.  It's just trying to give developers an idea of what the SDK is capable of.  These devices aren't going to be coming out for a year so I think it's a little premature to right them off today because of a lousy dev video.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_12:45:10", "killed": false, "user_key": "e513d6507faed4fc4625e71bd2961758", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693593": {"up_voted": false, "ip": "", "has_replies": false, "message": "It's early days man, give it a break. Geez it's a new approach and being open it is intended to evolve like putty in the hands of the developer community.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_12:45:25", "killed": false, "user_key": "99c6df92367e704e59a2d63b1bee4301", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693594": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"I didn\u2019t see ONE feature that will get normal people to switch from the iPhone.\"<br><br>Well... Normal people don't use the iPhone, do they? No, they use all the other phones that are out there. The videos appealed to me, but then you're not a developer, are you.<br><br>The markets Google and Apple are targeting are entirely different, so comparing their initiatives on the mobile front is like comparing apples and oranges.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_14:23:22", "killed": false, "user_key": "cc83398f6c420df8faae18a0e14dba5b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693595": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"...doesn\u2019t understand how to pitch end users and developers at the same time (developers only really come after end users do anyway, look again at the iPhone).\"<br><br>And yet, even this statement is missing the point. Developers are users too, they just think slightly differently. ;-)<br><br>The problem lies in the fact that you have to make a developer want the device for themselves, and then to have the [coinciding] desire to write their code/application for that device.<br><br>There is a less-common desire to write your code/application for a device others use but you don't; which while entirely true in some cases, does *only* follow end-users and even then not always, and is much more infrequent than the first case.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_00:00:41", "killed": false, "user_key": "43019d61aee011f7ed2abd4af1524fcb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693596": {"up_voted": false, "ip": "", "has_replies": false, "message": "Google is making some big moves with Android ( <a href=\"http://www.androidapps.org\" rel=\"nofollow\">http://www.androidapps.org</a> ), OpenSocial, bidding on the wireless spectrum, etc.  It will be interesting to see if the could succeed in these areas the way they did with search.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-21_00:43:59", "killed": false, "user_key": "74a262a91950a885208e7b846a3321ba", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693597": {"up_voted": false, "ip": "", "has_replies": false, "message": "Just wait and see how the Android is going to be a killer app for Mobiles.<br>Open Handset Alliance is not a kitty party !<br><br>Quoting Sergey Brin.. \"The best applications are yet to be made\".", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-20_02:56:12", "killed": false, "user_key": "4ccce0a45fdc765fcc27b0c99395a4ba", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693598": {"up_voted": false, "ip": "", "has_replies": false, "message": "I have been playing with it and have applied for a job with a company that is planning on using the platform. It's real and it's out there.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-19_14:52:10", "killed": false, "user_key": "08c546e344d3a6034f64cfdb5ec72170", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693599": {"up_voted": false, "ip": "", "has_replies": false, "message": "Has anyone thought about Google's larger plan, and its big brother effect?  I see 2 key strategies they're probably considering:<br><br>1. Get google's javascript on as many web sites and web interactions as possible.  cookie everything.  Know what the world is doing. Know what you are doing.  Think about the whole point of adsense, gmail, google reader, and web analytics (look for urchin mention in view source of many websites). \"Just paste this tiny bit of javascript into your site..\"  Doubleclick would bring way to much power to extend what they've already done.<br><br>2. Get folks to use the google phone and use speech recognition to know what folks are talking about.  insert relevant advertisements at the end of the call.  Notice how well their 411Goog works?  Remember that old search speech recognition tool they once had up?<br><br>The possibilities are getting a bit scary, no?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-18_20:24:30", "killed": false, "user_key": "a3ced448c151b062a0b3afbc80b2c9a5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693600": {"up_voted": false, "ip": "", "has_replies": false, "message": "I downloaded the sdk and tested it. The gui is nice, it can be used almost the same way as my old and long ago replaced ericsson t20, even the placement of the menus are the same. The touchscreen is not really needed, you can get by only using the arrow keys and the yes/no menu/back buttons, very handy for one handed operation.<br><br>The emulator is trickier. It runs a computer with qemu, that uses a linux kernel, a boot ramdisk and two disk images. The images contain linux filesystems with the binary programs (like an sql server) that is needed for linux to work. The gui's bottom part is binary and written in c++, but the windowing system runs is java. The runtime is a modified java vm, much like the one used on some sony-ericsson phones.<br><br>The main difference between this and the apple iphone is that this environment theoretically allows the use of home made hardware, but it contains a few non open source kernel and software components. I hope they can be replaced with standard open source code. It would be possible to write c++ applications that tie into the gui and can be controlled from the java side windowing system. (like windowing and menus in java, 3d rendering in c++, just like on certain mri kits)<br><br>My conclusion is that this sdk is mostly the hardware developers sdk, mainly aimed at getting the environment up and running on an actual hardware, but it got tailored for running demos. Imho if we could find the source or at least the apis for the proprietary modules, it would be possible to get the whole system up and running on any hardware, including running it natively on anything that can run linux. I like this approach better, because this way I could use it with my own home made gsm hardware (via nano+gsm module+touch lcd+battery), or even install the android environment as an application under openmoko. The only thing preventing people from building linux based phones is the lack of gsm services (like sms and mms handing in thunderbird or a dialer with proper contact lists).<br><br>They could only blow their chance is by keeping the runtime environment closed and only licensing it to device manufacturers. I don't know if they open up these subsystem too, but the current sdk doesn't have them in source form.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_13:18:23", "killed": false, "user_key": "85d698411f00b8ec5af6adecfd84c8b5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693601": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree with Robert, but from a more technical analysis.  If I put together a bunch of engineers and asked them to put spec a new OS (of sorts) utilizing mostly open source components, this is what I would expect.  Choosing a variant of embedded Linux is straightforward, since it is open source and the alternative is a commercial RTOS.  The VM/core library approach is also nice, as it delivers somewhat of a Hardware Abstraction Layer for developers to \"write once, run on any Android\" handset.  But the numerous managers, layers, not to mention the general approach to handling GUI API which looks like the original (if not current) OS X and Windows graphics system shows little vision towards a \"next gen\" embedded device.  The eventual iPhone SDK may allow some innovation in an app's GUI, but it goes without saying that the user interaction/ interface will be limited in some ways to Apple's \"Look and Feel.\"  This is a good thing, and why Apple products are generally easy to use.  The Android approach seems to invite all forms of GUI which will drive cell phone users crazy.  It also ignores the value of 'branding' by cell phone manufacturers and service providers.  By placing a simple abstraction layer in the architecture, any app could fit in with, say, a Nokia phone using T-Mobile versus a Sony phone from Verizon, and it could all be done dynamically under the covers without requirements on writing apps themselves.<br>But the main point is that this looks like a desktop OS - out of the chute it is already too large and multi-layered.  We are talking about embedded devices, even allowing for some level of scaling up to ultra portable computing devices.  Since we are talking Google, they will get some manufacturers to dip their toes in the water, and probably some of the cell carriers.  But even if Google can get this OS to perform adequately on a mobile device, I would conjecture that by the time the manufacturers and carriers are done paring it down, it will not be as much of a 'platform' as Google would like to think.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-15_16:10:52", "killed": false, "user_key": "700894dce08524a3dcd88584bd94196b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693602": {"up_voted": false, "ip": "", "has_replies": false, "message": "Author is so not getting it; this will bring all the OTHER phones up to par with the iPhone... consumer wins", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-15_09:00:25", "killed": false, "user_key": "00c6791b6391754b9c6be78143a32b6b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693603": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm fascinated. How can you ciriticize something, that has JUST been released? And what's more, released only for developers?<br><br>You know what? Let's talk about this in spring 2008...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-15_03:15:24", "killed": false, "user_key": "1aaabc9016e949d1d7f1d67308b8b226", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693604": {"up_voted": false, "ip": "", "has_replies": false, "message": "You could be very wrong this time Robert.<br>What Google has presented so far is a very impressive mobile platform. Yes betamax won out against VHS, but the innovation that has gone in to Android from what I've seen makes me think this thing could have legs.<br>I'm a developer, I enjoyed the videos, I wanted longer videos and more information.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-14_22:25:48", "killed": false, "user_key": "bb49e53a4b18390987818860dd6147dd", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693605": {"up_voted": false, "ip": "", "has_replies": false, "message": "It may be too early to call Google a dud in this area.<br><br>In 18 years in the IT industry, mostly on the SMB business development side, the one thing I've learned: Never bet against the 800-pound gorilla.<br><br>Of course over time, 800-pound gorillas in an industry can turn into 800mg mouses (remember when IBM dominated the PC World, when HP basically owned the laser printer market, when Lotus 123 ruled the finance World, etc.).<br><br>But I still wouldn't count Google \"out\" at this point.<br><br>They have a VERY large installed user \"base\".", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-15_11:48:21", "killed": false, "user_key": "489566e937089920b70d9fe2d4419766", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693606": {"up_voted": false, "ip": "", "has_replies": false, "message": "Have you noticed how google android looks like iPhone operational system?<br>Compare the functions shown in the videos below:<br>weshow.com/us/p/23362/google_android_demo<br>weshow.com/us/p/18795/iphone_home_made_review<br>What do you think? Will google bring iPhone power to everyone who can't afford apple products? That would be great :D", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-14_10:03:15", "killed": false, "user_key": "59d97252b39967717149e54ef07ba6f1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693607": {"up_voted": false, "ip": "", "has_replies": false, "message": "I call no-fair:D<br><br>Comparing Android to the Iphone-  Isn't that a little like comparing Winamp to the Zune?<br><br>It's not fair to judge a software platform by the interface of the hardware it's running on.<br><br>There are several reasons I'd take an Android-Powered mobile over an iPhone-<br><br>1) The SDK - That \"don't believe it till you see it\" think mentioned above goes both ways.  Apple promised an SDK for the iphone a long time ago, and waffled with \"web sites are your SDK.\"  They're not.  They might do it again, too.  And even if Apple produces one next year, it'll be from all the pressure they've received, not from a genuine attitude of thinking of their device as a platform to allow others to build on.<br><br>2) I'm a developer.  I understand that puts me in the \"not normal\" set of consumers, but honestly, from a programming perspective, Android looks like a playground I can carry around in my pocket.  And I really love Google API's-  The documentation may not be an exhilerating read, but be serious.  It's an API.  And in Google's case, as a general rule, you can create wonders with them.<br><br>3)Choice (that seperation between phone &amp; platform comes in, here).  If I want an Android-powered phone on a 3G network, I pick a provider with a 3G network, and a model that supports it.  If I want an Android phone with GPS, I pick a model with GPS.  If I want an iPhone with 3G, I wait.  If I want GPS, I either risk bricking the iPhone to install something that fakes GPS based on celltower location, or I wait.<br><br>4)Developer community-  The barrier of entry into developing for the iPhone is vastly larger than for Android, so naturally, I think more people are going to develop for Android.  More developers -&gt; more software -&gt; greater presence in developer forums/communities -&gt; better software.  That's just how I see it rollin'.<br><br>-Alex", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_19:47:11", "killed": false, "user_key": "74899c5f1ce6170a74f5c6169cc9d9e8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693608": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hey Robert! Android does not have to beat the iPhone. I don't find it earth moving... but we are spoilt brats. Android offers lots of possibilities to easily develop new stuff. I was disappointed with Google last week when they announced this. All the hype about a gPhone and we end up with a platform. But Google are being clever offering $10M in prizes. This could lift the level of android applications very quickly.<br><br>I don't have an iPhone, I'm not in a 'state' to get a phone that has Android. But it might change. I think the biggest problem will be the greedy telco's.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_16:01:48", "killed": false, "user_key": "1f8e7b0610bf12287e239d32c2a9ae66", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693609": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think that they're doing what Microsoft did with the Zune. Everyone knew that Apple had a corner on the mp3 player market with the ipod. Microsoft was just looking to dent its market share and really expand in other avenues. I'm guessing Google is doing much of the same. Let's face it, the iPhone is the only really game out there, and everyone knows it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_15:06:32", "killed": false, "user_key": "964855fa433dba58b76f9c12dc4bf538", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693610": {"up_voted": false, "ip": "", "has_replies": false, "message": "Holy cow... Talk about rushing to judgement.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_15:52:38", "killed": false, "user_key": "0e38885a361606b411a260b6e0b7f87b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693611": {"up_voted": false, "ip": "", "has_replies": false, "message": "This is a ridiculous post. I built my first Android app yesterday in about 15 minutes using the handset simulator. The SDK is exactly what I am looking for. The platform looks very solid. As a long time Apple developer I know better than to invest resources to support proprietary Apple technology again. Jobs does not care about developers. Google obviously does. Thank you Android team!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_07:32:00", "killed": false, "user_key": "aff533acf9b173682e713fb1cb290a94", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693612": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sorry, but you're ignoring the fact that the iphone will never be available in some places (I live in Argentina) and my options are:<br>Find somebody in the US that buys me a iphone, hack it and use it with any carrier here. Perhaps I'll brick it on the process... right?<br>Or:<br>Wait, buy any phone I want that has android on it and do a legal activation with my current carrier.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_06:12:40", "killed": false, "user_key": "4db72a1dd7e479359cdc27a77678d149", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693613": {"up_voted": false, "ip": "", "has_replies": false, "message": "You are well off the mark here.<br><br>First, understand Googles target audience with this announcement. Heres a hint - its not hi-profile tech-savy bloggers like yourself, or end customers, duh!. Btw, I don't work in tech or phones, and these videos from google were more exciting to me that any of your recent videos. Their targets are developers and phone manufacturers. And developers don't want atomic videos, they want documents and specifications and this is what they've got. Imagine a developer saying \"How do I implent feature x?, s**t theirs no atomic video describing the API, now I'm screwed\".... yeah, right!<br><br>And all this crap about how you haven't seen it, its vapourware, etc, well boo-hoo - if you look at all the release info some of the google devs have been using android on mobile devices for 6 months! Note that android is based on technically the best software stack you could conceive - i.e. a linux core with Java apps - both established, open and proven technologies in the mobile world. This approach takes care automatically of perhaps the biggest problem the iphone is encountering in allowing 3rd party apps, namely security. Additionally, realise that due to this approach, it would be easy to mix in non-java code in the future.<br><br>As to the multiple interface control options - you're again missing the point. They are talking about the capabilities of an operating system, not a single device. Phone manufacturers can expose control options as they choose in order to make a coherent interface. They point is *they have choice*.<br><br>As to the $10 million prize for apps, yes google are buying developers to write apps, yes they are seemingly a little late to the game, and yes this shows that they are bloody serious about android. Ultimately what your observations of the iphone hacking scence should have taught you is that a key reason people buy 'smartphones' is for 3rd party apps. So how successfully do you think a financially incentivised open source mobile operating system designed for 3rd party applications will be? Don't be stupid, this is going to be huge.<br><br>Your blog post reads very much as a \"give mes one of your new toys to play with or I'll trash it for no good reason\".", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_06:12:49", "killed": false, "user_key": "96878b054a4207c664f63fb159d7abfb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693614": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think Andriod is a step in the right direction, which is allowing the \"public\" develop the apps that will be useful in everyday life, but has a ways to go.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_09:32:05", "killed": false, "user_key": "8604c7a1bf52ea9eaf5652702b2de6a0", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693615": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think that Android will benefit in the short term iPhone, Windows Mobiles devices and Symbian devices.<br>Seems 'paradoxical' but Google will make the Mobile Market more dynamic but benefits others vendors instead of Google itself.<br>And even Android is far from the developers side without offering a C/C++ way to develop native applications.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_09:27:41", "killed": false, "user_key": "58a5c624b6f5f7d9d8af6e5d6f95e7ae", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693616": {"up_voted": false, "ip": "", "has_replies": false, "message": "Speaking as a developer, I can't remember the last time a platform has excited me as much as the iPhone. I know many developers are, like me, already hacking away at apps on jailbreaked iPhones in preparation for the official SDK. Its capabilities are simply awesome. Developing for it is a joy, even without any official tools; it's OS X, after all. If Apple plays their cards right, we'll see many revolutionary, killer apps to emerge on the iPhone well before any Android device has even seen the light of day. No bribe from Apple required. I'd even be worried if I were Nintendo -- iPhone will be the dominant platform for the next generation of mobile gaming, mark my words.<br><br>Android? It feels like Symbian all over again. I'm very underwhelmed.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_06:44:47", "killed": false, "user_key": "57a5f32d24d34a67901ff8f2df32ad47", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693617": {"up_voted": false, "ip": "", "has_replies": false, "message": "People who want push email, people who like to chat, people who want enterprise applications on their phone.... should definitely prefer Android to the iPhone. Not everyone puts a beautiful UI at the top of their list... and that Android prototype UI certainly looks better than every mobile OS other than iPhone.<br><br>And lets not forget that menus are still being implemented if I am not mistaken.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_13:15:52", "killed": false, "user_key": "06ff299843ed8d6b7ffeaedf78f49382", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693618": {"up_voted": false, "ip": "", "has_replies": false, "message": "Well I for one welcome the android too. Android doesn\u2019t compete with the iPhone, but it seems to deliver a stable, well integrated development platform for the mobile, so it\u2019s competing directly with Windows Mobile and Symbian. It hits the soft spot of those by giving us a tightly integrated mobile experience, something that\u2019s never been achieved by Windows Mobile, Symbian or even Pam OS.<br><br>iPhone is still only 1.5 million phones on 2 billion. Google is doing a Microsoft here. By 2010 we\u2019ll have 5% iPhones and 95% phones running on an (open) OS that\u2019s easy to develop for. And add Opensocial to the equation and suddenly all mobile apps will behave like a blackberry behaves for email on a mobile device.<br><br>The only thing I don\u2019t like about the announcement is the price contest. Seems to me not the best way to stimulate innovation and creativity. They should also not make the mistake that Microsoft made and only embrace the developers, they should embrace open source psychologists, graphic designers, usability engineers and antropologists as well", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_07:07:08", "killed": false, "user_key": "4afc618b221dd9f632185fe8b5ee61b4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693619": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow, I think you are being a iPhone PhanBoy here ... Patrick is correct that this is a \"ripoff\" of the iPhone which is why the phones built with this platform may be so popular - iPhones for $100 sounds good to me.  I have a Treo650 which is NO match for the iPhone.  I would have bought an iPhone, but now I'll wait for the gPhone.  Why?  Cheaper and will have better integration with my gMail and Google maps and Google document world.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_02:58:32", "killed": false, "user_key": "d8bb4623895a9ba01a125d3d7800bead", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693620": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hi Robert, personally I welcome the competition. Even if Android turns out to be not capable of bringing better services to mobile users, it might just inspire the competition to work at it. We are still in the stone age of mobile internet with a total lack of easy and user centric UI's and applications that add value to my mobile experience.<br>But let's wait and see. I think that if developers start working on the Android OS we might get a few surprises after all.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_01:38:31", "killed": false, "user_key": "b11a9a7bee6fc07723be3e8aea636835", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693621": {"up_voted": false, "ip": "", "has_replies": false, "message": "\u201cI didn\u2019t see ONE feature that will get normal people to switch from the iPhone.\u201d<br><br>Normal people won't buy the iPhone! :)<br><br>As for other phones -- it'll be cheap. The iPhone has been out what, a few months and yes it's a great status quo. But if you compare what Android does vs pretty much any other phone, it starts looking pretty competitive I reckon.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_04:07:14", "killed": false, "user_key": "5d618314274b099c6eb2b546bf38d184", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693622": {"up_voted": false, "ip": "", "has_replies": false, "message": "... at least he's cute!!!!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_23:25:08", "killed": false, "user_key": "8b130bdbcd2e1c22848fd30e7a50267c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693623": {"up_voted": false, "ip": "", "has_replies": false, "message": "hmmmm", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-12-28_03:13:11", "killed": false, "user_key": "0e3f61ce34e76baaeb8e99f1e9bc3b00", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693624": {"up_voted": false, "ip": "", "has_replies": false, "message": "Clearly the jury is still out as we haven't really seen much of anything, yet, but I think that people should be considering this as developers showing off an architecture and some APIs, not a handset manufacturer showing off a feature-complete (or even a prototype) phone.<br><br>If Apple had shown the iPhone at the initial stages and demoed the accelerometer and multi-touch screen APIs, people would probably have fallen asleep in the audience.  It wasn't until Steve rotated the phone and it switched to landscape mode and showed off the \"pinch\" that people went \"wow.\"  But the former had to happen before the latter.<br><br>Personally, I don't want to be excited about slick apps at the start of a project; I want to be excited about an architecture.  If the architecture sucks, it's going to be a tangled, nasty mess and ultimately a poor user experience.  You may be able to graft some slick apps on top of a crappy architecture, but ultimately things will fall apart. See, for example, <a href=\"http://en.wikipedia.org/wiki/Palm_OS\" rel=\"nofollow\">http://en.wikipedia.org/wiki/Palm_OS</a>", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_22:33:37", "killed": false, "user_key": "73a1d488804258f5bdd75cfb26ec1647", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693625": {"up_voted": false, "ip": "", "has_replies": false, "message": "At least the prototype has buttons. I like phones with buttons. :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_13:48:18", "killed": false, "user_key": "cf3bebfb8c2ce94a191bb122ce87705c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693626": {"up_voted": false, "ip": "", "has_replies": false, "message": "I'm a developer but not a mobile phone developer. What makes android attractive to me is that it makes mobile phone development seem like a viable software business all of a sudden. I can target a lot of phones with a single development platform. Windows mobile had the same promise but it turned out to be only for the highest end phones. Maybe android will be the same way and I am just caught up in the marketing hype.<br><br>If you look at the iPhone, I think it will follow the same arc as the Apple computer. Incredibly innovative, but eventually Apple's insistence on controlling every millimeter of the platform will relegate it to a niche market.<br><br>For example, the Macintosh is gorgeous. I drool on the anti-aliasing and wide screen monitors every time I go to the Apple store. but I use a PC because every application I need runs better on a PC. I think it is because Windows is more developer friendly. The best applications for the Mac were developed by Apple.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_13:06:42", "killed": false, "user_key": "d3efd484a01826b1151cd4d16ffea084", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693627": {"up_voted": false, "ip": "", "has_replies": false, "message": "Google announces an SDK, and everyone gets upset that the actual prototype being used to demo some of the apps doesn't have good UI?  Isn't this missing the point a bit?  Google isn't building a phone.  It's building a software stack other people can use to build a phone.  Given that, saying things like \"OK, we have working GPS, an OpenGL-based 3D API, and built-in wrapper code for common functionality like maps\" seems a lot more appropriate than \"hey, this prototype that you'll never get to use has some really consistent UI!\"<br><br>A spinning globe is no more an indication that \"spinning a globe is all you can do with this phone\" than a spinning cube screensaver is an indication that that's all the Windows drawing routines can do.  It's a demo.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_12:50:51", "killed": false, "user_key": "6c4794d0cc24fe906fb0d582ed427322", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693628": {"up_voted": false, "ip": "", "has_replies": false, "message": "With that much money you think Google boy could afford a decent haircut and a speech coach.<br><br>Ok that was just mean, but it had to be said.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_12:32:36", "killed": false, "user_key": "d43b31b1d98966b95da0afb87fabe3b9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693629": {"up_voted": false, "ip": "", "has_replies": false, "message": "Their problem is that it seems like they're building a phone aimed primarily at 'techies' (i.e. opensource everything but unintiuitive as far as basic functioning goes) and yet their marketing strategy seems to be aimed at the average consumer, if not the down-right uniformed consumer. However, I think I disagree with you on it being 'Vaporware'. They seem to being trying to avoid the accusations thrown at Apple by releasing the SDK BEFORE the platform and not months afterwards, so it's hard for them to show you anything since I doubt much of it is implemented. But it was definitely a god-awful video.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_12:32:56", "killed": false, "user_key": "1453239087125522a1c55ea6f9e1e733", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693630": {"up_voted": false, "ip": "", "has_replies": false, "message": "So Open Moko will still blow this out of the water and from the developers Ive spoken to say they wont touch it till they can see a device that can run it and its basically another version of J2ME to them at first look .", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_12:25:36", "killed": false, "user_key": "ed358d9b64a8993db13d5d16f05aba92", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693631": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree it's probably too early to judge, but wow, those guys have absolutely *no* Steve Jobs mojo. Steve J could present a steaming pile of poo on a plate and make you want it more than anything you've ever wanted. Reminds me of what a friend used to say about HP marketing. That they would sell sushi as cold, wet fish.<br><br>Google has actually never had good marketing. They have  cool, interesting apps and alot of fanboys.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_12:52:20", "killed": false, "user_key": "35e156845af26eb52d00e3531c47c157", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693632": {"up_voted": false, "ip": "", "has_replies": false, "message": "The important part here is your wife is excited by her iPhone. Everybody who has touched my iPhone here in France is a believer. I've had cellphones the moment a GSM phone fitted in a pocket and I have never been as excited again until the iPhone came out. The iPhone changed the rules - super easy to use phone AND great at the Internet. The Gphone is a copycat and just \"opened\" at best. But open doesn't make consumers drool. Sorry.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_12:52:26", "killed": false, "user_key": "5e1c87273c34ed82429ba3fe4f3ca09f", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693633": {"up_voted": false, "ip": "", "has_replies": false, "message": "I know they didn't really knock us out with anything that had a real 'Wow' factor, but seems like a lot of criticism right out the gate! It also seems kind of unfair to compare a nascent community-based, open source development environment with very polished proprietary, *closed sourced* PRODUCTS. But hey, they had a crappy video and the bloggers had to sit in the cheap seats at its release (?)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_13:16:20", "killed": false, "user_key": "spinchange", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": false, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693634": {"up_voted": false, "ip": "", "has_replies": false, "message": "Benoit: true. Which is why I sure wish I would have heard something different here. Open should enable developers to create different kinds of devices that simply can't exist with a closed platform.<br><br>How about putting a cell phone in a vacuum cleaner? What would you do if you could do that? How about putting one onto a sign on a street corner? How about one in your dashboard? How about a dockable cell that could do better sync with your PC? Instead we get a Google Maps commercial. Yawn. I already have that on my iPhone AND my Nokia!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_13:04:32", "killed": false, "user_key": "3553f5e0db0fd1ec4e40a932a2d8f5b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693635": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't think Scoble understands this very well. This is not iPhone versus Android.<br><br>There is no reason iPhones can't run Android applications. Android is designed in such a way that it would be easy for Apple (or Motorola or Palm) to make products that support Android apps?<br><br>Why would they want to do that? Because there is going to be a massive community of developers out there building awesome cross-platform applications.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-12_14:39:24", "killed": false, "user_key": "7625ccb46c9bfd4175eb4582e588d939", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693636": {"up_voted": false, "ip": "", "has_replies": false, "message": "You do know this is a platform they purchased two years ago from Danger--a company founded by BeOS engineers, right?.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_01:12:27", "killed": false, "user_key": "37028ca64efd298e05aaa20cc029d384", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693637": {"up_voted": false, "ip": "", "has_replies": false, "message": "Haha! You are just pissed off because Google doesn\u2019t love you!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_01:18:03", "killed": false, "user_key": "7f7ab0999871a4de1055be84acf3de24", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693638": {"up_voted": false, "ip": "", "has_replies": false, "message": "Why are you such a negative douche-bag? Is it because of the Fake Steve Jobs post re-telling the story of you being a sucky-baby when you were screaming and whining to Google to give you a Google-phone?<br><br>Like that article said, check with your friends Dave Winer or Om Malik first.  At least people listen to them.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_03:11:52", "killed": false, "user_key": "3eda6fcd3204ef285fa52176c28c4d3e", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693639": {"up_voted": false, "ip": "", "has_replies": false, "message": "I don't get you Scoble. Half the time you say some insightful things and I learn a lot from reading your blog - but the other half of the time you come across as a whiney 12-year-old.<br><br>If the OHA is successful, people are going to throw this post back in your face just like people did with the posts of all of the haters when Apple announced V1.0 of the iPod.<br><br>In my opinion, and I don't pretend to be some grand wizard of technology like you do - apparently without any justification whatsoever, I might add - there is clearly a movement toward more open standards in technology and Apple, regardless of the gee-whiz technology they've included in the iPhone, is making the same mistake they made with the Macintosh platform back in the 80s.  There's a reason Apple only has 6% of the home computer market.  And don't tell me that finally releasing an SDK - while still controlling what applications are available via iTunes - is really making the iPhone \"open.\"  More open, yes, but truly open as it appears the OHA handsets will be, not a chance.<br><br>Also, the iPhone's features - while they may have been difficult to envision in the first place - are not difficult to copy.  And the iPhone is merely going to set the benchmark for successful mobiles in the future - including any OHA mobiles that want to be successful.<br><br>I guess you post junk like this just to stir up a controversy and thereby boost your page views, but it's frankly insulting to you readers and should be beneath you.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_05:01:39", "killed": false, "user_key": "99c268da0e78e0f0741e988719dc8adb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693640": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"How about putting a cell phone in a vacuum cleaner?\"<br><br>Is this really the best you can come up with Scoble?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_05:04:36", "killed": false, "user_key": "c54e496c8f9bc47e384511985b206cfa", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693641": {"up_voted": false, "ip": "", "has_replies": false, "message": "I agree the video is boring, and looks as if the launch has been precipitated.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_05:18:01", "killed": false, "user_key": "aa16e1d1e63b1deffdef216fd4f9ac5c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693642": {"up_voted": false, "ip": "", "has_replies": false, "message": "I fear you did not get the actual plot of this platform. What you saw is a 'place holder'/reference implementation. Please do not any assumptions of this being the finalized UI metaphors. The UI, Phone functionality, Extra-phone features, etc.. etc.. can ALL be altered to suit your needs/tastes with this platform. Understand - this is an SDK - a Great one at it(I've got my Europa loaded already with ADT and is coding away happily) - for the ultimate+unified mobility platforms.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_05:37:59", "killed": false, "user_key": "2ec6a4450673a58848f470b80cef5808", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693643": {"up_voted": false, "ip": "", "has_replies": false, "message": "Hi Robert,<br><br>I have to say I'm a little nonplussed at your derision of the video. I'm a developer who writes desktop apps for a living and is starting to hack web stuff in my spare time. I live in Europe. I don't care that Steve Jobs gives great presentations (I won't be there), or that TechCrunch weren't invited. I don't care whether it looks like a copy of an iPhone - I've never seen an iPhone.<br><br>The video is ok (and it's video that matters, not whether some gadget blowhards are getting advance previews - not directed at you btw), and it's reasonably effective. If it's being straight with me, then I see the following: an open platform, which for me is accessible and familiar - I run on a solid open source stack already; straight forward functionality that replicates what I'm already familiar with; based on open toolsets that I'm already familiar with.<br><br>Frankly I'm having a hard time understanding the negativity. It does appear that it's a result of simply not pandering to the audience of Scobles etc. I'm sitting 6000 miles away, and it doesn't bother me in the slightest. I'm sure there are many others like me.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_05:40:02", "killed": false, "user_key": "fee18b2bd419b1cb011f23d501368366", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693644": {"up_voted": false, "ip": "", "has_replies": false, "message": "Developers don't need (or want) over the top videos telling us how awesome-super-cool and XTREME-industry-changing a product is.<br><br>You shouldn't need a visionary and a marketing company to get you excited about a platform!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_05:51:28", "killed": false, "user_key": "a87f31f4ab88f90c7806a718bd170ff1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693645": {"up_voted": false, "ip": "", "has_replies": false, "message": "I am guessing, and it is a guess, that you didn't bother watching the architecture videos, or the HOWTO video? If you had you would have seen the potential of the platform and what you can do with the frameworks.<br><br>In fact I know you didn't watch the arch videos, because you didn't mention one of the most relevant and interesting points - you might write code in Java, but it runs on Google's own in-house VM and NOT on J2ME.<br><br>Maybe you should get your developer friends to watch more than the demos?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_05:53:26", "killed": false, "user_key": "4fe19b3352f366bef89ea9cdf6c0e0c9", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693646": {"up_voted": false, "ip": "", "has_replies": false, "message": "Wow. You missed the point.<br>Do realize this is not a phone, but a phone platform. And that too a free and open one.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_06:37:00", "killed": false, "user_key": "d52e278b8509bd3867ff15ee23937ed3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693647": {"up_voted": false, "ip": "", "has_replies": false, "message": "I can just laugh at you. I mean... whats your education? Who are you all of the sudden to judge things that analytics reviewed so many times with developers that you can't even imagine?<br><br>Get yourself some good faculty diploma, then you can discuss things like that, but before that... you're just one of the bloggers who wants to get hit with visits.<br><br>did you ever checked SDK in eclipse? did you checked their documentation? no? did your programmers friends? i don't think so.<br><br>Attention whore!", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_07:47:56", "killed": false, "user_key": "17a97e09a1b23bc733ae22880a961b59", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693648": {"up_voted": false, "ip": "", "has_replies": false, "message": "I guess I should clue some in that Google does have sort of a competitor fast approaching..<br><br>Just imagine a Mobile ajax runtime that allows the Mobile User to create Mobile widgets using html,css, and javascfipt its called MobileY! and currently is development in far away lab<br><br>ipHone succeed because it went after Mobile Users..<br><br>Another term for MobileY! is a Social Mobile Browser for every mobile user..<br><br>I am taking a huge risk here in getting into trouble with my top bosses..<br><br>Lets just say I am kicking Purple Dinosaurs through the SF49ers Uprights..<br><br><br>Videos for Mobile Users Coming soon :)", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_07:48:19", "killed": false, "user_key": "b86bf4bc0bad3872deec1f92d17204bb", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693649": {"up_voted": false, "ip": "", "has_replies": false, "message": "So the iPhone SDK is \"well thought-out\" is it? That's interesting - because as far as I know, neither you nor anyone else has seen it.<br><br>You're happy to talk about the iPhone SDK as if it were god's gift to mobile developers, while complaining that the Google SDK, which is here, now, is vapourware?", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_08:21:04", "killed": false, "user_key": "8fbd1902c9d786dd42a39d3e081ff778", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693650": {"up_voted": false, "ip": "", "has_replies": false, "message": "Heh! Do you really believe Scoble, that Apple's developer's SDK would be as flexible/powerful as Google's OS. Apple never gives power to developers. Face it.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_13:06:53", "killed": false, "user_key": "6da80c53e4c3a09ff233623a5119a10b", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693651": {"up_voted": false, "ip": "", "has_replies": false, "message": "Ryan (comment 14) has it exactly right. This is Apple vs. EverybodyElse all over again. Apple goes first, big hype, and the trendy types all buy. But in the end it is the less fancy, more open platforms that win.<br><br>Might not be perfect, but many developers will see this as an opportunity, and much more innovation will come from Android than the iPhone. One caveat, we have to see it running on some real hardware.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_14:04:28", "killed": false, "user_key": "0cc3174349ca778502a9b8d89fc7720a", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693652": {"up_voted": false, "ip": "", "has_replies": false, "message": "Sure, the video was unimpressive, but I think you should hold off judgment until the thing is actually released.  Who knows--maybe they'll catch on to your opinions (and those of many others around the internet) and make appropriate changes.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_21:33:04", "killed": false, "user_key": "cd1a82546822e02b308015d196efdfd4", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693653": {"up_voted": false, "ip": "", "has_replies": false, "message": "#1 To be a success, Android does not have to kill the iPhone.<br>#2 I doubt much of anything is going to get people who already have an iPhone to give up their iPhone - Two Year Contracts tend to have that affect on people.<br>#3 If I just spent $300 - $600 on a phone, I'm not even going to bother looking at other phones for a while, regardless of contracts or not.<br>#4 You are comparing something that is software only (Android) to a software/hardware package (iPhone).  I'm sure there will be a good number of phones that run Android that will be utter crap.  And, then there will be some phones that run Android that will kick the iPhone's butt.  It's like comparing a Mac and Windows.  You don't compare the operating system to the computer.  (Mac comes with iLife and a built-in camera and bluetooth - Windows comes with a DVD.)  No, you compare a given Mac (MacBook Pro 15\") with a given laptop running Windows (Dell XPS with Windows Vista Ultimate, or whatever).  Trying to compare what is, in practical terms, vaporware (not that it doesn't exist, but the final product does not yet exist) to the hold-it-in-your-hands iPhone - is not only unfair - it's pointless.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-13_23:32:11", "killed": false, "user_key": "aba9e34a7f1d7bf51512297641164ac8", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693654": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"Rhuggle is a bunch of boy scouts with no den-master! They are just<br>a bunch of spoiled rich kids on a perpetual holiday, no order or<br>discipline. They only exist in that I allow it, I find them amusing, it's<br>like watching a house on fire or some other tragedy, you know it's<br>repulsive but you just can't look away!\"<br>The reporters were taking in my words like Saki, they just couldn't<br>get enough! So I decided to throw them one more bone!<br>\"I have to go now, but since I'm on Rhuggle, let me say this about<br>this 'Android\" thing they announced: It is just like the rest of Google<br>..ahem, I mean Rhuggle, IT ONLY EXIST ON PAPER! Don't fall for this<br>vaporware, rumors, fake-half-baked hype that they peddle!\"", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-14_06:37:47", "killed": false, "user_key": "776c6abf3926ec876a39cd4b49067389", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693655": {"up_voted": false, "ip": "", "has_replies": false, "message": "God I love the myopic Apple fanatic world view.  Anything anyone does that is not exactly the same as what Apple does automatically sucks, and anything that might remotely resemble something that Apple does is a blatant copy.  You folks really need to get some perspective.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-14_19:13:01", "killed": false, "user_key": "afd24a9e46cb5aa210940544617e6a59", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693656": {"up_voted": false, "ip": "", "has_replies": false, "message": "&gt;It was released without a personal approach.<br><br>Did you want Sergei to give you a handjob?<br><br><br>&gt;If you want my support for your platform I need to be &gt;able to use it and show it to my friends.<br><br>Of course. Because that's what tech is all about, making some geek look cool with his other geek friends.<br><br>&gt;The UI looks confused.<br><br>You means all phones on the Android platform will look like this?<br><br>&gt;Heck, I don\u2019t know of a single developer who<br>&gt;has had his/her hands on Android.<br><br>Wait, Android is not a platform? Its the name of a phone?<br>Developers on the other hand have their hands on the SDK.<br>What's that you say?<br><br>&gt;Google needs to get atomic videos.<br>You dont like the editing of the video?<br><br>&gt;Google\u2019s PR comes across as \u201conly caring about big &gt;bangs.<br>Yes, Apple and Microsoft's PR is understated.<br><br><br>&gt;They also kept me from using my video camera during &gt;the press call<br>Waaaaaaaaaaaaaaaah!!<br>Waaaaaaaaaaah!! I need my mommy....<br>When Apple does one of these they have no rules whatsoever. None.<br><br><br>&gt;It looks too much like a poor copy of the iPhone.<br>The main reason they should never have used a demo.<br>Some lame brained writers might think THIS is the phone instead of a platform on which different companies will be able to build different models of phone.<br><br><br>&gt;But what do I know<br><br>From the look of it, very little.<br><br>More like the judgement and reasoning of my 12 year old nieces who like things that look cool.<br><br><br>#20 is right on the money:<br>&gt;Saying your not going to switch from the iPhone to &gt;Android is like saying your not trading in your BMW &gt;for a Z Platform. Product != platform.<br><br>T-r-y  t-o  c-o-m-p-r-e-h-e-n-d   t-h-i-s.<br><br>RK", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-14_20:42:24", "killed": false, "user_key": "4874f0d265c4147a46a39ba182c7e4f7", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693657": {"up_voted": false, "ip": "", "has_replies": false, "message": "You are all a bunch of stupids that just blog first before understand what is going on.<br><br>Andriod SDK is mean for Developers not for end users.<br><br>The demos and videos are just for demostration for DEVELOPERS of what kind of things the platform can do. As we have a compass, GPS, USB, 3D hardware graphics acceleration, Touching, keyboard and much more.<br><br>The real phones and marketing, that will depend of Operators and device manufacturers as Motorola, AT&amp;t so on.<br><br>Google just gives the Software stack for get one and only one universal platform for mobile devices.<br><br>Google what gets from this?, this platform runs webkit and is very integrated with internet features so Google will continue doing what they do best ADS as we can find now in a desktop PC. Google win money with ADS and advertsiments in the internet.<br><br>Google doesnt win money with Andriod directly, the device manfucaturers and operators are the winners of what they will build with this Software Stack called Andriod.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-14_22:35:43", "killed": false, "user_key": "57f5042681fbc7b6bc5eb19900049ee3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693658": {"up_voted": false, "ip": "", "has_replies": false, "message": "\"They didn\u2019t talk about ONE thing that the iPhone doesn\u2019t do.\"<br><br>Well <a href=\"http://google.com\" rel=\"nofollow\">google.com</a> didn't do anything that <a href=\"http://yahoo.com\" rel=\"nofollow\">yahoo.com</a> didn't do...it didn't even do a fraction of what it did.  I don't think anyone would of predicted the success of Google if they had seen an early version of it (they would of just compared features).<br><br>In general, it is actually very difficult to predict the success of disruptive technologies.  Your way of comparing feature-for-feature is the non-disruptive way.  Apple may be happy having 5% of a market (due to wanting to control everything), but someobody has to do something about the other 95%.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-15_02:36:34", "killed": false, "user_key": "6fa3b81cd13b999189e4010f600694b3", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693659": {"up_voted": false, "ip": "", "has_replies": false, "message": "In the late 1980s, I remember emailing to Linus and his frustration that people weren't taking his new Linus project seriously.<br><br>They couldn't understand why anyone would move from Unix or MS-DOS to use such a clunky operating system, even if it was open source.<br><br>And in the mid-1990s, people pooh-poohed the idea of Java.<br><br>The key is that this new Android platform is just starting. We need to avoid the pitfall of presupposing what an open-source software's future will be by how it works at this very moment.<br><br>Odds are the Android of the future will not resemble even remotely what is in the above video. And, odds are, it's child or one of its children will be on almost all of our phones within 5-10 years in some form.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-12-18_05:17:44", "killed": false, "user_key": "2ba55419be3daaa7f52fa82a9c3737a2", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693660": {"up_voted": false, "ip": "", "has_replies": false, "message": "I like your videos and opinions, but you are too negative now. Maybe you've traveled too much with the bus lately? \"Ok that was just mean, but it had to be said.\"<br>Just tell me, who is giving developers (free) platform to make applications for phones (not some sexy reservoir iPhone land), I mean phones for normal people? Ok, this video is boring, but video on OHA with childrens is not boring. Maybe you didn't get it - it's freedom. I've asked my children and my wife what would be their magic phone like and they gave me some crazy use cases. I've looked at android apis and you know what - it's possible to do it. You are just too negative...", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2007-11-20_04:56:30", "killed": false, "user_key": "b78712fb722454894a0be62a978646f5", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "2 years ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693661": {"up_voted": false, "ip": "", "has_replies": false, "message": "Horrible video, I agree. Seems like Google is just bad at PR.<br><br>On the other hand, I don't think Google should be the ones doing the publicizing for android. Rather, it should be done by the phone manufacturers and service providers, as they have more experience and a better infrastructure in this regard.<br><br>And that leads me to the point of this post. Google was advertising to developers. Those people who are going to make android in to a viable competitor in terms of functionality.<br><br>There is time enough later for promotional stunts and gimmicks. What needed to get done asap was the developer involvement. And in this respect Google succeeded.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-05-09_08:16:11", "killed": false, "user_key": "2078fcd4da0217146b8a8ace6aa8cf5c", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693662": {"up_voted": false, "ip": "", "has_replies": false, "message": "I suspect the big news will be when Android is ported to small notebook computers like the ASUS Eee PC.  Imagine an Eee PC with a 10 inch high-resolution touch screen and 3G mobile phone capabilities and include a Bluetooth headset. What an awesome combination! Great for the business traveler on the road.<br><br>I'm really looking forward to Google getting some success with the Android platform so as to create a bit of competition with Apple's iPhone. I really hope Android plays avi and other video format files including Flash.", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-08-29_23:18:15", "killed": false, "user_key": "0bbc995de95a392e05de2af05fe090f1", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}, "9693663": {"up_voted": false, "ip": "", "has_replies": false, "message": "I think the iPhone can credit much of it's success to the massive following that Apple seem to have at the moment.  It borders on a cult following at this time.<br><br>Google are going to have to work very hard to try and compete with that.  That said I believe that Google are really going to do a Microsoft on this one.  No doubt they will release the software with bugs and we'll have folk calling Android the next Vista.  :P", "is_last_child": false, "can_reply": false, "down_voted": false, "real_date": "2008-08-18_04:29:47", "killed": false, "user_key": "0e0e7f8d2d5505c06f658d46c0c0eb70", "has_been_anonymized": false, "edited": false, "author_is_moderator": false, "from_request_user": null, "votable": true, "date": "1 year ago", "approved": true, "num_replies": 0, "is_first_child": false, "email": "", "parent_post_id": null, "depth": 0, "points": 0, "author_is_creator": false, "is_realtime": false}}, "integration": {"receiver_url": "", "theme": 4, "reply_position": true, "disqus_logo": false}, "timer": {"timer_url": "http://localhost:8005", "thread_id": "18349605", "user_id": "anonymous", "forum_id": "125200", "hash": -3956303474771779695}, "thread": {"total_posts": 0, "paginate": false, "per_page": 0, "slug": "google_android_we_want_developers_but8230", "num_pages": 1, "days_alive": 0, "realtime_paused": true, "id": 18349605, "num_posts": 95, "closed": true, "queued": false, "killed": false}, "reactions_limit": 10, "context": {"show_reply": false, "use_fb_connect": true, "forum_facebook_key": "faaf467d0f47abde553c3b8e0e1b3570", "use_yahoo": false, "subscribed": false, "use_twitter_signin": true, "use_openid": false, "realtime_speed": 5000}, "reactions_start": 0, "settings": {"debug": false, "disqus_url": "http://disqus.com", "media_url": "http://media.disqus.com"}, "media_url": "http://media.disqus.com"};
	/* */ this.jsonData.cookie_messages = {"user_created": null, "post_has_profile": null, "post_twitter": null, "post_not_approved": null}; this.jsonData.session = {"url": null, "name": null, "email": null}; /* */

	
	this.curPageId = 'dsq-comments';

	this.frames = {};
};

var disqus_popup_reference = null;

if(typeof DsqLocal == 'undefined') {
	DsqLocal = {};
}



/**
 * Dsq.Strings: UI strings
 */
Dsq.Strings = new function() {
	this.ADD_NEW_COMMENT = "Add New Comment";
	this.LOG_INTO_DISQUS = "Log into DISQUS";
	this.USE_MEDIA = "Use Media";
	this.LOGOUT = "Logout";
	this.SHARING_OPTIONS = "Sharing options";
	this.SHARE_ON = "Share on";
	this.TWEET_THIS_COMMENT = "Tweet this comment";
	this.SHARE_ON_NEWSFEED = "Share on news feed";
	this.SEND_UPDATE_TO_YAHOO = "Send update to Yahoo!";
	this.REBLOG_ON = "Reblog on";
	this.CONFIGURE_OPTIONS = "Configure options";
	this.POST_AS = "Post as";
	this.SORT_BY = "Sort by";
	this.SUBSCRIBE_BY_EMAIL = "Subscribe by email";
	this.SUBSCRIBE_BY_RSS = "Subscribe by RSS";
	this.POPULAR_NOW = "Popular now";
	this.BEST_RATING = "Best Rating";
	this.NEWEST_FIRST = "Newest first";
	this.OLDEST_FIRST = "Oldest first";
	this.HIGHLIGHTED = "Highlighted";
	this.UNSUBSCRIBE = "Unsubscribe";
	this.REQUIRED = "Required";
	this.OPTIONAL = "Optional";
	this.YOU_ARE_COMMENTING_AS_A = "You are commenting as a";
	this.LOGIN_BELOW = "Login below";
	this.PLEASE_LOGIN_BELOW_TO_COMMENT = "Please login below to comment.";
	this.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL = "Subscribe to all comments by email";
	this.DO_NOT_SUBSCRIBE_TO_COMMENTS = "Do not subscribe to comments";
	this.REALTIME_UPDATING_IS = "Real-time updating is";
	this.ENABLED = "enabled";
	this.PAUSED = "paused";
	this.PAUSE = "Pause";
	this.RESUME = "Resume";
	this.SHOW = "Show";
	this.JUST_NOW = "Just now";
	this.REPLY = "Reply";
	this.EDIT = "Edit";
	this.FLAG = "Flag";
	this.MODERATE = "Moderate";
	this.CANCEL = "Cancel";
	this.REPLYING_TO = "Replying to";
	this.REPORT_MISSING_REACTIONS = "Report missing reactions";
	this.POST_A_COMMENT = "Post a comment";
	this.FLAG_INAPPROPRIATE_COMMENT = "Flag inappropriate comment";
	this.FLAGGED = "Flagged";
	this.NO = "No";
	this.YES = "Yes";
	this.NEVER_MIND = "Never mind";
	this.ARE_YOU_SURE_YOU_WOULD_LIKE_TO_REPORT_THIS_COMMENT_TO_A_MODERATOR = "Are you sure you would like to report this comment to a moderator";
	this.THIS_WILL_FLAG_COMMENTS_FOR_MODERATORS_TO_TAKE_ACTION = "This will flag comments for moderators to take action";
	this.TO_RATE_PLEASE_LOG_IN = "To rate, please log in";
	this.JUST_A_MOMENT = "Just a moment...";
	this.GUEST = "Guest";
	this.NAME = "Name";
	this.EMAIL = "Email";
  this.WEBSITE = "Website";
  this.SETTINGS = "Settings";
  this.MODERATOR_OPTIONS = "Moderator options: ";
  this.MODERATE_OPTIONS = "Moderate Options";

  // Thread moderator actions
  this.CLOSE_THREAD = "Close thread";
  this.OPEN_THREAD = "Open thread";
  this.REMOVE_THREAD = "Remove thread";
  this.RESTORE_THREAD = "Restore thread";
  this.ACTIONS = "Actions";
};
// Dsq.Strings

/**
 * Dsq.FmtStrings: functions that return interpolated UI strings
 */
Dsq.FmtStrings = new function() {
	// Seems we have to use named interpolation for Django to translate. Investigate more.
	this.LOGGED_IN_AS = function(username) {
		return Dsq.Utils.interpolate('Logged in as %(username)s', {username:username});
	};

	this.LOGOUT_FROM = function(disqus) {
		return Dsq.Utils.interpolate('Logout from %(disqus)s', {disqus:disqus});
	};

	this.SHOWING_COMMENTS_FULL = function(total, num) {
		if (num === 1) {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> of <span id='dsq-total-posts'>%(total)s</span> comment", {num:num, total:total});
		} else {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> of <span id='dsq-total-posts'>%(total)s</span> comments", {num:num, total:total});
		}
	};

	this.SHOWING_COMMENTS_WITHOUT_PAGINATION = function(num) {
		if (num === 1) {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> comment", {num:num});
		} else {
			return Dsq.Utils.interpolate("Showing <span id='dsq-num-posts'>%(num)s</span> comments", {num:num});
		}
	};

	this.NUMBER_OF_COMMENTS = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s comment'
				: '%(num)s comments'
			), {num:num});
	};

	this.NUMBER_OF_LIKES = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s like'
				: '%(num)s likes'
			), {num:num});
	};

	this.NUMBER_OF_POINTS = function(num) {
		return Dsq.Utils.interpolate(
			(num == 1
				? '%(num)s point'
				: '%(num)s points'
			), {num:num});
	};
};
// Dsq.FmtStrings





Dsq.CSRF_TOKEN = 'a2d140c59df8cd4ce27a20e0829cacd8';
Dsq.COMMENTS_RE = /(<li.*?id="?dsq-comment-(\d+)"?.*?>)((?:.|\s)*?)(<\/li>)/gim;
Dsq.POST_RE = /(<div.*?id="?dsq-comment-header-(\d+)"?.*?>)((?:.|\s)*?)(<\/div>)\s*(<div.*?class="?dsq-comment-body"?.*?>)((?:.|\s)*)(<\/div>)/gim;
Dsq.POST_BODY_RE = /\s*(<div.*?id="?dsq-comment-message-(\d+)"?.*?>)((?:.|\s)*)(<\/div>)/gim;
// HACK: Safari ends with "-->" while other browsers end with "--&gt;" as expected.
Dsq.MEDIA_POST_RE = /&lt;!--\[(.*?)\]--(?:>|&gt;)/gim;



var FragmentPacket = function(reader, writer, writer_url, is_child, receiveCallback) {
	var that = this;
	this.reader = reader;
	this.writer = writer;
	this.writer_url = writer_url;

	this.is_child = is_child || false;
	this.receiveCallback = receiveCallback;

	this._lastHash = null;

	this._accumMsg = '';

	this._lastSeqno = 0;

	this.MAX_DATA_LEN	= 1024;

	this.WAIT_TIME		= 10;

	this.READY		= 0x1;
	this.WRITING	= 0x2;
	this.FIN		= 0x4;
	this.ACK		= 0x8;

};

FragmentPacket.prototype.createListener = function() {
	var that = this;
	var listener = function() {
		that.recv();
	};
	return window.setInterval(listener, 10);
};

FragmentPacket.prototype.log = function(msg) {



};

FragmentPacket.prototype.recv = function() {
	var hash;
	if (/MSIE/.test(navigator.userAgent)) {

		hash = this.reader.name;
	} else {

		var hashIndex = this.reader.location.href.indexOf('#');
		if (hashIndex == -1) {
			return;
		}
		hash = this.reader.location.href.substring(hashIndex+1);
	}
	var flags = parseInt(hash.substring(0, 4), 10);
	var seqno = parseInt(hash.substring(4, 24), 10);
	var data  = hash.substring(24);

	if (this._lastHash !== hash) {
		this._lastHash = hash;
		this.log('recv: ' + hash);

		this.log(' flags: ' + flags);
		this.log(' seqno: ' + seqno + ' len: ' + hash.substring(4, 24).length + ' (' + hash.substring(4, 24) + ')');
		this.log(' data: ' + data + ' len: ' + data.length);

		this._lastSeqno = seqno;

		if (flags & this.WRITING) {
			this._accumMsg += data;
			this.sendFlag(this.ACK, seqno);
			if (flags & this.FIN) {
				this.log('recv finished: ' + decodeURIComponent(this._accumMsg));
				this.receiveCallback(decodeURIComponent(this._accumMsg));

				this._accumMsg = '';

				this.sendFlag(this.READY | this.ACK, this._lastSeqno);
			}
		}
	}

	return {
		flags: flags,
		seqno: seqno,
		data: data
	};
};

FragmentPacket.prototype.sendRawPacket = function(packet) {
	if (/MSIE/.test(navigator.userAgent)) {
		this.writer.name = packet;
	} else {

		this.writer.location.href = this.writer_url + '#' + packet;
	}

};

FragmentPacket.prototype.sendFlag = function(flag, seqno) {
	this.sendRawPacket(this._zerofill(flag, 4) + this._zerofill(seqno, 20));
};

FragmentPacket.prototype.send = function(msg) {
	this._send(0, encodeURIComponent(msg));
};

FragmentPacket.prototype._send = function(packetNum, msg) {
	var that = this;
	var recvBuf = this.recv();

	if (packetNum === 0) {

		if (!(recvBuf.flags & this.READY)) {
			this.log('client is not ready, waiting...');
			window.setTimeout(function() { that._send(packetNum, msg); }, this.WAIT_TIME);
			return;
		}
	} else {

		if (!( (recvBuf.flags & this.ACK) && (recvBuf.seqno === this._lastSeqno) )) {
			this.log('waiting for ack from client...');
			window.setTimeout(function() { that._send(packetNum, msg); }, this.WAIT_TIME);
			return;
		} else {
			this.log('received ack: ' + this._lastSeqno + ' ' + recvBuf.seqno);
		}
	}

	var flags = this.WRITING;
	var num_packets = Math.ceil(msg.length / this.MAX_DATA_LEN);
	this.log('num_packets: ' + num_packets);

	if (num_packets === packetNum) {

		this.log('message successfully sent!');
		this.sendFlag(this.READY | this.ACK, this._lastSeqno);
		return true;
	}

	this._lastSeqno++;

	if (packetNum == num_packets-1) {
		flags |= this.FIN;
	}

	var data = msg.substring(packetNum * this.MAX_DATA_LEN, (packetNum+1) * this.MAX_DATA_LEN);
	var packet = this._zerofill(flags, 4) + this._zerofill(this._lastSeqno, 20) + data;

	this.log('sending raw packet: ' + packet);
	this.sendRawPacket(packet);

	return this._send(packetNum + 1, msg);
};

FragmentPacket.prototype._zerofill = function(num, width) {
	var retval = num.toString();
	var retval_len = retval.length;
	for (var i = 0; i < width - retval_len; i++) {
		retval = '0' + retval;
	}
	return retval;
};

var PostMessagePacket = function(receiver, receiveCallback, id, receiverId) {
	var that = this;
	this.receiver = receiver;
	this.receiveCallback = receiveCallback;
	this.id = id;


	this.receiverId = receiverId;
};

PostMessagePacket.prototype.createListener = function() {
	var that = this;

	var listener = function(e) {

		if (!that.id) {
			that.id = e.data;
			return;
		}


		var id = e.data.split(';')[0];
		if (id !== that.id) {
			return;
		}
		var data = e.data.substring(e.data.indexOf(';') + 1);

		that.receiveCallback(data);
	};

	if (typeof window.attachEvent == 'function') {
		window.attachEvent('onmessage', listener);
	} else if (typeof window.addEventListener == 'function') {
		window.addEventListener('message', listener, false);
	} else {
		throw new Error('No method found to create event listener for PostMessagePacket.');
	}
};

PostMessagePacket.prototype.send = function(msg) {



	var needs_reget = false;
	try {
		if (typeof this.receiver.id == 'undefined' || typeof this.receiver.postMessage == 'undefined') {
			needs_reget = true;
		}
	} catch(e) {


	}
	if (needs_reget && typeof this.receiverId != 'undefined') {
		this.receiver = document.getElementById(this.receiverId).contentWindow;
	}

	var packet;
	if (!msg) {

		packet = this.id;
	} else {
		packet = this.id + ';' + msg;
	}
	this.receiver.postMessage(packet, '*');
};

PostMessagePacket._last_unique_id = null;
PostMessagePacket._get_unique_id = function() {
	var id = (new Date()).getTime();
	if (id == PostMessagePacket._last_unique_id) {
		id++;
	}
	PostMessagePacket._last_unique_id = id;
	return id.toString();
};

var JsonRpc = function() {

	this.ids = {};

	this.objectToJSON = function(obj) {
		var json = '';
		var results = [];

		if (obj === undefined || obj === null) {
			return 'null';
		}

		switch (obj.constructor) {
			case Object:
				for (var property in obj) {
					if (obj.hasOwnProperty(property)) {
						results.push(this.objectToJSON(property) + ': ' + this.objectToJSON(obj[property]));
					}
				}
				json = '{' + results.join(', ') + '}';
				break;
			case Array:
				for (var i = 0; i < obj.length; i++) {
					results.push(this.objectToJSON(obj[i]));
				}
				json = '[' + results.join(', ') + ']';
				break;
			case Number:
			case Boolean:
				json = obj.toString();
				break;
			case String:

				var specialChars = {'\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '\\': '\\\\'};

				json = obj.replace(/[\x00-\x1f\\]/g, function(match) {
					var ch = specialChars[match];
					return ch ? ch : '\\u00' + match.charCodeAt().toPaddedString(2, 16);
				});

				json = '"' + json.replace(/"/g, '\\"') + '"';
				break;
			default:

				json = 'null';
				break;
		}

		return json;
	};

	this.createHandler = function(send_func, registered_funcs) {
		var that = this;
		var handler = function(message) {

			try {
				var rpc = eval('(' + message + ')');
			} catch(e) {
				alert('bad JSON: ' + message);
				return;
			}
			if (rpc.method) {

				if (!registered_funcs[rpc.method]) {
					return;
				}

				var retval = registered_funcs[rpc.method].apply(null, rpc.params);
				if (rpc.id) {
					var response = {
						result: retval,
						error: null,	// TODO
						id: rpc.id
					};
					send_func(that.objectToJSON(response));
				}
			} else if(rpc.result) {

				if (!that.ids[rpc.id]) {
					return;
				}

				that.ids[rpc.id](rpc.result);
				delete that.ids[rpc.id];
			}
		};
		return handler;
	};

	this.execute = function(send_func, method, params, response_callback) {
		response_callback = response_callback || null;
		var id = (response_callback) ? (new Date()).getTime() : null;

		var request = {
			method: method,
			params: params,
			id: id
		};

		send_func(this.objectToJSON(request));

		if (id) {
			this.ids[id] = response_callback;
		}
	};
};
JsonRpc = new JsonRpc();

var ParentMessenger = function(childUrl, receiverUrl, container, receiveCallback) {


	if (navigator.userAgent.indexOf('Safari') >= 0 && parseInt(navigator.userAgent.substring(navigator.userAgent.indexOf('Version/') + 8), 10) == 3) {
		throw new Error("unsupported.");
	} else if (window.opera) {
		throw new Error("unsupported.");
	}



	if (!receiverUrl &&
		navigator.userAgent.indexOf('Gecko') >= 0 &&
		parseFloat(navigator.userAgent.slice(navigator.userAgent.indexOf('rv:') + 3, navigator.userAgent.indexOf('rv:') + 6)) < 1.9) {
		throw new Error("unsupported.");
	}


	if (/msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent)) {


		if (document.domain == window.location.hostname) {
			receiverUrl = '';
		}
	}

	var that = this;
	this.childUrl = childUrl;
	this.receiverUrl = receiverUrl;
	this.container = container || document.body;

	this.packetHandler = null;


	this._ready = false;
	this._error = false;


	var _createReceiverForFragmentPacket = function() {

		that.receiver = document.createElement('iframe');
		that.receiver.src = receiverUrl;
		that.receiver.id = 'receiver_' + (new Date()).getTime();
		that.receiver.name = that.receiver.id;

		that.receiver.frameBorder = '0';
		that.receiver.frameSpacing = '0';
		that.receiver.style.borderStyle = 'none';

		var receiver_onload = function() {
			var receiver = document.getElementById(that.receiver.id).contentWindow;

			try {
				receiver.document.body.innerHTML = '';
			} catch(e) {

				that._error = true;
			}
			receiver.document.body.style.padding = '0px';
			receiver.document.body.style.margin = '0px';

			var child = receiver.document.createElement('iframe');
			child.id = 'child';
			child.name = 'child';
			child.src = that.childUrl;

			child.frameBorder = '0';
			child.frameSpacing = '0';
			child.style.borderStyle = 'none';
			child.style.width = '100%';
			child.style.height = '100%';
			receiver.document.body.appendChild(child);

			that.child = receiver.document.getElementById('child').contentWindow;
			that.receiver = receiver;

			that.packetHandler = new FragmentPacket(that.receiver, that.child, that.childUrl, false, receiveCallback);

			that._listener = that.packetHandler.createListener();

			that.packetHandler.sendFlag(that.packetHandler.READY, 0);

			that._ready = true;
		};

		that.receiver.onreadystatechange = function() {
			if (this.readyState == 'complete') {
				receiver_onload();
			}
		};

		that.receiver.onload = receiver_onload;







		if (Dsq.Utils.ie) {
			if (that.container.clientWidth === 0) {

				var _waitForWidth = function() {
					if (that.container.clientWidth > 0) {
						Dsq.Utils.fixIframesIE(that.container.id);
					} else {
						window.setTimeout(_waitForWidth, 100);
					}
				};
				_waitForWidth();

				that._once = false;
				that.receiver.onresize = function() {
					if (!that._once) {
						Dsq.Utils.fixIframesIE(that.container.id);
					}
					that._once = true;
				};
			}
		}

		that.container.appendChild(that.receiver);
	};


	var _createReceiverForPostMessage = function() {

		var receiver_onload = function() {

			that.packetHandler.send();
			that._ready = true;
		};

		var id = PostMessagePacket._get_unique_id();
		var receiverId = 'child_' + id;


		ParentMessenger['_receiver_onload_' + receiverId] = receiver_onload;

		that.container.innerHTML += '<iframe ' +
			'src="' + childUrl + '" ' +
			'id="' + receiverId + '" ' +
			'name="' + receiverId + '" ' +
			'onload="ParentMessenger._receiver_onload_' + receiverId +'();" ' +
			'></iframe>';

		that.receiver = document.getElementById(receiverId).contentWindow;
		that.packetHandler = new PostMessagePacket(that.receiver, receiveCallback, id, receiverId);
		that._listener = that.packetHandler.createListener();
	};

	if (typeof window.postMessage == 'function') {
		_createReceiverForPostMessage();
	} else {
		_createReceiverForFragmentPacket();
	}

};

ParentMessenger.prototype.sendMessage = function(message) {
	var that = this;
	if (!this._ready) {

		window.setTimeout(function() { that.sendMessage(message); }, 10);
		return;
	}
	this.packetHandler.send(message);
	return true;
};

Dsq.NewFrames = function(url) {
	this.url = url;
};

Dsq.NewFrames.prototype.init = function(onFailure) {
	var that = this;

	try {
		this.messenger = new ParentMessenger(this.url, Dsq.jsonData.integration.receiver_url, this.container, this.receive_callback);
	} catch(e) {
		if (typeof onFailure == 'function') {
			onFailure();
		}
	}

	if (typeof onFailure == 'function') {
		var iId = window.setInterval(function() {
			if (typeof that.messenger == 'undefined') {
				window.clearInterval(iId);
				return;
			}
			if (that.messenger._ready) {
				window.clearInterval(iId);
			} else if (that.messenger._error) {
				window.clearInterval(iId);
				onFailure();
			}
		}, 10);
	}
};

Dsq.NewFrames.prototype._execute = function(method, args, callback) {
	var that = this;
	if (typeof that.messenger == 'undefined') {
		return false;
	}
	JsonRpc.execute(
		function(msg) { that.messenger.sendMessage(msg); },
		method,
		args || [],
		callback);
	return true;
};

Dsq.ReplyFrame = function(container, parent_post_id) {
	var that = this;
	this.container = container;
	this.parent_post_id = parent_post_id;

	var sendFunc = function(msg) {

		Dsq.Debug.log('Dsq.ReplyFrame.sendFunc');
		that.messenger.sendMessage(msg);
	};


	var postComment_onSuccess = function(response) {
		Dsq.jsonData.posts[response.message.id] = response.message.post_meta;
		if (!Dsq.jsonData.users[response.message.post_meta.user_key]) {
			Dsq.jsonData.users[response.message.post_meta.user_key] = response.message.user_meta;
		}


		var reply_position = (typeof(disqus_insert_wrt_sort) == 'undefined' 
			? (Dsq.jsonData.forum.reply_position ? -1 : null) 
			: (Dsq.jsonData.request.sort == 2 ? null : -1));
		
		if (response.message.post_meta.approved) {
			Dsq.Post.insert(response.message.post_meta.parent_post_id || reply_position, response.message.id, response.message.post_meta.message);
		}

		Dsq.Templates.postComment_onSuccess(response, parent_post_id, response.message.id);
	};

	var postComment_onFailure = function(response) {
		Dsq.Popup.popModal(response.message, 'Error');
		Dsq.Templates.postComment_onFailure(response, parent_post_id, response.message.id);
	};

	var editComment_onSuccess = function(response) {
		var post_id = parent_post_id;
		var message = Dsq.$('dsq-comment-message-' + post_id);
		
		message.innerHTML = response.message;
		Dsq.Templates.toggleEdit(post_id);
		Dsq.Templates.setLoadingButton(false);
	};
	
	var editComment_onFailure = function(response) {
		var post_id = parent_post_id;
		
		Dsq.Popup.popModal('Sorry, there was an error editing this comment.', 'Edit Error');
		Dsq.Templates.toggleEdit(post_id);
		Dsq.Templates.setLoadingButton(false);
	};

	var getUserByEmail_onSuccess = function(response) {
		var msg = response.message;
		var fields = Dsq.Templates.getFormFields(parent_post_id);

		if (msg.username) {

			Dsq.Templates.lightboxAuthenticate(parent_post_id, 'login', {
				'username': msg.username,
				'display_name': msg.display_name,
				'avatar_url': msg.avatar_url,
				'verified': msg.verified,
				'email': fields.email.value
			});
		} else {

			Dsq.Templates.lightboxAuthenticate(parent_post_id, 'register');
		}
	};

	var validateAuth_onSuccess = function(response, auth_choice) {
		Dsq.Templates.postComment(parent_post_id, null, true, auth_choice);
	};

	var validateAuth_onFailure = function(response, auth_choice) {
		var pid = parent_post_id ? '-' + parent_post_id : '';
		var msg = response.message;

		if (auth_choice == 'register') {
			var fields = ['email', 'username', 'password'];

			for (var i = 0; i < fields.length; i++) {
				var field = fields[i];
				var errorDiv = Dsq.$('dsq-' + field + '-errors' + pid);

				if (msg[field]) {
					errorDiv.innerHTML = msg[field];
				} else {
					errorDiv.innerHTML = '';
				}
			}
		} else if (auth_choice == 'login') {
			Dsq.$('dsq-lightbox-errors' + pid).innerHTML = '<p>We couldn\'t log you in. Please verify your login.</p>';
		}
		
		Dsq.Templates.setLoadingButton(false);
	};

	this.receive_callback = JsonRpc.createHandler(sendFunc, {
		'postComment.onSuccess': postComment_onSuccess,
		'postComment.onFailure': postComment_onFailure,
		'editComment.onSuccess': editComment_onSuccess,
		'editComment.onFailure': editComment_onFailure,		
		'getUserByEmail.onSuccess': getUserByEmail_onSuccess,
		'validateAuth.onSuccess': validateAuth_onSuccess,
		'validateAuth.onFailure': validateAuth_onFailure,
		'reload': function() { window.location.reload(); }
	});

	this.url = Dsq.Urls.REPLY +
		'?' + (new Date()).getTime() +
		'&f=scobleizer' +
		'&t=google_android_we_want_developers_but8230' +
		'&ff=' + Dsq.Thread.ff +
		'&default_text=' + encodeURIComponent(disqus_default_text) +
		'&ifrs=' + encodeURIComponent(disqus_iframe_css);
	if (this.parent_post_id) {
		this.url += '&parent_post=' + this.parent_post_id;
	}
};

Dsq.ReplyFrame.prototype = new Dsq.NewFrames(Dsq.ReplyFrame.url);

Dsq.ReplyFrame.prototype.post = function(author_name, author_email, author_url, authenticate, sharing_services, subscribe) {
	this._execute('postComment', [author_name, author_email, author_url, authenticate, sharing_services, subscribe]);
};

Dsq.ReplyFrame.prototype.edit = function(post_id, message) {
	this._execute('editComment', [post_id, message]);
};

Dsq.ReplyFrame.prototype.setState = function(parent_post_id, depth) {
	this._execute('setState', [parent_post_id, depth]);
};

Dsq.ReplyFrame.prototype.getUserByEmail = function(email) {
	this._execute('getUserByEmail', [email]);
};

Dsq.ReplyFrame.prototype.validateAuth = function(auth_choice, email, username, password) {
	this._execute('validateAuth', [auth_choice, email, username, password]);
};

Dsq.ReplyFrame.prototype.authenticateFacebook = function(session, forum_url) {
	this._execute('authenticateFacebook', [session, forum_url]);
};

	Dsq.Facebook = function() {
	var that = this;

	var handleSessionData = function(session) {

		var forum_url = Dsq.jsonData.forum.url;




		if (typeof disqus_facebook_forum != 'undefined') {
			forum_url = disqus_facebook_forum;
		}
		Dsq.frames.reply_0.authenticateFacebook(session, forum_url);
	};

	var onLogin = function() {
		FB.Connect.getSignedPublicSessionData(handleSessionData);
	};

	this.login = function() {
		FB.Connect.requireSession(onLogin, true);
	};
};
Dsq.Facebook = new Dsq.Facebook();


	






Dsq.Themes = {};

Dsq.Themes.narcissus = new function() {
	this.addPostContainer = 'dsq-form-area';
	this.textareaContainer = 'dsq-textarea-wrapper';



	
	this.header = function() {
		var comments_count, total_posts, num_posts;
		var html = '';
		var missing_perm_tmpl;

		if (Dsq.jsonData.request.missing_perm) {
			missing_perm_tmpl = Dsq.Templates.missingPermissions();
			if (missing_perm_tmpl) {
				html += '<div class="dsq-missing-permissions">' + missing_perm_tmpl + '</div>';
			}
		}

		total_posts = Dsq.jsonData.thread.total_posts;
		num_posts = Dsq.jsonData.thread.num_posts;

		if (total_posts) {
			comments_count = Dsq.FmtStrings.SHOWING_COMMENTS_FULL(total_posts, num_posts);
		} else {
			comments_count = Dsq.FmtStrings.SHOWING_COMMENTS_WITHOUT_PAGINATION(num_posts);
		}

		html += ' \
		<div id="dsq-comments-title"> \
			<h3>' + comments_count + '</h3> \
		</div> \
		';

		html += ' \
		<div class="dsq-options"> \
			<span class="dsq-item-sort">'
				+ Dsq.Strings.SORT_BY + ' \
				<select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);"> \
					<option value="hot" ' + (Dsq.jsonData.request.sort == 4 ? 'selected="selected"' : '') + '>' + Dsq.Strings.POPULAR_NOW + '</option> \
					<option value="best" ' + (Dsq.jsonData.request.sort == 3 ? 'selected="selected"' : '') + '>' + Dsq.Strings.BEST_RATING + '</option> \
					<option value="newest" ' + (Dsq.jsonData.request.sort == 2 ? 'selected="selected"' : '') + '>' + Dsq.Strings.NEWEST_FIRST + '</option> \
					<option value="oldest" ' + (Dsq.jsonData.request.sort == 1 ? 'selected="selected"' : '') + '>' + Dsq.Strings.OLDEST_FIRST + '</option> \
				</select> \
				&nbsp; \
			</span> \
			<span class="dsq-subscribe-email"> \
				<img src="http://media.disqus.com/images/embed/email.png" style="width:12px;height:12px;vertical-align:middle"> \
				<span id="dsq-subscribe">'
					+ (Dsq.jsonData.context.subscribed
						? '<a href="#" onclick="Dsq.Thread.subscribe(0); return false">' + Dsq.Strings.UNSUBSCRIBE + '</a>'
						: '<a href="#" onclick="Dsq.Thread.subscribe(1); return false">' + Dsq.Strings.SUBSCRIBE_BY_EMAIL + '</a>')
				+ '</span> \
			</span> \
			<span class="dsq-subscribe-rss" style="width:12px;height:12px;vertical-align:middle"> \
				<img src="http://media.disqus.com/images/embed/bullet-feed.png" alt="" /> \
				<a href="http://scobleizer.disqus.com/google_android_we_want_developers_but8230/latest.rss">' + Dsq.Strings.SUBSCRIBE_BY_RSS + '</a> \
			</span> \
		</div> \
		';

		
		

		return html;

	};
	
	this.footer = function() {
		var html = '';

		html += Dsq.Templates.pagination();

		
		
			html += Dsq.Templates.realtime();
			html += Dsq.Templates.showThreadSettings();
			html += Dsq.Templates.postBox();

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		


		if (Dsq.jsonData.request.is_global_moderator) {
 			html += ' \
				<div class="dsq-global-moderator-extras">'
					+ '<strong>shortname:</strong> ' + Dsq.jsonData.forum.url
					+ '<strong>thread id:</strong> ' + Dsq.jsonData.thread.id
					+ '<strong>thread slug:</strong> ' + Dsq.jsonData.thread.slug
				+ '</div> \
			';
		}

		return html;
	};
	
	this.realtime = function() {
		var html = '';
		
		if (Dsq.jsonData.realtime_enabled) {
			html += '<div id="dsq-realtime-options" class="dsq-options">'
					 + Dsq.Strings.REALTIME_UPDATING_IS + ' <strong id="dsq-realtime-status" style="text-transform: lowercase">' + Dsq.Strings.ENABLED + '</strong>. \
					 <a href="#" id="dsq-realtime-toggle" style="text-transform: capitalize"></a> \
					</div>';
		}

		if (!Dsq.jsonData.forum.streaming_realtime) {
			html += ' \
				<div style="display: none" id="dsq-realtime-alert" class="dsq-realtime-alert"><span id="dsq-realtime-queued"></span> <a href="#" id="dsq-realtime-show"></a></div> \
			';
		}
		
		return html;
	};

	this.showThreadSettings = function() {
		if (!Dsq.jsonData.request.is_moderator) {
			return '';
		}

		html = '<div id="dsq-thread-settings" class="dsq-thread-settings">' + Dsq.Strings.MODERATOR_OPTIONS;
		html += '<a href="#" onclick="Dsq.Thread.showSettings(); return false;">' + Dsq.Strings.SETTINGS + '</a>';
		html += '<a href="#" onclick="Dsq.Thread.showModeratorActions(); return false;">' + Dsq.Strings.MODERATE + '</a>';
		if (Dsq.jsonData.forum.reactions_enabled && Dsq.jsonData.reactions.length === 0) {
			html += '<a href="#" onclick="Dsq.Reaction.reportMissingReactions(); return false;">'
						+ Dsq.Strings.REPORT_MISSING_REACTIONS
						+ '</a>';
		}
		html +='</div>';

		return html;
	};

	this.postBox = function(post_id, use_fallback_iframe) {


		var html;
		var display_sharing_options = Dsq.jsonData.request.is_authenticated;

		if (!Dsq.jsonData.request.is_authenticated && Dsq.jsonData.forum.disqus_auth_disabled && !Dsq.jsonData.forum.allow_anon_post) {
			return '';
		}
		
		if (Dsq.jsonData.request.is_remote) {


			if (!Dsq.jsonData.request.sharing.hasOwnProperty(Dsq.jsonData.request.remote_domain)) {
				display_sharing_options = false;
			}
		}
		
		if (post_id) {
			var _meta = Dsq.jsonData.posts[post_id];
			var userData = Dsq.jsonData['users'][_meta.user_key];				
		}
		
		var pid = post_id ? '-' + post_id : '';

		var _requestUserInfo = function() {
			var html;



			var user_has_email = false;

			html = '<div class="dsq-request-user-info"> <!-- // If authenticated --> \
				<a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.LOGOUT + '?ctkn=' + Dsq.CSRF_TOKEN + '" class="dsq-request-user-logout">' + Dsq.Strings.LOGOUT + '</a> \
				<table> \
					<tr> \
						<td rowspan="2">'
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '<a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' : '')
								+ '<img src="' + Dsq.Urls.REQUEST_USER_AVATAR + '" width="48" height="48" class="dsq-request-user-avatar">'
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '</a>' : '')
						+ '</td> \
						<td class="dsq-request-user-name">'
								+ (Dsq.jsonData.request.is_remote
									 ? '<span class="dsq-badge-small dsq-badge-' + Dsq.jsonData.request.remote_domain + '">' + Dsq.jsonData.request.remote_domain + '</span>'
									 : (Dsq.jsonData.request.is_verified
											? '<span class="dsq-badge-small dsq-badge-verified">Verified</span>'
											: '<span class="dsq-badge-small dsq-badge-registered">Registered</span>'))
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? ' <a href="' + Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE + '">' : '') 
								+ Dsq.jsonData.request.display_username 
							+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '</a>' : '')
							+  (Dsq.jsonData.request.is_remote && user_has_email ? ' <small>(<a href="#" onclick="Dsq.Popup.remoteAccountSettings(); return false;">change settings</a>)</small>' : '')
							+  (!Dsq.jsonData.request.is_remote && !Dsq.jsonData.forum.disqus_auth_disabled ? ' <small>(<a href="' + Dsq.jsonData.settings.disqus_url + '/profile/info/" target="_blank">change name</a> or <a href="' + Dsq.jsonData.settings.disqus_url + '/profile/avatar/" target="_blank">picture</a>)</small>' : '')
						+ '</td> \
					</tr> \
					<tr> \
						<td class="dsq-request-user-stats"> \
							<span><big>' + Dsq.jsonData.request.comments_count + '</big> ' + (Dsq.jsonData.request.comments_count == 1 ? 'comment' : 'comments') + '</span> \
							<span><big>' + Dsq.jsonData.request.likes_count + '</big> ' + (Dsq.jsonData.request.likes_count == 1 ? 'like' : 'likes') + '</span> \
							<span><big>' + Dsq.jsonData.request.points + '</big> ' + (Dsq.jsonData.request.points == 1 ? 'point' : 'points') + '</span> \
						</td> \
					</tr> \
				</table> \
			</div> \
			';
			return html;
		};

		var _loginOptions = function() {
			var html;
			html = ' \
			<div class="dsq-authenticate"> \
				<p class="dsq-autheneticate-copy">'
				+ (Dsq.jsonData.forum.allow_anon_post
					? Dsq.Strings.YOU_ARE_COMMENTING_AS_A + ' <a class="dsq-help" title="Click for more information" href="#" onclick="Dsq.Popup.helpBadges(); return false">Guest</a>. ' + Dsq.Strings.OPTIONAL + ': ' + Dsq.Strings.LOGIN_BELOW + '.'
					: Dsq.Strings.REQUIRED + ': ' + Dsq.Strings.PLEASE_LOGIN_BELOW_TO_COMMENT + '.')
				+ '</p> \
				<ul class="dsq-login-buttons">'
					+ (!Dsq.jsonData.forum.disqus_auth_disabled ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Popup.login(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-disqus.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_fb_connect ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Facebook.login(); return false;"><img src="http://media.disqus.com/images/themes/narcissus/login-facebook.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_twitter_signin ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-twitter.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_openid ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.OpenID.requestURL(); return false" ><img src="http://media.disqus.com/images/themes/narcissus/login-openid.gif" /></a></li>' : '')
					+ (Dsq.jsonData.context.use_yahoo ? '<li class="dsq-login-button"><a href="#" onclick="Dsq.Yahoo.startYahooConnect(); return false"><img src="http://media.disqus.com/images/themes/narcissus/login-yahoo.gif" /></a></li>' : '')
				+ '</ul> \
			</div> \
			';
			return html;
		};

		if (!Dsq.jsonData.context.show_reply) {


			if (!Dsq.jsonData.request.is_authenticated) {



				return '<div id="dsq-form-area" style="display:none"><div id="dsq-textarea-wrapper"></div></div>' + _loginOptions();
			} else {
				return '';
			}
		}

		html = ' \
		<div id="' + (post_id 
			? 'dsq-reply-post-' + post_id
			: 'dsq-new-post')
		 	+ '" class="dsq-post-area"> \
			<div class="dsq-dc-logo"> \
				<a href="http://disqus.com/comments" target="_blank"><img src="http://media.disqus.com/images/themes/narcissus/disqus-logo.png"></a> \
			</div>'
			+ (post_id 
				? '<h3>' + Dsq.Strings.REPLYING_TO + ' ' + userData.display_name + '</h3>'
				: '<h3>' + Dsq.Strings.ADD_NEW_COMMENT + '</h3>')
			+ (Dsq.jsonData.request.is_authenticated 
				? _requestUserInfo()
				: _loginOptions() )
			+ '<div id="dsq-form-area' + pid + '">'
			+ '<div class="dsq-textarea"> \
				<div class="dsq-textarea-wrapper" id="dsq-textarea-wrapper' + pid + '"></div> \
			</div>'
			+ (!Dsq.jsonData.request.is_authenticated
			? ' \
			<div class="dsq-post-fields"> \
				<table> \
					<tr> \
						<td class="dsq-post-fields-left"><div class="dsq-input-wrapper"><input id="dsq-field-name' + pid + '" type="text" value="' + (disqus_def_name ? disqus_def_name : (Dsq.jsonData.session.name ? Dsq.jsonData.session.name : Dsq.Strings.NAME + '" class="dsq-placeholder')) + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'name\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'name\')" /></div></td> \
						<td class="dsq-post-fields-right"><div class="dsq-input-wrapper"><input id="dsq-field-website' + pid + '" type="text" value="' + (Dsq.jsonData.session.url ? Dsq.jsonData.session.url : Dsq.Strings.WEBSITE + ' (' + Dsq.Strings.OPTIONAL.toLowerCase() + ')" class="dsq-placeholder') + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'website\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'website\')" /></div></td> \
					</tr> \
					<tr> \
						<td class="dsq-post-fields-left"><div class="dsq-input-wrapper"><input id="dsq-field-email' + pid + '" type="text" value="' + (disqus_def_email ? disqus_def_email : (Dsq.jsonData.session.email ? Dsq.jsonData.session.email : Dsq.Strings.EMAIL + '" class="dsq-placeholder')) + '" onfocus="Dsq.Templates.handlePlaceholder(event, this, \'email\')" onblur="Dsq.Templates.handlePlaceholder(event, this, \'email\')" /></div></td> \
						<td class="dsq-post-fields-right"> \
							<div class="dsq-subscribe"> \
								<a href="#" onclick="Dsq.Templates.chooseSubscribe(' + post_id + '); return false" class="dsq-subscribe-menu"><span id="dsq-subscribe-select' + pid + '">' + (Dsq.jsonData.request.subscribe_on_post ? Dsq.Strings.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL : Dsq.Strings.DO_NOT_SUBSCRIBE_TO_COMMENTS) + '</span> <small>&#9660;</small></a> \
								<ul class="dsq-panel" id="dsq-subscribe-menu' + pid + '"> \
									<li><a href="#" onclick="Dsq.Templates.setSubscribe(2, this, ' + post_id + '); return false">' + Dsq.Strings.SUBSCRIBE_TO_ALL_COMMENTS_BY_EMAIL + '</a></li> \
									<li><a href="#" onclick="Dsq.Templates.setSubscribe(0, this, ' + post_id + '); return false">' + Dsq.Strings.DO_NOT_SUBSCRIBE_TO_COMMENTS + '</a></li> \
								</ul> \
								<input id="dsq-subscribe-on-post' + pid + '" type="hidden" value="' + Dsq.jsonData.request.subscribe_on_post + '" /> \
							</div> \
						</td> \
					</tr> \
				</table> \
			</div>'
			: '')
			+ '<div class="dsq-post-footer"> \
				<div class="dsq-sharing-options" ' + (!display_sharing_options ? 'style="display:none;"' : '') + '> \
					<button type="button" class="dsq-button-small" onfocus="document.getElementById(\'dsq-post-button' + pid + '\').focus();"><span>' + Dsq.Strings.SHARING_OPTIONS + ' <small>&#9660;</small></span></button> \
					<div class="dsq-panel"> '
						+ (Dsq.jsonData.request.sharing.twitter !== undefined
								&& Dsq.jsonData.request.sharing.twitter.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-twitter' + pid + '"'
								  + (Dsq.jsonData.request.sharing.twitter.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-twitter' + pid + '">' + Dsq.Strings.SHARE_ON + ' Twitter</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.facebook
								&& (Dsq.jsonData.request.sharing.facebook.enabled === true ||
										(Dsq.jsonData.request.is_remote && Dsq.jsonData.request.remote_domain == 'facebook'))
							? '<div><input type="checkbox" id="dsq-sharing-facebook' + pid + '"'
									+ (Dsq.jsonData.request.sharing.facebook.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-facebook' + pid + '">' + Dsq.Strings.SHARE_ON + ' Facebook</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.yahoo !== undefined
								&& Dsq.jsonData.request.sharing.yahoo.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-yahoo' + pid + '"'
									+ (Dsq.jsonData.request.sharing.yahoo.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-yahoo' + pid + '">' + Dsq.Strings.SHARE_ON + ' Yahoo!</label> \
								</div>'
							: '')
						+ (Dsq.jsonData.request.sharing.tumblr !== undefined
								&& Dsq.jsonData.request.sharing.tumblr.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-tumblr' + pid + '"'
									+ (Dsq.jsonData.request.sharing.tumblr.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-tumblr' + pid + '">' + Dsq.Strings.SHARE_ON + ' Tumblr</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.wordpress !== undefined
								&& Dsq.jsonData.request.sharing.wordpress.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-wordpress' + pid + '"'
									+ (Dsq.jsonData.request.sharing.wordpress.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-wordpress' + pid + '">' + Dsq.Strings.SHARE_ON + ' Wordpress</label> \
								 </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.movabletype !== undefined
							  && Dsq.jsonData.request.sharing.movabletype.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-movabletype' + pid + '"'
									+ (Dsq.jsonData.request.sharing.movabletype.auto === true ? 'checked=true' : '') + '/> \
									<label for="dsq-sharing-movabletype' + pid + '">' + Dsq.Strings.SHARE_ON + ' Movable Type</label> \
							   </div>'
							: '')
						+ (Dsq.jsonData.request.sharing.typepad !== undefined
							  && Dsq.jsonData.request.sharing.typepad.enabled === true
							? '<div><input type="checkbox" id="dsq-sharing-typepad' + pid + '"'
									+ (Dsq.jsonData.request.sharing.typepad.auto === true ? 'checked=true' : '') + '/> \
								  <label for="dsq-sharing-typepad' + pid + '">' + Dsq.Strings.SHARE_ON + ' TypePad</label> \
							   </div>'
							: '')
						+ '<div><a href="' + Dsq.jsonData.settings.disqus_url + '/profile/connections/" target="_blank" class="dsq-configure-options">' + Dsq.Strings.CONFIGURE_OPTIONS + '</a></div>'
					+ '</div> \
				</div>'
				+ '<button type="button" class="dsq-button" id="dsq-post-button' + pid + '" onclick="Dsq.Templates.postComment(' + post_id + ', this, false)"><span>' + Dsq.Strings.POST_AS + ' '
				+ (Dsq.jsonData.request.display_username
					? Dsq.jsonData.request.display_username
					: Dsq.Strings.GUEST)
				+ '</span></button>'
				+ (post_id
					? '<button type="button" class="dsq-button" id="dsq-cancel-button' + pid + '" onclick="Dsq.Post.toggleReply(' + post_id +', this)"><span>' + Dsq.Strings.CANCEL + '</span></button>'
					: '')
			+ '</div>'
			+ '</div>' // end dsq-form-area
		+ '</div> \
		';
		
		return html;
	};




	this.appendPost = function(post_id) {
		var html = '<div id="dsq-append-post-' + post_id + '"></div>';
		return html;
	};

	this.postPrependHeader = function(post_id) {
		var html;
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		
		html = ' \
		<table> \
			<tr> \
				<td id="dsq-header-avatar-' + post_id + '" class="dsq-header-avatar" onmouseover="Dsq.Post.dropProfile(' + post_id + ')"> \
					<a id="dsq-avatar-' + post_id + '" class="dsq-avatar" href="' + userData.url + '" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">'
					+ (Dsq.jsonData.forum.show_avatar
					? '<img src="' + Dsq.jsonData.users[_meta.user_key].avatar + '" alt="" />'
					: '')
				+ '</a> \
				</td> \
				<td class="dsq-comment-header-meta"> \
		';

		
		return html;
	};
	
	this.postAppendHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var html;
		var parent_display_name = '';
		
		if(_meta.parent_post_id) {

			var _parent_meta = Dsq.jsonData.posts[_meta.parent_post_id];

			if (_parent_meta) {
				var parentUserData = Dsq.jsonData['users'][_parent_meta.user_key];
				parent_display_name = parentUserData.display_name;
			}
		}

		html = ' \
		<img src="http://media.disqus.com/images/themes/narcissus/moderator.png" class="dsq-moderator-star" title="Moderator" /> \
		<span class="dsq-comment-header-time"><a href="#comment-' + post_id + '" onclick="Dsq.Popup.permalink(' + post_id + ')" title="Permalink">' + (_meta.is_realtime ? Dsq.Strings.JUST_NOW : _meta.date) + '</a></span> '
		+ (_meta.parent_post_id && parent_display_name
			? '<a href="#comment-' + _meta.parent_post_id + '" title="Jump to comment">in reply to ' + parent_display_name + '</a>'
			: '')
		+ '</td> \
		<td id="dsq-like-pts-' + post_id + '" class="dsq-comment-header-likes">'
		+ (_meta.points
			? _meta.points + Dsq.Utils.pluralize(_meta.points, ' person', ' people') + ' liked this.'
			: '')
		+ '</td> \
		</tr> \
		</table> \
		';
		return html;
	};

	this.preBody = function(post_id) {
		var html = '';
		return html;
	};

	this.postFooter = function(post_id) {
		var html;
		var _meta = Dsq.jsonData.posts[post_id];
		if(_meta.killed || !_meta.approved) { return ''; }
		
		html = ' \
		<div class="dsq-comment-footer" id="dsq-comment-footer-' + post_id + '"> \
			<div class="dsq-comment-footer-left">'
				+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator
					? '<a href="#" onclick="Dsq.Templates.moderateOptions(' + post_id+ '); return false">' + Dsq.Strings.MODERATE + '</a>'
					: '')
				+ '<a href="#" id="dsq-post-report-' + post_id + '" class="dsq-post-report" onclick="Dsq.Post.report(' + post_id + ', false); return false;">' + Dsq.Strings.FLAG + '</a> \
			</div> \
			<div class="dsq-comment-footer-right">'
				+ (_meta.votable 
					? '<span id="dsq-like-' + post_id + '" class="dsq-like">'
					+ (!_meta.up_voted
						? '<button type="button" class="dsq-button-small" onclick="Dsq.Post.rate(this, ' + post_id + ', 1)" >Like</button>'
						: 'You liked this.&nbsp;&nbsp;')
					+ '</span>'
					: '')
				+ (_meta.can_reply && !_meta.has_replies && _meta.from_request_user
					? '<button type="button" class="dsq-button-small dsq-post-edit" onclick="Dsq.Post.edit(this, ' + post_id + ')" >' + Dsq.Strings.EDIT + '</button>'
					: '')
				+ (_meta.can_reply
					? '<span class="dsq-comment-footer-reply" id="dsq-comment-footer-reply-' + post_id + '" onclick="Dsq.Post.toggleReply(' + post_id +', this)"> \
						<button type="button" class="dsq-button-small">' + Dsq.Strings.REPLY + '</button> \
						<button type="button" class="dsq-comment-footer-reply-tab">' + Dsq.Strings.REPLY + '</button><span></span> \
					</span>'
					: '')
			+ '</div> \
		</div> \
		';
		
		return html;
	};



	
	this.showRetweets = function(id, limit, element_id /* Optional */) {
		var source, html = '';

		for (var i = 0, reaction; reaction = Dsq.jsonData.reactions[i]; i++) {
			if (reaction.id === id) {
				source = reaction.retweets;
			}
		}

		if (source) {
			if (limit === 0) {
				limit = source.length;
			}

			for (var j = 0; j < limit; j++) {
				var rt = source[j];
				html += '<a href="' + rt.url + '">' + rt.author_name + '</a>'	+ ((j === (limit - 1)) ? '.' : ', ');
			}
		}

		if (element_id === undefined) {
			return html;
		}

		var element = document.getElementById(element_id);
		element.innerHTML = html;
		return element;
	};

	this.showMoreReactions = function(reactions, has_more, start, limit) {
		var link = document.getElementById('dsq-show-more-reactions');
		var container = link.parentNode;
		container.removeChild(link);

		for (var i = 0, reaction; reaction = reactions[i]; i++) {
			var el = Dsq.Templates.generateReactionHTML(reaction);
			if (el) {
				container.innerHTML += el;
			}
		}

		if (has_more) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = start;
			var l = limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			container.innerHTML += '<li id="dsq-show-more-reactions" class="dsq-show-more-reactions"><button type="button" class="dsq-button-small" onclick="' + handler + '">Show more reactions</button></li>';
		}
	};

	this.generateReactionHTML = function(reaction) {
		if (reaction.body === null || reaction.body == '') {
			return;
		}

		if (reaction.author_name === '') {
			reaction.author_name = '&nbsp;';
		}

		if (reaction.url === '') {
			reaction.url = reaction.get_service_url;
		}

		var item = '<li class="dsq-comment dsq-reaction" id="dsq-reaction-' + reaction.id + '">'
			+ '<div class="dsq-comment-header"> \
			<table> \
			<tr> \
			<td class="dsq-header-avatar"> \
			';

		if (reaction.author_url && reaction.author_url !== '') {
			item += '<a target="_blank" href="' + reaction.author_url +'" class="dsq-avatar">';
		}

		if (reaction.avatar_url && reaction.avatar_url !== '') {
			item += '<img src="' + reaction.avatar_url + '"/>';
		} else {

			item += '<img src="' + Dsq.jsonData.media_url + '/images/noavatar92.png"/>';
		}

		var service_icon = (reaction.get_service_name == 'trackback' || reaction.get_service_name == 'pingback' ? 'rss' : reaction.get_service_name.replace(' ', ''));
		item += (reaction.author_url && reaction.author_url !== ''
				? '</a>'
				: '')
			+ '</td>'
			+ '<td><cite class="dsq-comment-cite">' + reaction.author_name + '</cite> <span class="dsq-comment-header-time">' + reaction.date_created + '</span></td>'
			+ '<td class="dsq-comment-header-likes"></td>'
			+ '</tr></table></div>' // end dsq-comment-header
			+ '<div class="dsq-reaction-header" \
				<table> \
					<tr> \
						<td class="dsq-reaction-header-left">'
							+ '<img class="dsq-service-icon" src="' + Dsq.jsonData.media_url + '/images/reactions/services/' + service_icon + '.png" />'
							+ ' From <a class="dsq-service-name" target="_blank" href="' + reaction.url + '">' + reaction.get_service_name + '</a> '
							+ 'via <a href="' + reaction.source_url + '">' + (reaction.source == 'backtype' ? 'BackType' : 'UberVU') + '</a>'
						+ '</td>'
						+ '<td class="dsq-reaction-header-right">';

			if(reaction.retweets) {
				var num_retweets = reaction.retweets.length;
				if (num_retweets > 0) {
					if (num_retweets == 1) {
						item += 'One more retweet from <a href="' + reaction.retweets[0].url + '">'  + reaction.retweets[0].author_name + '</a>';
					} else {
						item += (num_retweets + ' more retweets from ');
						item += '<span id="dsq-reaction-retweets-' + reaction.id + '">';
						var n_tweets = (num_retweets > 3) ? 3 : num_retweets;
						item += Dsq.Templates.showRetweets(reaction.id, n_tweets);
						if (n_tweets != num_retweets) {
							item += '</span> <a onclick="Dsq.Templates.showRetweets(' + reaction.id + ', 0, \'dsq-reaction-retweets-' + reaction.id + '\');'
								+ 'this.parentNode.removeChild(this); return false;" href="#">Show all</a>';
						}
					}
				}
			}	
			item += '</td></tr> \
			</table> \
			</div>' // end dsq-reaction-header
			+ '<div class="dsq-comment-body"> \
				<div class="dsq-comment-message">' + reaction.body + '</div>'
			+ '</div> \
			<div class="dsq-comment-footer"> \
				<div class="dsq-comment-footer-left"> \
				</div>'
				+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator 
					? ' \
					<div class="dsq-comment-footer-right"> \
						<button type="button" class="dsq-button-small dsq-hide-reaction" onclick="Dsq.Reaction.hide(' + reaction.id + ')">Hide</button> \
					</div>'
					: '')
			+ '</div>'
		item += '</li>'; /* Reaction HTML ends */
		return item;
	};

	this.reactions = function() {
		var html, reaction;

		if (Dsq.jsonData.reactions === undefined || Dsq.jsonData.reactions.length === 0) {
			return '';
		}

		html = '';
		for (var i = 0; reaction = Dsq.jsonData.reactions[i]; i++) {
			var item = Dsq.Templates.generateReactionHTML(reaction);
			if (item) {
				html += item;
			}
		}

		if (Dsq.jsonData.has_more_reactions) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = Dsq.jsonData.reactions_start;
			var l = Dsq.jsonData.reactions_limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			html += '<li id="dsq-show-more-reactions" class="dsq-show-more-reactions"><button type="button" class="dsq-button-small" onclick="' + handler + '">Show more reactions</button></li>';
		}

		return '<h3 id="dsq-reactions-title" class="dsq-h3-reactions">Reactions</h3><ul id="dsq-reactions" class="dsq-reactions">' + html + '</ul>';
	};
	
	this._popupGeneric = function(content) {
		return ' \
		<div class="dsq-popup-container"> \
			<table> \
				<tbody> \
					<tr> \
						<td class="dsq-popup-tl"></td><td class="dsq-popup-b"></td><td class="dsq-popup-tr"></td> \
					</tr> \
					<tr> \
						<td class="dsq-popup-b"></td> \
						<td class="dsq-popup-body"> \
							<div class="dsq-popup-content"> \
								<div class="dsq-popup-title"> \
									<button type="button" class="dsq-button-small" style="float:right" onclick="Dsq.Popup._closePopup(null, true)">Close</button>'
									+ content['header'] 
								+ '</div>'
								+ content['body']
							+ '</div> \
							<div class="powered-by"><a href="http://disqus.com/comments/">Powered by <img src="http://media.disqus.com/images/embed/disqus-logo.png" alt="Disqus Comments" style="margin-bottom:-5px" /></a></div> \
						</td> \
						<td class="dsq-popup-b"></td> \
					</tr> \
					<tr> \
						<td class="dsq-popup-bl"></td><td class="dsq-popup-b"></td><td class="dsq-popup-br"></td> \
					</tr> \
				</tbody> \
			</table> \
		</div> \
		';
	};



	
	this.chooseSubscribe = function(post_id) {

		var pid = post_id ? '-' + post_id : '';
		var menu = Dsq.$('dsq-subscribe-menu' + pid);
		
		menu.style.display = menu.style.display == 'block' ? 'none' : 'block';
		
	};
	
	this.setSubscribe = function(value, el, post_id) {

		var pid = post_id ? '-' + post_id : '';
		var input = Dsq.$('dsq-subscribe-on-post' + pid);
		var select = Dsq.$('dsq-subscribe-select' + pid);
		var menu = Dsq.$('dsq-subscribe-menu' + pid);
		
		select.innerHTML = el.innerHTML;
		input.value = value;
		this.chooseSubscribe(post_id);
	};
	
	this.getFormFields = function(post_id) {

		var fields = {};
		var pid = post_id ? '-' + post_id : '';
		var name = Dsq.$('dsq-field-name' + pid);
		var email = Dsq.$('dsq-field-email' + pid);
		var website = Dsq.$('dsq-field-website' + pid);
		var username = Dsq.$('dsq-field-username' + pid);
		var password = Dsq.$('dsq-field-password' + pid);

		fields = {
			'name': name,
			'email': email,
			'website': website,
			'username': username,
			'password': password
		}
		
		return fields;
	}
	
	this.validateFields = function(post_id) {
		
		if(Dsq.jsonData.request.is_authenticated) { return true; }
		
		var fields = Dsq.Templates.getFormFields(post_id);
		
		var nameField = fields.name;
		var websiteField = fields.website;
		var emailField = fields.email;
		
		websiteField.value = (websiteField.value == Dsq.Templates.placeholder['website']) ? '' : websiteField.value;
		
		var v = [{

			validator: Dsq.Validators.name,
			value: nameField.value
		}, {

			validator: Dsq.Validators.email,
			value: emailField.value
		}, {

			validator: Dsq.Validators.url,
			value: websiteField.value
		}];
		
		return Dsq.Validators.validate(v, function(e) { Dsq.Popup.popModal(e, 'Oops...') } );
	};
	
	this.checkExistingUser = function(post_id) {
		var fields = Dsq.Templates.getFormFields(post_id);		
		Dsq.Popup.loading(post_id);
		
		if (post_id) {
			Dsq.frames['reply_' + post_id].getUserByEmail(fields.email.value);
		} else {
			Dsq.frames['reply_0'].getUserByEmail(fields.email.value);
		}
	};

	this.validateAuth = function(el_clicked, post_id, auth_choice) {
		var fields = Dsq.Templates.getFormFields(post_id);
		var email = fields.email ? fields.email.value : '';
		var username = fields.username ? fields.username.value : '';
		var password = fields.password ? fields.password.value : '';
		
		Dsq.Templates.setLoadingButton(el_clicked, post_id);
		
		if (post_id) {
			Dsq.frames['reply_' + post_id].validateAuth(auth_choice, email, username, password);
		} else {
			Dsq.frames['reply_0'].validateAuth(auth_choice, email, username, password);
		}
	};

	this.lightboxUpdateEmail = function(post_id, new_email) {
		var fields = Dsq.Templates.getFormFields(post_id);
		fields.email.value = new_email;
	};

	this.lightboxAuthenticate = function(post_id, auth_choice, auth_data) {
		var title, body;
		var pid = post_id ? '-' + post_id : '';

		if(typeof(auth_data) == 'undefined') {
			var auth_data = Dsq.Templates.getFormFields(post_id);
		}

		d = auth_data;

		switch(auth_choice) {
			case 'register':
				var suggestedUsername = d.name.value.replace(/[^a-zA-Z0-9-]/g,'').toLowerCase();
			
				title = Dsq.jsonData.forum.allow_anon_post ? 'Optional:' : 'Required:';
				title += ' Register a <img src="http://media.disqus.com/images/embed/disqus-profile.png" alt=Disqus Profile" />';

				body = ' \
				<ul class="dsq-lightbox-register-reasons"> \
				<li>Verify your comments</li> \
				<li>Edit and delete comments</li> \
				<li>Manage comments and replies</li> \
				</ul> \
				';

				body += ' \
				<div class="dsq-lightbox-auth-fields"> \
					<table> \
						<tr> \
							<td>Email</td> \
							<td><input type="text" value="' + d.email.value + '" onchange="Dsq.Templates.lightboxUpdateEmail(' + post_id + ', this.value)" /><div id="dsq-email-errors' + pid + '"></div></td> \
						</tr> \
						<tr> \
							<td>Username</td> \
							<td><input id="dsq-field-username' + pid + '" type="text" value="' + suggestedUsername + '"/><div id="dsq-username-errors' + pid + '"></div></td> \
						</tr> \
						<tr> \
							<td>Password</td> \
							<td><input id="dsq-field-password' + pid + '" type="password" /><div id="dsq-password-errors' + pid + '"></div></td> \
						</tr> \
					</table> \
					<div class="dsq-lightbox-switch-auth"><a href="#" onclick="Dsq.Templates.lightboxAuthenticate(' + post_id + ',\'login\'); return false">Login instead</a></div> \
				</div> \
				<div id="dsq-lightbox-errors' + pid + '" class="dsq-lightbox-errors"></div> \
				<div class="dsq-lightbox-submit"> \
					<div class="dsq-lightbox-auth-post"><button type="button" class="dsq-button" onclick="Dsq.Templates.validateAuth(this, ' + post_id + ',\'' + auth_choice + '\')">Register and Post comment</button></div>'
					+ (Dsq.jsonData.forum.allow_anon_post
						? '<div class="dsq-lightbox-auth-skip"><button type="button" class="dsq-button-small" onclick="Dsq.Templates.postComment(' + post_id + ', this, true)">Just post as a Guest</button></div>'
						: '')
				+ '</div> \
				';
				break;
			case 'login':
				title = Dsq.jsonData.forum.allow_anon_post ? 'Optional:' : 'Required:';
				title += ' Login to your <img src="http://media.disqus.com/images/embed/disqus-profile.png" alt=Disqus Profile" />';
				body = '';
				
				if(d.avatar_url) {
					body += '<div class="dsq-lightbox-recognized"><table><tr>';
					body += '<td><img src="' + d.avatar_url + '" alt="" /></td>';
					body += '<td><span class="dsq-badge ' + (d.verified ? 'dsq-badge-verified' : 'dsq-badge-registered') + '">' + (d.verified ? 'Verified' : 'Registered') + '</span></td>';
					body += '<td>Hey <strong>' + d.display_name + '</strong>, is that you? Login below to claim this comment.';
					body += '</tr></table></div>';
				}

				body += ' \
				<div class="dsq-lightbox-auth-fields"> \
					<table> \
						<tr> \
							<td>Username or Email</td> \
							<td><input id="dsq-field-username' + pid + '" type="text" value="' + (d.avatar_url ? d.username : '') + '" /></td> \
						</tr> \
						<tr> \
							<td>Password <a href="http://disqus.com/forgot" target="_blank">(cannot log in?)</a></td> \
							<td><input id="dsq-field-password' + pid + '" type="password" /></td> \
						</tr> \
					</table> \
					<div class="dsq-lightbox-switch-auth"><a href="#" onclick="Dsq.Templates.lightboxAuthenticate(' + post_id + ',\'register\'); return false">Register instead</a></div> \
				</div> \
				<div id="dsq-lightbox-errors' + pid + '" class="dsq-lightbox-errors"></div> \
				<div class="dsq-lightbox-submit"> \
					<div class="dsq-lightbox-auth-post"><button type="button" class="dsq-button" onclick="Dsq.Templates.validateAuth(this, ' + post_id + ',\'' + auth_choice + '\')">Login and Post comment</button></div>'
					+ (Dsq.jsonData.forum.allow_anon_post
						? '<div class="dsq-lightbox-auth-skip"><button type="button" class="dsq-button-small" onclick="Dsq.Templates.postComment(' + post_id + ', this, true)">Just post as a Guest</button></div>'
						: '')
				+ '</div> \
				';
				break;
			default:
				break;
		}
		Dsq.Popup.lightbox(body, title, post_id);
		Dsq.$('dsq-field-username' + pid).focus();
	};
	
	this.buttonsToRestore = [];
	this.setLoadingButton = function(btn, post_id) {
		var pid = post_id ? '-' + post_id : '';
		if (btn) {

			var loadingBtn = document.createElement('button');
			loadingBtn.id = btn.id + '-loading';
			loadingBtn.innerHTML = '<img src="http://media.disqus.com/images/loading-lite.gif" alt="" /> ' + Dsq.Strings.JUST_A_MOMENT;
			loadingBtn.className = btn.className + ' dsq-post-loading';
			btn.parentNode.appendChild(loadingBtn);
			btn.style.display = 'none';
			var cancelBtn = Dsq.$('dsq-cancel-button' + pid);
			if(cancelBtn) { cancelBtn.style.display = 'none'; this.buttonsToRestore.push(cancelBtn); }
			this.buttonsToRestore.push(btn);
		} else {

			var buttons = this.buttonsToRestore;
			for(var i = 0; i < buttons.length; i++) {
				buttons[i].style.display = 'inline';
				Dsq.Utils.deleteNode(Dsq.$(buttons[i].id + '-loading'));
			}
		}
		
	};

	this.postComment = function(post_id, el_clicked, force, auth_choice) {
		var append_id = post_id ? '-' + post_id : '';
		var fields = Dsq.Templates.getFormFields(post_id);

		if (Dsq.Templates.validateFields(post_id)) {

			if (!Dsq.jsonData.request.is_authenticated && !force &&
				((!Dsq.Utils.readCookie('skipped_auth') && !disqus_skip_auth && !Dsq.jsonData.forum.disqus_auth_disabled) || !Dsq.jsonData.forum.allow_anon_post)) {
				Dsq.Templates.checkExistingUser(post_id);
				return false;
			}
			var params = [];
			if (!Dsq.jsonData.request.is_authenticated) {
				params.push(fields.name.value,
					fields.email.value,
					fields.website.value);

				if (auth_choice == 'login' || auth_choice == 'register') {
					params.push({
						auth_choice: auth_choice,
						username: fields.username.value,
						password: fields.password.value,
						email: fields.email.value
					});
				} else {
					params.push(null);
				}

				params.push(null /* sharing options */, Dsq.$('dsq-subscribe-on-post' + append_id).value);
			} else {
				var service_checked = function(name) {
					var el = Dsq.$('dsq-sharing-' + name + append_id);
					return (el !== null && el.checked === true) ? '1' : '0';
				};
				params.push(null, null, null, null, {
					tw: service_checked('twitter'),
					fb: service_checked('facebook'),
					tr: service_checked('tumblr'),
					wp: service_checked('wordpress'),
					mt: service_checked('movabletype'),
					tp: service_checked('typepad'),
					yh: service_checked('yahoo')
				});
			}

			var frame = Dsq.frames['reply_' + (post_id ? post_id : 0)];
			frame.post.apply(frame, params);

			if (el_clicked) {
				Dsq.Templates.setLoadingButton(el_clicked, post_id);
			}
			
			if (force) {
				Dsq.Utils.createCookie('skipped_auth', true);	
			}
			
		} else {
			return false;
		}
	};

	this.editComment = function(el_clicked, post_id) {
		var edited_message = Dsq.$('dsq-edit-textarea-' + post_id).value;

		Dsq.Templates.setLoadingButton(el_clicked, post_id);
		Dsq.frames['edit_' + post_id].edit(post_id, edited_message);
	};

	this.toggleEdit = function(post_id) {
		var body = Dsq.$('dsq-comment-body-' + post_id);
		var message = Dsq.$('dsq-comment-message-' + post_id);

		if (!Dsq.Post.stateEditToggled[post_id]) {


			message.style.display = 'none';
			if (Dsq.$('dsq-edit-' + post_id)) {
				Dsq.$('dsq-edit-' + post_id).style.display = 'block';
			} else {

				var edit_area = document.createElement('div');
				edit_area.id = 'dsq-edit-' + post_id;
				edit_area.className = 'dsq-edit dsq-textarea';
				edit_area.innerHTML = ' \
				<div class="dsq-textarea-wrapper"> \
					<textarea class="dsq-edit-textarea" id="dsq-edit-textarea-' + post_id + '">' + message.innerHTML + '</textarea> \
				</div> \
				<div class="dsq-save-edit"> \
					<button type="button" onclick="Dsq.Templates.editComment(this, ' + post_id + ')" class="dsq-button-small">Save Edit</button> \
				</div> \
				<div id="dsq-edit-iframe-' + post_id + '" style="display: none"></div> \
				';

				body.appendChild(edit_area);

				if (!Dsq.frames['edit_' + post_id]) {
					var _meta = Dsq.jsonData.posts[post_id];
					Dsq.frames['edit_' + post_id] = new Dsq.ReplyFrame(Dsq.$('dsq-edit-iframe-' + post_id), post_id);
					Dsq.frames['edit_' + post_id].init();
					Dsq.frames['edit_' + post_id].setState(post_id, _meta.depth);
				}
			}
		} else {

			message.style.display = 'block';
			Dsq.$('dsq-edit-' + post_id).style.display = 'none';
		}
		
		Dsq.Post.stateEditToggled[post_id] = !Dsq.Post.stateEditToggled[post_id];
	};
	
	this.edit = function(el, post_id) {

		Dsq.Templates.toggleEdit(post_id);
	};

	this.toggleReply = function(post_id, button) {
		
		if(!this.stateReplyToggled[post_id]) {

			if (Dsq.$('dsq-reply-post-' + post_id)) {
				Dsq.$('dsq-append-post-' + post_id).style.display = 'block';
			} else {
				Dsq.$('dsq-append-post-' + post_id).innerHTML = Dsq.Templates.postBox(post_id);
				var container = Dsq.$('dsq-textarea-wrapper-' + post_id);
				if (!Dsq.frames['reply_' + post_id] && container) {
					var _meta = Dsq.jsonData.posts[post_id];
					Dsq.frames['reply_' + post_id] = new Dsq.ReplyFrame(container, post_id);
					Dsq.frames['reply_' + post_id].init(function() {

						Dsq.$('dsq-append-post-' + post_id).innerHTML = Dsq.Templates.postBox(post_id, true);
						Dsq.$('dsq-form-area-' + post_id).innerHTML = '';

						var theme = (typeof disqus_frame_theme == 'undefined') ? 'default' : disqus_frame_theme;
						Dsq.Iframes.showReplyIframeInContainer(Dsq.$('dsq-form-area-' + post_id), post_id, {theme: theme});

					});
					Dsq.frames['reply_' + post_id].setState(post_id, _meta.depth);
				}
			}
			Dsq.$('dsq-append-post-' + post_id).className = 'dsq-append-post';
			Dsq.$('dsq-comment-footer-reply-' + post_id).className = 'dsq-comment-footer-reply-active';
			
		} else {

			Dsq.$('dsq-append-post-' + post_id).style.display = 'none';
			Dsq.$('dsq-append-post-' + post_id).className = '';
			Dsq.$('dsq-comment-footer-reply-' + post_id).className = 'dsq-comment-footer-reply';
		}
		
		this.stateReplyToggled[post_id] = !this.stateReplyToggled[post_id];

		if(Dsq.Utils.ie && this.stateReplyToggled[post_id]) {

		}

		Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_TOGGLED, {
			postId: post_id,
			opened: this.stateReplyToggled[post_id]
		});
	};
	
	this.moderateOptions = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		
		if(!Dsq.jsonData.request.is_moderator && !Dsq.jsonData.request.is_global_moderator) { return false; }

		var html;
		
		html = ' \
		<div class="dsq-moderate-options"> \
		<table>'
		+ (_meta.email ? '<tr><td>Email</td><td>' + _meta.email + '</td></tr>' : '')
		+ (_meta.ip ? '<tr><td>IP address</td><td>' + _meta.ip + '</td></tr>' : '')
		+ '<tr> \
			<td>Actions</td> \
			<td><ul>'
			+ (Dsq.jsonData.request.moderator_can_edit
				? '<li><a href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); Dsq.Popup._closePopup(null, true); return false;">Edit Comment</a></li>'
				: '')
			+ '<li><a href="#" onclick="Dsq.Post.removePost(' + post_id + ', 1); Dsq.Popup._closePopup(null, true); return false;">Delete Comment</a></li> \
			<li><a href="#" onclick="Dsq.Post.reportSpam(' + post_id + '); Dsq.Popup._closePopup(null, true); return false;">Mark Spam</a></li> \
			<li><a href="#" onclick="Dsq.Popup.blacklist(' + post_id + '); return false">Block User</a></li> \
			</ul></td> \
			</table> \
		</div> \
		';
		
		html += '<p>Go to the full <a href="http://disqus.com/comments/moderate/" target="_blank">moderate panel</a> for more options.</p>';
		
		return Dsq.Popup.popModal(html, 'Moderate Options', post_id);
	};
	
	this.placeholder = {
		'class': 'dsq-placeholder',
		'name': Dsq.Strings.NAME,
		'email': Dsq.Strings.EMAIL,
		'website': Dsq.Strings.WEBSITE + ' (' + Dsq.Strings.OPTIONAL.toLowerCase() + ')'
	};
	
	this.handlePlaceholder = function(evt, el, key) {
		var placeholder = Dsq.Templates.placeholder[key];
		var className = Dsq.Templates.placeholder['class'];
		
		switch(evt.type) {
			case 'focus':
				if(el.value == placeholder) {
					el.value = '';
					el.className = '';
				}
				break;

			case 'blur':
				if(el.value == '') {
					el.value = placeholder;
					el.className = className;
				}
				break;
			default:
				break;
		}
	};
	
	this.paginate = function(page, el_clicked) {

		var extra_params = '';

		if(typeof disqus_per_page != 'undefined') {
			extra_params += '&per_page=' + disqus_per_page;
		}
		if(typeof disqus_sort != 'undefined') {
			extra_params += '&sort=' + disqus_sort;
		}

		Dsq.$('dsq-pagination').innerHTML += '<img src="http://media.disqus.com/images/loading-small.gif">';
		
		if(el_clicked) {
			Dsq.Templates.setLoadingButton(el_clicked);
		}
		
		Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/thread.js'
			+ '?slug='	+ 'google_android_we_want_developers_but8230'
			+ '&p='		+ page
			+ extra_params);
	};
	
	
	this.rate = function(el, id, vote) {


		if(Dsq.jsonData.request.is_authenticated || Dsq.jsonData.forum.allow_anon_votes) {
			if(vote == 1) {
				Dsq.$('dsq-like-' + id).innerHTML = '<img src="http://media.disqus.com/images/loading-small.gif">';
			}
			Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/vote.js'
				+ '?post_id='    + id
				+ '&vote='        + vote);
		} else {
			Dsq.Popup.login('To rate, please log in');
		}
	};

	this.voted = function(post_id, points, vote) {

		Dsq.$('dsq-like-pts-' + post_id).innerHTML = points + Dsq.Utils.pluralize(points, ' person', ' people') + ' liked this.';

		if(vote) {
			Dsq.$('dsq-like-' + post_id).innerHTML = 'You liked this.&nbsp;&nbsp;';
		}
	};




	this.postComment_onSuccess = function(response, parent_post_id, post_id) {
		var approved = response.message.post_meta.approved;

		if (parent_post_id) {
			Dsq.Post.toggleReply(parent_post_id);
		}

		Dsq.Popup._closePopup(null, true);
		
		if (approved) {
			Dsq.Post.incrementPostCount();
			Dsq.Post.outlineComment(post_id);
		} else {			
			var unapproved_msg = 'Thanks for posting!\
	 Your comment must be approved by a moderator before appearing here.\
			';
			Dsq.Popup.popModal(unapproved_msg, 'Comment awaiting approval', post_id);
		}

		var sharing_results = response.message.sharing_results;
		var sharing_errors = '';
		for (var service in sharing_results) {
			if (sharing_results.hasOwnProperty(service) === true) {
				if (sharing_results[service].error === true) {
					sharing_errors += service + ', ';
				}
			}
		}

		if (sharing_results.facebook && sharing_results.facebook.callback) {
			FB.ensureInit(function() {
				FB.Connect.streamPublish('', sharing_results.facebook.attachment);
			});
		}

		if (sharing_errors !== '') {
			var message = 'Your comment was posted, but there were errors sharing with the following connections: ';
			message += sharing_errors.replace(/,\s$/, '');
			message += '<p><a href="' + Dsq.jsonData.settings.disqus_url + '/profile/connections" target="_blank">Configure your connections here</a></p>'
			Dsq.Popup.popModal(message, 'Sharing options');
		}

		Dsq.Templates.setLoadingButton(false);
	};

	this.postComment_onFailure = function(response, parent_post_id, post_id) {

		Dsq.Templates.setLoadingButton(false);
	};
};




// TODO: It might be faster to use string methods to find all <li (...) </li> blocks and pass to Dsq.PostHandler manually.
Dsq.CommentsHandler = function(str, head, post_id, content, tail, offset, s) {
	var prepend_post = Dsq.Templates.prependPost(post_id);
	var append_post = Dsq.Templates.appendPost(post_id);

	content = content.replace(Dsq.POST_RE, Dsq.PostHandler);
	Dsq.Templates.postLoopCounter++;
	head = Dsq.Templates.Filters.commentContainer(post_id, head);
	return prepend_post + head + content + tail + append_post;
};

Dsq.PostHandler = function(str, h_head, post_id, h_content, h_tail, b_head, b_content, b_tail, offset, s) {
	var prepend_header = Dsq.Templates.postPrependHeader(post_id);
	var append_header = Dsq.Templates.postAppendHeader(post_id);
	var prepend_body = Dsq.Templates.preBody(post_id);
	var append_body = Dsq.Templates.postBody(post_id);
	var append_footer = Dsq.Templates.postFooter(post_id);

	b_content = b_content.replace(Dsq.POST_BODY_RE, Dsq.PostBodyHandler);
	return h_head + prepend_header + h_content + append_header + h_tail + b_head + prepend_body + b_content + append_body + b_tail + append_footer;
};

Dsq.PostBodyHandler = function(str, head, post_id, content, tail, offset, s) {
	content = Dsq.Templates.Filters.commentContent(post_id, content);
	return head + content + tail;
};

Dsq.MediaPostHandler = function(str, args, offset, s) {
	args = args.split(' ');
	if(args[0] == 'seesmic') {
		return '<br />' + Dsq.Templates.mediaSeesmic(args[1], args[2]);
	}
	return '';
};


/**
 * Shorcuts
 */
Dsq.$ = function(element) { return document.getElementById(element); };
Dsq.$b = document.body || document.getElementsByTagName('body')[0];


/**
 * Dsq.Debug: Logging functions.
 */

Dsq.Debug = new function() {this.log=function(s){};this.profile=function(f){if(typeof f == 'function')return f();else return eval(f);};};


/**
 * Dsq.Urls: URL paths
 */
Dsq.Urls = new function() {
	this.LOGIN = '/profile/login/';
	this.LOGOUT = '/logout/';
	this.REPLY = 'http://scobleizer.disqus.com/google_android_we_want_developers_but8230/reply.html';
	this.REQUEST_USER_PROFILE = '/AnonymousUser/';
	this.REQUEST_USER_AVATAR = 'http://media.disqus.com/images/noavatar92.png';
};
// Dsq.Urls

/**
 * Dsq.Validators: Validation for form fields
 */
Dsq.Validators = new function() {
	this.VALID_EMAIL_RE = /^[a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*\@(([a-z0-9\-\_\+]+(\.[a-z0-9\-\_\+]+)*)+\.[a-z]{2,}|([0-9]+\.){3}[0-9]+)$/i;
	this.name = function(name) {
		var error = false;

		if(typeof Dsq.Templates.placeholder !== 'undefined' &&
		   name == Dsq.Templates.placeholder.name) {
			error = true;
		}
		if(name.length <= 1) {
			error = true;
		}

		if(error) {
			return "Please enter a name to comment.";
		} else {
			return true;
		}
	};
	this.email = function(addr) {
		if(Dsq.Validators.VALID_EMAIL_RE.test(addr)) {
			return true;
		} else {
			return "Please enter a valid email to comment.";
		}
	};
	this.url = function(addr) {
		if(!addr || addr.indexOf('.') != -1) {
			return true;
		} else {
			return "Please check your website URL (this field is optional).";
		}
	};

	this.validate = function(bulk_validation, failure_callback) {
		failure_callback = failure_callback || function(e){ alert(e); };

		for(var i = 0; i < bulk_validation.length; i++) {
			v = bulk_validation[i];
			ret = v.validator(v.value);
			if(ret !== true) {
				failure_callback(ret);
				return false;
			}
		}
		return true;
	};
};

/**
 * Dsq.Utils: Generic utility functions.
 */
Dsq.Utils = new function() {
	this.ie = /msie/i.test(navigator.userAgent) && !/opera/i.test(navigator.userAgent);
	this.ie7 = (document.all && !window.opera && window.XMLHttpRequest) ? true : false;
	this.ie6 = (!window.XMLHttpRequest) ? true: false;
	this.webkit = navigator.userAgent.indexOf('AppleWebKit/') >= 0;
	this.gebiFromElementCollectionCache = {};
	this._styleSheet = null;

	this.gebiFromElement = function(el, id, tag) {
		// This only method only helps IE.
		if(!this.ie) {
			return Dsq.$(id);
		} else {
			var cacheKey = el.id + '-' + tag;
			tag = tag || 'div';
			if(typeof this.gebiFromElementCollectionCache[cacheKey] != 'undefined') {
				collection = this.gebiFromElementCollectionCache[cacheKey];
			} else {
				collection = el.getElementsByTagName(tag);
				this.gebiFromElementCollectionCache[cacheKey] = collection;
			}

			for(var i = 0; i < collection.length; i++) {
				if(collection[i].id == id) {
					return collection[i];
				}
			}
			return null;
		}
	};

	this.execOnReady = function(func) {
		var node = document.createElement('document:ready');
		try {
			node.doScroll('left');
			func();
			node = null;
		} catch(err) {
			setTimeout(function() { Dsq.Utils.execOnReady(func); }, 10);
		}
	};


	// Courtesy of http://www.quirksmode.org/js/cookies.html
	this.createCookie = function(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	};

	this.readCookie = function(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	};

	this.eraseCookie = function(name) {
		Dsq.Utils.createCookie(name,"",-1);
	};

	this.deleteNode = function(node) {
		if(node) {
			this.deleteChildren(node);
			if(typeof node.outerHTML != 'undefined') { node.outerHTML = ''; }
			else if(node.parentNode) { node.parentNode.removeChild(node); }
			delete node;
		}
	};

	this.deleteChildren = function(node) {
		if(node) {
			for(var x = node.childNodes.length-1; x >= 0; x--) {
				var childNode = node.childNodes[x];
				if(childNode.hasChildNodes()) { this.deleteChildren(childNode); }
				if(typeof childNode.outerHTML != 'undefined') { childNode.outerHTML = ''; }
				else node.removeChild(childNode);
				delete childNode;
			}
		}
	};

	this.findPos = function(obj) {
		var curleft = 0;
		var curtop = 0;
		if (obj.offsetParent) {
			do {
				curleft += obj.offsetLeft;
				curtop += obj.offsetTop;
			} while (obj = obj.offsetParent);
		}
		return [curleft,curtop];
	};

	this.getWindowSize = function() {
		var windowWidth = -1;
		var windowHeight = -1;

		if(typeof(window.innerWidth) == 'number') { //Non-IE
			windowWidth = window.innerWidth;
			windowHeight = window.innerHeight;
		} else if(document.documentElement) { // IE 6+ in 'standards compliant mode'
			windowWidth = document.documentElement.clientWidth || document.body.clientWidth;
			windowHeight = document.documentElement.clientHeight || document.body.clientHeight;
		}

		return [windowWidth, windowHeight];
	}

	this.getScrollPos = function() {
		var scrollWidth, scrollTop;

		if(document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollWidth)) {
			scrollWidth = document.documentElement.scrollWidth;
			// IE is weird here.  If no doctype is provided, document.body.scrollTop is 0,
			// otherwise document.documentElement.scrollTop is 0.
			scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
		} else if(document.body.scrollTop && document.body.scrollWidth) {
			scrollWidth = document.body.scrollWidth;
			scrollTop = document.body.scrollTop;
		}

		return [scrollWidth, scrollTop];
	}

	this.addEventListener = function(instance, eventName, listener) {
		var listenerFn = listener;
		if (instance.addEventListener) {
			instance.addEventListener(eventName, listenerFn, false);
		} else if (instance.attachEvent) {
			listenerFn = function() {
				listener(window.event);
			};
			instance.attachEvent("on" + eventName, listenerFn);
		} else {
			throw new Error("Event registration not supported");
		}
		return {
			instance: instance,
			name: eventName,
			listener: listenerFn
		};
	};

	this.removeEventListener = function(event) {
		var instance = event.instance;
		if (instance.removeEventListener) {
			instance.removeEventListener(event.name, event.listener, false);
		} else if (instance.detachEvent) {
			instance.detachEvent("on" + event.name, event.listener);
		}
	};

	this.fixIframesIE = function(id) {
		var disqusThread = Dsq.$(disqus_container_id);
		var iframes = disqusThread.getElementsByTagName('iframe');

		if(id) {
			var container = Dsq.$(id);
		} else {
			var container = Dsq.$('dsq-content');
		}

		for(i = 0; i < iframes.length; i++) {
			if (container) {
				iframes[i].style.width = container.offsetWidth;
			}
		}
	};

	this.getElementsByClassName = function(oElm, strTagName, strClassName) {
	/* Credit: Jonathan Snook [http://www.snook.ca/jonathan], Robert Nyman [http://www.robertnyman.com] */
		var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
		var arrReturnElements = new Array();
		strClassName = strClassName.replace(/\-/g, "\\-");
		var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
		var oElement;
		for(var i = 0; i < arrElements.length; i++) {
			oElement = arrElements[i];
			if(oRegExp.test(oElement.className)) {
				arrReturnElements.push(oElement);
			}
		}
		return (arrReturnElements);
	};

	this.postToUrl = function(url, post_data, opt_redirect) {
		var form = document.createElement('form');
		var iframe_container = document.createElement('div');
		var id = 'dsq-temp-iframe-' + (new Date()).getTime();

		form.method = 'POST';
		form.action = url;
		if (!opt_redirect) {
			form.target = id;
		}
		iframe_container.innerHTML = '<iframe style="display:none" name="' + id + '" id="' + id + '"></iframe>';

		for(var key in post_data) {
			if(post_data.hasOwnProperty(key)) {
				var input = document.createElement('input');
				input.name = key;
				input.type = 'hidden';
				input.value = post_data[key];

				form.appendChild(input);
			}
		}

		Dsq.$b.appendChild(iframe_container);
		Dsq.$b.appendChild(form);
		form.submit();
	};

	// Strips integer id from id of element in the form ('some-id-###')
	this.extractId = function(e) {
		var chunks = e.id.split('-');
		if(chunks.length <= 1) {
			return 0;
		} else {
			var retval = parseInt(chunks[chunks.length-1]);
			return !isNaN(retval) ? retval : null;
		}
	};

	this.getStyle = function(el, styleProp) {
		if(el.currentStyle) {
			var y = el.currentStyle[styleProp];
		} else if(window.getComputedStyle) {
			var y = document.defaultView.getComputedStyle(el, null).getPropertyValue(styleProp);
		}

		if(y == 'transparent' || y == '') {
			this.getStyle(el.parentNode, styleProp);
		} else {
			return y;
		}
	};

	this.execScript = function(url, append_qs, container) {
		var script = document.createElement('script');
		append_qs = typeof append_qs == 'undefined' ? true : append_qs;
		container = container || Dsq.container;

		if(append_qs) {
			var j = (url.indexOf('?') >= 0) ? '&' : '?';
			url += j + (new Date()).getTime();
		}
		script.type = 'text/javascript';
		script.charset = 'UTF-8';
		script.src = url;
		container.appendChild(script);
		return script;
	};

	this.pluralize = function(num, singular, plural) {
		return (num != 1) ? plural || 's' : singular || '';
	};

	this.getRequestParams = function(queryString /* optional */) {
		var pairs, tuple;
		var params = {};

		queryString = queryString || window.location.search.substring(1);
		pairs = queryString.split('&');

		for (var i = 0, pair; pair = pairs[i]; i++) {
			tuple = pair.split('=');
			params[tuple[0]] = (tuple[1] || true);
		}

		return params;
	};

	this.addCssRule = function(selector, styleText, index) {
		var stylesheet;
		index = index || 0;

		if(!this._styleSheet) {
			var styleEl = document.createElement('style');
			document.getElementsByTagName('head')[0].appendChild(styleEl);
			this._styleSheet = styleEl.sheet;
			if(!this._styleSheet) {
				// IE does not like our newly created stylesheet.
				this._styleSheet = document.styleSheets[document.styleSheets.length-1];
			}
		}
		stylesheet = this._styleSheet;

		if(stylesheet.insertRule) {
			var ruleText = selector + ' { ' + styleText + ' }';
			if(index == -1) {
				index = stylesheet.cssRules.length;
			}
			stylesheet.insertRule(ruleText, index);
		} else if(stylesheet.addRule) {
			stylesheet.addRule(selector, styleText, index);
		}
	};

	this.forEachIn = function(obj, callback) {
		for(var key in obj) {
			if(obj.hasOwnProperty(key)) {
				callback(key, obj[key]);
			}
		}
	};

	this._interpolateGlobalContext = {
		// values that get used a lot and are global to the request
		'profile_url': Dsq.Urls.REQUEST_USER_PROFILE,

		'disqus_url': Dsq.jsonData.settings.disqus_url,
		'media_url': Dsq.jsonData.settings.media_url,
		'request_username': Dsq.jsonData.request.username,
		'request_display_username': Dsq.jsonData.request.display_username,
		'forum_name': Dsq.jsonData.forum.name
	};

	this.renderFromContextStack = function(key, contexts) {
		// Returns the first instance of `key` in the array of objects `contexts` or else ''
		for (var i=0; i<contexts.length; i++) {
			if (contexts[i][key] !== undefined) {
				return String(contexts[i][key]);
			}
		}
		throw new Error('key ' + key + ' not found in context');
	};

	var that = this;
	this.interpolate = function(fmt, opt_localContext) {
		// Interpolate `fmt` named-format string with an assumed global context.
		// Based on `interpolate` in django.views.i18n
		var contextStack = [opt_localContext || {}, that._interpolateGlobalContext];
		return fmt.replace(/%\(\w+\)s/g, function(match){
			return that.renderFromContextStack(match.slice(2,-2), contextStack);
		});
	};

	this.stripTags = function(s) {
		// Removes HTML tags from `s`
		return s.replace(/(<([^>]+)>)/g,"");

	};

	this.assert = function(b) {
		if (!b) {
			throw new Error('Assertion error.');
		}
	};

};
// Dsq.Utils

/**
 * Dsq.Popup: Popup helper functions.
 */
Dsq.Popup = new function() {
	this.timeHide = new Array();
	this.timeShow = new Array();
	this.activePopup = {};
	this.profileCache = {};
	this.statusCache = {};

	this.showTimer = function(post_id) {
		// clear the hide timer
		clearTimeout(this.timeHide[post_id]);

		// start the timer
		if(!Dsq.Popup.profileIsOn && !Dsq.Thread.adminIsOn) {
			this.timeShow[post_id] = setTimeout("Dsq.Popup.popProfile(\"" + post_id + "\")", 400);
		}
	};

	this.hideTimer = function(post_id) {
		// clear the show timer
		clearTimeout(this.timeShow[post_id]);
	};

	this.updateProfile = function(username) {
		// Callback from /embed/profile.js
		if (this.statusCache[username]) {
			var statusEl = Dsq.$('dsq-profile-status-' + username);
			statusEl.innerHTML = this.statusCache[username];
			statusEl.style.display = 'block';
		}

		if (this.profileCache[username]) {
			var _cache = this.profileCache[username];

			var _genhtml = function(text) { return '<span><big>' + text + '</big></span>'; };
			var _no_comments = _genhtml(Dsq.FmtStrings.NUMBER_OF_COMMENTS(_cache.comments_count));
			var _no_likes = _genhtml(Dsq.FmtStrings.NUMBER_OF_LIKES(_cache.likes_count));
			var _no_points = _genhtml(Dsq.FmtStrings.NUMBER_OF_POINTS(_cache.points));

			var statsEl = Dsq.$('dsq-popup-profile-user-stats-' + username);
			statsEl.innerHTML = '';

			if (Dsq.jsonData.users[username].registered) {
				statsEl.innerHTML = _no_comments + _no_likes;
			}
			statsEl.innerHTML += _no_points;

			var activeSites = '';
			for (var i = 0; i < _cache.active_sites.length; i++) {
				var site = _cache.active_sites[i];
				activeSites += '<li><a href="' + site.url + '"> \
					<img src="' + site.favicon + '"/ width="16" height="16"/></a>\
					<a href="' + site.url + '">' + site.name + '</a></li>';
			}
			if (activeSites !== '') {
				Dsq.$('dsq-popup-profile-active-sites-' + username).innerHTML = activeSites;
			} else {
				Dsq.$('dsq-popup-profile-active-sites-' + username).innerHTML = 'This site.';
			}

			var moderatedSites = '';
			for (var i = 0; i < _cache.moderated_sites.length; i++) {
				var site = _cache.moderated_sites[i];
				moderatedSites += '<li><a href="' + site.url + '"> \
					<img src="' + site.favicon + '"/ width="16" height="16"/></a>\
					<a href="' + site.url + '">' + site.name + '</a></li>';
			}
			if (moderatedSites !== '') {
				Dsq.$('dsq-popup-profile-moderated-' + username).innerHTML = moderatedSites;
			} else {
				Dsq.$('dsq-popup-profile-moderated-wrapper-' + username).innerHTML = '';
			}
		}

		// Reposition popup after full HTML is rendered
		if(Dsq.Popup.activePopup && Dsq.Popup.activePopup.el) {
			Dsq.Popup.initPopup(Dsq.Popup.activePopup.el, Dsq.Popup.activePopup.id, Dsq.Popup.activePopup.type);
		}

	};

	this.showCookieMsgs = function() {
		var title = '';
		var message = '';
		var numAlerts = 0;

		Dsq.Utils.forEachIn(Dsq.jsonData.cookie_messages, function(k, v) {
			if (!v) return;

			switch(k) {
				// Cookie: Twitter
				case 'post_twitter':
					if (v === 'error') {
						title = 'Twitter Error!';
						message += '<li id="dsq-msg-twitter-error">Oops, we couldn\'t tweet this comment. Please check your <a href="http://disqus.com/account/services">account settings</a>.</li>';
					} else {
						var _msg = v.split(':');
						title = 'Tweeted!';
						message += '<li id="dsq-msg-twitter-success">Your comment was successfully tweeted. <a href="http://twitter.com/' + _msg[0] + '/status/' + _msg[1] + '">Click here to view the tweet</a>.</li>';
					}
					break;
				// Cookie: Unapproved Post
				case 'post_not_approved':
					title = 'Comment awaiting approval by a moderator';
					message += '<li id="dsq-msg-post-not-approved">Your comment must be approved by a moderator before appearing here.</li>';
					break;
				// Cookie: Profile Found
				case 'post_has_profile':
					title = 'Use your existing commenter profile';
					message += '<li id="dsq-msg-post-has-profile">You have just posted your commment as a <span class="dsq-badge-guest">Guest</span>, but you may already have a <span class="logo-disqus">Disqus</span> Profile.<br /><br /><a href="http://disqus.com/claim">Log in and claim this comment!</a></li>';
					break;
				case 'user_created':
					var _data = v.split(':');
					title = 'Profile created!';
					message += '<li id="dsq-msg-user-created">You have just created a <span class="logo-disqus">Disqus</span> Profile, the best way to claim, manage, and track your comments all over the web. \
					<br /><br />A confirmation is being sent to <strong>' + _data[1] + '</strong>. Please check for this email in order to verify your profile. \
					<ul class="dsq-list-tick"> \
						<li>Your username is <strong>' + _data[0] +'</strong>. <a href="http://disqus.com/people/' + _data[0] + '/" target="_blank">Click here to view your public profile</a>.</li> \
						<li>Be sure to set your profile picture, as well as connect your <span class="dsq-badge-facebook">Facebook</span> and <span class="dsq-badge-twitter">Twitter</span> accounts. <a href="http://disqus.com/account/" target="_blank">Click here for account settings</a>.</li> \
					</ul> \
					</li>'
					break;
				default:
					break;
			}
			numAlerts++;
		});

		if(numAlerts > 1) {
			message = '<ul class="dsq-list-bluebullet">' + message;
			message += '</ul>';
			title = 'Thanks for posting!';
		}
		if(numAlerts > 0) {
			if(typeof(disqus_cookie_msgs) == 'function') {
				disqus_cookie_msgs(message, title);
			} else {
				Dsq.Popup.popModal(message, title);
			}
		}
	};

	this.helpBadges = function(post_id) {
		var html = ' \
			<ul class="dsq-popup-help"> \
				<li><span class="dsq-badge dsq-badge-verified">Verified</span> has a <span class="logo-disqus">Disqus</span> Profile with a confirmed email address.</li> \
				<li><span class="dsq-badge dsq-badge-registered">Registered</span> has a <span class="logo-disqus">Disqus</span> Profile, but has not yet confirmed his or her email address.</li> \
				<li><span class="dsq-badge dsq-badge-guest">Guest</span> is not logged in with any account and has not claimed his or her comments.</li> \
				<li class="dsq-help-otheraccts">Other accounts</li> \
				<li><span class="dsq-badge dsq-badge-facebook">Facebook</span> is using his or her Facebook profile via Facebook Connect.</li> \
				<li><span class="dsq-badge dsq-badge-twitter">Twitter</span> is using his or her Twitter profile via Twitter Sign-in.</li> \
				<li><span class="dsq-badge dsq-badge-openid">OpenID</span> is using his or her OpenID.</li> \
			</ul> \
		';

		this.popModal(html, 'Help: Types of Commenters', post_id);
		return;
	};

	this.permalink = function(post_id) {
		var header = 'Link to this comment';
		var body = '<strong>You are anchored to</strong>:<br />' + document.location.protocol + '//' + document.location.host + document.location.pathname + document.location.search + '#comment-' + post_id;

		this.popModal(body, header, post_id);
	};

	this.login = function(header, body) {
		var h = header || 'Login or Register';
		var b = body || '';
		b += Dsq.Templates.frameLogin({id: 'dsq-popup-login'});
		b += '</iframe>'; // HACK: Sometimes there is something funky with the IFRAME SRC that causes no end tag
		this.popModal(b, h, null, true, 'dsq-popup-login');
	};

	this.blacklist = function(id) {
		var _meta = Dsq.jsonData.posts[id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		var title = 'Add to Blacklist';
		var message = ' \
		Adding this person to the blacklist will block him or her from commenting on this site. Check the following types that you would like to add to the blacklist:'
		+ (userData['registered'] ?
			'<div class="dsq-blacklist-option"> \
				<input id="dsq-blacklist-username" type="checkbox" checked> \
				<label for="dsq-blacklist-username"><strong>Username</strong>: ' + userData['username'] + '</label> \
			</div>'
			: '')
		+ (_meta.email ?
			'<div class="dsq-blacklist-option"> \
				<input id="dsq-blacklist-email" type="checkbox" checked> \
				<label for="dsq-blacklist-email"><strong>Email address</strong>: ' + _meta.email + '</label> \
			</div>'
			: '')
		+ '<div class="dsq-blacklist-option"> \
			<input id="dsq-blacklist-ip" type="checkbox" onclick="Dsq.$(\'dsq-blacklist-ip-warning\').style.display=\'block\'"> \
			<label for="dsq-blacklist-ip"><strong>IP address</strong>: ' + _meta.ip + '</label> \
		</div> \
		';

		message += ' \
			<p id="dsq-blacklist-ip-warning" style="display:none">	\
				Note: Blocking this person\'s IP address may also unintentionally prevent others, who share his/her IP address, from commenting on this site. \
				This may include people who are sharing the same computer, living in the same house, or using the same Internet provider. Only block an IP address as a last resort. \
			</p> \
		';

		message += ' \
			<p style="text-align:center"><button type="button" onclick="Dsq.Post.blockUser(' + id + '); this.disabled=true; this.innerHTML=\'Just one moment...\'">Add to Blacklist</button></p> \
		';

		Dsq.Popup.popModal(message, title);
	};

	this.remoteAccountSettings = function() {
		var body = '';
		// Set up IFrame.
		var params = {};
		var base_url = 'http://disqus.com/forums/scobleizer/_auth/embed/remote_settings/';
		var attributes = {id: 'dsq-popup-account-settings'};
		if (typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}

		body = Dsq.Templates._frameGeneric(base_url, params, attributes);
		this.popModal(body, 'Account Settings', null, true, 'dsq-popup-account-settings');
	};

	this.popModal = function(message, title, post_id, use_listener, extra_classes) {
		var container = document.createElement('div');
		var header, body;

		Dsq.Popup._closePopup(null, true);

		if(typeof(title) == 'undefined') { title = ''; }
		if(typeof(use_listener) == 'undefined') { use_listener = true; }

		if(post_id) {
			container.id = 'dsq-popup-message-' + post_id;
		} else {
			container.id = 'dsq-popup-message';
		}

		header = title;
		body = message;

		container.innerHTML = Dsq.Templates.popupModal(header, body);
		Dsq.Popup.initPopup(container, post_id, 'message', extra_classes);
		if(use_listener) {
			Dsq.Popup.popupListener = Dsq.Utils.addEventListener(document, 'mouseup', Dsq.Popup._closePopup);
		}
	};

	this.popAlert = this.popModal;

	this.loading = function(post_id) {
		var title = Dsq.Strings.JUST_A_MOMENT;
		var body = '<div style="text-align:center; padding: 5px 0 10px 0"><img src="http://media.disqus.com/images/loading.gif" alt="" /></div>'
		Dsq.Popup.lightbox(body, title, post_id);
	};

	this.lightbox = function(message, title, post_id) {
		// Wraps Dsq.Popup.popModal

		var overlay = document.createElement('div');
		overlay.id = 'dsq-overlay';
		overlay.className = 'dsq-overlay';
		Dsq.$b.appendChild(overlay);
		
		Dsq.Popup.popModal(message, title, post_id, false, 'dsq-lightbox');
	};

	this.popProfile = function(post_id, userKey) {
		var post = Dsq.jsonData['posts'][post_id];
		if (post && post.has_been_anonymized) {
			Dsq.Popup.popModal('This message was anonymized by its previous owner.', 'Anonymized', post_id);
			return;
		}

		if(post_id) {
			userKey = Dsq.jsonData['posts'][post_id].user_key;	
		}
		var userData = Dsq.jsonData['users'][userKey];
		var elId = 'dsq-popup-profile-' + userKey;
		var container = document.createElement('div');

		if(this.activePopup.el) {
			this._closePopup(null, true);
			if(this.activePopup.linkClicked) {
				this.activePopup.linkClicked = false;
				return;
			}
		}

		container.id = elId;
		container.innerHTML = Dsq.Templates.popupProfile(userKey);

		this.initPopup(container, post_id, 'profile');
		this.popupListener = Dsq.Utils.addEventListener(document, 'mouseup', this._closePopup);

		if(!this.profileCache[userKey]) {
			Dsq.Utils.execScript('http://disqus.com/embed/profile.js'
				+ '?username=' + userKey
				+ '&anon=' + (userData['registered'] ? 0 : 1)
				+ '&f=' + Dsq.jsonData['request'].forum);
		} else {
			this.updateProfile(userKey);
		}
	};

	this._closePopup = function(e, force) {
		var activePopup = Dsq.Popup.activePopup.el;
		var id = Dsq.Popup.activePopup.id;
		var link = 'dsq-avatar-' + id; // HACK: Specific to profile toggle target

		// HACK: This event should be gone if there is no active popup.
		if(!activePopup) {
			return;
		}
		if(force || !Dsq.Popup.isClicked(e, activePopup.id)) {
			// TODO: This is breaking iE?
			if(Dsq.Popup.popupListener) {
				Dsq.Utils.removeEventListener(Dsq.Popup.popupListener);
			}
			
			// Kill overlay
			var overlay = Dsq.$('dsq-overlay');
			if(overlay) { Dsq.Utils.deleteNode(overlay); }
			
			try {
				Dsq.Utils.deleteNode(activePopup);
			} catch(e) {
				// HACK: IE6 throws an error when using deleteNode() with a node containing a <table> in the html.
				activePopup.parentNode.removeChild(activePopup);
			}
			Dsq.Popup.activePopup = {};
		}

		if(!force && Dsq.Popup.isClicked(e, link)) {
 			Dsq.Popup.activePopup.linkClicked = true;
		}

	};

	this.initPopup = function(popup, post_id, type, extra_classes) {
		popup.className = 'dsq-popup dsq-popup-' + type + ' ' + (extra_classes ? extra_classes : '');
		if(Dsq.Utils.ie6 || Dsq.Utils.ie7) {
			// HACK: We can't modify the body before it's ready, so we need
			//       to use an IE-safe "DOMReady" workaround before loading
			//       our popup.
			Dsq.Utils.execOnReady(function() {Dsq.$b.appendChild(popup); });
		} else {
			Dsq.$b.appendChild(popup);
		}

		popup.style.display = 'block';

		var xPos = (Dsq.Utils.getWindowSize()[0] - popup.offsetWidth) / 2;
		var yPos = (Dsq.Utils.getWindowSize()[1] - popup.offsetHeight) / 2;

		if(Dsq.Utils.ie6) {
			yPos += Dsq.Utils.getScrollPos()[1];
		}

		popup.style.left = xPos + 'px';
		popup.style.top = yPos + 'px';

		Dsq.Popup.activePopup = {
			'el' : popup,
			'id' : post_id,
			'type': type,
			'linkClicked' : false
		};
	};

	this.isClicked = function(e, id) {
		var t = e.target || e.srcElement;
		while(t && t.parentNode) {
			if(t.id == id) {
				return true;
			}

			t = t.parentNode;
		}
		return false;
	};
};
// Dsq.Popup

/**
 * Dsq.Templates
 */
Dsq.Templates = new function() {
	/*
	 * Counter keeping track of the number of posts iterated over.
	 */
	this.postLoopCounter = 0;
	this.filters = {};
	this.addPostContainer = 'dsq-post-add';
	this.textareaContainer = 'dsq-post-add';

	this.registerTemplate = function(name, func) {
		this['$$_' + name] = func;

		if(typeof DsqLocal.Filters != 'undefined'
		&& typeof DsqLocal.Filters[name] == 'function') {
			// Push filters to this.filters to unify code.
			this.filters[name] = this.filters[name] || [];
			this.filters[name].push(DsqLocal.Filters[name]);
		}

		this[name] = function() {
			var ret;

			if(typeof DsqLocal.Templates != 'undefined'
			&& typeof DsqLocal.Templates[name] == 'function') {
				ret = DsqLocal.Templates[name].apply(this, arguments);
			}

			if(ret === undefined) {
				ret = this['$$_' + name].apply(this, arguments);
			}

			if(this.filters[name]) {
				var args = [ret];

				args.push.apply(args, arguments);
				for(var i = 0; i < this.filters[name].length; i++) {
					ret = this.filters[name][i].apply(this, args);
				}
			}

			return ret;
		};
	};

	this.registerFilter = function(name, func) {
		this.filters[name] = this.filters[name] || [];
		this.filters[name].push(func);
	};

	/**
	 * Dsq.Templates.Filters
	 */
	this.Filters = new function() {
		this.commentContainer = function(post_id, s) {
			var _meta = Dsq.jsonData.posts[post_id];
			var classes = [];
			if(Dsq.jsonData.request.page > 1) {
				classes.push('dsq-append');
			}

			//
			// Extra classes used for custom themes
			//

			if(_meta.depth) {
				classes.push('dsq-comment-child', 'dsq-depth-' + _meta.depth, 'dsq-parent-is-' + _meta.parent_post_id);
			}


			//

			if(_meta.author_is_creator) {
				// TODO: We need to deprecate the "special" class since it is not properly prefixed.
				classes.push('special', 'dsq-special');
			}
			if(_meta.author_is_moderator) {
				classes.push('dsq-moderator');
			}
			classes.push(['dsq-odd', 'dsq-even'][Dsq.Templates.postLoopCounter % 2]);

			s = s.substring(0, s.lastIndexOf('>'));
			return s + ' class="dsq-comment ' + classes.join(' ') + '" style="margin-left:' + _meta.depth*30 + 'px">';
		};

		this.commentContent = function(post_id, s) {
			var _meta = Dsq.jsonData.posts[post_id];
			if (_meta.killed) {
				return '<em>Comment removed.</em>';
			} else if (!_meta.approved) {
				return '<em>This comment was flagged for review.</em>';
			}

			s = s.replace(Dsq.MEDIA_POST_RE, Dsq.MediaPostHandler);
			return s;
		};
	};

	//
	// Thread
	//
	// TODO: These need to be stripped of all Django template tags.

	this.authPost = function() {
		if (!Dsq.jsonData.context.show_reply) {
			return '';
		}
		var result = [];
		result = result.concat([
				'<div id="dsq-auth"',
						Dsq.jsonData.integration.reply_position ? 'class="dsq-auth-bottom"' : '',
						'>',
					'<div class="dsq-by">',
						'<a href="http://disqus.com" target="_blank">',
							(Dsq.jsonData.integration.disqus_logo ?
								Dsq.Utils.interpolate('<img src="%(media_url)s/images/embed/by-disqus.png" alt="discussion by DISQUS">') :
								Dsq.Utils.interpolate('<img src="%(media_url)s/images/embed/dsq-button-120x19.png" alt="discussion by DISQUS">')
							),
						'</a>',
					'</div>',
					'<div class="dsq-auth-header">',
						'<h3 id="dsq-add-new-comment" class="dsq-h3-addcomment">',
								Dsq.Strings.ADD_NEW_COMMENT,
						'</h3>',
						'<div id="dsq-login">',
						(!Dsq.jsonData.request.is_authenticated && Dsq.jsonData.forum.allow_anon_post
								? '<p class="dsq-login-message" id="dsq-login-message">You are commenting as a <a class="dsq-help" title="Click for more information" href="#" onclick="Dsq.Popup.helpBadges(); return false">Guest</a>. You may select one to log into:</p>'
								: '')
		]);
		if (!Dsq.jsonData.request.is_authenticated) {
			result = result.concat([
							Dsq.Utils.interpolate(
								'<a id="dsq-login-toggle" href="%(disqus_url)s%(login_url)s?next=article:%(thread_id)s" onclick="Dsq.Popup.login(); return false"><img class="dsq-login-icon" src="%(media_url)s/images/dsq-profile-btn.png" title="%(log_into)s" alt="%(log_into)s"/></a>',
								{login_url: Dsq.Urls.LOGIN, thread_id: Dsq.jsonData.thread.id, log_into: Dsq.Strings.LOG_INTO_DISQUS}
								),
							'&nbsp; ',
							(Dsq.jsonData.context.use_fb_connect ?
								'<div id="dsq-fbc-login" onlogin="DisqusFbcParentController.onLogin()" size="medium" background="light" length="short" style="display:inline; margin-right:7px"></div>' :
								''
							),
							(Dsq.jsonData.context.use_twitter_signin ?
								Dsq.Utils.interpolate(
									'<div id="dsq-twitter-login" class="dsq-twitter-login" onclick="Dsq.Twitter.startTwitterConnect();" style="display:inline; cursor: pointer"><img src="%(media_url)s/images/twitter-signin-short.png" style="margin-right:7px" /></div>', {}) : ''),
							(Dsq.jsonData.context.use_openid ?
								Dsq.Utils.interpolate(
									'<div id="dsq-openid-login" class="dsq-openid-login" onclick="Dsq.OpenID.requestURL();" style="display:inline; cursor:pointer;"><img src="%(media_url)s/images/openid-login-button.png"/></div>', {}
								) : '')
			]);
		}
		result = result.concat([
						'</div>', // dsq-login
					'</div>', // dsq-auth-header
					'<div id="dsq-authenticated" class="dsq-authenticated" ',
						Dsq.jsonData.request.is_authenticated ? 'style="display:block"' : '',
						'>',
						'<div class="dsq-authenticated-pic">',
								Dsq.Utils.interpolate('<a href="%(url)s" title="%(request_display_username)s">' +
																			'<img class="dsq-post-avatar" src="%(avatar_url)s" alt="" /></a>',
																			{avatar_url: Dsq.Urls.REQUEST_USER_AVATAR,
																			url: (Dsq.jsonData.request.is_remote
																					 ? Dsq.jsonData.request.url
																					 : Dsq.jsonData.settings.disqus_url + Dsq.Urls.REQUEST_USER_PROFILE) }),
						'</div>',
						'<div class="dsq-authenticated-info">',
							'<ul>',
								'<li>',
									(Dsq.jsonData.request.is_remote
										? Dsq.FmtStrings.LOGGED_IN_AS(
												Dsq.Utils.interpolate('<a href="%(url)s" title="%(request_display_username)s">%(request_display_username)s</a>', {url:Dsq.jsonData.request.url})
										  )
										: Dsq.FmtStrings.LOGGED_IN_AS(
												Dsq.Utils.interpolate('<a href="%(disqus_url)s%(profile_url)s" title="%(request_display_username)s">%(request_display_username)s</a>')
											)
									),
								'</li>',
								'<li class="logout">',
									(!Dsq.jsonData.request.is_remote
										? Dsq.Utils.interpolate('<img class="dsq-login-icon" src="%(media_url)s/images/dsqicon12.png" alt="%(logged_in_as)s"/>&nbsp',
											{logged_in_as: Dsq.FmtStrings.LOGGED_IN_AS(Dsq.jsonData.request.display_username)})
										: ''),

									(!Dsq.jsonData.request.is_remote
										? Dsq.Utils.interpolate('<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="%(logout_from_disqus)s">',
											{logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN, logout_from_disqus: Dsq.FmtStrings.LOGOUT_FROM('DISQUS')})
										: ((Dsq.jsonData.request.remote_domain == 'twitter')
												? Dsq.Utils.interpolate('using Twitter (<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="Logout">Logout</a>)',
												 {logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN})
												: ((Dsq.jsonData.request.remote_domain == 'openid')
													 ? Dsq.Utils.interpolate('using OpenID (<a href="%(disqus_url)s%(logout_url)s?ctkn=%(csrf_token)s" title="Logout">Logout</a>)',
													 {logout_url: Dsq.Urls.LOGOUT, csrf_token: Dsq.CSRF_TOKEN})
													 : ''
													)
											)
									),

									(!Dsq.jsonData.request.is_remote ? Dsq.FmtStrings.LOGOUT_FROM('<span class="logo-disqus">DISQUS</span>') : ''),
									'</a>',
								'</li>',
							'</ul>',
						'</div>',
					'</div>'
		]);
		if (Dsq.jsonData.context.use_fb_connect) {
			result = result.concat([
					'<div id="dsq-fbc-authenticated" class="dsq-authenticated">',
						'<div id="dsq-fbc-profilepic" class="dsq-authenticated-pic" uid="loggedinuser" type="FB.XFBML.ProfilePic" size="square" facebook-logo="true"></div>',
						'<div class="dsq-authenticated-info">',
							'<ul>',
								'<li>',
									'Logged in as <span id="dsq-fbc-name" uid="loggedinuser" type="FB.XFBML.Name" linked="true" useyou="false"></span>',
								'</li>',
								'<li class="logout">using Facebook Connect <a href="#" onclick="javascript:DisqusFbcParentController.logout();return false;">(Logout)</a></li>',
							'</ul>',
						'</div>',
					'</div>'
			]);
		}
		result = result.concat([
				'</div>', // dsq-auth
				'<div id="dsq-toolbar-items">',
				'</div>'
		]);
		result = result.concat([
					//
					//
					//
				((!Dsq.jsonData.forum.allow_anon_post && !Dsq.jsonData.request.is_authenticated) ?
					// Needs to be translated:
					('<p id="dsq-no-anon-msg">Required: Please log into <span class="logo-disqus">Disqus</span> ' +
					(Dsq.jsonData.context.use_fb_connect ? 'or connect with Facebook ' : '') +
					(Dsq.jsonData.context.use_twitter_signin ? 'or sign in with Twitter ' : '') +
					(Dsq.jsonData.context.use_openid ? 'or sign in using OpenID ' : '') +
					Dsq.Utils.interpolate('to comment on <strong>%(forum_name)s</strong>.</p>')) :
					''
				),
				'<div id="dsq-post-add"></div>',
				'<div style="margin:10px 0">',
				((Dsq.jsonData.forum.use_media) ?
						'<a href="#" id="dsq-media-link" onclick="Dsq.Post.showMenu(this, false, \'media\'); return false">' + Dsq.Strings.USE_MEDIA + ' <small>&#9660;</small></a>' :
						''),
				'</div>'
		]);
		return result.join('');
	};


	this.header = function() {

		var html = '\<h3 id="dsq-comments-count" class="dsq-h3-commentcount">\
	 <span id="dsq-num-posts">95</span> Comments\
	 &nbsp;\
	 <span class="dsq-item-feed">\
	 <a href="http://scobleizer.disqus.com/google_android_we_want_developers_but8230/latest.rss"><img src="http://media.disqus.com/images/embed/bullet-feed.png"></a>\
	 </span>\
	 </h3>\
	 <div id="dsq-options" style="margin:15px 0">\
	 <span class="dsq-item-sort">\
	 Sort by\
	 <select id="dsq-sort-select" onchange="Dsq.Thread.sortBy(this.value);">\
	 <option value="hot" selected="selected">Popular now</option>\
	 <option value="best" >Best Rating</option>\
	 <option value="newest" >Newest first</option>\
	 <option value="oldest" >Oldest first</option>\
	 </select>\
	 &nbsp;\
	 </span>\
	 <span class="dsq-item-cp"><a href="http://scobleizer.disqus.com/google_android_we_want_developers_but8230/">Community Page</a>&nbsp;&nbsp;&nbsp;</span>\
	 <span class="dsq-item-subscribe">\
	 <img src="http://media.disqus.com/images/embed/email.png" style="width:12px;height:12px;vertical-align:middle">\
	 <span id="dsq-subscribe">\
	 <a href="#" onclick="Dsq.Thread.subscribe(1); return false">Subscribe by email</a>\
	 </span>\
	 </span>\
	 </div>\
	 <div id="dsq-alerts">\
	 <p>Comments for this page are closed.</p>\
	 </div>\
		';

		

		
		if (Dsq.jsonData.request.is_moderator) { 
			html = ' \
			<div class="dsq-alert-message dsq-upgrade-message"> \
				<strong>Disqus upgrade available.</strong> Hi ' + Dsq.jsonData.request.display_username + ', this message is being displayed to you because you are a moderator of this site. <a href="#" onclick="Dsq.$(\'dsq-upgrade-message\').style.display=\'block\';this.style.display=\'none\';return false">Click here for details.</a> \
				<div style="display:none; margin-top:10px;" id="dsq-upgrade-message"> \
					A new theme is available with added features. <a href="http://disqus.com/comments/settings/' + Dsq.jsonData.forum.url + '/?p=customize">To change your theme, click here</a> and choose the theme Narcissus. \
					If you do not upgrade, you are missing out on features such as: real-time commenting, new sign-in integrations, and an upgrade interface. \
					<strong>This message will automatically go away in one week.</strong> \
				</div> \
			</div> \
			' + html; 
		}
		return html;
	};

	this.footer = function() {
		var html = Dsq.Templates.pagination();

		
			html += Dsq.Templates.authPost();
		

		html += Dsq.Templates.reactions();

		
			html += Dsq.Templates.trackbacks();
		

		return html;
	};

	this.pagination = function() {
		var html = '';
		
		if (Dsq.$('dsq-pagination')) { Dsq.$('dsq-pagination').innerHTML = ''; }
		if (!Dsq.jsonData.thread.paginate) { return ''; }

		//
		// TODO: num_paginator still uses the template tag for pagination, 
		// 		while append_paginator does it all in JavaScript.
		//		This should all be in JavaScript.
		//

		if (Dsq.jsonData.thread.num_pages > 1 && Dsq.jsonData.request.page < Dsq.jsonData.thread.num_pages) {
			html = ' \<a class="dsq-paginate-append-text" href="#" onclick="Dsq.Thread.paginate(Dsq.jsonData.request.page + 1, this); return false">Show more comments...</a>\
	 <button type="button" class="dsq-button-small dsq-paginate-append-button" onclick="Dsq.Thread.paginate(Dsq.jsonData.request.page + 1, this);">Load more comments</button>\
			';
		}
		
		if (Dsq.$('dsq-pagination')) {
			Dsq.$('dsq-pagination').innerHTML = html;
			return '';
		} else {
			return '<div id="dsq-pagination" class="dsq-pagination">' + html + '</div>';
		}
	};

	this.trackbacks = function() {
		var html = '';

		if(typeof DsqLocal != 'undefined' && DsqLocal.trackback_url && DsqLocal.trackbacks) {
			var trackbacks = DsqLocal.trackbacks;
			var trackback_url = DsqLocal.trackback_url;
		} else {
			var trackbacks = [
			
			
			];
			var trackback_url = 'http://scobleizer.disqus.com/google_android_we_want_developers_but8230/trackback/';
		}

		html += '<div class="dsq-item-trackback">Trackback URL&nbsp;&nbsp;<input class="dsq-trackback-url" onclick="this.select()" readonly="true" value="' + trackback_url + '"></div>';

		if(trackbacks.length) {
			html += '<ul id="dsq-references">'
			for(var i = 0; i < trackbacks.length; i++) {
				var trackback = trackbacks[i];
				html += '<li><cite><a href="' + trackback.author_url + '" rel="nofollow">' + trackback.author_name + '</a></cite> \
						<p class="dsq-meta">' + trackback.date + '</p> \
						<p class="dsq-content">' + trackback.excerpt + '</p></li>';
			}
			html += '</ul>';
			html = '<h3 class="dsq-h3-trackbacks">Trackbacks</h3>' + html;
		}

		return html;
	}

	this.showRetweets = function(id, limit, element_id /* Optional */) {
		var source, html = '';

		for (var i = 0, reaction; reaction = Dsq.jsonData.reactions[i]; i++) {
			if (reaction.id === id) {
				source = reaction.retweets;
			}
		}

		if (source) {
			if (limit === 0) {
				limit = source.length;
			}

			for (var j = 0; j < limit; j++) {
				var rt = source[j];
				html += '<a href="' + rt.url + '">' + rt.author_name + '</a>'	+ ((j === (limit - 1)) ? '.' : ', ');
			}
		}

		if (element_id === undefined) {
			return html;
		}

		var element = document.getElementById(element_id);
		element.innerHTML = html;
		return element;
	};

	this.showMoreReactions = function(reactions, has_more, start, limit) {
		var link = document.getElementById('dsq-show-more-reactions');
		var container = link.parentNode;
		container.removeChild(link);

		for (var i = 0, reaction; reaction = reactions[i]; i++) {
			var el = Dsq.Templates.generateReactionHTML(reaction);
			if (el) {
				container.innerHTML += el;
			}
		}

		if (has_more) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = start;
			var l = limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			container.innerHTML += '<li id="dsq-show-more-reactions"><a href="#" onclick="' + handler + '">Show more reactions</a></li>';
		}
	};

	this.generateReactionHTML = function(reaction) {
		if (reaction.body === null || reaction.body == '') {
			return;
		}

		if (reaction.author_name === '') {
			reaction.author_name = '&nbsp;';
		}

		if (reaction.url === '') {
			reaction.url = reaction.get_service_url;
		}

		/* Reaction HTML begins */
		var item = '<li class="dsq-reaction" id="dsq-reaction-' + reaction.id + '">'
			+ '<div class="dsq-reaction-header">'
			+ '<div class="dsq-header-avatar">';

		if (reaction.author_url && reaction.author_url !== '') {
			item += '<a target="_blank" href="' + reaction.author_url +'">';
		} else {
			item += '<a target="_blank" href="#" onclick="return false;">';
		}

		if (reaction.avatar_url && reaction.avatar_url !== '') {
			item += '<img src="' + reaction.avatar_url + '"/>';
		} else {
			item += '<img src="' + Dsq.jsonData.media_url + '/images/noavatar32.png"/>';
		}

		var service_icon = (reaction.get_service_name == 'trackback' || reaction.get_service_name == 'pingback' ? 'rss' : reaction.get_service_name.replace(' ', ''));
		item += '<img class="dsq-service-icon" src="' + Dsq.jsonData.media_url + '/images/reactions/services/' + service_icon + '.png"/>'
			+ '</a></div>'
			+ '<cite><span>' + reaction.author_name + '</span></cite>'
			+ '<span class="dsq-header-meta"><a class="dsq-header-time">' + reaction.date_created + '</a></span>'
			+ '</div><div class="dsq-reaction-body">'
			+ '<div class="dsq-reaction-message">' + reaction.body + '</div>'
			+ '<div class="dsq-reaction-footer">From <a class="dsq-service-name" target="_blank" href="' + reaction.url + '">' + reaction.get_service_name + '</a> '
			+ 'via <a href="' + reaction.source_url + '">' + (reaction.source == 'backtype' ? 'BackType' : 'UberVU') + '</a>'
			+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator ? '&nbsp;&bull;&nbsp;<a class="dsq-hide-reaction" href="#" onclick="Dsq.Reaction.hide(' + reaction.id + '); return false;">Hide</a>' : '') + '</div></div>';

		if(reaction.retweets) {
			var num_retweets = reaction.retweets.length;
			if (num_retweets > 0) {
				item += '<div class="dsq-reaction-retweets">';
				if (num_retweets == 1) {
					item += 'One more retweet from <a href="' + reaction.retweets[0].url + '">'  + reaction.retweets[0].author_name + '</a>';
				} else {
					item += (num_retweets + ' more retweets from ');

					item += '<span id="dsq-reaction-retweets-' + reaction.id + '">';
					var n_tweets = (num_retweets > 15) ? 15 : num_retweets;
					item += Dsq.Templates.showRetweets(reaction.id, n_tweets);

					if (n_tweets != num_retweets) {
						item += '</span> <a onclick="Dsq.Templates.showRetweets(' + reaction.id + ', 0, \'dsq-reaction-retweets-' + reaction.id + '\');'
							+ 'this.parentNode.removeChild(this); return false;" href="#">Show all</a>';
					}
				}
				item += '</div>';
			}
		}

		item += '</li>'; /* Reaction HTML ends */
		return item;
	};

	this.reactions = function() {
		var html, reaction;

		if (Dsq.jsonData.reactions === undefined || Dsq.jsonData.reactions.length === 0) {
			return '';
		}

		html = '';
		for (var i = 0; reaction = Dsq.jsonData.reactions[i]; i++) {
			var item = Dsq.Templates.generateReactionHTML(reaction);
			if (item) {
				html += item;
			}
		}

		if (Dsq.jsonData.has_more_reactions) {
			var d = Dsq.jsonData.settings.disqus_url;
			var f = Dsq.jsonData.forum.url;
			var t = Dsq.jsonData.thread.id;
			var s = Dsq.jsonData.reactions_start;
			var l = Dsq.jsonData.reactions_limit;

			var handler = 'Dsq.Utils.execScript(\'' + d + '/forums/' + f + '/more_reactions.js?t=' + t + '&s=' + s + '&l=' + l + '\', true); return false;';
			html += '<li id="dsq-show-more-reactions"><a href="#" onclick="' + handler + '">Show more reactions</a></li>';
		}

		return '<h3 class="dsq-h3-reactions">Reactions</h3><ul id="dsq-reactions" class="dsq-reactions">' + html + '</ul>';
	};
	
	this.missingPermissions = function() {
		return '	<p>Comments for this page are closed.</p>\n';
	};

	//
	// Post
	//

	this.prependPost = function(post_id) {
		var html = '<div id="comment-' + post_id + '"></div>';
		return html;
	};

	this.appendPost = function(post_id) {
		var html = '<div id="dsq-comment-reply-' + post_id + '"></div>';
		return html;
	};

	this.postPrependHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];

		var _includeServices = function() {
			var userServices = Dsq.Post.getUserServices(null, post_id);
			var html = '';
			var hiddenThreshold = 3; // Define # of services to show before stuffing them in hidden div

			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == hiddenThreshold
					? '<li id="dsq-drop-hidden-' + post_id +'" class="dsq-drop-hidden"><ul>'
					: '')
				+ '<li class="dsq-drop-services"> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank"> \
						<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '">'
					+ userServices[i].name
					+ '</a> \
				</li>';
			}

			if(i >= hiddenThreshold) {
				html += '</ul></li> \
				<li id="dsq-drop-more-' + post_id + '" class="dsq-drop-more"><a href="#" onclick="Dsq.Post.dropProfileMore(this, '+ post_id + '); return false"><small>&#9660;</small></a></li> \
				';
			}
			return html;
		};

		return ' \
			<div class="dsq-header-avatar" id="dsq-header-avatar-' + post_id + '" onmouseover="Dsq.Post.dropProfile(' + post_id + ')"> \
				<a id="dsq-avatar-' + post_id + '" class="dsq-avatar" href="' + userData.url + '" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">'
			+ (Dsq.jsonData.forum.show_avatar
				? '<img src="' + Dsq.jsonData.users[_meta.user_key].avatar + '" alt="" />'
				: '')
			+ '</a>'
			+ '</div> \
		';
	};

	this.postAppendHeader = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];

		return ''
			+ (_meta.author_is_moderator
				? '<img class="dsq-mod-star" src="http://media.disqus.com/images/bullet-star.png" title="Moderator" alt="" />'
				: '')
			+ '<span class="dsq-header-meta"> \
				<a id="dsq-time-' + post_id + '" class="dsq-header-time" href="#comment-' + post_id + '" title="Permalink">' + _meta.date + '</a> \
			</span>';
	};

	this.preBody = function(post_id) {
		return '';
	}

	this.postBody = function(post_id) {
		// TODO: Deprecate flagging conditional
		var _meta = Dsq.jsonData.posts[post_id];
		return ''
			+ (_meta.edited
				? '<p class="dsq-editedtxt">(Edited by a moderator)</p>'
				: '')
			;
	};

	this.postFooter = function(post_id) {
		// TODO: Use media should be conditional
		var _meta = Dsq.jsonData.posts[post_id];
		if(_meta.killed) { return ''; }

		return ' \
			<div class="dsq-comment-footer" id="dsq-comment-footer-' + post_id + '"> \
				<div id="dsq-points-' + post_id + '" class="dsq-likedtxt">'
				+ (_meta.points
					? _meta.points + Dsq.Utils.pluralize(_meta.points, ' person', ' people') + ' liked this comment.'
					: '')
				+ '</div>'
				+ '<ul class="dsq-comment-options dsq-list-style">'
				+ (_meta.votable
					? '<li class="dsq-list-first dsq-rate" id="dsq-rate-cont-' + post_id + '">'
					+ (!_meta.up_voted
						? '<a href="#" onclick="Dsq.Post.rate(this, ' + post_id + ', 1); return false;">Like</a>'
						: 'You liked this.') + '</li>'
					: '')
				+ '<li class="dsq-report' + (!_meta.votable ? ' dsq-list-first' : '') + '" id="dsq-post-report-' + post_id + '"><a href="#" class="dsq-post-report" onclick="Dsq.Post.report(' + post_id + ', false); return false;">Report</a></li> \
				</ul> \
				<ul class="dsq-list-style">'
				+ (_meta.can_reply
					? '<li class="dsq-list-first"><a href="#" id="dsq-reply-link-' + post_id +'" onclick="Dsq.Post.toggleReply(this, ' + post_id +'); return false;">Reply</a></li>'
					: '')
				+ (_meta.can_reply && !_meta.has_replies && _meta.from_request_user
					? '<li id="dsq-edit-el-' + post_id + '"><a id="dsq-edit-link-' + post_id + '" href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); return false;">Edit</a></li>'
					: '')
				+ '<li class="' + (!_meta.can_reply ? 'dsq-list-first' : '') + '" id="dsq-more-el-' + post_id + '"><a id="dsq-more-link-' + post_id + '" href="#" onclick="Dsq.Post.showMenu(this, ' + post_id + ', \'more\'); return false">More <small>&#9660;</small></a></li>'
				+ (Dsq.jsonData.forum.use_media
					? '<li id="dsq-media-el-' + post_id +'" style="display:none"><a id="dsq-media-link-' + post_id + '" href="#" onclick="Dsq.Post.showMenu(this, ' + post_id + ', \'media\'); return false">Use Media <small>&#9660;</small></a></li>'
					: '')
				+ '</ul>'
				+ '<div id="dsq-reply-bar-' + post_id + '" class="dsq-reply-bar" style="display:none"> \
						<div id="dsq-reply-bar-items-' + post_id + '" class="dsq-reply-bar-items"> \
						</div> \
						<div id="dsq-reply-bar-auth-' + post_id + '" class="dsq-reply-bar-auth"> \
							 \
								 \
								 	<a href="#" class="dsq-help dsq-reply-req-opt" title="You are commenting as a Guest. You may choose to log into an existing DISQUS Profile, your Facebook, Twitter or OpenID account to comment on Scobleizer" onclick="Dsq.Popup.helpBadges(); return false">Optional:</a> \
								 \
								<img class="dsq-login-icon" src="http://media.disqus.com/images/dsq-favicon-16x16.png" alt="" /> \
								<a id="dsq-reply-login-' + post_id + '" href="http://disqus.com/profile/login/?next=article:18349605" onclick="Dsq.Popup.login(); return false">Login</a> \
								 \
									&nbsp;or&nbsp; \
									<img class="fb_login_image" src="http://static.ak.fbcdn.net/images/fbconnect/login-buttons/connect_light_small_short.gif" alt="Facebook Connect"/> \
									<a href="#" onclick="FB.Connect.requireSession(DisqusFbcParentController.onLogin); return false;">Connect</a> \
								 \
								&nbsp;or&nbsp; \
									<img src="http://media.disqus.com/images/twitter-signin-icon.png" alt="" /> \
									<a href="#" onclick="Dsq.Twitter.startTwitterConnect(); return false">Sign-in</a> \
								 \
								 \
							 \
						</div> \
					</div> \
					<div id="dsq-reply-' + post_id + '"></div> \
			</div> \
		';
	};

	//
	// Iframes
	//

	this._makeAttributes = function(attributes) {
		// Makes a tag attributes string out of an object.
		// Caller is responsible for making sure nothing needs to be escaped.
		var result = [];
		for (key in attributes) {
			result.push(' ' + key + '="' + attributes[key] + '"');
		}
		result = result.join('');
		return result;
	};

	this._frameGeneric = function(base_url, params, attributes) {
		if(typeof(disqus_callback_params) == 'undefined') {
			disqus_callback_params = '';
		}

		var default_params = {
			// TODO: These should be moved to Dsq.jsonData.
			'f'				: 'scobleizer',
			't'				: 'google_android_we_want_developers_but8230',
			// Do we need encodeURIComponent here?
			'ifrs'			: encodeURIComponent(disqus_iframe_css),
			'to_redirect'	: encodeURIComponent(window.location),
			'cbp'			: disqus_callback_params,
			'ff'			: Dsq.Thread.ff,
			'fc'			: Dsq.Thread.fc,
			'ac'			: Dsq.Thread.ac,
			'default_text'	: disqus_default_text
		};

		base_url += '?' + (new Date()).getTime();
		// Add params to default_params.
		if(params) {
			for(var key in params) {
				if(params.hasOwnProperty(key)) {
					default_params[key] = encodeURIComponent(params[key]);
				}
			}
		}
		// Build querystring.
		for(var key in default_params) {
			if(default_params[key] && default_params.hasOwnProperty(key)) {
				base_url += '&' + key + '=' + default_params[key];
			}
		}

		return [
			'<iframe marginwidth="0" marginheight="0" hspace="0" vspace="0" frameborder="0"',
			(' allowtransparency="true" src="' + base_url + '"'),
			this._makeAttributes(attributes),
			'</iframe>'].join('');
	};

	this.frameLogin = function(opt_attributes) {
		var params = {};
		var base_url = 'http://disqus.com/embed/login.html';
		var attributes = opt_attributes || {};
		attributes['class'] = 'dsq-post-login';

		if(typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}
		return this._frameGeneric(base_url, params, attributes);
	};

	this.frameReply = function(post_id, extra_params, attributes) {
		// Returns the HTML for a reply iframe. Called by Dsq.Iframes.setReplyIframeToContainer
		var _meta = (typeof post_id != 'undefined') ? Dsq.jsonData.posts[post_id] : false;
		var base_url = Dsq.Urls.REPLY;
		var params = {
			'def_email'		: disqus_def_email,
			'def_name'		: disqus_def_name
		};
		if(extra_params) {
			for(var key in extra_params) {
				if(extra_params.hasOwnProperty(key)) {
					params[key] = extra_params[key];
				}
			}
		}
		if(_meta) {
			params['parent_post'] = post_id;
		}
		if(typeof disqus_per_page != 'undefined') {
			params['per_page'] = disqus_per_page;
		}
		if(typeof disqus_frame_theme != 'undefined') {
			params['theme'] = disqus_frame_theme;
		}
		if(Dsq.jsonData.request.is_authenticated) {
			attributes['class'] += '-authenticated';
		}
		return this._frameGeneric(base_url, params, attributes);
	};

	this.frameEdit = function(post_id) {
		var _meta = (typeof post_id != 'undefined') ? Dsq.jsonData.posts[post_id] : false;
		var base_url = 'http://disqus.com/embed/edit.html';
		var params = {
			'p' : post_id
		};
		return this._frameGeneric(base_url, params, {'class': 'dsq-post-edit', 'name': 'dsq-edit_' + post_id + '-frame'});
	};

	//
	// Menus
	//

	this.menuMore = function(post_id) {
		// TODO: "Remove post" button should hide menu.
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];
		return ' \
			<li><a href="#comment-' + post_id + '" onclick="Dsq.Popup.permalink(' + post_id + ')">Link</a></li> \
			<li><a href="#" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">Profile</a></li>'
	+ (Dsq.jsonData.request.is_moderator || Dsq.jsonData.request.is_global_moderator
		? '	<li class="dsq-menu-sep"></li>' + (_meta.email ? '<li class="dsq-admin-email">' + _meta.email + '</li>' : '')
		+ '	<li class="dsq-admin-ip">' + _meta.ip + '</li> \
			<li class="dsq-menu-sep"></li>'
		+ (Dsq.jsonData.request.moderator_can_edit
			? ' <li class="dsq-admin-edit"><a href="#" onclick="Dsq.Post.edit(this, ' + post_id + '); return false;">Edit Comment</a></li>'
			: '')
		+ ' <li class="dsq-remove"><a href="#" onclick="Dsq.Post.removePost(' + post_id + ', 1); return false;">Remove Comment</a></li> \
			<li class="dsq-report-spam"><a href="#" onclick="Dsq.Post.reportSpam(' + post_id + '); return false;">Mark Spam</a></li> \
			<li class="dsq-block-user"><a href="#" onclick="Dsq.Popup.blacklist(' + post_id + '); return false">Block User</a></li>'
		: '');
	};

	this.menuMedia = function(post_id) {
		return ' \
			<li><a href="#" onclick="Dsq.Post.toggleMediaReply(this, ' + post_id + ', \'seesmic\'); return false;">Record video</a></li> \
		';
	};

	this.dropProfile = function(post_id) {
		var _meta = Dsq.jsonData.posts[post_id];
		var userData = Dsq.jsonData['users'][_meta.user_key];

		var _includeServices = function() {
			var userServices = Dsq.Post.getUserServices(null, post_id);
			var html = '';
			var hiddenThreshold = 3; // Define # of services to show before stuffing them in hidden div

			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == hiddenThreshold
					? '<li id="dsq-drop-hidden-' + post_id +'" class="dsq-drop-hidden"><ul>'
					: '')
				+ '<li class="dsq-drop-services"> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank"> \
						<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '">'
					+ userServices[i].name
					+ '</a> \
				</li>';
			}

			if(i >= hiddenThreshold) {
				html += '</ul></li> \
				<li id="dsq-drop-more-' + post_id + '" class="dsq-drop-more"><a href="#" onclick="Dsq.Post.dropProfileMore(this, '+ post_id + '); return false"><small>&#9660;</small></a></li> \
				';
			}
			return html;
		};


		var menu = '<li class="dsq-drop-showlnk"><a href="#" onclick="Dsq.Popup.popProfile(' + post_id + '); return false;">Expand &#8663;</a></li>';
		var pointsMessage = '';
		if (userData['registered']) {
			pointsMessage = 'with ' + userData['points'] + ' points (more points are better).';
		}

		if (userData['is_remote']) {
			var domain = userData['remote_domain_name'];
			menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' is a ' + domain + ' user ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
			menu += '<span class="dsq-badge-' + domain.toLowerCase() + '">' + domain + '</span></li>';
		} else if (userData['registered']) {
			if (userData['verified']) {
				menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has a verified commenter profile ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
				menu += '<span class="dsq-badge-verified">Verified</span></li>';
			} else {
				menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has a registered, but unverified, commenter profile ' + pointsMessage + '" onclick="Dsq.Popup.helpBadges()">';
				menu += '<span class="dsq-badge-registered">Registered</span></li>';
			}
		} else {
			menu += '<li class="dsq-drop-badge" title="' + userData['display_name'] + ' has not claimed this commenter profile." onclick="Dsq.Popup.helpBadges()"><span class="dsq-badge-guest">Guest</span></li>';
		}

		menu += _includeServices();
		return menu;
	};

	//
	// Popups
	//

	this._popupGeneric = function(content) {
		return ' \
		<div class="dsq-popup-content"> \
			<div class="dsq-popup-top"></div> \
			<div class="dsq-popup-body" class="clearfix"> \
				<div class="dsq-popup-body-padding"> \
					<div class="dsq-popup-header"> \
						<a class="dsq-close-link" href="#" onclick="Dsq.Popup._closePopup(null, true); return false"><img src="http://media.disqus.com/images/modal-close.png" alt="" /></a>'
						+ content['header']
					+ '</div>'
					+ content['body']
					+ '<div class="powered-by"><a href="http://disqus.com/comments/">Powered by <img src="http://media.disqus.com/images/embed/disqus-logo.png" alt="Disqus Comments" style="margin-bottom:-5px" /></a></div> \
				</div> <!-- padding --> \
			</div> <!-- body --> \
			<div class="dsq-popup-bottom"></div> \
		</div> \
		';
	};

	this.popupProfile = function(user_key) {
		var userServices = Dsq.Post.getUserServices(user_key, null);
		var userData = Dsq.jsonData['users'][user_key];
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		var _includeServices = function() {
			var html = '';
			for(var i = 0; i < userServices.length; i++) {
				html +=
				(i == 0
					? '<h4>Connections</h4><ul>'
					: '')
				+ '<li> \
					<img src="' + Dsq.jsonData.media_url + '/images/embed/services/' + userServices[i].name.toLowerCase() + '.png" alt="' + userServices[i].name.toLowerCase() + '" title="' + userServices[i].name.toLowerCase() + '" /> \
					<a class="dsq-service-' + userServices[i].name.toLowerCase() + '" href="' + userServices[i].url + '" target="_blank">'
					+ userServices[i].name
					+ '</a> \
				</li>'
				+ (i+1 == userServices.length ? '</ul>' : '');
			}
			return html;
		};

		headerHtml = ' \
			<table> \
				<tr> \
					<td> \
						<a class="dsq-profile-userurl" href="' + userData.url + '"><img class="dsq-popup-profile-avatar" src="' + userData['avatar'] + '" alt="" /></a> \
					</td> \
					<td> \
						<div class="dsq-popup-profile-user"> \
							<h3>' + userData['display_name'] + '</h3> \
							<div class="dsq-popup-profile-user-stats" id="dsq-popup-profile-user-stats-' + user_key + '">Loading...</div> \
						</div> \
					</td> \
				</tr> \
			</table> \
		';

		bodyHtml = ' \
			<div class="dsq-popup-profile-state"> \
				This is a&nbsp;<span class="'
					+ (userData['registered']
						? (userData['verified']
							? ' dsq-badge-verified'
							: (userData['is_remote']
								? ' dsq-badge-' + userData['remote_domain_name'].toLowerCase()
								: ' dsq-badge-registered')
							)
							: ' dsq-badge-guest') + '">'
			+ (userData['registered']
				? (userData['verified']
					? 'Verified'
					: (userData['is_remote']
						 ? userData['remote_domain_name']
						 : 'Registered')
					)
				: 'Guest')
			+ '</span>&nbsp;commenter profile.'
			+ '&nbsp;<a class="dsq-profile-userurl" href="' + userData.url + '"><strong>View more comments </strong></a>'
			+ (!userData['points']
				? '<p class="dsq-popup-notice">If this is you, <a href="http://disqus.com/profile" target="_blank">claim it now</a> to manage your comments.</p>'
				: '')
			+ ((userData['registered'] && !userData['verified'] && (Dsq.jsonData.request.username && (Dsq.jsonData.request.username == userData['username'])) && !userData['is_remote'])
				? '<p class="dsq-popup-notice"><strong>Alert</strong>: You have not verified this account. <a href="http://disqus.com/verify">Verify it now.</a></p>'
				: '')
			+ '</div> \
			<div id="dsq-profile-status-' + user_key + '" class="dsq-popup-profile-status" style="display:none"></div> \
			<div class="dsq-popup-profile-snapshot"> \
				<table> \
					<tr> \
						<td> \
							<div id="dsq-popup-profile-active-sites-wrapper-' + user_key + '"> \
								<h4>Most active sites</h4> \
								<ul id="dsq-popup-profile-active-sites-' + user_key + '"> \
									<li>Loading...</li> \
								</ul> \
							</div> \
						</td> \
						<td>'
							+ _includeServices()
							+ '<div id="dsq-popup-profile-moderated-wrapper-' + user_key + '"> \
								<h4>Moderator of</h4> \
								<ul id="dsq-popup-profile-moderated-' + user_key + '"> \
									<li>Loading...</li> \
								</ul> \
							</div> \
						</td> \
					</tr> \
				</table> \
			</div> \
			';

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.popupReblog = function() {
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		headerHtml = ' \
			<cite><span>Reblog this comment</span></cite> \
		';

		bodyHtml = ' \
			<div id="dsq-reblog-form" class="dsq-reblog-form"> \
			</div> \
		';

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.popupModal = function(title, message) {
		var headerHtml = '';
		var bodyHtml = '';
		var content = {};

		headerHtml = ' \
			<h3>' + title + '</h3> \
		';

		bodyHtml = message;

		content = {
			'header': headerHtml,
			'body': bodyHtml
		};

		return this._popupGeneric(content);
	};

	this.alertContent = function(name, post_id) {
		var alert = {
			'post_not_approved': {
				'title': 'Comment awaiting approval by a moderator',
				'message': 'Thanks for posting. Your comment must be approved by a moderator before appearing here.'
			},
			'post_has_profile': {
				'title': 'Use your existing commenter profile',
				'message': 'You have just posted your commment as a <span class="dsq-badge dsq-badge-guest">Guest</span>, but you may already have a <span class="dsq-badge dsq-badge-registered">Registered</span> commenter profile.<br /><br /><a href="http://disqus.com/claim">Log in and claim this comment!</a>'
			}
		};
		return alert[name] || false;
	};

	//
	// Actions
	//

	this.voted = function(post_id, points, vote) {
		// Update number of points
		Dsq.$('dsq-points-' + post_id).innerHTML = points + Dsq.Utils.pluralize(points, ' person', ' people') + ' liked this comment.';

		// Update link text
		if(vote) {
			Dsq.$('dsq-rate-cont-' + post_id).innerHTML = 'You liked this.';
		}
	};

	this.subscribed = function(status) {
		var title, message;

		if(status) {
			title = 'Subscribed!';
			message = 'You have subscribed to this comment thread. New comments will be sent directly to your email inbox, where you may read and respond by email.';
			Dsq.$('dsq-subscribe').innerHTML = ' \
				<a href="#" onclick="Dsq.Thread.subscribe(0); return false">Unsubscribe</a> \
			';
		} else {
			title = 'Unsubscribed';
			message = 'You have unsubscribed to this comment thread. New comments will no longer be sent to your email inbox.';
			Dsq.$('dsq-subscribe').innerHTML = ' \
				<a href="#" onclick="Dsq.Thread.subscribe(1); return false">Subscribe by email</a> \
			';
		}

		Dsq.Popup.popModal(message, title);

	};
	
	this.highlighted = function() {
		Dsq.Popup.popModal('This comment has been highlighted.', 'Highlighted comment');
	};

	//
	// Media
	//

	this.mediaSeesmic = function(id, thumb) {
		return ' \
			<div id="dsq-seesmic-' + id + '_preview" class="dsq-seesmic-preview"><a href="http://www.seesmic.com/video/' + id + '" target="_blank" class="see_link">&nbsp;</a> \
				<div style="display:block;width:160px; height:120px; border:none; background-image:url(http://t.seesmic.com/thumbnail/' + thumb + ')"> \
					<div id="dsq-seesmic-' + id + '_hide" class="seePlayOverlay" style="display:none;"><img onclick="see_play_video(\'' + id + '\',false)" src="http://media.disqus.com/images/seesmic/stopOverlay.png" width="50" height="50" style="cursor:pointer; cursor:hand; padding-top: 30px; padding-left: 50px" alt="" /></div> \
					<div id="dsq-seesmic-' + id + '_show" class="seePlayOverlay"><img onclick="see_play_video(\'' + id + '\',true)" src="http://media.disqus.com/images/seesmic/playOverlay.png" width="50" height="50" style="cursor:pointer; cursor:hand; border:none; padding-top: 30px; padding-left: 50px" alt="" /></div> \
				</div> \
			</div> \
			<div id="' + id + '_content" style="display:block; width:100%; padding-top:5px"></div> \
		';
	};

	//
	// Callbacks
	//

	this.postComment_onSuccess = function(parent_post_id) {
		// Increment post count
		var num_posts = Dsq.$('dsq-num-posts');
		var total_posts = Dsq.$('dsq-total-posts');
		
		if (num_posts) { 
			num_posts.innerHTML = parseInt(num_posts.innerHTML) + 1;
		}
		if (total_posts) { 
			total_posts.innerHTML = parseInt(total_posts.innerHTML) + 1;
		}
	};
};
// Dsq.Templates


/**
 * Dsq.Post
 */
Dsq.Post = new function() {
	this.openedMenu = {};
	this.menuEventListener = null;
	this.stateReplyToggled = {};
	this.stateEditToggled = {};
	this.stateRecordLink = {};

	/**
	 * Inserts a new post into the document.
	 *
	 * @param after_id {Number}	Insert a post before specified id.  If after_id
	 *							evaluates to false, then post in the front.  If
	 *							after_id is -1, post at the end.
	 */
	this.insert = function(after_id, id, message, author) {
		// Skeleton template from thread_posts.html.
		var skeleton = ' \
			<li id="dsq-comment-%(id)s"> \
				<div id="dsq-comment-header-%(id)s" class="dsq-comment-header"> \
					<cite id="dsq-cite-%(id)s" class="dsq-comment-cite"> \
						<a id="dsq-author-user-%(id)s" href="%(author_url)s" target="_blank" rel="nofollow">%(author_name)s</a> \
					</cite> \
				</div> \
				<div id="dsq-comment-body-%(id)s" class="dsq-comment-body"> \
					<div id="dsq-comment-message-%(id)s" class="dsq-comment-message">%(message)s</div> \
				</div> \
			</li> \
		';
		var _meta = Dsq.jsonData.posts[id];
		var _user_meta = Dsq.jsonData.users[_meta.user_key];
		var markup = Dsq.Utils.interpolate(skeleton, {
			id: id,
			message: message,
			author_url: _user_meta.blog,
			author_name: _user_meta.display_name
		});
		var div = document.createElement('div');
		markup = markup.replace(Dsq.COMMENTS_RE, Dsq.CommentsHandler);
		div.innerHTML = markup;

		if (after_id === -1) {
			Dsq.$('dsq-comments').appendChild(div);
		} else if (!after_id) {
			Dsq.$('dsq-comments').insertBefore(div, Dsq.$('dsq-comments').firstChild);
		} else if (Dsq.$('dsq-comment-' + after_id)) {
			// Get next node after "after_id", so we can insert before it.
			// If "after_id" is the last comment, the target node is the
			// last node.
			
			// var append_post_id = Dsq.Templates.appendPost(after_id).replace('<div id="','').replace('"></div>', '');
			var append_post_id = 'dsq-append-post-' + after_id;
			var node = Dsq.$(append_post_id);
			while (node = node.nextSibling) {
				if (!node || node.nodeType == 1) { // 1 == Node.ELEMENT_NODE
					break;
				}
			}
			if (!node) {
				node = Dsq.$(append_post_id);
			}
			node.parentNode.insertBefore(div, node);
		}
	};

	this.incrementPostCount = function() {
		
		var num_posts = Dsq.$('dsq-num-posts');
		var total_posts = Dsq.$('dsq-total-posts');

		if (num_posts) {
			num_posts.innerHTML = parseInt(num_posts.innerHTML, 10) + 1;
		}
		if (total_posts) {
			total_posts.innerHTML = parseInt(total_posts.innerHTML, 10) + 1;
		}
	}
	
	this.outlineComment = function(post_id) {
		Dsq.$('dsq-comment-' + post_id).className += ' dsq-comment-outline';
		setTimeout("(function () { Dsq.Post.clearOutlineComment(" + post_id + ") })()", 3000);
	};
	
	this.clearOutlineComment = function(post_id) {
		Dsq.$('dsq-comment-' + post_id).className = Dsq.$('dsq-comment-' + post_id).className.replace('dsq-comment-outline', '');
	};

	this.showMenu = function(el, id, name) {
		var anchorPos = Dsq.Utils.findPos(el);
		var menu = document.createElement('ul');

		if(this.openedMenu) {
			if(this.openedMenu.linkClicked) {
				this.openedMenu.linkClicked = false;
				return;
			}
		}

		switch(name) {
			case 'more':
				menu.innerHTML = Dsq.Templates.menuMore(id);
				break;
			case 'media':
				menu.innerHTML = Dsq.Templates.menuMedia(id);
				break;
			default:
				break;
		}

		// Add menu to document body
		menu.id = 'dsq-menu-' + id;
		menu.className = 'dsq-menu';
		Dsq.$b.appendChild(menu);

		// Position and show
		anchorPos[1] += 15;
		menu.style.left = anchorPos[0] + 'px';
		menu.style.top = anchorPos[1] + 'px';
		menu.style.display = 'block';

		// Set global reference
		this.openedMenu = {
			'el' : menu,
			'id' : id,
			'name' : name,
			'linkClicked' : false
		};

		// Set listener
		this.menuEventListener = Dsq.Utils.addEventListener(document, 'mouseup', this._hideMenu);
	};

	this._hideMenu = function(e) {
		var el = e.target || e.srcElement;
		var openedMenu = Dsq.Post.openedMenu.el;
		var id = Dsq.Post.openedMenu.id;

		if(!id) {
			var link = 'dsq-' + Dsq.Post.openedMenu.name + '-link';
		} else {
			var link = 'dsq-' + Dsq.Post.openedMenu.name + '-link-' + id;
		}

		if(!openedMenu) {
			return;
		}

		if(!Dsq.Popup.isClicked(e, openedMenu.id)) {
			openedMenu.style.display = 'none';
			Dsq.Utils.removeEventListener(Dsq.Post.menuEventListener);
			Dsq.Utils.deleteNode(openedMenu);

		} else {
			// Hide the menu if a link was clicked inside the menu.  We can't
			// completely remove the menu until the onclick event on the link
			// fires, but the menuEventListener will prevent multiple menus
			// from polluting the DOM.
			if(el && typeof el.href != 'undefined') {
				openedMenu.style.display = 'none';
				Dsq.Post.openedMenu.el = null;
			}
		}

		if(Dsq.Popup.isClicked(e, link)) {
 			Dsq.Post.openedMenu.linkClicked = true;
		}
	};


	this.getUserServices = function(user_key, id) {
		if(!user_key && id) {
			var _meta = Dsq.jsonData.posts[id];
			user_key = _meta.user_key;
		}
		var userData = Dsq.jsonData['users'][user_key];
		var userServices = [];

		// Keep a full list of supported services. This is the order they will display in the drop-profile.
		// Each service must have a corresponding case in _buildServiceUrl()
		var supportedServices = ['blog', 'twitter', 'facebook', 'tumblr'];

		function _buildServiceUrl(serviceName) {
			var data = userData[serviceName];
			var services = {
				blog:		function(d) { return d; },
				twitter:	function(d) { return d; },
				facebook:	function(d) { return d; },
				tumblr:		function(d) { return 'http://' + d + '.tumblr.com'; }
			};
			return services[serviceName](data);
		}

		for(var i = 0; i < supportedServices.length; i++) {
			if(userData[supportedServices[i]]) {
				var serviceUrl = _buildServiceUrl(supportedServices[i]);
				userServices.push({'name' : supportedServices[i], 'url' : serviceUrl});
			}
		}
		return userServices;
	}

	this.dropProfile = function(id) {
		var dp = Dsq.$('dsq-drop-profile-' + id);

		// IE6 needs JS to display/hide. All other browsers use CSS.
		if(dp) {
			if(Dsq.Utils.ie6) dp.style.display = (dp.style.display == 'inline') ? 'none' : 'inline';
			return false;
		} else {
			dp = document.createElement('ul');
		}

		dp.id = 'dsq-drop-profile-' + id;
		dp.className = 'dsq-drop-profile';

		if(Dsq.Utils.ie6) { dp.style.display = 'inline'; }

		var container = Dsq.$('dsq-header-avatar-' + id);
		dp.innerHTML = Dsq.Templates.dropProfile(id);
		container.appendChild(dp);
	};

	this.dropProfileMore = function(el, id) {
		var hiddenItems = Dsq.$('dsq-drop-hidden-' + id);

		hiddenItems.style.display = 'inline';
		el.parentNode.style.display = 'none';
	};

	this._updateReplyLinks = function(el, id) {
		// Update "reply / cancel" links based on state.
		var displayDict = {};

		if(id) {
			if(this.stateReplyToggled[id]) {
				el.innerHTML = 'Cancel';
				displayDict['media'] = 'inline';
				displayDict['edit'] = 'none';
			} else {
				el.innerHTML = 'Reply';
				displayDict['media'] = 'none';
				displayDict['edit'] = 'inline';
			}
		}

		for(var key in displayDict) {
			if(displayDict.hasOwnProperty(key)) {
				var	linkEl = Dsq.$('dsq-' + key + '-el-' + id),
					spacer = Dsq.$('dsq-' + key + '-spacer-' + id);

				if(linkEl) {
					linkEl.style.display = displayDict[key];
					if(spacer) spacer.style.display = displayDict[key];
				}
			}
		}
	};

	this._updateMediaLinks = function(el, id) {
		// Update "use media / cancel" links based on state.
		var appendId = (id) ? ('-' + id) : '';
		var link = Dsq.$('dsq-media-link' + appendId);

		if(this.stateRecordLink[id]) {
			link.innerHTML = 'Cancel Media';
			link.onclick = function() { Dsq.Post.toggleMediaReply(link, id); return false; };
		} else {
			link.innerHTML = 'Use Media <small>&#9660;</small>';
			link.onclick = function() { Dsq.Post.showMenu(link, id, 'media'); return false; };
		}
	};

	this.toggleReply = function(el, id) {
		// Create reply IFrame
		if (window.disqus_use_postmessage) {
			if (!this.stateReplyToggled[id]) {
				Dsq.$('dsq-reply-' + id).style.display = 'block';
				Dsq.$('dsq-reply-bar-' + id).style.display = 'block';
				// Create IFrame if it doesn't exist.
				if (!Dsq.frames['reply_' + id]) {
					var _meta = Dsq.jsonData.posts[id];
					Dsq.frames['reply_' + id] = new Dsq.ReplyFrame(Dsq.$('dsq-reply-frame-' + id), id);
					Dsq.frames['reply_' + id].init();
					Dsq.frames['reply_' + id].setState(id, _meta.depth);
				}
			} else {
				Dsq.$('dsq-reply-' + id).style.display = 'none';
				Dsq.$('dsq-reply-bar-' + id).style.display = 'none';
			}
		} else {
			// DEPRECATED
			if(!this.stateReplyToggled[id]) {
				// Reply toolbar
				Dsq.$('dsq-reply-bar-' + id).style.display = 'block';
				Dsq.Iframes.showReplyIframeInContainerIfAllowed(Dsq.$('dsq-reply-' + id), id);
			} else {
				Dsq.$('dsq-reply-bar-' + id).style.display = 'none';
				Dsq.Iframes.hideAllInContainer(Dsq.$('dsq-reply-' + id));
				if(this.stateRecordLink[id]) {
					// HACK: Cancel media before canceling self.
					this.toggleMediaReply(Dsq.$('dsq-media-link-' + id), id);
				}
			}
		}

		this.stateReplyToggled[id] = !this.stateReplyToggled[id];
		this._updateReplyLinks(el, id);

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE('dsq-reply-' + id); }

		Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_TOGGLED, {
			postId: id,
			opened: this.stateReplyToggled[id]
		});
	};

	this.toggleMediaReply = function(el, id, xtype) {
		id = id || 0;
		if(id) {
			var container = Dsq.$('dsq-reply-' + id);
		} else {
			var container = Dsq.$('dsq-post-add');
		}

		if(!this.stateRecordLink[id]) {
			Dsq.Iframes.showReplyIframeInContainer(container, id, {xtype:xtype}, 'dsq-post-video');
		} else {
			Dsq.Iframes.showReplyIframeInContainer(container, id);
		}
		this.stateRecordLink[id] = !this.stateRecordLink[id];
		this._updateMediaLinks(el, id);

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
	};

	this.edit = function(el, id) {
		Dsq.$('dsq-comment-message-' + id).innerHTML = Dsq.Templates.frameEdit(id);
		el.parentNode.style.display = 'none';
		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE('dsq-comment-message-' + id); }
	};

    this.rate = function(el, id, vote) {
		if(Dsq.jsonData.request.is_authenticated || Dsq.jsonData.forum.allow_anon_votes) {
			if(vote == 1) {
                Dsq.$('dsq-rate-cont-' + id).innerHTML = '<img src="http://media.disqus.com/images/loading-small.gif">';
            }

            Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/vote.js'
                + '?post_id='    + id
                + '&vote='        + vote);

		} else {
			Dsq.Popup.login(Dsq.Strings.TO_RATE_PLEASE_LOG_IN);
		}
    };

	this.report = function(id, confirmed) {
		if(confirmed) {
			Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/google_android_we_want_developers_but8230/post_report/', {'post_id': id});
			Dsq.Popup.popModal('Thank you. This comment has been flagged for moderator attention.', 'Successfully flagged');
			Dsq.Utils.deleteNode(Dsq.$('dsq-post-report-' + id));
		} else {
			var title = Dsq.Strings.FLAG_INAPPROPRIATE_COMMENT;
			var message = Dsq.Strings.ARE_YOU_SURE_YOU_WOULD_LIKE_TO_REPORT_THIS_COMMENT_TO_A_MODERATOR + '? \
			<br /><br /> \
			<button type="button" onclick="Dsq.Popup._closePopup(null, true)"><strong>' + Dsq.Strings.NO + '</strong>, ' + Dsq.Strings.NEVER_MIND + '</button>&nbsp;&nbsp;&nbsp;<button type="button" onclick="Dsq.Post.report(' + id + ', true);"><strong>' + Dsq.Strings.YES + '</strong>, ' + Dsq.Strings.FLAG_INAPPROPRIATE_COMMENT + '</button><br /><br />'
			+ Dsq.Strings.THIS_WILL_FLAG_COMMENTS_FOR_MODERATORS_TO_TAKE_ACTION + '. \
			';

			Dsq.Popup.popModal(message, title, id);
		}
	};



	this.showAlert = function(id, msg) {
		var msgEl = Dsq.$('dsq-comment-message-' + id);
		var alert = '<div class="dsq-comment-alert">' + msg + '</div>';

		msgEl.innerHTML = alert + msgEl.innerHTML;
	};

};
// Dsq.Post


/**
 * Dsq.Thread
 */
Dsq.Thread = new function() {
	this.fc = null;
	this.ff = null;
	this.ac = null;

	
	this.adminIsOn = false;

	
	
	

	this.hlComment = null;
	this.hlCommentClass = null;

	this.getNextComment = function(el) {
		var start_id = el.id;
		while(el = el.nextSibling) {
			if(el.id && el.id.indexOf('dsq-comment-') != -1 && el.id != start_id) {
				return el;
			}
		}
		return null;
	};

	this.getActiveCommentId = function() {
		if (document.URL.indexOf('#comment-') >= 0) {
			var anchor = document.URL.slice(document.URL.indexOf('#') + 1);
			return anchor.replace('comment-', '');
		}
		return null;
	};

	this.highlightAnchor = function() {
		var i = this.getActiveCommentId();
		if (i == null) return false;
		var id = 'dsq-comment-' + i;
		var hash = window.location.hash;

		// Toggle the hash incase the comment isn't available when the page loads
		// for WebKit-based browsers.
		if (Dsq.Utils.webkit) {
			window.location.hash = '';
			window.location.hash = hash;
		}

		this.hlComment = Dsq.$(id);
		// Adding this conditional guard pending #289
		if (!this.hlComment) {
			return;
		}
		this.hlCommentClass = this.hlComment.className;
		this.hlComment.className += ' dsq-hl-anchor';

		setTimeout("Dsq.Thread.highlightClear()", 3000);
	};

	this.highlightClear = function() {
		if (!this.hlComment) {
			return;
		}
		this.hlComment.className = this.hlCommentClass;
	};

	this.login = function(toggle) {
		// toggle id is #dsq-reply-login-[id]
		var postId;
		if(toggle.id.indexOf('dsq-reply-login') != -1) {
			postId = toggle.id.slice(16);
			var container = Dsq.$('dsq-reply-' + postId);
		} else {
			var container = Dsq.$('dsq-post-add');
		}

		if(toggle) {
			if(toggle.className == 'dsq-login-active') {
				Dsq.Iframes.showReplyIframeInContainerIfAllowed(container, postId);
				toggle.className = '';
			} else {
				Dsq.Iframes.showLoginIframeInContainer(container, postId);
				toggle.className = 'dsq-login-active';
			}
		} else {
			Dsq.Iframes.showLoginIframeInContainer(container, postId);
		}

		if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
	};


	this.paginate = function(page, el_clicked, per_page) {
		// Use extra_params to pass any override parameters that we need to persist.
		var extra_params = '';

		// "Per page" can either be overriden by providing it as an argument
		// (per-call) or setting the disqus_per_page override variable (global).
		if(typeof per_page == 'undefined') {
			per_page = null;
		}
		if(typeof disqus_per_page != 'undefined' && per_page === null) {
			per_page = disqus_per_page;
		}

		if(typeof disqus_sort != 'undefined') {
			extra_params += '&sort=' + disqus_sort;
		}
		if(per_page !== null) {
			extra_params += '&per_page=' + per_page;
		}

		Dsq.$('dsq-pagination').innerHTML += '<img src="http://media.disqus.com/images/loading-small.gif">';
		
		if(el_clicked) {
			el_clicked.style.display = 'none';
		}
		
		Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/thread.js'
			+ '?slug='	+ 'google_android_we_want_developers_but8230'
			+ '&p='		+ page
			+ extra_params);
	};

	this.sortBy = function(sort) {
		var disqus_script = document.createElement('script');
		var disqus_date = new Date();

		if (location.hash != '') {
			location.hash = '#disqus_thread';
		}

		if(typeof(disqus_url) == 'undefined') {
			disqus_url = disqus_href;
		}
		disqus_script.type = 'text/javascript';
		disqus_script.src = 'http://disqus.com/forums/scobleizer/thread.js'
			+ '?slug='	+ 'google_android_we_want_developers_but8230'
			+ '&sort='	+ sort
			+ '&title='
			+ '&'		+ disqus_date.getTime();

		Dsq.$('dsq-comments').innerHTML = '<img src="http://media.disqus.com/images/loading.gif">';
		Dsq.container.appendChild(disqus_script);
	};

	this.subscribe = function(status, email) {
		// `status` is an int -- 1 to subscribe, 0 to unsubscribe
		if(Dsq.jsonData.request.is_authenticated || email) {
			// If authenticated user OR anonymous email provided

			if(email) {
				Dsq.Popup._closePopup(null, true);
			}

			Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/subscribe.js'
				+'?status=' 	+ status
				+ '&slug='		+ 'google_android_we_want_developers_but8230'
				+ '&email=' 	+ encodeURIComponent(email));

		} else if(!email) {
			// If anonymous user and no email has been provided yet, prompt for email

			var title = 'Subscribe to this comment thread';
			var message = ' \
				New comments will be sent directly to your email inbox! \
				<div class="dsq-subscribe-submit"> \
					<p><strong>Enter your email address below.</strong></p> \
					<input type="text" id="dsq-subscribe-email"> \
					<button type="button" onclick="Dsq.Thread.subscribe(1, Dsq.$(\'dsq-subscribe-email\').value)">Subscribe</button> \
				</div> \
			';

			Dsq.Popup.popModal(message, title);
		}
	};

	this.showSettings = function() {
		if (!Dsq.jsonData.request.is_moderator) {
			return;
		}

		/* The form has to be re-designed when more options will come out. */
		var html = 'Automatically close comments after <input size="3" id="dsq-thread-days-alive" value="' + Dsq.jsonData.thread.days_alive + '" type="text" /> days. Existing comments will still be displayed.<br /><br />(Using 0 days will disable this feature)<br /><br />'
								 + '<button type="button" onclick="Dsq.Thread.updateDaysAlive();" class="dsq-button-small"><span>Save</span></button>'
								 + '<span id="dsq-thread-settings-status" class="dsq-options-status"></span>';

		Dsq.Popup.popModal(html, 'Settings');
	};

  this.showModeratorActions = function() {
      if (!Dsq.jsonData.request.is_moderator) {
          return;
      }

      var html = '<div class="dsq-moderate-options"><table><tr>' +
                 '<td>' + Dsq.Strings.ACTIONS + '</td><td><ul>';
      html += '<li><a href="#" onclick="Dsq.Thread.toggleClosed(); return false;">' +
              (Dsq.jsonData.thread.closed ? Dsq.Strings.OPEN_THREAD : Dsq.Strings.CLOSE_THREAD) +
              '</a></li>';
      html += '<li><a href="#" onclick="Dsq.Thread.toggleKilled(); return false;">' +
              (Dsq.jsonData.thread.killed ? Dsq.Strings.RESTORE_THREAD : Dsq.Strings.REMOVE_THREAD) +
              '</a></li>';
      html += '</ul></td></tr></table></div>' +
              '<p>Go to the full <a href="http://disqus.com/comments/moderate-threads/" target="_blank">moderate panel</a> for more options.</p>';
      Dsq.Popup.popModal(html, Dsq.Strings.MODERATE_OPTIONS);
  };

	this.updateDaysAlive = function() {
		  var days = Dsq.$('dsq-thread-days-alive').value;
		  var status = Dsq.$('dsq-thread-settings-status');
		  Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/update_days_alive.js', {days:days,thread:Dsq.jsonData.thread.id});
		  status.innerHTML = 'Saved!';
		  window.setTimeout(function() { status.innerHTML = ''; }, 1000);
	};

  this.toggleClosed = function() {
      Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/toggle_thread_closed.js', {thread:Dsq.jsonData.thread.id});
      window.setTimeout(function() { window.location.reload(); }, 500);
  };

  this.toggleKilled = function() {
      Dsq.Utils.postToUrl('http://disqus.com/forums/scobleizer/toggle_thread_killed.js', {thread:Dsq.jsonData.thread.id});
      window.setTimeout(function() { window.location.reload(); }, 500);
  };
};
// Dsq.Thread

Dsq.Events = function() {
	var obj = {};

	// Private
	var handlers = {};
	var getHandlers = function(event) {
		if (handlers[event] === undefined) {
			handlers[event] = [];
		}
		return handlers[event];
	};

	// Public
	// Value keys : postId, node, xtype
	obj.REPLY_IFRAME_CREATED = 1;
	// Value keys : postId, opened
	obj.REPLY_IFRAME_TOGGLED = 2;
	obj.fire = function(event, opt_value) {
		if (!event) {
			throw new Error('Unknown event');
		}
		var value = opt_value || {};
		for (var i=0; i<getHandlers(event).length; i++) {
			getHandlers(event)[i](value);
		}
	};
	obj.addHandler = function(event, callback) {
		getHandlers(event).push(callback);
	};

	return obj;
}();

/**
 * Dsq.Realtime
 */
Dsq.Realtime = new function() {
	var initialized = false;
	var interval = null;
	var last_checked = Dsq.jsonData.request.timestamp;
	var new_posts = [];
	var ongoing_request = false;
	var prev_script = null;

	function updateNewPostCount() {
		Dsq.$('dsq-realtime-alert').style.display = new_posts.length ? 'block' : 'none';

		Dsq.$('dsq-realtime-queued').innerHTML = new_posts.length
		+ ' new '
		+ Dsq.Utils.pluralize(new_posts.length, 'comment', 'comments')
		+ Dsq.Utils.pluralize(new_posts.length, ' was', ' were')
		+ ' just posted.';

		Dsq.$('dsq-realtime-show').innerHTML = '(' + Dsq.Strings.SHOW + ')';
	}

	function insertNewPosts() {
		var post_id = null;
		var after_id = Dsq.$('dsq-sort-select').value === 'oldest' ? -1 : null;

		for (var i=0; i<new_posts.length; i++) {
			post_id = new_posts[i];
			Dsq.Post.insert(after_id, post_id, Dsq.jsonData.posts[post_id].message);
			Dsq.Post.incrementPostCount();
			Dsq.Post.outlineComment(post_id);
		}
		new_posts = [];
	}

	this.enableInterval = function() {
		interval = setInterval(Dsq.Realtime.check, Dsq.jsonData.context.realtime_speed);
		Dsq.$('dsq-realtime-status').innerHTML = Dsq.Strings.ENABLED;
		Dsq.$('dsq-realtime-toggle').innerHTML = '(' + Dsq.Strings.PAUSE + ')';
	}

	this.disableInterval = function() {
		if (interval) {
			clearInterval(interval);
			interval = null;
		}
		Dsq.$('dsq-realtime-status').innerHTML = Dsq.Strings.PAUSED;
		Dsq.$('dsq-realtime-toggle').innerHTML = '(' + Dsq.Strings.RESUME + ')';
	}

	this.toggleInterval = function() {
		if (!interval) {
			Dsq.Realtime.enableInterval();
		} else {
			Dsq.Realtime.disableInterval();
		}
		return false;
	}

	this.initialize = function() {
		if (!initialized) {
			initialized = true;
			Dsq.$('dsq-realtime-toggle').onclick = this.toggleInterval;
			if (!Dsq.jsonData.forum.streaming_realtime) {
				Dsq.$('dsq-realtime-show').onclick = this.show;
				updateNewPostCount();
			}
			if (Dsq.jsonData.thread.realtime_paused) {
				Dsq.Realtime.disableInterval();
			} else {
				Dsq.Realtime.enableInterval();
			}
		}
	}

	this.show = function() {
		insertNewPosts();
		updateNewPostCount();
		return false;
	}

	this.check = function() {
		if (!ongoing_request && Dsq.jsonData.realtime_enabled) {
			if (prev_script) {
				prev_script.parentNode.removeChild(prev_script);
			}
			ongoing_request = true;
			prev_script = Dsq.Utils.execScript('http://disqus.com/forums/18349605/realtime.js?timestamp=' + last_checked);
		}
	};

	this.update = function(timestamp, posts, users) {
		ongoing_request = false;
		last_checked = timestamp;

		if (users) {
			for (var user_id in users) {
				if (users.hasOwnProperty(user_id)) {
					if (!Dsq.jsonData.users[user_id]) {
						Dsq.jsonData.users[user_id] = users[user_id];
					}
				}
			}
		}

		if (posts) {
			for (var post_id in posts) {
				if (posts.hasOwnProperty(post_id)) {
					if (!Dsq.jsonData.posts[post_id]) {
						Dsq.jsonData.posts[post_id] = posts[post_id];
						new_posts.push(post_id);
					}
				}
			}

			if (Dsq.jsonData.forum.streaming_realtime) {
				insertNewPosts();
			} else {
				updateNewPostCount();
			}
		}
	};

}();

// DEPRECATED
Dsq.Iframes = function() {
	// Different style of object from the above. Hoping to switch to this for some reason.
	var obj = {};

	// Private
	var showIframeInContainer = function(container, id, markup) {
		// Look through container for iframes, hiding them, except show one that matches id
		// If none of them matched id, create a new iframe using markup and insert it.
		// Returns the iframe node if and only if it was newly created.
		var found = false;
		for (var i=0; i<container.childNodes.length; i++) {
			var child = container.childNodes[i];
			if (child.nodeName == 'IFRAME') {
				if (child.id == id) {
					child.style.display = 'block';
					found = true;
				} else {
					child.style.display = 'none';
				}
			}
		}
		if (found) {
			return;
		}
		// The iframe wasn't found, so construct it and add it to the container.
		// Don't use innerHTML because it might reload iframes
		var div = document.createElement('div');
		div.innerHTML = markup;
		var iframe = div.childNodes[0];
		div.removeChild(iframe);
		container.appendChild(iframe);
		return iframe;
	};

	// Public
	obj.makeReplyIframeId = function(opt_postId, opt_xtype) {
		var id = 'dsq-post-add-iframe';
		if (opt_xtype) {
			id += '-' + opt_xtype;
		}
		if (opt_postId) {
			id += '-' + opt_postId;
		}
		return id;
	};
	obj.makeLoginIframeId = function(opt_postId) {
		if (!opt_postId) {
			return 'dsq-login-iframe';
		}
		return 'dsq-login-iframe-' + opt_postId;
	};
	obj.makeReplyIframeName = function(opt_postId, opt_xtype) {
		var name = 'dsq-reply-frame';
		if (opt_xtype) {
			name += '-' + opt_xtype;
		}
		if (opt_postId) {
			name += '-' + opt_postId;
		}
		return name;
	};
	obj.showReplyIframeInContainer = function(container, opt_postId, opt_extraParams, opt_className) {
		// Construct the id so we can check if it's already present.
		// Hide any other iframes we find, and show this one if it's found.
		var params = opt_extraParams || {};
		// use xtype in the id and name so we can distinguish media replies from text replies:
		var id = Dsq.Iframes.makeReplyIframeId(opt_postId, params.xtype);
		var name = Dsq.Iframes.makeReplyIframeName(opt_postId, params.xtype);
		var attributes = {
			'id': id,
			'name': name,
			'class': opt_className || 'dsq-post-reply'
			};
		var markup = Dsq.Templates.frameReply(opt_postId, opt_extraParams, attributes);
		var iframe = showIframeInContainer(container, id, markup);
		// It was newly created
		if (iframe) {
			Dsq.Events.fire(Dsq.Events.REPLY_IFRAME_CREATED, {
				postId: opt_postId,
				node: iframe,
				xtype: params.xtype
			});
		}
	};
	obj.showLoginIframeInContainer = function(container, opt_postId) {
		var id = Dsq.Iframes.makeLoginIframeId(opt_postId);
		var markup = Dsq.Templates.frameLogin({id: id});
		showIframeInContainer(container, id, markup);
	};
	obj.showReplyIframeInContainerIfAllowed = function(container, opt_postId) {
		if (Dsq.jsonData.context.show_reply) {
			obj.showReplyIframeInContainer(container, opt_postId);
		} else {
			obj.hideAllInContainer(container);
		}
	};
	obj.hideAllInContainer = function(container) {
		for (var i=0; i<container.childNodes.length; i++) {
			var child = container.childNodes[i];
			if (child.nodeName == 'IFRAME') {
				child.style.display = 'none';
			}
		}
	};

	return obj;
}();

Dsq.Twitter = new function() {
	var that = this;

	this.startTwitterConnect = function() {
		var popupParams = 'location=0,status=0,width=800,height=400';
		that._twitterWindow = window.open(Dsq.jsonData.settings.disqus_url + '/_ax/twitter/begin/', 'twitterWindow', popupParams);
		that._twitterInterval = window.setInterval(that.completeTwitterConnect, 1000);
	};

	this.completeTwitterConnect = function() {
		if (that._twitterWindow.closed) {
			window.clearInterval(that._twitterInterval);
			window.location.reload();
		}
	};
};

Dsq.Yahoo = new function() {
	var that = this;

	this.startYahooConnect = function() {
		var popupParams = 'location=0,status=0,width=800,height=400';
		that._yahooWindow = window.open(Dsq.jsonData.settings.disqus_url + '/_ax/yahoo/begin/', 'yahooWindow', popupParams);
		that._yahooInterval = window.setInterval(that.completeYahooConnect, 1000);
	};

	this.completeYahooConnect = function() {
		if (that._yahooWindow.closed) {
			window.clearInterval(that._yahooInterval);
			window.location.reload();
		}
	};
};

Dsq.OpenID = new function() {
	var that = this;

	this.requestURL = function() {
		var message = '<table class="dsq-openid-form"><tr><td style="vertical-align:top;" rowspan="2"><img src="' + Dsq.jsonData.settings.media_url + '/images/openid-icon-100x100.png" /></td>';
		message += '<td><label for="dsq-openid-url">OpenID URL:</label></td><td><input type="text" id="dsq-openid-url" /></td></tr>';
		message += '<tr><td><label for="dsq-openid-username">Display name:</label></td><td><input type="text" id="dsq-openid-username" /></td></tr>';
		message += '<tr><td class="dsq-openid-submit" colspan="3"><input type="button" value="Sign in" onclick="Dsq.OpenID.startConnect();" /></td></tr>';
		message += "</table>";

		Dsq.Popup.popModal(message, 'Sign in using OpenID');
	};

	this.startConnect = function() {
		var isblank = function(str) {
			return /^\s*$/.test(str);
		};

		var openid_url = Dsq.$('dsq-openid-url').value;
		var username = Dsq.$('dsq-openid-username').value;

		if (isblank(openid_url)) {
			return;
		}

		var popupParams = 'location=0,status=0,width=800,height=500';
		var url = Dsq.jsonData.settings.disqus_url + '/_ax/openid/begin/' + '?url=' + encodeURIComponent(openid_url) + '&username=' + encodeURIComponent(username);
		that._openidWindow = window.open(url, 'openidWindow', popupParams);
		that._openidInterval = window.setInterval(that.completeConnect, 1000);
	};

	this.completeConnect = function() {
		if (that._openidWindow.closed) {
			window.clearInterval(that._openidInterval);
			window.location.reload();
		}
	};
};

Dsq.Reaction = new function() {
	var that = this;

	this.hide = function(id) {
		Dsq.Utils.execScript('http://disqus.com/forums/scobleizer/hidereaction.js?' + 'reaction_id=' + id);
	};

	this.reportMissingReactions = function() {
		if (!Dsq.jsonData.request.is_moderator || !Dsq.jsonData.forum.reactions_enabled) {
			return;
		}

		if (Dsq.jsonData.thread.queued) {
			Dsq.Popup.popModal('Your report has been received. The system will automatically search for new reactions; if any are found, they will be displayed on this comment thread.<br/><br/>Thank&nbsp;you.',
												 'Reported missing reactions');
			return;
		}

		Dsq.Utils.execScript(Dsq.jsonData.settings.disqus_url + '/forums/scobleizer/queueurl.js');
	};
};

Dsq.CNN = function() {
	var obj = {};

	obj.authenticate = function() {
		var url = Dsq.jsonData.settings.disqus_url + "/saml/cnn/try/";
		Dsq.Utils.postToUrl(url, {'target': document.location}, true);
	};

	return obj;
}();


if(Dsq.Utils.ie6) {
	(function() {
		DSQ_HEADER_AVATAR_RE = /<div class="dsq-header-avatar"(.*?)>/gim;
		Dsq.Templates.registerFilter('postPrependHeader', function(html, post_id) {
			// Add "onmouseout" for dsq-header-avatar for dropProfile
			// functionality since IE6 cannot use :hover.
			function _headerAvatarReplace(content, inner, _unused, html) {
				return '<div class="dsq-header-avatar" '
					+ inner
					+ ' onmouseout="Dsq.Post.dropProfile(' + post_id + ')">';
			}
			html = html.replace(DSQ_HEADER_AVATAR_RE, _headerAvatarReplace);
			return html;
		});
	})();
}





	// TODO: Move Seesmic code outside of the main script.  Don't let this script clobber the global namespace.
	if(typeof seesmic == 'undefined') { var seesmic = {}; }
	seesmic.widget = new function () {
		this.callback = function (data) {
			playerVersion = data.disqusplayer;
		};
	};

	
	var scriptEl = document.createElement('script');
	scriptEl.setAttribute('type', 'text/javascript');
	scriptEl.setAttribute('src', 'http://seesmic.com/version.js?callback=seesmic.widget.callback');
	document.getElementsByTagName('head')[0].appendChild(scriptEl);

	
	var scriptEl = document.createElement('script');
	scriptEl.setAttribute('type', 'text/javascript');
	scriptEl.setAttribute('src', 'http://media.disqus.com/javascript/library/swfobject.js');
	document.getElementsByTagName('head')[0].appendChild(scriptEl);

	function see_play_video(_videoUri, _add) {
		var swf = !!playerVersion ? playerVersion : 'http://seesmic.com/embeds/StandalonePlayer.swf';

		flashcontentDiv = Dsq.$(_videoUri + '_content');
		previewDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_preview');
		hideDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_hide');
		showDiv = Dsq.$('dsq-seesmic-' + _videoUri + '_show');
		if(_add) {
			// push flash widget
			var so = new SWFObject(swf, 'sotester', '300', '270', '9', '#000000');
			so.addVariable('video', _videoUri);
			so.addParam('allowFullScreen', 'true');
			so.addParam('allowScriptAccess','always');
			so.useExpressInstall('swfobject/expressinstall.swf');
			so.write(_videoUri + '_content');

			previewDiv.style.display = 'none';
			hideDiv.style.display = 'block';
			showDiv.style.display = 'none';
		}
		else {
			flashcontentDiv.innerHTML = '';
			previewDiv.style.display = 'block';
			hideDiv.style.display = 'none';
			showDiv.style.display = 'block';
		}
	};





(function() {
	//
	// Load theme.  This overrides the base templates with template functions
	// from the respective themes.
	//
	if (Dsq.jsonData.integration.theme == 4) {
		var theme = 'narcissus';
		// HACK: Set variable on window to use post message.
		window.disqus_use_postmessage = true;

		
		for(var prop in Dsq.Themes[theme]) {
			if(Dsq.Themes[theme] && Dsq.Themes[theme].hasOwnProperty(prop)) {
				Dsq.Templates[prop] = Dsq.Themes[theme][prop];
			}
		}
		
		for(var prop in Dsq.Post) {
			if(Dsq.Themes[theme] && Dsq.Themes[theme].hasOwnProperty(prop)) {
				Dsq.Post[prop] = Dsq.Themes[theme][prop];
			}
		}
	}

	//
	// Register templates.  This must be done after all themes are loaded.
	//
	Dsq.Templates.registerTemplate('authPost', Dsq.Templates.authPost);
	Dsq.Templates.registerTemplate('header', Dsq.Templates.header);
	Dsq.Templates.registerTemplate('footer', Dsq.Templates.footer);
	Dsq.Templates.registerTemplate('trackbacks', Dsq.Templates.trackbacks);
	Dsq.Templates.registerTemplate('reactions', Dsq.Templates.reactions);
	Dsq.Templates.registerTemplate('prependPost', Dsq.Templates.prependPost);
	Dsq.Templates.registerTemplate('appendPost', Dsq.Templates.appendPost);
	Dsq.Templates.registerTemplate('postPrependHeader', Dsq.Templates.postPrependHeader);
	Dsq.Templates.registerTemplate('postAppendHeader', Dsq.Templates.postAppendHeader);
	Dsq.Templates.registerTemplate('preBody', Dsq.Templates.preBody);
	Dsq.Templates.registerTemplate('postBody', Dsq.Templates.postBody);
	Dsq.Templates.registerTemplate('postFooter', Dsq.Templates.postFooter);
	Dsq.Templates.registerTemplate('_popupGeneric', Dsq.Templates._popupGeneric);
	Dsq.Templates.registerTemplate('voted', Dsq.Templates.voted);
	Dsq.Templates.registerTemplate('popupProfile', Dsq.Templates.popupProfile);
	Dsq.Templates.registerTemplate('postBox', Dsq.Templates.postBox);
	Dsq.Templates.registerTemplate('pagination', Dsq.Templates.pagination);
	Dsq.Templates.registerTemplate('postComment_onSuccess', Dsq.Templates.postComment_onSuccess);

})();

Dsq.container.className = "clearfix";
Dsq.container.innerHTML = ' \
<ul id="dsq-comments">\
	 <li id="dsq-comment-9693630">\
	 <div id="dsq-comment-header-9693630" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693630" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693630">Matt</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693630" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693630" class="dsq-comment-message">So Open Moko will still blow this out of the water and from the developers Ive spoken to say they wont touch it till they can see a device that can run it and its basically another version of J2ME to them at first look .</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693589">\
	 <div id="dsq-comment-header-9693589" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693589" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693589" href="http://neverness.wordpress.com/" target="_blank" rel="nofollow">neverness</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693589" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693589" class="dsq-comment-message">I wonder whether either android or apple will have any impact on the european and asian markets. Considering the rather lukewarm reception of the iPhone in the UK and Germany, this might just not be depending on the SDK, but more on the amount of handsets that will have the OS on it.<br><br>I think that the set vendors are more worried about android then they are about the iPhone overhere in Europe, regardless of the developer support.<br><br>Google doesn\'t need to pitch to the end customers, the handset makers will take care of this. And as you point out correctly, after the customers will come the developers...<br><br>Just look at the development section of nokia, most of it is wide in the open and how many developers use it.... And the market share of nokia is a lot higher than apples iPhone.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693590">\
	 <div id="dsq-comment-header-9693590" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693590" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693590" href="http://www.spyndle.com/" target="_blank" rel="nofollow">Kreg Steppe</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693590" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693590" class="dsq-comment-message">I disagree with the disappoints comment. It JUST came out, it is not for consumers yet, and it IS Open Source. Look at Nokia N800. It does a LOT, and it is based on Linux...I am sure a lot of those apps will be a no brainier to port over. So the "No making stuff for it" doesn\'t really hold water for me.<br><br>I think you are beating up on it a little too early out of the gate.<br><br>Also may I add that I can see the Gphone OS on several phones and the iPhone os on .. the iPhone. I think developing on a platform far and wide might make more sense than just on the iPhone. So, yes an SDK is coming for the iPhone...it still only runs on the iPhone once you make the app.<br><br>Now, was it a Dry video presentation...Oh yea, I am with you there.<br><br>Let me add...I do enjoy your insight and opinions on things like this.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693628">\
	 <div id="dsq-comment-header-9693628" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693628" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693628">-gary</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693628" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693628" class="dsq-comment-message">With that much money you think Google boy could afford a decent haircut and a speech coach.<br><br>Ok that was just mean, but it had to be said.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693629">\
	 <div id="dsq-comment-header-9693629" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693629" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693629" href="http://theobstructionist.com/" target="_blank" rel="nofollow">Seth E</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693629" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693629" class="dsq-comment-message">Their problem is that it seems like they\'re building a phone aimed primarily at \'techies\' (i.e. opensource everything but unintiuitive as far as basic functioning goes) and yet their marketing strategy seems to be aimed at the average consumer, if not the down-right uniformed consumer. However, I think I disagree with you on it being \'Vaporware\'. They seem to being trying to avoid the accusations thrown at Apple by releasing the SDK BEFORE the platform and not months afterwards, so it\'s hard for them to show you anything since I doubt much of it is implemented. But it was definitely a god-awful video.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693570">\
	 <div id="dsq-comment-header-9693570" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693570" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693570" href="http://www.newsgator.com/" target="_blank" rel="nofollow">Kevin Cawley</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693570" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693570" class="dsq-comment-message">Robert, I think you are off on this one.  I am a mobile dev and I am psyched (and it has NOTHING to doo with the $10 mill)!!!<br><br>It\'s about an open mobile platform where the developer is free to imagine, create, and build killer apps that are deeply integrated with the phone and other apps on the device.<br><br>It has nothing to do with the iPhone.  It\'s about creating a technology stack that allows for kick ass mobile applications from third party devlopers, letting manufacturers build cool devices, and having these devices run on any network/provider.<br><br>You are right on one thing... the make/break is going to be if we see lots of devices with the Android stack.<br><br>BTW, my favorite mobile stack right NOW is Windows Mobile.. go Russians :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693571">\
	 <div id="dsq-comment-header-9693571" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693571" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693571" href="http://www.alimaggs.com/" target="_blank" rel="nofollow">Ali</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693571" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693571" class="dsq-comment-message">Not Trendously impressed.  I\'m not getting an IPhone either until they pack a few more features.<br><br>For now, I\'m very impressed with the HTC TyTN II (The AT&amp;T Tilt) - which packs everything in - touch screen, good music/video, 3 Mega pixel camera (and a second camera for video calls), GPS, HSDPA/3G, WiFi, Video Calling and a slide out keyboard.  Admittidly, Windows Mobile isn\'t nearly as pretty as the iPhone (although it is more producive), but HTC did a good job with building the Touch Flo interface over the top.<br><br>For me, the only reason I\'d switch to an iPhone or to an Android phone would be if they took all the useful features I have on my tilt and did something better on top.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693592">\
	 <div id="dsq-comment-header-9693592" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693592" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693592">Matt</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693592" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693592" class="dsq-comment-message">They aren\'t trying to beat the iPhone right now.  They are just announcing a platform; it\'s ok if it is a little dweeby and not that impressive of a video.  It\'s just trying to give developers an idea of what the SDK is capable of.  These devices aren\'t going to be coming out for a year so I think it\'s a little premature to right them off today because of a lousy dev video.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693593">\
	 <div id="dsq-comment-header-9693593" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693593" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693593">Eric</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693593" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693593" class="dsq-comment-message">It\'s early days man, give it a break. Geez it\'s a new approach and being open it is intended to evolve like putty in the hands of the developer community.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693627">\
	 <div id="dsq-comment-header-9693627" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693627" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693627">Peter Kasting</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693627" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693627" class="dsq-comment-message">Google announces an SDK, and everyone gets upset that the actual prototype being used to demo some of the apps doesn\'t have good UI?  Isn\'t this missing the point a bit?  Google isn\'t building a phone.  It\'s building a software stack other people can use to build a phone.  Given that, saying things like "OK, we have working GPS, an OpenGL-based 3D API, and built-in wrapper code for common functionality like maps" seems a lot more appropriate than "hey, this prototype that you\'ll never get to use has some really consistent UI!"<br><br>A spinning globe is no more an indication that "spinning a globe is all you can do with this phone" than a spinning cube screensaver is an indication that that\'s all the Windows drawing routines can do.  It\'s a demo.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693631">\
	 <div id="dsq-comment-header-9693631" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693631" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693631" href="http://www.theconnectedworld.net/" target="_blank" rel="nofollow">David Jacobs</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693631" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693631" class="dsq-comment-message">I agree it\'s probably too early to judge, but wow, those guys have absolutely *no* Steve Jobs mojo. Steve J could present a steaming pile of poo on a plate and make you want it more than anything you\'ve ever wanted. Reminds me of what a friend used to say about HP marketing. That they would sell sushi as cold, wet fish.<br><br>Google has actually never had good marketing. They have  cool, interesting apps and alot of fanboys.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693632">\
	 <div id="dsq-comment-header-9693632" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693632" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693632" href="http://benoit.cazenave.fr/" target="_blank" rel="nofollow">Benoit Cazenave</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693632" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693632" class="dsq-comment-message">The important part here is your wife is excited by her iPhone. Everybody who has touched my iPhone here in France is a believer. I\'ve had cellphones the moment a GSM phone fitted in a pocket and I have never been as excited again until the iPhone came out. The iPhone changed the rules - super easy to use phone AND great at the Internet. The Gphone is a copycat and just "opened" at best. But open doesn\'t make consumers drool. Sorry.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693634">\
	 <div id="dsq-comment-header-9693634" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693634" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693634" href="http://scobleizer.com/" target="_blank" rel="nofollow">Robert Scoble</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693634" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693634" class="dsq-comment-message">Benoit: true. Which is why I sure wish I would have heard something different here. Open should enable developers to create different kinds of devices that simply can\'t exist with a closed platform.<br><br>How about putting a cell phone in a vacuum cleaner? What would you do if you could do that? How about putting one onto a sign on a street corner? How about one in your dashboard? How about a dockable cell that could do better sync with your PC? Instead we get a Google Maps commercial. Yawn. I already have that on my iPhone AND my Nokia!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693626">\
	 <div id="dsq-comment-header-9693626" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693626" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693626">Ryan Ackley</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693626" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693626" class="dsq-comment-message">I\'m a developer but not a mobile phone developer. What makes android attractive to me is that it makes mobile phone development seem like a viable software business all of a sudden. I can target a lot of phones with a single development platform. Windows mobile had the same promise but it turned out to be only for the highest end phones. Maybe android will be the same way and I am just caught up in the marketing hype.<br><br>If you look at the iPhone, I think it will follow the same arc as the Apple computer. Incredibly innovative, but eventually Apple\'s insistence on controlling every millimeter of the platform will relegate it to a niche market.<br><br>For example, the Macintosh is gorgeous. I drool on the anti-aliasing and wide screen monitors every time I go to the Apple store. but I use a PC because every application I need runs better on a PC. I think it is because Windows is more developer friendly. The best applications for the Mac were developed by Apple.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693633">\
	 <div id="dsq-comment-header-9693633" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693633" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693633" href="http://www.lifeonthegrid.com" target="_blank" rel="nofollow">spinchange</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693633" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693633" class="dsq-comment-message">I know they didn\'t really knock us out with anything that had a real \'Wow\' factor, but seems like a lot of criticism right out the gate! It also seems kind of unfair to compare a nascent community-based, open source development environment with very polished proprietary, *closed sourced* PRODUCTS. But hey, they had a crappy video and the bloggers had to sit in the cheap seats at its release (?)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693574">\
	 <div id="dsq-comment-header-9693574" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693574" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693574" href="http://comicstripblog.com/" target="_blank" rel="nofollow">Comic Strip Blogger</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693574" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693574" class="dsq-comment-message">Robert, as you can read <a href="http://wirelesssoftware.info/archive/2007/11/12/java---main-language-of-android-sdk.aspx" rel="nofollow">HERE</a> the language of Android SDK is Java. I am asking myself questions: why Java for SDK? is whole Android written in Java too?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693573">\
	 <div id="dsq-comment-header-9693573" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693573" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693573" href="http://ericrice.com/" target="_blank" rel="nofollow">eric rice</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693573" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693573" class="dsq-comment-message">Wonder what the masses of RAZR users will think.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693572">\
	 <div id="dsq-comment-header-9693572" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693572" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693572" href="http://jimpick.com/" target="_blank" rel="nofollow">Jim Pick</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693572" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693572" class="dsq-comment-message">If it\'s open source, I can put it on my N770, right?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693625">\
	 <div id="dsq-comment-header-9693625" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693625" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693625">Bobby</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693625" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693625" class="dsq-comment-message">At least the prototype has buttons. I like phones with buttons. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693575">\
	 <div id="dsq-comment-header-9693575" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693575" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693575" href="http://www.bigdumbdev.com/" target="_blank" rel="nofollow">Steve Brewer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693575" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693575" class="dsq-comment-message">Saying your not going to switch from the iPhone to Android is like saying your not trading in your BMW for a Z Platform.  Product != platform.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693576">\
	 <div id="dsq-comment-header-9693576" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693576" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693576" href="http://designbyseanmcgee.com/" target="_blank" rel="nofollow">Sean McGee</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693576" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693576" class="dsq-comment-message">Hey Robert,<br><br>Any idea if this thing is going to have Flash?<br><br>That would be one thing the iPhone can\'t (currently) do.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693577">\
	 <div id="dsq-comment-header-9693577" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693577" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693577">toivo</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693577" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693577" class="dsq-comment-message">Let\'s have a bet?  Prizes are good.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693594">\
	 <div id="dsq-comment-header-9693594" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693594" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693594">Fnord</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693594" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693594" class="dsq-comment-message">"I didn’t see ONE feature that will get normal people to switch from the iPhone."<br><br>Well... Normal people don\'t use the iPhone, do they? No, they use all the other phones that are out there. The videos appealed to me, but then you\'re not a developer, are you.<br><br>The markets Google and Apple are targeting are entirely different, so comparing their initiatives on the mobile front is like comparing apples and oranges.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693591">\
	 <div id="dsq-comment-header-9693591" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693591" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693591">Aaron</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693591" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693591" class="dsq-comment-message">He sounds like Ben Stein.  "I am excited about this product.  I will show you how excited I am about this product by not smiling, talking in a monotone voice, and reading cue cards.  Wow.  That\'s spectacular."</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693635">\
	 <div id="dsq-comment-header-9693635" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693635" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693635">sigh</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693635" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693635" class="dsq-comment-message">I don\'t think Scoble understands this very well. This is not iPhone versus Android.<br><br>There is no reason iPhones can\'t run Android applications. Android is designed in such a way that it would be easy for Apple (or Motorola or Palm) to make products that support Android apps?<br><br>Why would they want to do that? Because there is going to be a massive community of developers out there building awesome cross-platform applications.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693578">\
	 <div id="dsq-comment-header-9693578" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693578" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693578">Christopher Coulter</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693578" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693578" class="dsq-comment-message">Wow, agree. You sick? You\'ve been making sense lately. Totally something developers developed for other developers to show off their way cool developer skills, like most of what Google ever does. Arrogant Stanford grads masturbating to their own code.<br><br>The iPhone is nice, but more a toy, Blackberry, full-sized QWERTY keyboarders and PDA phones far more productive, though not as much fun. But sadly iPhone is saddled with AT&amp;T\'s EDGE 2g inferior network. But with hacks, it\'s good, and 1.1.2 was hosed almost in minutes.<br><br>With Voyager on 3g EV-DO, with the best of iPhone and QWERTY\'s and then a slew of new Sony Ericsson\'s and Nokia\'s (Haptikos) and Sidekick LX and on and on and on, a Googleish API Phone is a joke at best.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693579">\
	 <div id="dsq-comment-header-9693579" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693579" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693579" href="http://rbazinet.wordpress.com/" target="_blank" rel="nofollow">Rob Bazinet</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693579" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693579" class="dsq-comment-message">I agree, this is an empty announcement.  I think since Apple announced they would release an iPhone SDK, Google felt compelled to show their hand early.  It turns how to be a half-baked SDK or at least the total story is not really written.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693580">\
	 <div id="dsq-comment-header-9693580" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693580" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693580">Pei Zheng</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693580" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693580" class="dsq-comment-message">I would admit that this demo does not impress me big time. iPhone can easily beat almost most of the stuff they demoed, except the openGL part. However, Windows Mobile may have a hard time competing with Android.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693581">\
	 <div id="dsq-comment-header-9693581" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693581" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693581">Lars Fischer</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693581" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693581" class="dsq-comment-message">The iPhone is simply too expensive (at least here in Germany). Even half the price would be too much for such a (nice) toy.<br><br>I like Apple and I could afford the iPhone but I don\'t like robbery.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693624">\
	 <div id="dsq-comment-header-9693624" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693624" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693624">Neil Weisenfeld</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693624" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693624" class="dsq-comment-message">Clearly the jury is still out as we haven\'t really seen much of anything, yet, but I think that people should be considering this as developers showing off an architecture and some APIs, not a handset manufacturer showing off a feature-complete (or even a prototype) phone.<br><br>If Apple had shown the iPhone at the initial stages and demoed the accelerometer and multi-touch screen APIs, people would probably have fallen asleep in the audience.  It wasn\'t until Steve rotated the phone and it switched to landscape mode and showed off the "pinch" that people went "wow."  But the former had to happen before the latter.<br><br>Personally, I don\'t want to be excited about slick apps at the start of a project; I want to be excited about an architecture.  If the architecture sucks, it\'s going to be a tangled, nasty mess and ultimately a poor user experience.  You may be able to graft some slick apps on top of a crappy architecture, but ultimately things will fall apart. See, for example, <a href="http://en.wikipedia.org/wiki/Palm_OS" rel="nofollow">http://en.wikipedia.org/wiki/Palm_OS</a></div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693622">\
	 <div id="dsq-comment-header-9693622" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693622" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693622" href="http://lningram.wordpress.com/" target="_blank" rel="nofollow">lningram</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693622" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693622" class="dsq-comment-message">... at least he\'s cute!!!!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693595">\
	 <div id="dsq-comment-header-9693595" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693595" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693595">Callek</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693595" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693595" class="dsq-comment-message">"...doesn’t understand how to pitch end users and developers at the same time (developers only really come after end users do anyway, look again at the iPhone)."<br><br>And yet, even this statement is missing the point. Developers are users too, they just think slightly differently. ;-)<br><br>The problem lies in the fact that you have to make a developer want the device for themselves, and then to have the [coinciding] desire to write their code/application for that device.<br><br>There is a less-common desire to write your code/application for a device others use but you don\'t; which while entirely true in some cases, does *only* follow end-users and even then not always, and is much more infrequent than the first case.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693582">\
	 <div id="dsq-comment-header-9693582" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693582" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693582" href="http://fupeg.blogspot.com/" target="_blank" rel="nofollow">Michael</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693582" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693582" class="dsq-comment-message">"I didn’t see ONE feature that will get normal people to switch from the iPhone."<br><br>Dumbest statement. Ever. Hate to break it to you Robert, but there aren\'t that many iPhone users out there. It is a very, very small market. Anybody just going for that market would be setting their sights low. Now of course Apple is hoping to expand that market rapidly, which is why they dropped the price by 33% just a few moths after the highly touted debut.<br><br>Further, it is silly to compare some prototypes to a polished retail product. The real success of the Android platform will be how many phones are built with it. Now you can definitely compare those phones to the iPhone. That would be a true apple-to-Apple comparison...<br><br>Meanwhile as others have pointed out, this is a huge difference maker for developers. Mobile device development is so fragmented and painful right now. This is not just an SDK, it is an SDK that provides access to phone hardware that is rarely accessible to most developers. Plus it runs Java, so one can imagine that many Java based apps and games are already going to work on this thing. That should be no surprise since Google Mail, Talk, and Maps are all Java apps.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693636">\
	 <div id="dsq-comment-header-9693636" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693636" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693636">Ron</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693636" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693636" class="dsq-comment-message">You do know this is a platform they purchased two years ago from Danger--a company founded by BeOS engineers, right?.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693637">\
	 <div id="dsq-comment-header-9693637" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693637" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693637" href="http://fakesteve.blogspot.com/" target="_blank" rel="nofollow">FSJ</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693637" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693637" class="dsq-comment-message">Haha! You are just pissed off because Google doesn’t love you!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693620">\
	 <div id="dsq-comment-header-9693620" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693620" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693620">Alexander van Elsas</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693620" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693620" class="dsq-comment-message">Hi Robert, personally I welcome the competition. Even if Android turns out to be not capable of bringing better services to mobile users, it might just inspire the competition to work at it. We are still in the stone age of mobile internet with a total lack of easy and user centric UI\'s and applications that add value to my mobile experience.<br>But let\'s wait and see. I think that if developers start working on the Android OS we might get a few surprises after all.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693619">\
	 <div id="dsq-comment-header-9693619" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693619" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693619" href="http://joeduck.com/" target="_blank" rel="nofollow">Joe Duck</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693619" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693619" class="dsq-comment-message">Wow, I think you are being a iPhone PhanBoy here ... Patrick is correct that this is a "ripoff" of the iPhone which is why the phones built with this platform may be so popular - iPhones for $100 sounds good to me.  I have a Treo650 which is NO match for the iPhone.  I would have bought an iPhone, but now I\'ll wait for the gPhone.  Why?  Cheaper and will have better integration with my gMail and Google maps and Google document world.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693638">\
	 <div id="dsq-comment-header-9693638" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693638" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693638">Mao Tse Tongue</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693638" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693638" class="dsq-comment-message">Why are you such a negative douche-bag? Is it because of the Fake Steve Jobs post re-telling the story of you being a sucky-baby when you were screaming and whining to Google to give you a Google-phone?<br><br>Like that article said, check with your friends Dave Winer or Om Malik first.  At least people listen to them.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693621">\
	 <div id="dsq-comment-header-9693621" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693621" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693621" href="http://www.julianonsoftware.com/" target="_blank" rel="nofollow">Julian</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693621" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693621" class="dsq-comment-message">“I didn’t see ONE feature that will get normal people to switch from the iPhone.”<br><br>Normal people won\'t buy the iPhone! :)<br><br>As for other phones -- it\'ll be cheap. The iPhone has been out what, a few months and yes it\'s a great status quo. But if you compare what Android does vs pretty much any other phone, it starts looking pretty competitive I reckon.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693639">\
	 <div id="dsq-comment-header-9693639" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693639" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693639">Ronald Horowitz</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693639" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693639" class="dsq-comment-message">I don\'t get you Scoble. Half the time you say some insightful things and I learn a lot from reading your blog - but the other half of the time you come across as a whiney 12-year-old.<br><br>If the OHA is successful, people are going to throw this post back in your face just like people did with the posts of all of the haters when Apple announced V1.0 of the iPod.<br><br>In my opinion, and I don\'t pretend to be some grand wizard of technology like you do - apparently without any justification whatsoever, I might add - there is clearly a movement toward more open standards in technology and Apple, regardless of the gee-whiz technology they\'ve included in the iPhone, is making the same mistake they made with the Macintosh platform back in the 80s.  There\'s a reason Apple only has 6% of the home computer market.  And don\'t tell me that finally releasing an SDK - while still controlling what applications are available via iTunes - is really making the iPhone "open."  More open, yes, but truly open as it appears the OHA handsets will be, not a chance.<br><br>Also, the iPhone\'s features - while they may have been difficult to envision in the first place - are not difficult to copy.  And the iPhone is merely going to set the benchmark for successful mobiles in the future - including any OHA mobiles that want to be successful.<br><br>I guess you post junk like this just to stir up a controversy and thereby boost your page views, but it\'s frankly insulting to you readers and should be beneath you.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693640">\
	 <div id="dsq-comment-header-9693640" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693640" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693640">Artichoke Heart</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693640" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693640" class="dsq-comment-message">"How about putting a cell phone in a vacuum cleaner?"<br><br>Is this really the best you can come up with Scoble?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693641">\
	 <div id="dsq-comment-header-9693641" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693641" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693641" href="http://www.modadigital.es/" target="_blank" rel="nofollow">James</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693641" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693641" class="dsq-comment-message">I agree the video is boring, and looks as if the launch has been precipitated.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693642">\
	 <div id="dsq-comment-header-9693642" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693642" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693642" href="http://www.vinodlive.com/" target="_blank" rel="nofollow">Vinod</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693642" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693642" class="dsq-comment-message">I fear you did not get the actual plot of this platform. What you saw is a \'place holder\'/reference implementation. Please do not any assumptions of this being the finalized UI metaphors. The UI, Phone functionality, Extra-phone features, etc.. etc.. can ALL be altered to suit your needs/tastes with this platform. Understand - this is an SDK - a Great one at it(I\'ve got my Europa loaded already with ADT and is coding away happily) - for the ultimate+unified mobility platforms.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693643">\
	 <div id="dsq-comment-header-9693643" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693643" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693643">Chris</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693643" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693643" class="dsq-comment-message">Hi Robert,<br><br>I have to say I\'m a little nonplussed at your derision of the video. I\'m a developer who writes desktop apps for a living and is starting to hack web stuff in my spare time. I live in Europe. I don\'t care that Steve Jobs gives great presentations (I won\'t be there), or that TechCrunch weren\'t invited. I don\'t care whether it looks like a copy of an iPhone - I\'ve never seen an iPhone.<br><br>The video is ok (and it\'s video that matters, not whether some gadget blowhards are getting advance previews - not directed at you btw), and it\'s reasonably effective. If it\'s being straight with me, then I see the following: an open platform, which for me is accessible and familiar - I run on a solid open source stack already; straight forward functionality that replicates what I\'m already familiar with; based on open toolsets that I\'m already familiar with.<br><br>Frankly I\'m having a hard time understanding the negativity. It does appear that it\'s a result of simply not pandering to the audience of Scobles etc. I\'m sitting 6000 miles away, and it doesn\'t bother me in the slightest. I\'m sure there are many others like me.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693644">\
	 <div id="dsq-comment-header-9693644" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693644" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693644" href="http://mrspeaker.webeisteddfod.com/" target="_blank" rel="nofollow">Mr Speaker</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693644" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693644" class="dsq-comment-message">Developers don\'t need (or want) over the top videos telling us how awesome-super-cool and XTREME-industry-changing a product is.<br><br>You shouldn\'t need a visionary and a marketing company to get you excited about a platform!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693645">\
	 <div id="dsq-comment-header-9693645" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693645" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693645">RJ</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693645" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693645" class="dsq-comment-message">I am guessing, and it is a guess, that you didn\'t bother watching the architecture videos, or the HOWTO video? If you had you would have seen the potential of the platform and what you can do with the frameworks.<br><br>In fact I know you didn\'t watch the arch videos, because you didn\'t mention one of the most relevant and interesting points - you might write code in Java, but it runs on Google\'s own in-house VM and NOT on J2ME.<br><br>Maybe you should get your developer friends to watch more than the demos?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693612">\
	 <div id="dsq-comment-header-9693612" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693612" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693612">Porta</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693612" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693612" class="dsq-comment-message">Sorry, but you\'re ignoring the fact that the iphone will never be available in some places (I live in Argentina) and my options are:<br>Find somebody in the US that buys me a iphone, hack it and use it with any carrier here. Perhaps I\'ll brick it on the process... right?<br>Or:<br>Wait, buy any phone I want that has android on it and do a legal activation with my current carrier.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693613">\
	 <div id="dsq-comment-header-9693613" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693613" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693613">Steve S.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693613" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693613" class="dsq-comment-message">You are well off the mark here.<br><br>First, understand Googles target audience with this announcement. Heres a hint - its not hi-profile tech-savy bloggers like yourself, or end customers, duh!. Btw, I don\'t work in tech or phones, and these videos from google were more exciting to me that any of your recent videos. Their targets are developers and phone manufacturers. And developers don\'t want atomic videos, they want documents and specifications and this is what they\'ve got. Imagine a developer saying "How do I implent feature x?, s**t theirs no atomic video describing the API, now I\'m screwed".... yeah, right!<br><br>And all this crap about how you haven\'t seen it, its vapourware, etc, well boo-hoo - if you look at all the release info some of the google devs have been using android on mobile devices for 6 months! Note that android is based on technically the best software stack you could conceive - i.e. a linux core with Java apps - both established, open and proven technologies in the mobile world. This approach takes care automatically of perhaps the biggest problem the iphone is encountering in allowing 3rd party apps, namely security. Additionally, realise that due to this approach, it would be easy to mix in non-java code in the future.<br><br>As to the multiple interface control options - you\'re again missing the point. They are talking about the capabilities of an operating system, not a single device. Phone manufacturers can expose control options as they choose in order to make a coherent interface. They point is *they have choice*.<br><br>As to the $10 million prize for apps, yes google are buying developers to write apps, yes they are seemingly a little late to the game, and yes this shows that they are bloody serious about android. Ultimately what your observations of the iphone hacking scence should have taught you is that a key reason people buy \'smartphones\' is for 3rd party apps. So how successfully do you think a financially incentivised open source mobile operating system designed for 3rd party applications will be? Don\'t be stupid, this is going to be huge.<br><br>Your blog post reads very much as a "give mes one of your new toys to play with or I\'ll trash it for no good reason".</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693584">\
	 <div id="dsq-comment-header-9693584" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693584" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693584" href="http://mostlyyes.tumblr.com/" target="_blank" rel="nofollow">Shajith</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693584" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693584" class="dsq-comment-message">Scoble: It is not a phone! It\'s a framework, with an SDK available for Windows, OS X(Intel), and Linux, which allows developers to write applications in Java and test them in an emulator. There is complete and excellent documentation of the very extensive API, and an emerging support community. What you saw in the videos was very likely an early hardware prototype, and not representative of any final incarnation of the Android platform on a device.<br><br>That should put the whole iPhone comparison thing to rest.<br><br>In terms of the SDK, Android is indeed pretty exciting, due to the sheer breadth of libraries available (OpenGL ES, XMPP, full phone stack/contacts access, etc) and the elegance of the API (it\'s NOT another version of J2ME, please at least look at the sample code).<br><br>It\'s hardly vapourware from the point of view of a developer. You can, today, download the SDK and start writing applications which have access to nearly everything on the phone. Sure, OpenMoko would be even cooler, with the hardware accessible now, but Android is by no means a certain dud.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693646">\
	 <div id="dsq-comment-header-9693646" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693646" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693646">Vanchi</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693646" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693646" class="dsq-comment-message">Wow. You missed the point.<br>Do realize this is not a phone, but a phone platform. And that too a free and open one.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693616">\
	 <div id="dsq-comment-header-9693616" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693616" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693616">Ben</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693616" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693616" class="dsq-comment-message">Speaking as a developer, I can\'t remember the last time a platform has excited me as much as the iPhone. I know many developers are, like me, already hacking away at apps on jailbreaked iPhones in preparation for the official SDK. Its capabilities are simply awesome. Developing for it is a joy, even without any official tools; it\'s OS X, after all. If Apple plays their cards right, we\'ll see many revolutionary, killer apps to emerge on the iPhone well before any Android device has even seen the light of day. No bribe from Apple required. I\'d even be worried if I were Nintendo -- iPhone will be the dominant platform for the next generation of mobile gaming, mark my words.<br><br>Android? It feels like Symbian all over again. I\'m very underwhelmed.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693618">\
	 <div id="dsq-comment-header-9693618" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693618" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693618" href="http://www.studiomuscle.com/" target="_blank" rel="nofollow">Hendrik</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693618" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693618" class="dsq-comment-message">Well I for one welcome the android too. Android doesn’t compete with the iPhone, but it seems to deliver a stable, well integrated development platform for the mobile, so it’s competing directly with Windows Mobile and Symbian. It hits the soft spot of those by giving us a tightly integrated mobile experience, something that’s never been achieved by Windows Mobile, Symbian or even Pam OS.<br><br>iPhone is still only 1.5 million phones on 2 billion. Google is doing a Microsoft here. By 2010 we’ll have 5% iPhones and 95% phones running on an (open) OS that’s easy to develop for. And add Opensocial to the equation and suddenly all mobile apps will behave like a blackberry behaves for email on a mobile device.<br><br>The only thing I don’t like about the announcement is the price contest. Seems to me not the best way to stimulate innovation and creativity. They should also not make the mistake that Microsoft made and only embrace the developers, they should embrace open source psychologists, graphic designers, usability engineers and antropologists as well</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693611">\
	 <div id="dsq-comment-header-9693611" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693611" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693611">scott</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693611" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693611" class="dsq-comment-message">This is a ridiculous post. I built my first Android app yesterday in about 15 minutes using the handset simulator. The SDK is exactly what I am looking for. The platform looks very solid. As a long time Apple developer I know better than to invest resources to support proprietary Apple technology again. Jobs does not care about developers. Google obviously does. Thank you Android team!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693647">\
	 <div id="dsq-comment-header-9693647" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693647" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693647">Gregor</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693647" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693647" class="dsq-comment-message">I can just laugh at you. I mean... whats your education? Who are you all of the sudden to judge things that analytics reviewed so many times with developers that you can\'t even imagine?<br><br>Get yourself some good faculty diploma, then you can discuss things like that, but before that... you\'re just one of the bloggers who wants to get hit with visits.<br><br>did you ever checked SDK in eclipse? did you checked their documentation? no? did your programmers friends? i don\'t think so.<br><br>Attention whore!</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693648">\
	 <div id="dsq-comment-header-9693648" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693648" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693648" href="http://www.jroller.com/shareme" target="_blank" rel="nofollow">Fred Grott</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693648" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693648" class="dsq-comment-message">I guess I should clue some in that Google does have sort of a competitor fast approaching..<br><br>Just imagine a Mobile ajax runtime that allows the Mobile User to create Mobile widgets using html,css, and javascfipt its called MobileY! and currently is development in far away lab<br><br>ipHone succeed because it went after Mobile Users..<br><br>Another term for MobileY! is a Social Mobile Browser for every mobile user..<br><br>I am taking a huge risk here in getting into trouble with my top bosses..<br><br>Lets just say I am kicking Purple Dinosaurs through the SF49ers Uprights..<br><br><br>Videos for Mobile Users Coming soon :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693649">\
	 <div id="dsq-comment-header-9693649" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693649" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693649" href="http://www.technovia.co.uk/" target="_blank" rel="nofollow">Ian Betteridge</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693649" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693649" class="dsq-comment-message">So the iPhone SDK is "well thought-out" is it? That\'s interesting - because as far as I know, neither you nor anyone else has seen it.<br><br>You\'re happy to talk about the iPhone SDK as if it were god\'s gift to mobile developers, while complaining that the Google SDK, which is here, now, is vapourware?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693615">\
	 <div id="dsq-comment-header-9693615" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693615" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693615" href="http://www.nektra.com/" target="_blank" rel="nofollow">nkt</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693615" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693615" class="dsq-comment-message">I think that Android will benefit in the short term iPhone, Windows Mobiles devices and Symbian devices.<br>Seems \'paradoxical\' but Google will make the Mobile Market more dynamic but benefits others vendors instead of Google itself.<br>And even Android is far from the developers side without offering a C/C++ way to develop native applications.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693614">\
	 <div id="dsq-comment-header-9693614" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693614" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693614" href="http://www.mysticliquid.com/" target="_blank" rel="nofollow">Steve</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693614" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693614" class="dsq-comment-message">I think Andriod is a step in the right direction, which is allowing the "public" develop the apps that will be useful in everyday life, but has a ways to go.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693587">\
	 <div id="dsq-comment-header-9693587" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693587" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693587" href="http://www.snaptint.com/" target="_blank" rel="nofollow">harrison</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693587" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693587" class="dsq-comment-message">Hmm... The demo doesn\'t look half bad.  I would much rather get this phone than an overpriced GPS system.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693586">\
	 <div id="dsq-comment-header-9693586" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693586" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693586" href="http://www.daivddalka.com/createvalue/" target="_blank" rel="nofollow">David</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693586" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693586" class="dsq-comment-message">Wow. It\'s the old Scoble! The magic of text! I hope he stays around, I miss this guy. :)</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693650">\
	 <div id="dsq-comment-header-9693650" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693650" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693650">Tom</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693650" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693650" class="dsq-comment-message">Heh! Do you really believe Scoble, that Apple\'s developer\'s SDK would be as flexible/powerful as Google\'s OS. Apple never gives power to developers. Face it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693585">\
	 <div id="dsq-comment-header-9693585" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693585" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693585">exapted</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693585" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693585" class="dsq-comment-message">Android is not a copy of the iPhone, and the iPhone is hardly perfect. In fact, from the demo video, Android looks a lot better than the iPhone. At least I can chat and receive notifications while I am doing something such a browsing. Woo... The iPhone has it\'s work cut out for it in terms of integrating actual application communication with their pretty "perfect" UI. Ugh...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693617">\
	 <div id="dsq-comment-header-9693617" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693617" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693617">exapted</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693617" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693617" class="dsq-comment-message">People who want push email, people who like to chat, people who want enterprise applications on their phone.... should definitely prefer Android to the iPhone. Not everyone puts a beautiful UI at the top of their list... and that Android prototype UI certainly looks better than every mobile OS other than iPhone.<br><br>And lets not forget that menus are still being implemented if I am not mistaken.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693600">\
	 <div id="dsq-comment-header-9693600" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693600" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693600">kvp</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693600" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693600" class="dsq-comment-message">I downloaded the sdk and tested it. The gui is nice, it can be used almost the same way as my old and long ago replaced ericsson t20, even the placement of the menus are the same. The touchscreen is not really needed, you can get by only using the arrow keys and the yes/no menu/back buttons, very handy for one handed operation.<br><br>The emulator is trickier. It runs a computer with qemu, that uses a linux kernel, a boot ramdisk and two disk images. The images contain linux filesystems with the binary programs (like an sql server) that is needed for linux to work. The gui\'s bottom part is binary and written in c++, but the windowing system runs is java. The runtime is a modified java vm, much like the one used on some sony-ericsson phones.<br><br>The main difference between this and the apple iphone is that this environment theoretically allows the use of home made hardware, but it contains a few non open source kernel and software components. I hope they can be replaced with standard open source code. It would be possible to write c++ applications that tie into the gui and can be controlled from the java side windowing system. (like windowing and menus in java, 3d rendering in c++, just like on certain mri kits)<br><br>My conclusion is that this sdk is mostly the hardware developers sdk, mainly aimed at getting the environment up and running on an actual hardware, but it got tailored for running demos. Imho if we could find the source or at least the apis for the proprietary modules, it would be possible to get the whole system up and running on any hardware, including running it natively on anything that can run linux. I like this approach better, because this way I could use it with my own home made gsm hardware (via nano+gsm module+touch lcd+battery), or even install the android environment as an application under openmoko. The only thing preventing people from building linux based phones is the lack of gsm services (like sms and mms handing in thunderbird or a dialer with proper contact lists).<br><br>They could only blow their chance is by keeping the runtime environment closed and only licensing it to device manufacturers. I don\'t know if they open up these subsystem too, but the current sdk doesn\'t have them in source form.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693651">\
	 <div id="dsq-comment-header-9693651" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693651" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693651">mark</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693651" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693651" class="dsq-comment-message">Ryan (comment 14) has it exactly right. This is Apple vs. EverybodyElse all over again. Apple goes first, big hype, and the trendy types all buy. But in the end it is the less fancy, more open platforms that win.<br><br>Might not be perfect, but many developers will see this as an opportunity, and much more innovation will come from Android than the iPhone. One caveat, we have to see it running on some real hardware.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693609">\
	 <div id="dsq-comment-header-9693609" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693609" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693609" href="http://thesoapboxprophet.blogspot.com/" target="_blank" rel="nofollow">Andrew Venegas</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693609" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693609" class="dsq-comment-message">I think that they\'re doing what Microsoft did with the Zune. Everyone knew that Apple had a corner on the mp3 player market with the ipod. Microsoft was just looking to dent its market share and really expand in other avenues. I\'m guessing Google is doing much of the same. Let\'s face it, the iPhone is the only really game out there, and everyone knows it.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693610">\
	 <div id="dsq-comment-header-9693610" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693610" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693610">esmith</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693610" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693610" class="dsq-comment-message">Holy cow... Talk about rushing to judgement.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693608">\
	 <div id="dsq-comment-header-9693608" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693608" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693608" href="http://doncrowley.blogspot.com/" target="_blank" rel="nofollow">dc crowley</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693608" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693608" class="dsq-comment-message">Hey Robert! Android does not have to beat the iPhone. I don\'t find it earth moving... but we are spoilt brats. Android offers lots of possibilities to easily develop new stuff. I was disappointed with Google last week when they announced this. All the hype about a gPhone and we end up with a platform. But Google are being clever offering $10M in prizes. This could lift the level of android applications very quickly.<br><br>I don\'t have an iPhone, I\'m not in a \'state\' to get a phone that has Android. But it might change. I think the biggest problem will be the greedy telco\'s.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693607">\
	 <div id="dsq-comment-header-9693607" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693607" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693607">callingshotgun</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693607" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693607" class="dsq-comment-message">I call no-fair:D<br><br>Comparing Android to the Iphone-  Isn\'t that a little like comparing Winamp to the Zune?<br><br>It\'s not fair to judge a software platform by the interface of the hardware it\'s running on.<br><br>There are several reasons I\'d take an Android-Powered mobile over an iPhone-<br><br>1) The SDK - That "don\'t believe it till you see it" think mentioned above goes both ways.  Apple promised an SDK for the iphone a long time ago, and waffled with "web sites are your SDK."  They\'re not.  They might do it again, too.  And even if Apple produces one next year, it\'ll be from all the pressure they\'ve received, not from a genuine attitude of thinking of their device as a platform to allow others to build on.<br><br>2) I\'m a developer.  I understand that puts me in the "not normal" set of consumers, but honestly, from a programming perspective, Android looks like a playground I can carry around in my pocket.  And I really love Google API\'s-  The documentation may not be an exhilerating read, but be serious.  It\'s an API.  And in Google\'s case, as a general rule, you can create wonders with them.<br><br>3)Choice (that seperation between phone &amp; platform comes in, here).  If I want an Android-powered phone on a 3G network, I pick a provider with a 3G network, and a model that supports it.  If I want an Android phone with GPS, I pick a model with GPS.  If I want an iPhone with 3G, I wait.  If I want GPS, I either risk bricking the iPhone to install something that fakes GPS based on celltower location, or I wait.<br><br>4)Developer community-  The barrier of entry into developing for the iPhone is vastly larger than for Android, so naturally, I think more people are going to develop for Android.  More developers -&gt; more software -&gt; greater presence in developer forums/communities -&gt; better software.  That\'s just how I see it rollin\'.<br><br>-Alex</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693652">\
	 <div id="dsq-comment-header-9693652" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693652" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693652" href="http://www.secureyourtrademark.com/" target="_blank" rel="nofollow">trademark registration</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693652" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693652" class="dsq-comment-message">Sure, the video was unimpressive, but I think you should hold off judgment until the thing is actually released.  Who knows--maybe they\'ll catch on to your opinions (and those of many others around the internet) and make appropriate changes.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693653">\
	 <div id="dsq-comment-header-9693653" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693653" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693653" href="http://www.chadwsmith.com/" target="_blank" rel="nofollow">Chad W Smith</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693653" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693653" class="dsq-comment-message">#1 To be a success, Android does not have to kill the iPhone.<br>#2 I doubt much of anything is going to get people who already have an iPhone to give up their iPhone - Two Year Contracts tend to have that affect on people.<br>#3 If I just spent $300 - $600 on a phone, I\'m not even going to bother looking at other phones for a while, regardless of contracts or not.<br>#4 You are comparing something that is software only (Android) to a software/hardware package (iPhone).  I\'m sure there will be a good number of phones that run Android that will be utter crap.  And, then there will be some phones that run Android that will kick the iPhone\'s butt.  It\'s like comparing a Mac and Windows.  You don\'t compare the operating system to the computer.  (Mac comes with iLife and a built-in camera and bluetooth - Windows comes with a DVD.)  No, you compare a given Mac (MacBook Pro 15") with a given laptop running Windows (Dell XPS with Windows Vista Ultimate, or whatever).  Trying to compare what is, in practical terms, vaporware (not that it doesn\'t exist, but the final product does not yet exist) to the hold-it-in-your-hands iPhone - is not only unfair - it\'s pointless.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693654">\
	 <div id="dsq-comment-header-9693654" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693654" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693654" href="http://fakesteveballmer.blogspot.com/" target="_blank" rel="nofollow">Steve Ballmer</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693654" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693654" class="dsq-comment-message">"Rhuggle is a bunch of boy scouts with no den-master! They are just<br>a bunch of spoiled rich kids on a perpetual holiday, no order or<br>discipline. They only exist in that I allow it, I find them amusing, it\'s<br>like watching a house on fire or some other tragedy, you know it\'s<br>repulsive but you just can\'t look away!"<br>The reporters were taking in my words like Saki, they just couldn\'t<br>get enough! So I decided to throw them one more bone!<br>"I have to go now, but since I\'m on Rhuggle, let me say this about<br>this \'Android" thing they announced: It is just like the rest of Google<br>..ahem, I mean Rhuggle, IT ONLY EXIST ON PAPER! Don\'t fall for this<br>vaporware, rumors, fake-half-baked hype that they peddle!"</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693606">\
	 <div id="dsq-comment-header-9693606" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693606" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693606">Victor</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693606" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693606" class="dsq-comment-message">Have you noticed how google android looks like iPhone operational system?<br>Compare the functions shown in the videos below:<br>weshow.com/us/p/23362/google_android_demo<br>weshow.com/us/p/18795/iphone_home_made_review<br>What do you think? Will google bring iPhone power to everyone who can\'t afford apple products? That would be great :D</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693655">\
	 <div id="dsq-comment-header-9693655" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693655" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693655">Roshuan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693655" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693655" class="dsq-comment-message">God I love the myopic Apple fanatic world view.  Anything anyone does that is not exactly the same as what Apple does automatically sucks, and anything that might remotely resemble something that Apple does is a blatant copy.  You folks really need to get some perspective.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693656">\
	 <div id="dsq-comment-header-9693656" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693656" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693656" href="http://radiochango.com/" target="_blank" rel="nofollow">Robuka Kenderle</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693656" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693656" class="dsq-comment-message">&gt;It was released without a personal approach.<br><br>Did you want Sergei to give you a handjob?<br><br><br>&gt;If you want my support for your platform I need to be &gt;able to use it and show it to my friends.<br><br>Of course. Because that\'s what tech is all about, making some geek look cool with his other geek friends.<br><br>&gt;The UI looks confused.<br><br>You means all phones on the Android platform will look like this?<br><br>&gt;Heck, I don’t know of a single developer who<br>&gt;has had his/her hands on Android.<br><br>Wait, Android is not a platform? Its the name of a phone?<br>Developers on the other hand have their hands on the SDK.<br>What\'s that you say?<br><br>&gt;Google needs to get atomic videos.<br>You dont like the editing of the video?<br><br>&gt;Google’s PR comes across as “only caring about big &gt;bangs.<br>Yes, Apple and Microsoft\'s PR is understated.<br><br><br>&gt;They also kept me from using my video camera during &gt;the press call<br>Waaaaaaaaaaaaaaaah!!<br>Waaaaaaaaaaah!! I need my mommy....<br>When Apple does one of these they have no rules whatsoever. None.<br><br><br>&gt;It looks too much like a poor copy of the iPhone.<br>The main reason they should never have used a demo.<br>Some lame brained writers might think THIS is the phone instead of a platform on which different companies will be able to build different models of phone.<br><br><br>&gt;But what do I know<br><br>From the look of it, very little.<br><br>More like the judgement and reasoning of my 12 year old nieces who like things that look cool.<br><br><br>#20 is right on the money:<br>&gt;Saying your not going to switch from the iPhone to &gt;Android is like saying your not trading in your BMW &gt;for a Z Platform. Product != platform.<br><br>T-r-y  t-o  c-o-m-p-r-e-h-e-n-d   t-h-i-s.<br><br>RK</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693604">\
	 <div id="dsq-comment-header-9693604" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693604" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693604" href="http://craigbbaker.wordpress.com/" target="_blank" rel="nofollow">craigbbaker</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693604" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693604" class="dsq-comment-message">You could be very wrong this time Robert.<br>What Google has presented so far is a very impressive mobile platform. Yes betamax won out against VHS, but the innovation that has gone in to Android from what I\'ve seen makes me think this thing could have legs.<br>I\'m a developer, I enjoyed the videos, I wanted longer videos and more information.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693657">\
	 <div id="dsq-comment-header-9693657" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693657" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693657">Muchacho</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693657" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693657" class="dsq-comment-message">You are all a bunch of stupids that just blog first before understand what is going on.<br><br>Andriod SDK is mean for Developers not for end users.<br><br>The demos and videos are just for demostration for DEVELOPERS of what kind of things the platform can do. As we have a compass, GPS, USB, 3D hardware graphics acceleration, Touching, keyboard and much more.<br><br>The real phones and marketing, that will depend of Operators and device manufacturers as Motorola, AT&amp;t so on.<br><br>Google just gives the Software stack for get one and only one universal platform for mobile devices.<br><br>Google what gets from this?, this platform runs webkit and is very integrated with internet features so Google will continue doing what they do best ADS as we can find now in a desktop PC. Google win money with ADS and advertsiments in the internet.<br><br>Google doesnt win money with Andriod directly, the device manfucaturers and operators are the winners of what they will build with this Software Stack called Andriod.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693658">\
	 <div id="dsq-comment-header-9693658" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693658" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693658">Henry S.</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693658" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693658" class="dsq-comment-message">"They didn’t talk about ONE thing that the iPhone doesn’t do."<br><br>Well <a href="http://google.com" rel="nofollow">google.com</a> didn\'t do anything that <a href="http://yahoo.com" rel="nofollow">yahoo.com</a> didn\'t do...it didn\'t even do a fraction of what it did.  I don\'t think anyone would of predicted the success of Google if they had seen an early version of it (they would of just compared features).<br><br>In general, it is actually very difficult to predict the success of disruptive technologies.  Your way of comparing feature-for-feature is the non-disruptive way.  Apple may be happy having 5% of a market (due to wanting to control everything), but someobody has to do something about the other 95%.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693603">\
	 <div id="dsq-comment-header-9693603" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693603" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693603" href="http://www.danielkvasnicka.net/" target="_blank" rel="nofollow">Daniel Kvasnicka</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693603" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693603" class="dsq-comment-message">I\'m fascinated. How can you ciriticize something, that has JUST been released? And what\'s more, released only for developers?<br><br>You know what? Let\'s talk about this in spring 2008...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693602">\
	 <div id="dsq-comment-header-9693602" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693602" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693602">bobo moreno</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693602" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693602" class="dsq-comment-message">Author is so not getting it; this will bring all the OTHER phones up to par with the iPhone... consumer wins</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693605">\
	 <div id="dsq-comment-header-9693605" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693605" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693605" href="http://www.computerconsultingkit.net/" target="_blank" rel="nofollow">Computer Consulting Kit</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693605" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693605" class="dsq-comment-message">It may be too early to call Google a dud in this area.<br><br>In 18 years in the IT industry, mostly on the SMB business development side, the one thing I\'ve learned: Never bet against the 800-pound gorilla.<br><br>Of course over time, 800-pound gorillas in an industry can turn into 800mg mouses (remember when IBM dominated the PC World, when HP basically owned the laser printer market, when Lotus 123 ruled the finance World, etc.).<br><br>But I still wouldn\'t count Google "out" at this point.<br><br>They have a VERY large installed user "base".</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693601">\
	 <div id="dsq-comment-header-9693601" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693601" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693601">mikep</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693601" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693601" class="dsq-comment-message">I agree with Robert, but from a more technical analysis.  If I put together a bunch of engineers and asked them to put spec a new OS (of sorts) utilizing mostly open source components, this is what I would expect.  Choosing a variant of embedded Linux is straightforward, since it is open source and the alternative is a commercial RTOS.  The VM/core library approach is also nice, as it delivers somewhat of a Hardware Abstraction Layer for developers to "write once, run on any Android" handset.  But the numerous managers, layers, not to mention the general approach to handling GUI API which looks like the original (if not current) OS X and Windows graphics system shows little vision towards a "next gen" embedded device.  The eventual iPhone SDK may allow some innovation in an app\'s GUI, but it goes without saying that the user interaction/ interface will be limited in some ways to Apple\'s "Look and Feel."  This is a good thing, and why Apple products are generally easy to use.  The Android approach seems to invite all forms of GUI which will drive cell phone users crazy.  It also ignores the value of \'branding\' by cell phone manufacturers and service providers.  By placing a simple abstraction layer in the architecture, any app could fit in with, say, a Nokia phone using T-Mobile versus a Sony phone from Verizon, and it could all be done dynamically under the covers without requirements on writing apps themselves.<br>But the main point is that this looks like a desktop OS - out of the chute it is already too large and multi-layered.  We are talking about embedded devices, even allowing for some level of scaling up to ultra portable computing devices.  Since we are talking Google, they will get some manufacturers to dip their toes in the water, and probably some of the cell carriers.  But even if Google can get this OS to perform adequately on a mobile device, I would conjecture that by the time the manufacturers and carriers are done paring it down, it will not be as much of a \'platform\' as Google would like to think.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693599">\
	 <div id="dsq-comment-header-9693599" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693599" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693599" href="http://www.yahoo.com/" target="_blank" rel="nofollow">Jim</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693599" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693599" class="dsq-comment-message">Has anyone thought about Google\'s larger plan, and its big brother effect?  I see 2 key strategies they\'re probably considering:<br><br>1. Get google\'s javascript on as many web sites and web interactions as possible.  cookie everything.  Know what the world is doing. Know what you are doing.  Think about the whole point of adsense, gmail, google reader, and web analytics (look for urchin mention in view source of many websites). "Just paste this tiny bit of javascript into your site.."  Doubleclick would bring way to much power to extend what they\'ve already done.<br><br>2. Get folks to use the google phone and use speech recognition to know what folks are talking about.  insert relevant advertisements at the end of the call.  Notice how well their 411Goog works?  Remember that old search speech recognition tool they once had up?<br><br>The possibilities are getting a bit scary, no?</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693598">\
	 <div id="dsq-comment-header-9693598" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693598" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693598">Lyle</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693598" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693598" class="dsq-comment-message">I have been playing with it and have applied for a job with a company that is planning on using the platform. It\'s real and it\'s out there.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693597">\
	 <div id="dsq-comment-header-9693597" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693597" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693597" href="http://swaroop.in/" target="_blank" rel="nofollow">Swaroop</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693597" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693597" class="dsq-comment-message">Just wait and see how the Android is going to be a killer app for Mobiles.<br>Open Handset Alliance is not a kitty party !<br><br>Quoting Sergey Brin.. "The best applications are yet to be made".</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693660">\
	 <div id="dsq-comment-header-9693660" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693660" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693660">milan</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693660" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693660" class="dsq-comment-message">I like your videos and opinions, but you are too negative now. Maybe you\'ve traveled too much with the bus lately? "Ok that was just mean, but it had to be said."<br>Just tell me, who is giving developers (free) platform to make applications for phones (not some sexy reservoir iPhone land), I mean phones for normal people? Ok, this video is boring, but video on OHA with childrens is not boring. Maybe you didn\'t get it - it\'s freedom. I\'ve asked my children and my wife what would be their magic phone like and they gave me some crazy use cases. I\'ve looked at android apis and you know what - it\'s possible to do it. You are just too negative...</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693596">\
	 <div id="dsq-comment-header-9693596" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693596" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693596" href="http://www.androidapps.org/" target="_blank" rel="nofollow">Max</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693596" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693596" class="dsq-comment-message">Google is making some big moves with Android ( <a href="http://www.androidapps.org" rel="nofollow">http://www.androidapps.org</a> ), OpenSocial, bidding on the wireless spectrum, etc.  It will be interesting to see if the could succeed in these areas the way they did with search.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693588">\
	 <div id="dsq-comment-header-9693588" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693588" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693588" href="http://trinest.com/" target="_blank" rel="nofollow">trinest</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693588" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693588" class="dsq-comment-message">Normal people don\'t use the iPhone idoits do.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693659">\
	 <div id="dsq-comment-header-9693659" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693659" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693659">davodd</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693659" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693659" class="dsq-comment-message">In the late 1980s, I remember emailing to Linus and his frustration that people weren\'t taking his new Linus project seriously.<br><br>They couldn\'t understand why anyone would move from Unix or MS-DOS to use such a clunky operating system, even if it was open source.<br><br>And in the mid-1990s, people pooh-poohed the idea of Java.<br><br>The key is that this new Android platform is just starting. We need to avoid the pitfall of presupposing what an open-source software\'s future will be by how it works at this very moment.<br><br>Odds are the Android of the future will not resemble even remotely what is in the above video. And, odds are, it\'s child or one of its children will be on almost all of our phones within 5-10 years in some form.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693623">\
	 <div id="dsq-comment-header-9693623" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693623" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693623">Utterly furious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693623" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693623" class="dsq-comment-message">hmmmm</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693583">\
	 <div id="dsq-comment-header-9693583" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693583" class="dsq-comment-cite">\
	 <span id="dsq-author-user-9693583">Utterly furious</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693583" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693583" class="dsq-comment-message">In the video the speaker says that the ui will be replaced completely. Please watch the video and then make a comment about something that you don\'t know about.<br>To all people that make ui comments:<br>Are you 5 year old kids that when they read a book, they look for the pictures. and when they don\'t find any pictures, they say the book "sucks"?<br>(when i say a book, i don\'t mean a comic book.)<br><br>any person that has any computer science education at all can tell you that anything that is still in the development process doesn\'t have a good ui.  so respect that. and don\'t go blobing around like a mad monkey that sdk is bad untill you actually installed it and created a simple program with it. and i don\'t mean hello world.<br><br>To all people that say: "i am not gonna touch it until it comes out on a real device..." - Be my guest! from my experience it is better to learn the break-through technologies fast to stay ahead of gray faceless mob. so meanwhile you sit and wait, i will be learning. when finally it will strike you and gphone will be handed to you on the silver plater, i will be the one reading your resume.<br>You say you don\'t believe it is not going to work? Why not???!!! What is so unbelievably difficult to understand that an open mobile platform gives you a chance to make the transition into the wireless age of small factor devices? Do you think google will just let that one slide through if it fails the first time? Do you think it will just say: "No, after buying a company and waisting 10000000 for android challenge and making fools out of ourselves we will just create an ugly, un-functional, featureless device because we are not really a mobile company. we are just a search engine that does doodles every christmas..." Yeah right...<br><br>Also to a guy that thinks Sergey Brin needs a haircut and a speech coach...<br>First Sergey is probably sorry he assaulted your royal ears.<br>Second, it is not about wearing a suite like a lot of corporate monkeys out there. i wonder what you would look like if you had a multi-billion dollar business? Oh i am sorry you don\'t have one, so i guess we will never know.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693661">\
	 <div id="dsq-comment-header-9693661" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693661" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693661" href="http://bdjnk.50webs.com/" target="_blank" rel="nofollow">bdjnk</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693661" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693661" class="dsq-comment-message">Horrible video, I agree. Seems like Google is just bad at PR.<br><br>On the other hand, I don\'t think Google should be the ones doing the publicizing for android. Rather, it should be done by the phone manufacturers and service providers, as they have more experience and a better infrastructure in this regard.<br><br>And that leads me to the point of this post. Google was advertising to developers. Those people who are going to make android in to a viable competitor in terms of functionality.<br><br>There is time enough later for promotional stunts and gimmicks. What needed to get done asap was the developer involvement. And in this respect Google succeeded.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693663">\
	 <div id="dsq-comment-header-9693663" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693663" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693663" href="http://www.propdata.co.za/" target="_blank" rel="nofollow">Robert</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693663" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693663" class="dsq-comment-message">I think the iPhone can credit much of it\'s success to the massive following that Apple seem to have at the moment.  It borders on a cult following at this time.<br><br>Google are going to have to work very hard to try and compete with that.  That said I believe that Google are really going to do a Microsoft on this one.  No doubt they will release the software with bugs and we\'ll have folk calling Android the next Vista.  :P</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-9693662">\
	 <div id="dsq-comment-header-9693662" class="dsq-comment-header">\
	 <cite id="dsq-cite-9693662" class="dsq-comment-cite">\
	 <a id="dsq-author-user-9693662" href="http://searchtempo.com/content/view/37/51/" target="_blank" rel="nofollow">SEO Training</a>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-9693662" class="dsq-comment-body">\
	 <div id="dsq-comment-message-9693662" class="dsq-comment-message">I suspect the big news will be when Android is ported to small notebook computers like the ASUS Eee PC.  Imagine an Eee PC with a 10 inch high-resolution touch screen and 3G mobile phone capabilities and include a Bluetooth headset. What an awesome combination! Great for the business traveler on the road.<br><br>I\'m really looking forward to Google getting some success with the Android platform so as to create a bit of competition with Apple\'s iPhone. I really hope Android plays avi and other video format files including Flash.</div>\
	 </div>\
	 </li>\
	 <li id="dsq-comment-10633806">\
	 <div id="dsq-comment-header-10633806" class="dsq-comment-header">\
	 <cite id="dsq-cite-10633806" class="dsq-comment-cite">\
	 <span id="dsq-author-user-10633806">Wrenchy</span>\
	 </cite>\
	 </div>\
	 <div id="dsq-comment-body-10633806" class="dsq-comment-body">\
	 <div id="dsq-comment-message-10633806" class="dsq-comment-message">Hey Scoble, don\'t you look like a clown! Look where Android is now and where they\'re heading.<br>It\'s a pity an iTard fanboi like yourself has no vision. Maybe you should just stay at home wanking off to your precious Ifone playing World of Warcraft with your ibuddies.</div>\
	 </div>\
	 </li>\
	 </ul>\
';

(function() {
	
	





Dsq.Debug.profile(function() {
	if(Dsq.jsonData.request.page == 1 && Dsq.jsonData.request.is_initial_load) {
		Dsq.container.innerHTML = Dsq.Templates.header() + Dsq.container.innerHTML + Dsq.Templates.footer();
	}
	Dsq.$(Dsq.curPageId).innerHTML = Dsq.$(Dsq.curPageId).innerHTML.replace(Dsq.COMMENTS_RE, Dsq.CommentsHandler);
}); // Dsq.Debug.Profile

// HACK: Resetting cache because we're done with.
Dsq.Utils.gebiFromElementCollectionCache = null;


	
	
	var dsq_styleEl = document.getElementById(disqus_container_id);
	var dsq_anchorEl = document.getElementsByTagName('a')[0];
	
	Dsq.Thread.fc = Dsq.Utils.getStyle(dsq_styleEl, 'color');
	if(dsq_anchorEl) { Dsq.Thread.ac = Dsq.Utils.getStyle(dsq_anchorEl, 'color'); }
	Dsq.Thread.ff = Dsq.Utils.getStyle(dsq_styleEl, (Dsq.Utils.ie || window.opera ? 'fontFamily' : 'font-family'));
	// For Safari / Opera: strip quotes.
	Dsq.Thread.ff = Dsq.Thread.ff.replace(/['"]/g, '');
	Dsq.Thread.fc = encodeURIComponent(Dsq.Thread.fc);
	Dsq.Thread.ac = encodeURIComponent(Dsq.Thread.ac);
	Dsq.Thread.ff = encodeURIComponent(Dsq.Thread.ff);

	
	
	
	if(Dsq.$(Dsq.Templates.addPostContainer)) {
		// TODO: Check to see if theme uses postmessage.
		if (window.disqus_use_postmessage) {
			Dsq.frames['reply_0'] = new Dsq.ReplyFrame(Dsq.$(Dsq.Templates.textareaContainer));
			Dsq.frames['reply_0'].init(function() {
				// Use fallback iframe
				Dsq.$(Dsq.Templates.addPostContainer).innerHTML = '';
				var theme = (typeof disqus_frame_theme == 'undefined') ? 'default' : disqus_frame_theme;
				Dsq.Iframes.showReplyIframeInContainer(Dsq.$(Dsq.Templates.addPostContainer), null, {theme: theme});
				// if(Dsq.Utils.ie) { Dsq.Utils.fixIframesIE(); }
			});
		} else {
			// DEPRECATED
			Dsq.Iframes.showReplyIframeInContainer(Dsq.$('dsq-post-add'));
		}
	}

	
	

	
	if(document.location.hash != '') {
		document.location.hash = document.location.hash.substring(1);
	}

	Dsq.Popup.showCookieMsgs();

	
	if(document.location.search != '' && location.hash != '#disqus_thread') {
		var reply_id = Dsq.Utils.getRequestParams().dsq;
		if(reply_id) { document.location.hash = 'comment-' + reply_id; }
	}

	
	if((typeof OB_Script != 'undefined') && (typeof OB_versionNum != 'undefined')) {
		if(navigator.userAgent.indexOf("Firefox") != -1) {
			if(window.frames['dsq-reply-frame']) {
				window.frames['dsq-reply-frame'].location = Dsq.Urls.REPLY + (new Date()).getTime() + '&f=scobleizer&t=google_android_we_want_developers_but8230&to_redirect=' + encodeURIComponent(window.location) + '&ifrs=' + encodeURIComponent(disqus_iframe_css);
			}
		}
	}

	if (Dsq.jsonData.integration.theme == 4) {
		if (Dsq.jsonData.realtime_enabled) {
			Dsq.Realtime.initialize();
		}
	}

	



	window.ExecuteWhen = (function () {
	var obj = {}
	
	// Private
	var running = false;
	var timer = null;
	var pending = [];
	var startTimer = function() {
		running = true;
		timer = setInterval(obj.heartBeat, 100);
	};
	var stopTimer = function() {
		running = false;
		clearInterval(timer);
	};
	
	// Public
	obj.add = function (condition, code) {
		pending.push([condition,code]);
		this.heartBeat(); //!
		if (!running) {
			startTimer();
		}
	};
	obj.heartBeat = function() {
		if (!pending.length) {
			stopTimer();
		}
		var newPending = [];
		for (var i=0; i<pending.length; i++) {
			var cond = pending[i][0];
			var code = pending[i][1];
			// FIXME: if cond or code throw an error, they never get removed from pending
			if (cond()){
				code();
			}
			else {
				newPending.push([cond, code]);
			}
		}
		pending = newPending;
	};
	return obj;
})();

// also used in embed_thread.js:
window.fbIsReady = function () {return window.FB && FB.init;};
// NOTE: This script gets executed again without threadEl
//       set when we are loaded again as the fbc_receiver.
//       In this case, we don't need the hidden container.

if(!window.FB || !FB.init) {
	if(window.Dsq && Dsq.container) {
		// container is not present when init.js is loaded from an xd-receiver iframe; in this case,
		// we don't need the FB_HiddenContainer anyway.
		var fbDiv = document.createElement('div');
		fbDiv.id = "FB_HiddenContainer";	// Required or else FeatureLoader will execute a document.write.
		fbDiv.style.position = 'absolute';	// This is intentionally not setting display to none as this breaks
		fbDiv.style.top = '-10000px';		// Flash in Safari.
		fbDiv.style.left = '-10000px';
		fbDiv.style.width = '0px';
		fbDiv.style.height = '0px';
		Dsq.container.appendChild(fbDiv);
	}
	var fbJS = document.createElement('script');
	fbJS.type = "text/javascript";
	fbJS.src = "http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php";
	document.getElementsByTagName('head')[0].appendChild(fbJS);

	ExecuteWhen.add(window.fbIsReady,
		function () {
			// HACK: This is a workaround FBC's single domain limitation by
			//		 allowing sites to create multiple forums with different
			//		 Facebook API keys.  This must be used in conjunction with
			//		 disqus_facebook_forum (see authenticateFacebook).
			var facebook_api_key = 'faaf467d0f47abde553c3b8e0e1b3570';
			if (typeof disqus_facebook_api_key != 'undefined') {
				facebook_api_key = disqus_facebook_api_key;
			}

			FB.init(facebook_api_key, window.facebookXdReceiverPath || null,
				{fetchSignedPublicSessionData: true});
		});
}


	


if(typeof(disqus_callback) == 'function') {
	var callback_params = Dsq.Utils.getRequestParams()['dsq_cbp'] || null;

	// We don't care about any errors in third-party code
	try {
		disqus_callback(callback_params);
	} catch (x) {
		if (typeof(console) != 'undefined' && typeof(console.log) == 'function') {
			// But it would be nice to let developers know about them
			console.log(x);
		}
		// pass
	}

	// HACK: We don't know if the callback wraps our container, which may
	// possibly result in a new DOM element.
	Dsq.container = document.getElementById('dsq-content');
}

// Global event handler for narcissus.
if (Dsq.jsonData.integration.theme == 4) {
	var g = Dsq.Utils.ie ? document : window;
	Dsq.Utils.addEventListener(g, 'keydown', function(event) {
		// Handle "enter" key on input for post box.
		if ((event.keyCode || event.which) == 13) {
			var target = Dsq.Utils.ie ? event.srcElement : event.target;
			// For Safari bug, detect text node.
			if (target.nodeType == 3) {
				target = target.parentNode;
			}

			if (target.nodeName == 'INPUT' &&
				target.parentNode.className == 'dsq-input-wrapper') {
				var postId = Dsq.Utils.extractId(target);
				Dsq.Templates.postComment(postId, this, false);
			}
		}
	});
}

})();




