<?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>Serge Jespers &#187; certificate</title>
	<atom:link href="http://www.webkitchen.be/tag/certificate/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webkitchen.be</link>
	<description>Life as an Adobe platform evangelist</description>
	<lastBuildDate>Tue, 31 Jan 2012 17:35:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Best practices: 6 AIR features that may annoy your users</title>
		<link>http://www.webkitchen.be/2008/12/17/best-practices-6-air-features-that-may-annoy-your-users/</link>
		<comments>http://www.webkitchen.be/2008/12/17/best-practices-6-air-features-that-may-annoy-your-users/#comments</comments>
		<pubDate>Wed, 17 Dec 2008 10:29:08 +0000</pubDate>
		<dc:creator>Serge Jespers</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Best practices]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[Popular]]></category>
		<category><![CDATA[adobe air]]></category>
		<category><![CDATA[alwaysinfront]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[custom chrome]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[full screen]]></category>
		<category><![CDATA[getDefaultApplication]]></category>
		<category><![CDATA[isSetAsDefaultApplication]]></category>
		<category><![CDATA[removeAsDefaultApplication]]></category>
		<category><![CDATA[rules]]></category>
		<category><![CDATA[self signed]]></category>
		<category><![CDATA[setAsDefaultApplication]]></category>
		<category><![CDATA[startatlogin]]></category>

		<guid isPermaLink="false">http://www.webkitchen.be/?p=585</guid>
		<description><![CDATA[I get to see and play with a lot of really cool AIR applications (even when they&#8217;re still being developed). Every now and then I come across an app that totally ignores any best practices or usability rules. AIR provides developers with a lot of features that could potentially annoy users if not used wisely. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webkitchen.be%2F2008%2F12%2F17%2Fbest-practices-6-air-features-that-may-annoy-your-users%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webkitchen.be%2F2008%2F12%2F17%2Fbest-practices-6-air-features-that-may-annoy-your-users%2F&amp;source=sjespers&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f11b21ad05448f9b4029b73b124e8d0e&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>I get to see and play with a lot of really cool AIR applications (even when they&#8217;re still being developed). Every now and then I come across an app that totally ignores any best practices or usability rules. AIR provides developers with a lot of features that could potentially annoy users if not used wisely. I thought it was a good idea to write this article. I&#8217;m not saying you shouldn&#8217;t use these features, I just want you to think about them before you add them to your application.</p>
<ol>
<li>
<h3>Launching your application on login</h3>
<pre>NativeApplication.nativeApplication.startAtLogin = true;</pre>
<p>That&#8217;s all it takes to have your application launch whenever your user logs in to his account on his computer. However, if this is something that you set automatically without telling the user about it, you may find your application to be uninstalled faster than it was installed. There really is no reason why you should set this automatically. You can also set this on runtime. So why not ask the user if he wants to launch your application on login when he first launches the app? And why not provide a small preferences panel that allows the user to easily change this setting?</li>
<li>
<h3>Always in front</h3>
<pre>NativeWindow.alwaysInFront = true;</pre>
<p>Again, very easy to do and in some cases it totally makes sense to have an application stay on top but it should be the user&#8217;s decision and not yours.</li>
<li>
<h3>Automatically setting the filetype</h3>
<pre>NativeApplication.nativeApplication.setAsDefaultApplication("mp3");</pre>
<p>Imagine you&#8217;re building an application that can play MP3 files. Are you sure you want to automatically open your application whenever the user clicks on an MP3 file? This is also one of those things you may want to check first and we provide all the methods to do so.<br />
When you first launch your application, you can first check if your application is already set as the default for this filetype.</p>
<pre>NativeApplication.nativeApplication.isSetAsDefaultApplication("mp3");</pre>
<p>If it&#8217;s not, check which application is the default for the filetype you want to use.</p>
<pre>NativeApplication.nativeApplication.getDefaultApplication("mp3");</pre>
<p>This returns the path to the application registered as the default app for this filetype. You can then ask the user something like: &#8220;Hey I see you play MP3-files with QuickTime but I can also play these files. Can I set myself as the default application?&#8221;.</p>
<p>Since you already added a prefs panel for setting the launch on login and always in front preferences, you can also add this one. To remove your application as the default for a specific filetype, just call:</p>
<pre>NativeApplication.nativeApplication.removeAsDefaultApplication("mp3");</pre>
</li>
<li>
<h3>Full screen applications</h3>
<p>I think there are only a couple of valid use cases for full screen applications (not the fullscreen displaystate but just taking over the entire screen with the exception of the menu bar). The obvious ones are video and kiosk applications. If your application fits in this category or you think taking over the entire screen is totally acceptable for your app, please do make sure that you add close and minimize buttons. If quitting your application is the only way to quickly check an email, the user may never return to your app.</li>
<li>
<h3>Custom chrome</h3>
<p>This is actually related to #4. If you are making an application that has custom chrome, you should always add the standard close, minimize and maximize buttons. Everyone is used to having these in an application window so make sure you don&#8217;t forget to add them. These are the methods to call whenever one of these buttons gets clicked.</p>
<pre>NativeWindow.close();
NativeWindow.minimize();
NativeWindow.maximize();</pre>
<p>You should also be aware that because of the way custom chrome is rendered on a user&#8217;s machine, an application with custom chrome can take a performance hit.</li>
<li>
<h3>Self signed applications</h3>
<p>What is &#8220;Joe The Plumber&#8221; going to do when he sees 2 red icons in the installation screen of the app he&#8217;s trying to install? As a rule, no AIR application should be publicly launched without being signed with a code signing certificate. <span style="text-decoration: line-through;">We are aware of the fact that individuals can&#8217;t get these certificates anywhere right now and this is something that we are working on</span>. Individuals can get a code signing certificate from <a href="http://www.chosensecurity.com/products/tc_publisher_id_adobe_air.htm" target="_blank">Chosen Security</a>. However, for companies, it&#8217;s really easy to <a href="http://www.webkitchen.be/2008/06/16/signing-air-applications/" target="_blank">get a cert</a>.</li>
</ol>
<p>I hope these &#8220;rules&#8221; will help you build better applications. I&#8217;m sure some of you can think of other rules developers should think about, so feel free to add them to the comments if you know of any.</p>
<iframe id="basic_facebook_social_plugins_likebutton" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.webkitchen.be%2F2008%2F12%2F17%2Fbest-practices-6-air-features-that-may-annoy-your-users%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:500px; height:75px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.webkitchen.be/2008/12/17/best-practices-6-air-features-that-may-annoy-your-users/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Signing AIR applications</title>
		<link>http://www.webkitchen.be/2008/06/16/signing-air-applications/</link>
		<comments>http://www.webkitchen.be/2008/06/16/signing-air-applications/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 09:30:17 +0000</pubDate>
		<dc:creator>Serge Jespers</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[onAIR Tour]]></category>
		<category><![CDATA[AIR]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[deploying]]></category>
		<category><![CDATA[onAIR]]></category>
		<category><![CDATA[signing]]></category>
		<category><![CDATA[tour]]></category>
		<category><![CDATA[updating]]></category>

		<guid isPermaLink="false">http://www.webkitchen.be/?p=143</guid>
		<description><![CDATA[My presentation at the On AIR tour through Europe was about signing, deploying and updating your AIR applications. If you didn&#8217;t make it to the tour or just want to read up on these topics, I wrote three separate posts about them on the train somewhere between Prague and Munich. First of all, why is [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webkitchen.be%2F2008%2F06%2F16%2Fsigning-air-applications%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webkitchen.be%2F2008%2F06%2F16%2Fsigning-air-applications%2F&amp;source=sjespers&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f11b21ad05448f9b4029b73b124e8d0e&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<div class="note">My presentation at the On AIR tour through Europe was about <a href="http://www.webkitchen.be/2008/06/16/signing-air-applications" target="_blank">signing</a>, <a href="http://www.webkitchen.be/2008/06/16/deploying-air-applications/" target="_blank">deploying</a> and <a href="http://www.webkitchen.be/2008/06/16/updating-air-applications/" target="_blank">updating</a> your AIR applications. If you didn&#8217;t make it to the tour or just want to read up on these topics, I wrote three separate posts about them on the train somewhere between Prague and Munich.</div>
<p>First of all, why is signing an application important? Easy. When your application is unsigned or signed with a self-signed certificate, the user will get two red icons on the install screen. The first one is related to your code signing certificate. It&#8217;s telling you that the &#8220;publisher is unknown&#8221; which is very normal since we have no idea who actually signed this application.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-121 aligncenter" title="unknown" src="http://www.webkitchen.be/wp-content/uploads/2008/05/unknown.jpg" alt="" width="354" height="42" /></p>
<p>When you do get a code signing certificate and sign the application with it, the icon will turn green or in some cases yellow. The yellow icon will appear when you are using the file I/O API.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-120 aligncenter" title="known" src="http://www.webkitchen.be/wp-content/uploads/2008/05/known.jpg" alt="" width="354" height="31" /></p>
<p><span id="more-143"></span><br />
So where do you get a code signing certificate? Well, maybe you already have one. If you already bought one to sign Java or Cocoa applications for instance, chances are that this certificate is 100% compatible and you can use that. To make sure, check that your certificate is a Class 3 code signing certificate and you should be ready to go. If you don&#8217;t have, there&#8217;s a number of companies like Thawte.com that actually sell these. But if you upload your application to the <a href="http://www.adobe.com/go/marketplace" target="_blank">Adobe AIR marketplace</a>, you may get a complimentary code signing certificate from us. More info <a href="http://www.adobe.com/products/air/assets/popup/thawte_popup.html" target="_blank">here</a>.</p>
<p>I&#8217;m mainly using Flex for AIR development but the workflow is very similar in Flash or Dreamweaver. In case of Flex, you are actually going to build a release version of your application. To do that, you click the &#8220;export release build&#8221;-button. That will popup a little wizard window. In the first window, you can specify where you want to save your .AIR file. In this case, I&#8217;m saving it on the desktop.<br />
<a href="http://www.adobe.com/go/marketplace" target="_blank"></a></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-145 aligncenter" title="exportreleasebuild" src="http://www.webkitchen.be/wp-content/uploads/2008/06/exportreleasebuild.jpg" alt="" width="450" height="407" /></p>
<p>When you click &#8220;next&#8221;, Flex will ask you to specify which digital certificate you want to use. If you don&#8217;t have one but still want to build a .AIR file for testing, click on the &#8220;create&#8221; button. When you fill out all the details of that form, you can save that self signed certificate so you don&#8217;t have to fill out that form every time. I saved mine in my home folder. Once you have created it, you can easily reuse it by just entering your password.</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-146 aligncenter" title="exportreleasebuild2" src="http://www.webkitchen.be/wp-content/uploads/2008/06/exportreleasebuild2.jpg" alt="" width="450" height="407" /></p>
<p>If you already have a code signing certificate, you can browse to the location you saved it to use it. Click &#8220;finish&#8221; and your AIR file is going to be baked. That&#8217;s it.</p>
<iframe id="basic_facebook_social_plugins_likebutton" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.webkitchen.be%2F2008%2F06%2F16%2Fsigning-air-applications%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:500px; height:75px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.webkitchen.be/2008/06/16/signing-air-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Get a complimentary code signing certificate</title>
		<link>http://www.webkitchen.be/2008/05/20/get-a-complimentary-code-signing-certificate/</link>
		<comments>http://www.webkitchen.be/2008/05/20/get-a-complimentary-code-signing-certificate/#comments</comments>
		<pubDate>Tue, 20 May 2008 07:46:59 +0000</pubDate>
		<dc:creator>Serge Jespers</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[known]]></category>
		<category><![CDATA[marketplace]]></category>
		<category><![CDATA[publisher identity]]></category>
		<category><![CDATA[signing]]></category>
		<category><![CDATA[thawte]]></category>
		<category><![CDATA[unknown]]></category>

		<guid isPermaLink="false">http://www.webkitchen.be/?p=119</guid>
		<description><![CDATA[If you&#8217;ve already published an AIR application, chances are you did that by using a self signed code&#160;certificate. When you installed the app, the AIR installer told you that the publisher&#8217;s identity is unknown. If you get a code signing certificate from a company like Thawte.com and use that to sign your application, it&#8217;s obvious [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.webkitchen.be%2F2008%2F05%2F20%2Fget-a-complimentary-code-signing-certificate%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.webkitchen.be%2F2008%2F05%2F20%2Fget-a-complimentary-code-signing-certificate%2F&amp;source=sjespers&amp;style=normal&amp;service=bit.ly&amp;service_api=R_f11b21ad05448f9b4029b73b124e8d0e&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>If you&#8217;ve already published an AIR application, chances are you did that by using a self signed code&nbsp;certificate. When you installed the app, the AIR installer told you that the publisher&#8217;s identity is unknown.</p>
<p style="text-align: center;"><img class="alignnone size-medium wp-image-121 aligncenter" title="publisher unknown" src="http://www.webkitchen.be/wp-content/uploads/2008/05/unknown-300x35.jpg" alt="" width="300" height="35" /></p>
<p>If you get a code signing certificate from a company like <a href="http://www.thawte.com/" target="_blank">Thawte.com</a> and use that to sign your application, it&#8217;s obvious that your identity has been verified. The AIR installer will show that your identity is known.</p>
<p style="text-align: center;"><img class="alignnone size-medium wp-image-120 aligncenter" title="known" src="http://www.webkitchen.be/wp-content/uploads/2008/05/known-300x26.jpg" alt="" width="300" height="26" /></p>
<p>If you upload your application to the <a href="http://www.adobe.com/go/marketplace" target="_blank">Adobe AIR Marketplace</a> now, you are eligible to receive one Thawte code signing certificate (1 year Class 3 code signing certificate) from Adobe. As this is purely available on a first-come, first-served basis and supplies are limited, you might not want to wait too long to upload your app.</p>
<p>Read&nbsp;<a href="http://www.adobe.com/products/air/assets/popup/thawte_popup.html" target="_blank">details here</a>&nbsp;and then&nbsp;go upload your app on the <a href="http://www.adobe.com/go/marketplace" target="_blank">Adobe AIR Marketplace</a>.&nbsp;</p>
<iframe id="basic_facebook_social_plugins_likebutton" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fwww.webkitchen.be%2F2008%2F05%2F20%2Fget-a-complimentary-code-signing-certificate%2F&amp;layout=standard&amp;show_faces=true&amp;width=500&amp;action=like&amp;font=arial&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:500px; height:75px"></iframe>]]></content:encoded>
			<wfw:commentRss>http://www.webkitchen.be/2008/05/20/get-a-complimentary-code-signing-certificate/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

