<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>safari &#8211; stoimen&#039;s web log</title>
	<atom:link href="/tag/safari/feed/" rel="self" type="application/rss+xml" />
	<link></link>
	<description>on web development</description>
	<lastBuildDate>Tue, 13 Feb 2018 08:18:15 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.0.3</generator>
	<item>
		<title>PHP: detecting mobile device</title>
		<link>/2010/03/09/php-detecting-mobile-device/</link>
		<comments>/2010/03/09/php-detecting-mobile-device/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 09:37:16 +0000</pubDate>
		<dc:creator><![CDATA[Stoimen]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[FTP clients]]></category>
		<category><![CDATA[Gecko]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[Google Inc.]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Mac OS X 10.5]]></category>
		<category><![CDATA[Mach]]></category>
		<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Mozilla Firefox]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[Steve Jobs]]></category>
		<category><![CDATA[Technology/Internet]]></category>
		<category><![CDATA[United States]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">/?p=1214</guid>
		<description><![CDATA[HTTP_USER_AGENT Beside that most of the responses of $_SERVER[&#8216;HTTP_USER_AGENT&#8217;] may return, it appears that this is the most reliable way to track down a user agent with PHP. It is weird that most of the clients, i.e. Safari and Chrome will return something with Mozilla in it&#8217;s strings, but however it&#8217;s enough to track the &#8230; <a href="/2010/03/09/php-detecting-mobile-device/" class="more-link">Continue reading <span class="screen-reader-text">PHP: detecting mobile device</span> <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="/2010/03/22/php-mobile-devices-http_user_agent-strings/" rel="bookmark" title="PHP: Mobile Devices HTTP_USER_AGENT Strings">PHP: Mobile Devices HTTP_USER_AGENT Strings </a></li>
<li><a href="/2010/03/18/mobile-internet-users-are-getting-more-important/" rel="bookmark" title="Mobile Internet Users are Getting More Important">Mobile Internet Users are Getting More Important </a></li>
<li><a href="/2010/02/24/storing-javascript-objects-in-html5-localstorage/" rel="bookmark" title="Storing JavaScript objects in html5 localStorage">Storing JavaScript objects in html5 localStorage </a></li>
<li><a href="/2010/03/17/stop-coding-iphone-apps-begin-with-html5-mobile-sites/" rel="bookmark" title="Stop Coding iPhone Apps, Begin with HTML5 Mobile Sites">Stop Coding iPhone Apps, Begin with HTML5 Mobile Sites </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<h2>HTTP_USER_AGENT</h2>
<p>Beside that most of the responses of <strong>$_SERVER[&#8216;HTTP_USER_AGENT&#8217;]</strong> may return, it appears that this is the most reliable way to track down a user agent with PHP. It is weird that most of the clients, i.e. Safari and Chrome will return something with Mozilla in it&#8217;s strings, but however it&#8217;s enough to track the &#8220;chrome&#8221; or &#8220;safari&#8221; sub strings.</p>
<p>All the examples bellow are from Mac OS X:</p>
<p>Firefox 3.6:</p>
<pre lang="html">
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6
</pre>
<p><em><strong>Note</strong>: there are both Mozilla and Firefox sub strings!</em></p>
<p>Safari 4:</p>
<pre lang="html">
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; bg-bg) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10
</pre>
<p>Chrome:</p>
<pre lang="html">
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.307.11 Safari/532.9
</pre>
<p><em><strong>Note</strong>: Here they are Mozilla, Chorme and Safari!!!</em></p>
<p>Opera:</p>
<pre lang="html">
Opera/9.80 (Macintosh; Intel Mac OS X; U; en) Presto/2.2.15 Version/10.10
</pre>
<h2>The day of mobile</h2>
<p>Nowadays it&#8217;s normal to make a site with the presumption it will be visible from mobile. The war between Nexus One from Google and iPhone from Apple is just beginning and with all those devices with wide screens everything&#8217;s becoming more complicated.</p>
<h2>User agent strings from Nexus One and iPhone</h2>
<p>Both are weird, but both contain the keyword &#8211; &#8220;mobile&#8221; and that may help you make a check with something like this PHP snippet:</p>
<pre lang="php">
<?php
$mobile = !!(FALSE !== strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'mobile'));
?>
</pre>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="/2010/03/22/php-mobile-devices-http_user_agent-strings/" rel="bookmark" title="PHP: Mobile Devices HTTP_USER_AGENT Strings">PHP: Mobile Devices HTTP_USER_AGENT Strings </a></li>
<li><a href="/2010/03/18/mobile-internet-users-are-getting-more-important/" rel="bookmark" title="Mobile Internet Users are Getting More Important">Mobile Internet Users are Getting More Important </a></li>
<li><a href="/2010/02/24/storing-javascript-objects-in-html5-localstorage/" rel="bookmark" title="Storing JavaScript objects in html5 localStorage">Storing JavaScript objects in html5 localStorage </a></li>
<li><a href="/2010/03/17/stop-coding-iphone-apps-begin-with-html5-mobile-sites/" rel="bookmark" title="Stop Coding iPhone Apps, Begin with HTML5 Mobile Sites">Stop Coding iPhone Apps, Begin with HTML5 Mobile Sites </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>/2010/03/09/php-detecting-mobile-device/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>YouTube and Vimeo goes HTML5 with video tag usage! Catch them up!</title>
		<link>/2010/01/23/youtube-and-vimeo-goes-html5-with-video-tag-usage-catch-them-up/</link>
		<comments>/2010/01/23/youtube-and-vimeo-goes-html5-with-video-tag-usage-catch-them-up/#respond</comments>
		<pubDate>Sat, 23 Jan 2010 07:00:33 +0000</pubDate>
		<dc:creator><![CDATA[Stoimen]]></dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[Bart Allen]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Google Chrome]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[player]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[Technology/Internet]]></category>
		<category><![CDATA[Video hosting]]></category>
		<category><![CDATA[Vimeo]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[web developers]]></category>
		<category><![CDATA[World Wide Web]]></category>
		<category><![CDATA[YouTube]]></category>
		<category><![CDATA[YouTube Inc]]></category>

		<guid isPermaLink="false">/?p=936</guid>
		<description><![CDATA[What better example than that coming both from YouTube and Vimeo. Although video tag is not supported except under Safari and Chrome, that&#8217;s the future everyone&#8217;s going to embed sooner or later. And if these &#8220;big players&#8221; are going that way, don&#8217;t hesitate to follow them! HTML5 is really what we as web developers were &#8230; <a href="/2010/01/23/youtube-and-vimeo-goes-html5-with-video-tag-usage-catch-them-up/" class="more-link">Continue reading <span class="screen-reader-text">YouTube and Vimeo goes HTML5 with video tag usage! Catch them up!</span> <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="/2010/05/21/check-youtube-video-existence-with-zend_gdata_youtube/" rel="bookmark" title="Check YouTube Video Existence with Zend_Gdata_YouTube">Check YouTube Video Existence with Zend_Gdata_YouTube </a></li>
<li><a href="/2010/03/04/does-firefox-play-mp4-h-264-within-the-html5-video-tag/" rel="bookmark" title="Does Firefox play mp4 h.264 within the HTML5 video tag?">Does Firefox play mp4 h.264 within the HTML5 video tag? </a></li>
<li><a href="/2010/02/26/html5-video-support-detecting-playing-and-progressive-enhancement/" rel="bookmark" title="HTML5 video support. Detecting, playing and progressive enhancement!">HTML5 video support. Detecting, playing and progressive enhancement! </a></li>
<li><a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" rel="bookmark" title="Video sites must use &#8230; mp4 and only mp4!">Video sites must use &#8230; mp4 and only mp4! </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p>What better example than that coming both from YouTube and Vimeo. Although video tag is not supported except under Safari and Chrome, that&#8217;s the future everyone&#8217;s going to embed sooner or later.</p>
<p>And if these &#8220;big players&#8221; are going that way, don&#8217;t hesitate to follow them! HTML5 is really what we as web developers were waiting for so long and even all of the problems during its standardization process it&#8217;s really cool there will be tags like video.</p>
<p>What YouTube is doing today, perhaps will seem normal to everyone tomorrow. However there are some questions still with no answer, as where the flash possibility to add ads into the player is going?! But we&#8217;re about to see great things from these two sites!</p>
<p>Just check out these two links:</p>
<p><a title="YouTube HTML5" href="http://www.youtube.com/html5" target="_blank">Youtube HTML5</a></p>
<p><a title="Vimeo HTML5" href="http://news.cnet.com/8301-27076_3-10439048-248.html" target="_blank">Vimeo</a></p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="/2010/05/21/check-youtube-video-existence-with-zend_gdata_youtube/" rel="bookmark" title="Check YouTube Video Existence with Zend_Gdata_YouTube">Check YouTube Video Existence with Zend_Gdata_YouTube </a></li>
<li><a href="/2010/03/04/does-firefox-play-mp4-h-264-within-the-html5-video-tag/" rel="bookmark" title="Does Firefox play mp4 h.264 within the HTML5 video tag?">Does Firefox play mp4 h.264 within the HTML5 video tag? </a></li>
<li><a href="/2010/02/26/html5-video-support-detecting-playing-and-progressive-enhancement/" rel="bookmark" title="HTML5 video support. Detecting, playing and progressive enhancement!">HTML5 video support. Detecting, playing and progressive enhancement! </a></li>
<li><a href="/2010/03/05/video-sites-must-use-mp4-and-only-mp4/" rel="bookmark" title="Video sites must use &#8230; mp4 and only mp4!">Video sites must use &#8230; mp4 and only mp4! </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>/2010/01/23/youtube-and-vimeo-goes-html5-with-video-tag-usage-catch-them-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What should I optimize first in my web page?</title>
		<link>/2010/01/18/what-should-i-optimize-first-in-my-web-page/</link>
		<comments>/2010/01/18/what-should-i-optimize-first-in-my-web-page/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 19:43:23 +0000</pubDate>
		<dc:creator><![CDATA[Stoimen]]></dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[JavaScript programming language]]></category>
		<category><![CDATA[Minification]]></category>
		<category><![CDATA[Program optimization]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">/?p=870</guid>
		<description><![CDATA[I start with the optimization process &#8230; It’s a common question! Where do I begin with the optimization process. Should I start with JavaScript or with some simple Apache optimizations? The answer is pretty simple and it’s related to a very, very simple technique. Look what Firebug is saying Yeah, look at the Firebug. You &#8230; <a href="/2010/01/18/what-should-i-optimize-first-in-my-web-page/" class="more-link">Continue reading <span class="screen-reader-text">What should I optimize first in my web page?</span> <span class="meta-nav">&#8594;</span></a><div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="/2010/01/11/what-should-be-optimized-in-one-web-page/" rel="bookmark" title="What should be optimized in one web page?">What should be optimized in one web page? </a></li>
<li><a href="/2010/01/31/speed-up-the-javascript-it-can-change-dramatically-the-user-experience/" rel="bookmark" title="Speed up the JavaScript. It can change dramatically the user experience.">Speed up the JavaScript. It can change dramatically the user experience. </a></li>
<li><a href="/2010/02/11/javascript-optimization-lazy-loading/" rel="bookmark" title="JavaScript optimization. Lazy loading.">JavaScript optimization. Lazy loading. </a></li>
<li><a href="/2009/06/10/google-adsense-blocks-the-page-load/" rel="bookmark" title="Google Adsense blocks the page load">Google Adsense blocks the page load </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<h2>I start with the optimization process &#8230;</h2>
<p>It’s a common question! Where do I begin with the optimization process. Should I start with JavaScript or with some simple Apache optimizations? The answer is pretty simple and it’s related to a very, very simple technique.</p>
<h2>Look what Firebug is saying</h2>
<p>Yeah, look at the Firebug. You can check what’s taking most of the time to load. If it’s some server site script you can try caching it, if it’s a JavaScript file load, than you can try minify/compile it. Another good tool is the Safari developer tool. Than you can graphically understand what part of the sites’ components are slowing down the loading process. Whether the images or the JavaScript, well check that out with the Safari browser.</p>
<h2>Finally what I do?</h2>
<p>Once you know what’s the thing slowing down the site, start with its optimization! It’s really simple.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="/2010/01/11/what-should-be-optimized-in-one-web-page/" rel="bookmark" title="What should be optimized in one web page?">What should be optimized in one web page? </a></li>
<li><a href="/2010/01/31/speed-up-the-javascript-it-can-change-dramatically-the-user-experience/" rel="bookmark" title="Speed up the JavaScript. It can change dramatically the user experience.">Speed up the JavaScript. It can change dramatically the user experience. </a></li>
<li><a href="/2010/02/11/javascript-optimization-lazy-loading/" rel="bookmark" title="JavaScript optimization. Lazy loading.">JavaScript optimization. Lazy loading. </a></li>
<li><a href="/2009/06/10/google-adsense-blocks-the-page-load/" rel="bookmark" title="Google Adsense blocks the page load">Google Adsense blocks the page load </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>/2010/01/18/what-should-i-optimize-first-in-my-web-page/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>write in the Safari javascript console</title>
		<link>/2009/07/02/write-in-the-safari-javascript-console/</link>
		<comments>/2009/07/02/write-in-the-safari-javascript-console/#respond</comments>
		<pubDate>Thu, 02 Jul 2009 08:21:06 +0000</pubDate>
		<dc:creator><![CDATA[Stoimen]]></dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[micro tutorial]]></category>
		<category><![CDATA[console.log]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">/?p=645</guid>
		<description><![CDATA[If you&#8217;ve to debug some script in Safari, and you&#8217;d wish to write into the javascript console, the simple advice is to use the same code as in Firefox. console.log(object); That&#8217;s all.<div class='yarpp-related-rss'>

Related posts:<ol>
<li><a href="/2010/02/02/profiling-javascript-with-firebug-console-profile-console-time/" rel="bookmark" title="Profiling JavaScript with Firebug. console.profile() &#038; console.time()!">Profiling JavaScript with Firebug. console.profile() &#038; console.time()! </a></li>
<li><a href="/2009/07/08/javascript-closures-in-brief/" rel="bookmark" title="JavaScript closures in brief">JavaScript closures in brief </a></li>
<li><a href="/2010/02/03/firebugs-console-profile-vs-console-time/" rel="bookmark" title="Firebug&#8217;s console.profile vs console.time">Firebug&#8217;s console.profile vs console.time </a></li>
<li><a href="/2010/06/02/detecting-pressed-key-with-e-which-in-javascript/" rel="bookmark" title="Detecting Pressed Key with e.which in JavaScript">Detecting Pressed Key with e.which in JavaScript </a></li>
</ol>
</div>
]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;ve to debug some script in Safari, and you&#8217;d wish to write into the javascript console, the simple advice is to use the same code as in Firefox.</p>
<blockquote>
<pre>console.log(object);</pre>
</blockquote>
<p>That&#8217;s all.</p>
<div class='yarpp-related-rss'>
<p>Related posts:<ol>
<li><a href="/2010/02/02/profiling-javascript-with-firebug-console-profile-console-time/" rel="bookmark" title="Profiling JavaScript with Firebug. console.profile() &#038; console.time()!">Profiling JavaScript with Firebug. console.profile() &#038; console.time()! </a></li>
<li><a href="/2009/07/08/javascript-closures-in-brief/" rel="bookmark" title="JavaScript closures in brief">JavaScript closures in brief </a></li>
<li><a href="/2010/02/03/firebugs-console-profile-vs-console-time/" rel="bookmark" title="Firebug&#8217;s console.profile vs console.time">Firebug&#8217;s console.profile vs console.time </a></li>
<li><a href="/2010/06/02/detecting-pressed-key-with-e-which-in-javascript/" rel="bookmark" title="Detecting Pressed Key with e.which in JavaScript">Detecting Pressed Key with e.which in JavaScript </a></li>
</ol></p>
</div>
]]></content:encoded>
			<wfw:commentRss>/2009/07/02/write-in-the-safari-javascript-console/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
