<?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>uxebu » blog &#187; iphone</title>
	<atom:link href="http://uxebu.com/tag/iphone/feed/" rel="self" type="application/rss+xml" />
	<link>http://uxebu.com/blog</link>
	<description></description>
	<lastBuildDate>Thu, 19 Jan 2012 14:53:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Forgotten tricks for iPhones Safari</title>
		<link>http://uxebu.com/blog/2010/04/28/forgotten-tricks-for-iphones-safari/</link>
		<comments>http://uxebu.com/blog/2010/04/28/forgotten-tricks-for-iphones-safari/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 14:18:21 +0000</pubDate>
		<dc:creator>nonken</dc:creator>
				<category><![CDATA[frontend engineering]]></category>
		<category><![CDATA[html5apps]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://uxebu.com/blog/?p=1171</guid>
		<description><![CDATA[Safari om the iPhone is an incredible powerful browser and comes with a whole bunch of features. Besides the amazing support for CSS3, a superfast rendering engine and great JavaScript support, there are a few hidden gems I want to explain in this (and maybe following) blogposts. If you are interested in mobile web development, [...]]]></description>
			<content:encoded><![CDATA[<p>Safari om the iPhone is an incredible powerful browser and comes with a whole bunch of features.<br />
Besides the amazing support for CSS3, a superfast rendering engine and great JavaScript support, there are a few hidden gems I want to explain in this (and maybe following) blogposts. If you are interested in mobile web development, maybe you will find a few features you haven&#8217;t seen before.</p>
<h2>Making your web app iPhone ready</h2>
<p>Note: <a href="http://static.uxebu.com/~nonken/a/safariGems">you can visit the example used in this blog post from your iPhone here.</a></p>
<p><object width="500" height="344"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11241853&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11241853&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="344"></embed></object><br />
<span id="more-1171"></span><br />
The most well-known and really most important meta tag you need to know about is the viewport meta-tag. It allows you to define the minimum and maximum zoom-level and whether or not the user is allowed to zoom into the view. You disable zooming by setting the minimum-scale to the same value as maximum-scale. At the same time you can define the viewport width and height by setting the &#8220;device-width&#8221; or &#8220;device-height&#8221; properties. If you have a website with a width of 960px and you want it to be zoomed in to fit exactly that width, all you need to do is to set width to 960. Since your website should run on several devices though with different resolutions it is not recommended to set an absolute width and instead use the predefined device-width and device-height values. This ensures that your viewport has exactly the size supported by the device.</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>meta <span style="color: #000066;">name</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;viewport&quot;</span> content<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;width=device-width,minimum-scale=1.0,maximum-scale=1.0&quot;</span><span style="color: #339933;">/&gt;</span></div></td></tr></tbody></table></div>
<p>Now lets get to the juicy part. When creating an HTML5 app for the iPhone you can define an icon which you will see on the start screen of your iPhone. Once you set this meta tag, the user won&#8217;t be able to see a difference between a native application and a web application on your iPhones homescreen.</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>link rel<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;apple-touch-icon&quot;</span> href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;/yourIcon.png&quot;</span><span style="color: #339933;">/&gt;</span></div></td></tr></tbody></table></div>
<p>To add even another level of detail you can define a startup screen for your application. This is especially useful when your application supports offline mode using cache manifests.</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>link rel<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;apple-touch-startup-image&quot;</span> href<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;/startupImage.png&quot;</span><span style="color: #339933;">&gt;</span></div></td></tr></tbody></table></div>
<p>All of those features wouldn&#8217;t be complete if you couldn&#8217;t hide the browsers chrome once you start your application from the homescreen. To disable the chrome just insert following tag:</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>meta <span style="color: #000066;">name</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;apple-mobile-web-app-capable&quot;</span> content<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;yes&quot;</span><span style="color: #339933;">&gt;</span></div></td></tr></tbody></table></div>
<p>Now after you have added this meta tag you want to be able to differenciate between the user launching the app from the homescreen of the browser.</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #006600; font-style: italic;">// navigator.standalone</span><br />
<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;standalone&quot;</span> <span style="color: #000066; font-weight: bold;">in</span> navigator<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>navigator.<span style="color: #660066;">standalone</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Started from homescreen&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #000066; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Started in browser&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
&nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br />
<span style="color: #009900;">&#125;</span><span style="color: #000066; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;Not supporting standalone property&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #009900;">&#125;</span></div></td></tr></tbody></table></div>
<p>Last but not least you can even control the look and feel of the status bar on the top. You can either use the default status bar or a black status bar or a semi translucent status bar:</p>
<div class="codecolorer-container javascript twitlight" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>meta <span style="color: #000066;">name</span><span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;apple-mobile-web-app-status-bar-style&quot;</span> content<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;black/default/black-translucent&quot;</span> <span style="color: #339933;">/&gt;</span></div></td></tr></tbody></table></div>
<p>These are the most important things you need to know to make a simple website be HTML5 app ready on your iPhone (note: this only works on the iPhone but won&#8217;t hurt other devices and platforms). A &#8220;normal&#8221; user won&#8217;t be able to differentiate between a native or a HTML5 app anymore. Do you know of similar features of other phones? Do you think we should standardize the discussed features? (Some are already). </p>
<p>If you need support getting your website or web application HTML5 app ready, feel free to <a href="http://uxebu.com/contact">contact us</a>.</p>
<p>Enjoy</p>
<h2>Dowload</h2>
<ul>
<li>
<a href="http://static.uxebu.com/~nonken/a/safariGems/safariGems.tgz">Source</a>
</li>
<li><a href="http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html">Docs</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2010/04/28/forgotten-tricks-for-iphones-safari/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>EventNinja: A mobile must-have Widget for the mobile2.0</title>
		<link>http://uxebu.com/blog/2009/06/16/eventninja-a-mobile-must-have-widget-for-the-mobile20/</link>
		<comments>http://uxebu.com/blog/2009/06/16/eventninja-a-mobile-must-have-widget-for-the-mobile20/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 08:31:43 +0000</pubDate>
		<dc:creator>wolfram</dc:creator>
				<category><![CDATA[business]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[uxebu]]></category>
		<category><![CDATA[w3c widgets]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[mobile2.0]]></category>
		<category><![CDATA[phonegap]]></category>
		<category><![CDATA[w3c]]></category>

		<guid isPermaLink="false">http://blog.uxebu.com/?p=493</guid>
		<description><![CDATA[We have been writing and talking about EventNinja already for a bit. Now you can have it! Just visit EventNinja.net and test it on your iPhone and other mobile devices. EventNinja is on its way into the different AppStores and we will keep you updated on new versions coming out. What will you get? At [...]]]></description>
			<content:encoded><![CDATA[<p>We have been writing and <a href="http://twitter.com/EventNinja_app">talking about EventNinja</a> already for a bit. <strong>Now you can have it!</strong> Just visit <a href="http://www.eventninja.net">EventNinja.net</a> and test it on your iPhone and other mobile devices. EventNinja is on its way into the different AppStores and we will keep you updated on new versions coming out.<br />
What will you get? At first, you&#8217;re getting the best app out there to lead you around a conference like the <a href="http://mobile20.eu">mobile2.0 in Barcelona</a> in a few days on the 18th and 19th of June 2009. If you are attending be sure to have EventNinja on your mobile! So that you have all the info at hand when searching for the next talk to attend. It&#8217;s not just a list of all relevant upcoming web developer events on your phone (and browser). It is even more, you can get in depth info about the events, their schedule, all the twitter messages for an event, directions and many more features.<br />
If you are at the <a href="http://mobile20.eu">mobile2.0</a> be sure to visit us to get even more!</p>
<p>Enjoy the short video we prepared to give you an impression of what EventNinja can do</p>
<p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/DClZnEaBHLI&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/DClZnEaBHLI&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"></embed></object></p>
<p><span id="more-493"></span></p>
<h2>EventNinja in Action</h2>
<p>The EventNinja widget contains multiple pages, as you are used to from mobile applications. The <em>home page</em> shows all the events, allows you to search and filter them. Along the top bar you have the search bar, the &#8220;Help&#8221; and the &#8220;About&#8221; pages linked.<br />
Clicking on the icon to the right of each event takes you to <em>the details page</em> of the event, from where you can go to multiple other places, like <em>the map</em>, to see where it exactly takes place,<em> the schedule</em> of the event. If the event has twitter tags saved for it can go to a page which shows you all <em>the latest twitter messages</em> flying in. Try it on <a href="http://www.eventninja.net">EventNinja.net</a> and explore the features.</p>
<h2>EventNinja Features</h2>
<h3>User Features</h3>
<ul>
<li>List of web developer events</li>
<li>Searchable and filterable by tags, location and full-text search</li>
<li>Exact location of the event</li>
<li>Watch all twitter messages for each event</li>
<li>Find out about details of an event</li>
</ul>
<h3>Technology Features</h3>
<ul>
<li>Events are stored, retrieved and filtered by a Google Calendar</li>
<li>Everything built on top of the <a href="http://www.dojotoolkit.org">Dojo Toolkit</a></li>
<li>pure HTML, CSS, JavaScript based widget</li>
<li>using <a href="http://www.phonegap.com">PhoneGap</a> to run on <a href="http://www.apple.com/iphone/">iPhone</a>, <a href="http://www.android.com/">Android</a> and <a href="http://www.blackberry.nl/">Blackberry</a></li>
<li>Plugin architecture, allows for a modular enhancement of the widget</li>
<li><strong>Fully</strong> customizable via client-side templates and CSS of course</li>
</ul>
<p>As you figure right from the list of features and cleverly combining them we can hook this widget onto any calendar, customize the features (via plugins), style and brand it the way we like it and have your custom widget.</p>
<p>This gives customization a far broader meaning. Just imagine combining the two components 1) base of the widget and 2) the twitter plugin. You get a widget which shows you all tweets for a certain event -that&#8217;s just a new widget itself, without writing a line of new code. Which again is a very different use case, than the widget you get here. Just hook in another plugin which allows replying via twitter and you get a full blown twitter client in the context of events.<br />
The limits of what is thinkable is just limited by the plugins you can write.</p>
<h2>EventNinja for the mobile2.0 Conference</h2>
<p>Mobile2.0 is the first conference where you can really use EventNinja to get all the info possible, the schedule, twitter messages, etc. There surely will follow many more conferences and events that EventNinja can and will be used at. See the screenshots below to get a feeling of what it looks like for this conference.</p>

<a href='http://uxebu.com/blog/2009/06/16/eventninja-a-mobile-must-have-widget-for-the-mobile20/screenshot-20090612-150714/' title='screenshot-20090612-150714'><img width="150" height="150" src="http://uxebu.com/blog/wp-content/uploads/2009/06/screenshot-20090612-150714-150x150.png" class="attachment-thumbnail" alt="screenshot-20090612-150714" title="screenshot-20090612-150714" /></a>
<a href='http://uxebu.com/blog/2009/06/16/eventninja-a-mobile-must-have-widget-for-the-mobile20/screenshot-20090612-150809/' title='screenshot-20090612-150809'><img width="150" height="150" src="http://uxebu.com/blog/wp-content/uploads/2009/06/screenshot-20090612-150809-150x150.png" class="attachment-thumbnail" alt="screenshot-20090612-150809" title="screenshot-20090612-150809" /></a>
<a href='http://uxebu.com/blog/2009/06/16/eventninja-a-mobile-must-have-widget-for-the-mobile20/screenshot-20090612-150819/' title='screenshot-20090612-150819'><img width="150" height="150" src="http://uxebu.com/blog/wp-content/uploads/2009/06/screenshot-20090612-150819-150x150.png" class="attachment-thumbnail" alt="screenshot-20090612-150819" title="screenshot-20090612-150819" /></a>
<a href='http://uxebu.com/blog/2009/06/16/eventninja-a-mobile-must-have-widget-for-the-mobile20/screenshot-20090612-150840/' title='screenshot-20090612-150840'><img width="150" height="150" src="http://uxebu.com/blog/wp-content/uploads/2009/06/screenshot-20090612-150840-150x150.png" class="attachment-thumbnail" alt="screenshot-20090612-150840" title="screenshot-20090612-150840" /></a>
<a href='http://uxebu.com/blog/2009/06/16/eventninja-a-mobile-must-have-widget-for-the-mobile20/screenshot-20090612-150917/' title='screenshot-20090612-150917'><img width="150" height="150" src="http://uxebu.com/blog/wp-content/uploads/2009/06/screenshot-20090612-150917-150x150.png" class="attachment-thumbnail" alt="screenshot-20090612-150917" title="screenshot-20090612-150917" /></a>
<a href='http://uxebu.com/blog/2009/06/16/eventninja-a-mobile-must-have-widget-for-the-mobile20/cap/' title='cap'><img width="150" height="150" src="http://uxebu.com/blog/wp-content/uploads/2009/06/cap-150x150.png" class="attachment-thumbnail" alt="cap" title="cap" /></a>

<h2>Are events missing?</h2>
<p>EventNinja for webdevelopers is driven by the great amount of community events.<br />
If you see that events are missing, please contact us and we will add them immediately. If you organize events yourself let us know as well. You can send any kind of info about the event, e.g. name, location, tags, speakers, twitter tags, schedule details, price, and much more.</p>
<h2>You want an EventNinja?</h2>
<p>Send an email to eventninja _ at _ uxebu.com if you are interested in a customized version of EventNinja, are interested in the technology or simply want to chat. At the <a href="htt[://www.mobile20.eu">mobile2.0</a> conference you will recognize us easily when you look for the guys with those caps, hurry, because we are spreading caps and maybe there will be many more wearing this cap :-).</p>
]]></content:encoded>
			<wfw:commentRss>http://uxebu.com/blog/2009/06/16/eventninja-a-mobile-must-have-widget-for-the-mobile20/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

