<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>techno.blog("Dion")</title><link>http://almaer.com/blog</link><description>blogging about life, the universe, and everything tech</description><language>en</language><lastBuildDate>Mon, 08 Feb 2010 08:27:02 PST</lastBuildDate><generator>http://wordpress.org/?v=2.8.4</generator><sy:updatePeriod xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">hourly</sy:updatePeriod><sy:updateFrequency xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">1</sy:updateFrequency><feedburner:info uri="dion" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><image><link>http://creativecommons.org/licenses/by-nc-sa/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://almaer.com/blog/index.xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Falmaer.com%2Fblog%2Findex.xml" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Falmaer.com%2Fblog%2Findex.xml" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Falmaer.com%2Fblog%2Findex.xml" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://almaer.com/blog/index.xml" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Falmaer.com%2Fblog%2Findex.xml" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Falmaer.com%2Fblog%2Findex.xml" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Falmaer.com%2Fblog%2Findex.xml" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:browserFriendly>This is an XML content feed. It is intended to be viewed in a newsreader or syndicated to another site.</feedburner:browserFriendly><item><title>“How exactly do you make your paints?”; What if Google hired artists?</title><link>http://feedproxy.google.com/~r/dion/~3/c99Zeyd9o_A/how-exactly-do-you-make-your-paints-what-if-google-hired-artists</link><category>Tech</category><category>hiring</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dion</dc:creator><pubDate>Mon, 08 Feb 2010 08:27:02 PST</pubDate><guid isPermaLink="false">http://almaer.com/blog/?p=2622</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><a href="http://www.flickr.com/photos/24471966@N04/2804462924/"><img src="http://almaer.com/blog/uploads/idographics.jpg" alt="idographics" title="idographics" width="500" height="313" class="alignnone size-full wp-image-2623"></a></p>
<p>Ben and I were chatting about interviews after hearing some horror stories from a friend. He made a jape about how bizarre technical interviews can be, and how we often ignore some really important factors&#8230; like a portfolio. A portfolio in this case answers the question of &#8220;what exactly have you created?&#8221;</p>
<p>I will pick on Google as it is the brunt of the &#8220;holy crazy interviews batman&#8221; trade, which is made more fun now that my sister-in-law is a recruiter there. I like to tease her. She knows that I am a fan of Google and think it is a fantastic place to work. I would be honored to work there again one day for example. Anyway, she doesn&#8217;t need my help in hiring&#8230; you have all heard about the food ;)</p>
<p>So, feel free to substitute Google for other high tech companies in any story below.</p>
<p>Imagine if Google interviews painters or artists in the same way that they hired engineers. Michaelangelo would show up, and would be hammered on questions about how he exactly makes and mixes his paints. Why does he use that particular kind? Why do those mixes chemically end up with the result that he desires. &#8220;If you were on a dessert island with 3 paints, what would they be and why?&#8221;, &#8220;Discuss the difference between RGB and CYMK&#8221;.</p>
<p>This may feel strange. A natural first step when you talk to an artist to see if they are any good is&#8230;. see what they have done! &#8220;Can I take a look at some of your pieces?&#8221; The artist will then probably show a variety that show a broad range of abilities. Some of you have probably had this experience hiring a wedding photographer.</p>
<p>Now, it isn&#8217;t that the process doesn&#8217;t matter. You want to chat about that side of things too. The right paint may result in a longer lasting piece. The right technique may result in you not getting annoyed by the photographer at your wedding. But, it is probably secondary to seeing what the person has actually done.</p>
<p>Google of course does a fair amount with art. The Doodles for example&#8230;. they have competitions for those, and the tools used may or may not play a factor.</p>
<p>Now, you may argue that the portfolio focus makes much more sense for art than other genres, including programming. You can tell a lot from seeing that art, and it is pretty static in time. Programming though, has to be maintained. It has to live. The &#8220;how&#8221; matters so much more. Maybe it is more like architecture than art. An architect can be known for his amazing looks, or building experiences, but the building better be structurally sound. You would still look at the portfolio of an architect first though, versus peppering them on structural engineering questions.</p>
<p>You do need to test the portfolio. It is one thing seeing that Bob Harris created an amazing website, a top 10 iPhone app, and contributed to a popular open source project&#8230;. but what exactly was the contribution. Projects have many folks involved. This is why you need to test the interviewee. Write some code with them. Talk through a real problem that they would actually have to solve on the job (shock horror). Do you *really* think that they will be implementing bubble sort on the job?</p>
<p>Interviewing itself is an art. It is hard to quickly make a decision on if someone will be a fit. Not only does there have to be a technical match in expectations, but there is the social match that is oh so important when a person joins a collective :)  I have already talked about how <a href="http://almaer.com/blog/how-to-hire-why-dont-we-date-get-engaged-and-only-then-get-married-to-a-job">the current process of hiring is like a shotgun marriage and broken</a> but I definitely feel that in a constrained world there are three things that I favour when interviewing a candidate:</p>
<ul>
<li>Understand their portfolio (ask the candidate to come ready)
<li>Test the candidate to make sure they match with their portfolio (work with them on what they will be doing. E.g. pair on code)
<li>Talk to key people who know the candidate and learn from them about the person
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dion?a=c99Zeyd9o_A:ZWfTqonnTxY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=c99Zeyd9o_A:ZWfTqonnTxY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dion?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=c99Zeyd9o_A:ZWfTqonnTxY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dion?i=c99Zeyd9o_A:ZWfTqonnTxY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=c99Zeyd9o_A:ZWfTqonnTxY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dion?i=c99Zeyd9o_A:ZWfTqonnTxY:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded><description>Ben and I were chatting about interviews after hearing some horror stories from a friend. He made a jape about how bizarre technical interviews can be, and how we often ignore some really important factors&amp;#8230; like a portfolio. A portfolio in this case answers the question of &amp;#8220;what exactly have you created?&amp;#8221;
I will pick on [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://almaer.com/blog/how-exactly-do-you-make-your-paints-what-if-google-hired-artists/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://almaer.com/blog/how-exactly-do-you-make-your-paints-what-if-google-hired-artists</feedburner:origLink></item><item><title>Google isn’t Evil. Flash isn’t Dead; Thank god the Open Web doesn’t have a single vendor</title><link>http://feedproxy.google.com/~r/dion/~3/JAEH3ret1OU/google-isnt-evil-flash-isnt-dead-thank-god-the-open-web-doesnt-have-a-single-vendor</link><category>Adobe</category><category>Apple</category><category>Google</category><category>Tech</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dion</dc:creator><pubDate>Mon, 01 Feb 2010 07:30:36 PST</pubDate><guid isPermaLink="false">http://almaer.com/blog/?p=2619</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img src="http://almaer.com/blog/uploads/openclosed.jpg" alt="openclosed" title="openclosed" width="480" height="480" class="alignnone size-full wp-image-2620" /></p>
<p>Steve Jobs didn&#8217;t hold back when <a href="http://iphoneroot.com/jobs-about-google-and-adobe/">talking about Google and Adobe</a>. That is great. Life is so much more fun when people speak their mind. I remember hearing a story when Sir Steve was asked why mac keyboards where the way they were. He grabbed a PC keyboard and started to rip out &#8220;stupid keys&#8221; (print screen, F keys, and the like) and swore a lot.</p>
<p>We love to paint with broad black and white brushes these days don&#8217;t we? Whenever I hear people talking about Google being &#8220;evil&#8221; or not&#8230;. I sit back and think about how interesting it is that companies become &#8220;people&#8221;, especially in this country.</p>
<p>It makes sense when you look up <a href="http://en.wikipedia.org/wiki/Corporation">Corporation</a>:</p>
<blockquote cite="http://en.wikipedia.org/wiki/Corporation"><p>
Corporations are recognized by the law to have rights and responsibilities like actual people.<br />
</blocquote></p>
<p>That may have been a convenient (and often almost genius) abstraction by lawyers, but it is screwed up. It feels like the times when you use inheritence in a way that isn&#8217;t a ISA relationship, but it does kinda make the code nice. We have all done that, until we learned to favor composition. Corporations ISA Person? No. They are composed of them though.</p>
<p>I have been thinking about this ever since the recently surprise court decision the other day that &#8220;allows corporations and unions to pour unprecedented amounts of money into elections.&#8221;</p>
<p>Lawrence Lessig had some interesting commentary:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/87YOBDzxwj4&#038;rel=0&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;hl=en_US&#038;feature=player_embedded&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/87YOBDzxwj4&#038;rel=0&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;hl=en_US&#038;feature=player_embedded&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object></p>
<p>The court decision does feel totally wonky to me. Right now, $ has a direct bearing on elections, and allowing multi-nationals (who have the money) to rain it down makes no sense.</p>
<p><b>Fun aside</b></p>
<p>My renaissance friend Graham Glass talks about how corporations can be considered a single conscious in his series on &#8220;the mind&#8221;.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/_qTI_jrEmXg&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;hl=en_US&#038;feature=player_embedded&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/_qTI_jrEmXg&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;hl=en_US&#038;feature=player_embedded&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object></p>
<p>The issue with the vast number of corporations is that they are profit driven entities whose charter is to bring financial reward to shareholders. While you could argue that <a href="http://en.wikipedia.org/wiki/The_Selfish_Gene">we as a species are driven by the selfish gene</a>, corporations are driven by profits. Duh. Capitalism.</p>
<p>Google is a company. It is driven by this same goal. Now, there are various paths to a particular goal to make profits. Some companies sell things that kill people (weapons, cigarettes, etc). Others offer medical devices. All companies are not equal. Having spent time at Google, I do feel like the place isn&#8217;t just an evil cult. The people that make up the consciousness were very driven strong willed people that cared about the company mission (universal access to information and all that) more than just the $. Sure some folks are focused on that. Also, although the wool could be placed over your eyes, the guys at the top of the chain have their hearts in the right place. While Larry and Sergey are there, decisions will be made that aren&#8217;t solely based on profit. They want to create a different kind of legacy and company.</p>
<p>That being said, I think it is quite easy to fall into a trap such as:</p>
<blockquote><p>
If we do something here to block competition, we can make more $ and since we are Good Guys we can do better things with that money!
</p></blockquote>
<p>Google will sometimes do things that could be considered &#8220;evil&#8221; by some. That is life.</p>
<p>The good news with Google is that their search and ads business deals in a trust economy. It doesn&#8217;t take much to switch from Google to Bing. Google knows that. Even though they have some HUGE advantages (technical [data centers, talent], brand, etc) the low barrier to change is huge.</p>
<p><b>Not all corporations are profit driven</b></p>
<p>I had the huge pleasure of working for Mozilla, which is a mission based corporation. Wow does that make life different. While you have to sustain yourself, it does mean that you think of the world very differently. You would rather go out in a blaze of glory doing something great for the mission, than just slowly die not doing much. Every choice you make &#8230;. you think of the mission.</p>
<p>It was interesting to work there knowing that I actually wouldn&#8217;t want Firefox to be a 90% browser. You can fall into the similar trap as above and think:</p>
<blockquote><p>
We are mission based! If we had that domination we would use it for good!
</p></blockquote>
<p>But, not having that power in one hand is even better. Imagine working somewhere thinking &#8220;in my wildest dreams, the market would be shared somewhat evenly with the competition.&#8221; The Open Web is amazing in that there is NO SINGLE VENDOR. If we are able to keep a decent balance between browsers (and thus the platform as we know it) then we have a balance of powers. Sure, in some ways you can&#8217;t move as fast as a dictatorship, but there is a reason we don&#8217;t want dictatorships in our government (even if the trains run on time!)</p>
<p>And, this brings me to the Adobe half of the Steve Jobs equation. Flash isn&#8217;t dead. HTML5 is slowly going to put a dent into it if we ever get some of the use cases just right (e.g. video), but Adobe has a good penetration and can move at the speed of a dictatorship. The iPhone/iPad combo not shipping Flash will have an interesting dynamic here too, hopefully helping the HTML5 video cause. There is still much more work to be done. Flash and browser plugins have had a long history at forging new paths, and the Web can come in behind them and standardize. May that continue.</p>
<p>I do watch for single-owned platforms such as Flash, Silverlight, or now the Apple platform (even though they do great work on the HTML5 side of the house). I don&#8217;t want any of those vendors to have too much power. The thought of a Web that required the use of their technology makes me shudder (we have a piece of that with Flash video). Right now I can turn off those plugins and life moves on. Sure I can&#8217;t Hulu or Netflix, but that will change. I would miss some of the Flash sites that my kids use, but they could even be partially ported over to HTML5 these days.</p>
<p>I don&#8217;t want to &#8220;kill&#8221; these other platforms as they offer competition and spur on the industry. I just don&#8217;t want any one of them to take over. It may seem like the world would be better if we all just used Macs and iPhones and iPads, but would it? Do you think Steve would be a benevolent dictator? </p>
<p><img src="http://iphoneroot.com/wp-content/uploads/2010/01/steve_jobs_630x-400x210.jpg"></p>
<p>Erm, no.</p>
<p>And thus I find myself torn. I really want to go out and by that iPad&#8230;&#8230;. but when is it &#8220;too late&#8221;. Surely I have a few years right? I can enjoy the shiny new toy? :)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dion?a=JAEH3ret1OU:r_AO-SwRJ88:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=JAEH3ret1OU:r_AO-SwRJ88:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dion?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=JAEH3ret1OU:r_AO-SwRJ88:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dion?i=JAEH3ret1OU:r_AO-SwRJ88:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=JAEH3ret1OU:r_AO-SwRJ88:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dion?i=JAEH3ret1OU:r_AO-SwRJ88:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded><description>Steve Jobs didn&amp;#8217;t hold back when talking about Google and Adobe. That is great. Life is so much more fun when people speak their mind. I remember hearing a story when Sir Steve was asked why mac keyboards where the way they were. He grabbed a PC keyboard and started to rip out &amp;#8220;stupid keys&amp;#8221; [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://almaer.com/blog/google-isnt-evil-flash-isnt-dead-thank-god-the-open-web-doesnt-have-a-single-vendor/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">25</slash:comments><enclosure url="http://www.youtube.com/v/87YOBDzxwj4&amp;#038;rel=0&amp;#038;color1=0xb1b1b1&amp;#038;color2=0xcfcfcf&amp;#038;hl=en_US&amp;#038;feature=player_embedded&amp;#038;fs=1" length="1032" type="application/x-shockwave-flash" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://almaer.com/blog/google-isnt-evil-flash-isnt-dead-thank-god-the-open-web-doesnt-have-a-single-vendor</feedburner:origLink></item><item><title>The table stakes of 2010 and beyond</title><link>http://feedproxy.google.com/~r/dion/~3/MkvLc8YY8QU/the-table-stakes-of-2010-and-beyond</link><category>Comic</category><category>Mobile</category><category>Tech</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dion</dc:creator><pubDate>Mon, 11 Jan 2010 08:45:44 PST</pubDate><guid isPermaLink="false">http://almaer.com/blog/?p=2612</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img class="toonlet-embed-strip" style="border:0" title="From websites to mobile apps" alt="From websites to mobile apps" src="http://toonlet.com/render/dalmaer/panelset/38597-From_websites_t-sfull.png" height="490" width="480"></p>
<p>Remember the first dot-com boom when people started to think that creating a company was just about creating a website? They would register a domain before they had a business plan? Crazy days of sock puppets and and people renaming themselves as dot com versions. Behind the craziness was the reality that to a large extent you did have to have a website. A website was table stakes, and this continues to be the case.</p>
<p>With the iPhone another gold rush occurred. The initial rush is over and you can&#8217;t just throw an application into the appstore and hope to make a fortune. You actually have to create something compelling and differentiated to make hour mark. Imagine that!</p>
<p>The &#8220;quick buck&#8221; allure isn&#8217;t there and we are onto the next level of maturity. Having an experience for iPhone users has become table stakes for some too.</p>
<p>So, now you have created your website, and iPhone app, do you go to an Android app? Facebook? One for a new 3D TV? :) It is starting to get daunting.</p>
<p><img src="http://almaer.com/blog/uploads/devices.png" alt="devices" title="devices" width="480" class="alignnone size-full wp-image-2613" /></p>
<p>Walking around at CES the consumer in me gets very excited to see the proliferation of devices. Everything is connected, everything has an API.</p>
<p>Then the developer in me wonders how this is going to scale and how we are going to deliver great experiences to all.</p>
<p>My hope is that the Web can become a great unifying platform. It isn&#8217;t easy to build Web apps that will just work anywhere. I just talked about the <a href="http://almaer.com/blog/touching-horizontalscroll">issues and fun of developing for devices</a> and we are going to be getting a lot more form factors out there.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dion?a=MkvLc8YY8QU:ATbYKH8Op2Q:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=MkvLc8YY8QU:ATbYKH8Op2Q:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dion?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=MkvLc8YY8QU:ATbYKH8Op2Q:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dion?i=MkvLc8YY8QU:ATbYKH8Op2Q:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=MkvLc8YY8QU:ATbYKH8Op2Q:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dion?i=MkvLc8YY8QU:ATbYKH8Op2Q:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded><description>Remember the first dot-com boom when people started to think that creating a company was just about creating a website? They would register a domain before they had a business plan? Crazy days of sock puppets and and people renaming themselves as dot com versions. Behind the craziness was the reality that to a large [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://almaer.com/blog/the-table-stakes-of-2010-and-beyond/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://almaer.com/blog/the-table-stakes-of-2010-and-beyond</feedburner:origLink></item><item><title>Palm Developer Program Opens at CES: A big appetite with a Plug-in Development Kit, $1M dollars of rewards, and more</title><link>http://feedproxy.google.com/~r/dion/~3/mnMW8W9xiYM/palm-developer-program-opens-at-ces-a-big-appetite-with-a-plug-in-development-kit-1m-dollars-of-rewards-and-more</link><category>Tech</category><category>webOS</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dion</dc:creator><pubDate>Thu, 07 Jan 2010 14:49:00 PST</pubDate><guid isPermaLink="false">http://almaer.com/blog/?p=2604</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>It has been a very different holiday season as everyone got ready for CES this year. This is my second time at the show (first time was having the honor to <a href="http://almaer.com/blog/accepting-the-gears-award-for-most-innovative-product-from-pcworld-at-ces">pick up an award for the Gears team</a>) and was a very different experience.</p>
<p>It was great to come out with some good news today: from Verizon, to video recording, to Flash, to 3D games. From a consumer point of view the Palm Mobile Hotspot is pretty sexy. Tethering has been a pain, and I was eyeing up a MiFi when I got to learn that devices will be able to become MiFi hotspots. Awesome.</p>
<p>All good stuff, but I am obviously most excited about the developer side of things. This year it turned out that we got to <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1839&#038;Itemid=33">turn on the full developer program today</a> in conjunction with the other CES news. A ton of work went into this first launch of the full program and there is a lot packed in there:</p>
<p><img src="http://almaer.com/blog/uploads/palmdevprogramopen.png" alt="palmdevprogramopen" title="palmdevprogramopen" width="452" height="349" class="alignnone size-full wp-image-2605" /></p>
<p><b>New developer portal</b></p>
<p>When you work with Ben, you quickly learn that things should be as polished as possible. He really lead the charge on making a <a href="http://developer.palm.com/">great new developer portal</a> with a spruced up look and feel throughout, and some good new content. There is a lot more in the works and the community has been coming together nicely to provide some fantastic documentation too. We now have a good foundation to move quickly on, and to really help developers.</p>
<p><b>PDK: On-ramp for native code via Plug-in Development Kit</b></p>
<p><img src="http://developer.palm.com/images/palm/sdk_plugin_sm.png" style="float:right; padding:8px;"></p>
<p>One of the things I love about the Web is its diversity. It isn&#8217;t just One Community. It has sub communities galore. On the server-side you have Java and PHP and Ruby and Python and [insert every other platform] camps all at home on the Web. Even on the client-side, despite the ubiquity of JavaScript, you see many different types of developers.</p>
<p>I am really happy that we are providing the Plug-in Development Kit (PDK) that will enable a path to native code on the platform enabling a role that we have seen on the Web via Flash, Gears, QuickTime, RealPlayer, and on and on.</p>
<p>The goals of the PDK are:</p>
<ul>
<li>Easy porting of C/C++ applications to webOS, including those that use OpenGL ES 1.1 or 2.0
<li>Easy integration of C/C++ components to enhance the capabilities of webOS applications
</ul>
<p><a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1850&#038;Itemid=20">Read more about the PDK</a>.</p>
<p><b>Flash 10.1</b></p>
<p>Flash 10.1 fits into this picture too. I am glad that we have a path for Flash developers to get their content to our users. Adobe has been working very hard to make their engine work on mobile. This has got to be a tough problem given the nature of it (event loop etc) and they are doing great. Can&#8217;t wait to see the finished product.</p>
<p><b>Hot Apps</b></p>
<p><img src="http://developer.palm.com/images/palm/hot.png" style="float:right; padding:8px;"></p>
<p>We want to put our money where our mouth is, and want to reward developers in a fair way, so we decided to offer $1 million dollars in cash bonuses to webOS developers through our <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1841&#038;Itemid=35">Hot Apps Program</a>.</p>
<p>Contests are interesting, but having been involved in a few myself, they get very subjective and judging can be difficult. This is why this time around we wanted to try to let the market do its thing and reward developers based on downloads and how many devices have installed their application.</p>
<p>Some high level info:</p>
<blockquote><p>
The Palm Hot Apps Program will reward developers of the hottest webOS applications with a total of $1 million. The top rewards of $100,000 will go to developers as follows:</p>
<ul>
<li>The developer of the free webOS application that’s downloaded the most between February 1, 2010, and May 31, 2010 will receive a $100,000.
<li>The developer of the paid-for webOS app that generates the most revenue during the same period will also receive $100,000.
</ul>
<p>Developers of other top free and paid apps will also receive cash awards, as follows:</p>
<ul>
<li>The next 20 apps in each category: $10,000 each
<li>The next 200 apps in each category: $1,000 each
</ul>
<p>To qualify for an award, your app – either free or paid – must be available to webOS users via Palm distribution programs between February 1, 2010, and May 31, 2010. In addition, the following criteria apply:</p>
<ul>
<li>The app must have been developed using the Palm webOS Software Development Kit or the Ares Integrated Development Environment. Since the Palm webOS Plug-in Development Kit is not widely available, applications utilizing this development kit or any APIs not in the Palm webOS SDK are ineligible.
<li>Apps must be available for download through an official Palm webOS distribution program (App Catalog Distribution, Web Distribution, or Beta Distribution). Apps distributed through non-Palm methods do not qualify.
<li>Apps developed by Palm employees or their direct relations are ineligible for awards.
</ul>
</blockquote>
<p>What do you think of this approach?</p>
<p><b>GitHub Palm Repository</b></p>
<p><img src="http://almaer.com/blog/uploads/palmgithub-1024x752.png" alt="palmgithub" title="palmgithub" width="480" class="alignnone size-large wp-image-2606" /></p>
<p>I am a huge <a href="http://github.com/dalmaer">GitHub fan</a> and I am really glad that we have opened up our <a href="http://github.com/palm">Palm GitHub account</a> with some goodies. We have various projects that contain sample code that go from <a href="http://github.com/palm/webos-helloworld">ye olde hello world</a> app, to Mitch Allen&#8217;s great <a href="http://github.com/palm/webos-newsapp">news app from his book</a> to the indispensable <a href="http://github.com/palm/stylematters">stylematters</a> app that our great HI put out to show you how to make beautiful, usable applications.</p>
<p>I hope that this is just the beginning and that you will see more and more projects on GitHub to fork! Speaking of projects to fork&#8230;.</p>
<p><b>Project Appetite</b></p>
<p><img src="http://almaer.com/blog/uploads/palmappetite-1024x752.png" alt="palmappetite" title="palmappetite" width="480"  class="alignnone size-large wp-image-2607" /></p>
<p>One of the new projects is <a href="http://github.com/palm/appetite">Project Appetite</a> which is an open source project showing how you can interface with the <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1844&#038;Itemid=329">Palm application feeds</a> that come out of our full catalog.</p>
<p>Early partners have already built sites using the feeds: <a href="http://www.precentral.net/app-gallery">PreCentral App Gallery</a>, <a href="http://catalog.webosschool.com/">webOS App Catalog Viewer</a>, the <a href="http://houseofpalm.com">House of Palm</a>, and on <a href="http://freshmeat.net/">FreshMeat</a>.</p>
<p>Now you can integrate the feeds yourself. There are a lot of different pieces in that one project, and I need some other posts to go into details on the front end code (some fun CSS transforms if you are in Safari on Mac and hit Ctrl-F!) as well as the backend (using Java, node.js and lots of good stuff). There is still a lot that we want to do to help people and this is just the beginning of that project.</p>
<p>Phew. What a way to start the new year. Thanks for joining me on this journey and I can&#8217;t wait to see what folks come up with (including us!)</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dion?a=mnMW8W9xiYM:khDc4a5mG10:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=mnMW8W9xiYM:khDc4a5mG10:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dion?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=mnMW8W9xiYM:khDc4a5mG10:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dion?i=mnMW8W9xiYM:khDc4a5mG10:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=mnMW8W9xiYM:khDc4a5mG10:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dion?i=mnMW8W9xiYM:khDc4a5mG10:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded><description>It has been a very different holiday season as everyone got ready for CES this year. This is my second time at the show (first time was having the honor to pick up an award for the Gears team) and was a very different experience.
It was great to come out with some good news today: [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://almaer.com/blog/palm-developer-program-opens-at-ces-a-big-appetite-with-a-plug-in-development-kit-1m-dollars-of-rewards-and-more/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">6</slash:comments><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://almaer.com/blog/palm-developer-program-opens-at-ces-a-big-appetite-with-a-plug-in-development-kit-1m-dollars-of-rewards-and-more</feedburner:origLink></item><item><title>Gearing up your applications to be touched and the horizontal scroll</title><link>http://feedproxy.google.com/~r/dion/~3/ZoTXuGiVqvs/touching-horizontalscroll</link><category>Mobile</category><category>Tech</category><category>webOS</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dion</dc:creator><pubDate>Mon, 04 Jan 2010 09:45:41 PST</pubDate><guid isPermaLink="false">http://almaer.com/blog/?p=2597</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>I have been having a great time hacking on code that let&#8217;s me do interesting things on my device. With webOS you get to use your old favorites (HTML/JS/CSS and Web APIs that you know) and now you are ready to take Web applications that you may have even already written, and make them work for the mobile form factor.</p>
<p>The two biggest challenges I have found so far on the design side have been dealing with the real estate available (screen size) and the touchy feely-ness of the device.</p>
<p>We have been trained on the desktop, thanks to the mouse as our pointer interface, to click lots of buttons. The tactile feedback that we get is the button looking depressed, but that is about it. The mouse has a lot going for it. The fact that I have a set of states due to the fact that there is a difference between having the cursor located somewhere, and having a click on that location is useful. It can be especially useful for discoverability. As a user mouses around you can unveil information &#8220;hey, if you click this button X will happen mate!&#8221; It also has the nice side effect that your hand can rest on it.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/NwVBzx0LMNQ&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/NwVBzx0LMNQ&#038;hl=en_US&#038;fs=1&#038;"; type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>The infamous Minority Report interface looked great, and spawned many &#8220;look how we can do this now&#8221; prototypes, but try holding your hands in front of you for 10 minutes, let alone 8 hours :)</p>
<p>The mouse has a lot of drawbacks though. It is a level of abstraction. You aren&#8217;t touching the objects, you are touching a device that takes your input and does the real touching. This of course leads to touch screens and bypassing that abstraction. Watching my son tap and drag and manipulate a touch screen has been great to see. It matches the physical world a lot more. He tried to touch my laptop screen at first too.</p>
<p>Since you are mimicking the real world more though, you get into the uncanny valley problem. If you drag something&#8230;. it SHOULD drag! One of the interesting design choices that iPhone made was to allow you to drag things even though some folks would say &#8220;don&#8217;t let them do that, there is nothing back there&#8221;. You then saw studies where people were taking their browser screens and dragging them around just for fun. Crazy :)</p>
<p>Applications started to take advantage of this. iPhone started with many buttons. The back button is the classic one that is all over the shop. On webOS there is a gesture area that trains you quickly to swipe back whenever you want, like going back a page. It is fun to watch a webOS user try to swipe when using an iPhone. You get used to it, you like it, it feels more natural.</p>
<p><img src="http://almaer.com/blog/uploads/tweetie_refresh.png" alt="tweetie_refresh" title="tweetie_refresh" width="320" height="480" class="alignnone size-full wp-image-2598" /></p>
<p>Applications like Tweetie 2 groked this too. They took away the refresh button and added a draggable notion. You drag the list down and let go to spin it into action. In many ways this is more work than a simple tap and is a touch less discoverable, but it has the benefit of &#8220;feeling nice&#8221; and once you know about it, there isn&#8217;t a darn button in front of you all the time. The UI can get out of the way.</p>
<p><img src="http://almaer.com/blog/uploads/newsroom-drag.png" alt="newsroom-drag" title="newsroom-drag" width="320" height="480" class="alignnone size-full wp-image-2599" /></p>
<p>The Newsroom feedreader app on webOS does a really nice job here too. You flip and drag and move throughout most of the interface. After awhile it feels like you have a large virtual space and you are just moving the view port around to see what you want to see. It feels nice. I strangely find that it makes me want to use the application much more than an app with buttons and simple taps. Maybe I am just strange.</p>
<p>I find that I really enjoy the horizontal scroll. I wanted to build a simple <code>HorizontalScroller</code> component for webOS, but first I will detail the low level side of using a <a href="http://developer.palm.com/palm-sdk/jsdoc/symbols/Mojo.Widget.html#.Scroller">Scroller</a> webOS component to get this effect.</p>
<p>The code for all of this is in my <a href="http://github.com/dalmaer/webos-horizontalscroller">HorizontalScroller GitHub repo</a>.</p>
<p>A simple way to build a horizontal scroller is to have a div that contains all of the pieces of content (pre-loaded, or you can lazily load by adding nodes to this div). It extends wider than the 320px viewport size of the Pre/Pixi and contains other elements that are each 320px. We have a view that contains this, and a controller that sets it all up:</p>
<p><b>The View</b></p>
<p>Here is how we setup the component <a href="http://github.com/dalmaer/webos-horizontalscroller/blob/master/app/views/simple/simple-scene.html">with 3 items</a>:</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;div x-mojo-element=&quot;Scroller&quot; id=&quot;scrollerId&quot;&gt;
    &lt;div class=&quot;scrollerContainer&quot;&gt;
        &lt;div class=&quot;scrollerItem&quot; id=&quot;scrollerItem:1&quot;&gt;first&lt;/div&gt;
        &lt;div class=&quot;scrollerItem&quot; id=&quot;scrollerItem:2&quot;&gt;second&lt;/div&gt;
        &lt;div class=&quot;scrollerItem&quot; id=&quot;scrollerItem:3&quot;&gt;third&lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;</pre></div></div>

<p>and we style them:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* A scroller needs a container element */</span>
<span style="color: #6666ff;">.scrollerContainer</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span>  <span style="color: #933;">960px</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">400px</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">yellow</span> <span style="color: #993333;">solid</span> <span style="color: #933;">1px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* An item that is viewable in the scroll pane window */</span>
<span style="color: #6666ff;">.scrollerItem</span> <span style="color: #00AA00;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span>     <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span>     <span style="color: #933;">320px</span><span style="color: #00AA00;">;</span>
    <span style="color: #000000; font-weight: bold;">min-width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">320px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p><b>The Controller</b></p>
<p>The code that turns the divs into life <a href="http://github.com/dalmaer/webos-horizontalscroller/blob/master/app/assistants/simple-assistant.js">lives in the controller</a>.</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">controller</span>.<span style="color: #660066;">setupWidget</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;scrollerId&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900;">&#123;</span>
                   mode<span style="color: #339933;">:</span> <span style="color: #3366CC;">'horizontal-snap'</span>
               <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #000066; font-weight: bold;">this</span>.<span style="color: #660066;">model</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
                   snapElements<span style="color: #339933;">:</span> <span style="color: #009900;">&#123;</span> x<span style="color: #339933;">:</span> $$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.scrollerItem'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span>
                   snapIndex<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span>
               <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>The key is the &#8220;horizontal-snap&#8221; mode that make the drag physics feel right and ties to the <code>snapElements</code> which are the DOM elements for the inner divs. The widget takes care of snapping to those elements for you!</p>
<p>Of course, you can use this base to do a lot. The afore mentioned Newsroom styles the divs so it looks like switching cards.</p>
<p>Next up: I will get the HorizontalScroller component done and dusted to make life even easier.</p>
<p><b>Conclusion</b></p>
<p>It is enjoyable to use the constraints of screen size and the natural feeling of touch and put them together to make great apps that live with you in your pocket. I thought screen size would be a huge issue, but in some ways it has been nice to have that constraint. It means you focus on the core functionality. Dealing with the touch vs. mouse issue is an interesting one too and will have you ending up with a very different interface if you embrace the feel.</p>
<p>What have you found enjoyable about using mobile apps vs. desktop ones?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dion?a=ZoTXuGiVqvs:DYjvn-vsFeM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=ZoTXuGiVqvs:DYjvn-vsFeM:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dion?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=ZoTXuGiVqvs:DYjvn-vsFeM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dion?i=ZoTXuGiVqvs:DYjvn-vsFeM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=ZoTXuGiVqvs:DYjvn-vsFeM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dion?i=ZoTXuGiVqvs:DYjvn-vsFeM:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded><description>I have been having a great time hacking on code that let&amp;#8217;s me do interesting things on my device. With webOS you get to use your old favorites (HTML/JS/CSS and Web APIs that you know) and now you are ready to take Web applications that you may have even already written, and make them work [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://almaer.com/blog/touching-horizontalscroll/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><enclosure url="http://www.youtube.com/v/NwVBzx0LMNQ&amp;#038;hl=en_US&amp;#038;fs=1&amp;#038;" length="1044" type="application/x-shockwave-flash" /><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://almaer.com/blog/touching-horizontalscroll</feedburner:origLink></item><item><title>palm-run: package, run, launch and then see log messages</title><link>http://feedproxy.google.com/~r/dion/~3/av0lDeILtF0/palm-run</link><category>Tech</category><category>webOS</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dion</dc:creator><pubDate>Thu, 24 Dec 2009 08:01:05 PST</pubDate><guid isPermaLink="false">http://almaer.com/blog/?p=2593</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>I am having fun taking my Web skillz and applying them to mobile with webOS. It is obviously important that I learn about the platform. I want to understand the limitations, and get a feel for the SDK so I have opinions on where to take it (Fortunately, the community gives us great feedback, <a href="http://developer.palm.com/">keep it coming</a>!).</p>
<p>As I develop applications I quickly see repetitive tasks that fit into my workflow. You can quickly iterate when you are developing your application and when I am testing in either the device or the emulator I find myself repeating the following cycle:</p>
<p><img src="http://almaer.com/blog/uploads/palmworkflow.png" alt="palmworkflow" title="palmworkflow" width="476" height="296" class="alignnone size-full wp-image-2595" /></p>
<p>This maps to the <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1552">command line tools that come with the SDK</a>.</p>
<p><b>palm-package</b></p>
<p>The application packager palm-package prepares an application for installation by converting the files in the application directory to an .ipkg file that can be consumed by the emulator or device.</p>
<p>palm-run takes the given directory to package up, or &#8220;.&#8221;.</p>
<p><b>palm-install</b></p>
<p>The palm-install tool installs a packaged application on the device or emulator.</p>
<p>palm-run uses the <code>-d</code> option to specific device or emulator. The default is &#8220;tcp&#8221; which means emulator. Use <code>-d usb</code> to send to the device.</p>
<p><b>palm-launch</b></p>
<p>The palm-launch tool launches (or closes) an application on the emulator or device.</p>
<p><b>palm-log</b></p>
<p><a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1805">palm-log</a> displays log messages from an application on the emulator or  USB-connected webOS device. The log output is simpler and easier to read than the output in /var/log/messages, and the timestamp is the local time instead of GMT. You can also use palm-log to display the installed applications, which is useful for getting the ID of the application to log.</p>
<p>So, <a href="http://github.com/dalmaer/palm-run">palm-run is on GitHub</a>. Fork away and share what you do in your cycle.</p>
<p><b>Usage</b></p>
<pre>
palm-run [-d DEVICE] [-L] [-o DIRECTORY] [directory]

-d DEVICE: Defaults to installing to the emulator. Use 'usb' for device
-L : By default the palm-log command is run. This suppresses that
-o OUTPUT: By default the ipk is generated to /tmp

<em>Examples</em>

palm-run ~/myproject # deploy from /tmp to emulator
palm-run -d usb -L -o /packages ~/myproject
palm-run # use the current directory and all the defaults
</pre>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dion?a=av0lDeILtF0:yh1DCzPDCAU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=av0lDeILtF0:yh1DCzPDCAU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dion?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=av0lDeILtF0:yh1DCzPDCAU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dion?i=av0lDeILtF0:yh1DCzPDCAU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=av0lDeILtF0:yh1DCzPDCAU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dion?i=av0lDeILtF0:yh1DCzPDCAU:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded><description>I am having fun taking my Web skillz and applying them to mobile with webOS. It is obviously important that I learn about the platform. I want to understand the limitations, and get a feel for the SDK so I have opinions on where to take it (Fortunately, the community gives us great feedback, keep [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://almaer.com/blog/palm-run/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">4</slash:comments><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://almaer.com/blog/palm-run</feedburner:origLink></item><item><title>Project Ares: An awesome mobile web IDE built on the web</title><link>http://feedproxy.google.com/~r/dion/~3/lJdbh2Vbr7c/project-ares-an-awesome-mobile-web-ide-built-on-the-web</link><category>Ajax</category><category>Palm</category><category>Tech</category><category>webOS</category><category>ares</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dion</dc:creator><pubDate>Thu, 17 Dec 2009 14:41:18 PST</pubDate><guid isPermaLink="false">http://almaer.com/blog/?p=2590</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>I am so excited for the Ares team at Palm today as we <a href="http://ares.palm.com/Ares/about.html">launch Project Ares</a> a web based IDE for the mobile web.</p>
<p>The full experience packs a lot into the browser: visual designer, code editor, visual debugger, log viewer, source code integration, drag and drop file upload, built-in app preview, and the ability to run your app directly in the emulator or even the device!</p>
<p>I talked more about the details on <a href="http://ajaxian.com/archives/project-ares-full-mobile-development-environment-from-palm-all-in-the-browser">Ajaxian</a> and <a href="http://ares.palm.com/Ares/about.html">the Ares site has more</a>.</p>
<p><img src="http://ajaxian.com/wp-content/images/ares_thumb.png"></p>
<p>I am so jazzed to see this out there. At Mozilla we saw the Ares team building this great product that uses Bespin right now for the code editor, some of the server side, source control and debugger (the first sighting of Bespin debugger!)</p>
<p>The team has worked incredibly hard since then to build what you see now in public beta form. </p>
<p>This also shows how awesome the web platform it is. Because webOS builds on the web we are able to have features like the &#8220;preview&#8221; feature that shows you how your app will look without even having to go to the emulator or device.</p>
<p>The performance of the app says a lot too. It is incredibly responsive for me, especially since there are a lot of features packed in there. The layout system is really well thought out too and is a dream when you compare to CSS fun. I can&#8217;t wait to see what the community has to say about Ares, and I want to hear features that they would like. After using this, I want to be able to build all kinds of web apps from it ;)</p>
<p>I also want to say thanks to my Bespin team mates and community as well as the new friends I have made at Palm. Matt, Scott, Steve, Frankie&#8230;. you guys are awesome and it is amazing to see what you have done in short order!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dion?a=lJdbh2Vbr7c:nwSozgft7rI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=lJdbh2Vbr7c:nwSozgft7rI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dion?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=lJdbh2Vbr7c:nwSozgft7rI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dion?i=lJdbh2Vbr7c:nwSozgft7rI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=lJdbh2Vbr7c:nwSozgft7rI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dion?i=lJdbh2Vbr7c:nwSozgft7rI:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded><description>I am so excited for the Ares team at Palm today as we launch Project Ares a web based IDE for the mobile web.
The full experience packs a lot into the browser: visual designer, code editor, visual debugger, log viewer, source code integration, drag and drop file upload, built-in app preview, and the ability to [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://almaer.com/blog/project-ares-an-awesome-mobile-web-ide-built-on-the-web/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://almaer.com/blog/project-ares-an-awesome-mobile-web-ide-built-on-the-web</feedburner:origLink></item><item><title>Chrome Extensions and webOS Applications look quite similar</title><link>http://feedproxy.google.com/~r/dion/~3/70G-koXPoMs/chrome-extensions-and-webos-applications-look-quite-similar</link><category>Tech</category><category>webOS</category><category>extensions</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dion</dc:creator><pubDate>Wed, 16 Dec 2009 08:41:38 PST</pubDate><guid isPermaLink="false">http://almaer.com/blog/?p=2588</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img src="http://almaer.com/blog/uploads/appsandextensions.jpg" alt="appsandextensions" title="appsandextensions" width="500" height="333" class="alignnone size-full wp-image-2587" /></p>
<blockquote><p>
&#8220;If you squint, Chrome Extensions and webOS applications look similar&#8221; &#8212; a wise friend
</p></blockquote>
<p>Having now written webOS applications and Chrome Extensions I have been struck by how similar they are, and could be.</p>
<p>It may seem weird to see similarity in a browser extension mechanism and a mobile application runtime, but when you look at it, there is plenty to share at a high level:</p>
<p><b>Breaking out of the sandbox</b></p>
<p>Both worlds need to break out of the web browser sandbox. Extensions can&#8217;t be restricted to the same limitations and Chrome Extensions have <a href="http://code.google.com/chrome/extensions/api_index.html">various API</a> that relate to UI elements in the browser, as well as getting access to more.</p>
<p>On webOS we have exactly the same issue. When building native applications on webOS you can&#8217;t have the same restrictions and thus <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1654">new APIs, UI widgets, and services</a>.</p>
<p>This issue goes beyond even these too worlds, and is one of the big challenges for Web runtimes in the near future. I expect my runtime to be able to do a lot more and to get access to my data not just through third party server side services, but locally too. This all brings us to&#8230; </p>
<p><b>Permissions</b></p>
<p>The Web needs a permissioning model. The sandbox doesn&#8217;t give us enough, and although people quickly talk about security (which is critical) we forget what happens if the user can&#8217;t do something through the Web. They often will download an .exe to their local computer and will just run it, not knowing anything about what it does.</p>
<p>A big challenge for us is to come up with a model that doesn&#8217;t Do A Vista and drive our users nuts. We have to balance the desire to not ask the user for something all the time, while making sure the user knows what is happening. For power users at least, I favour the idea of showing me what is going on. Even if I grant an application a lot of power, if I could see when and what it was doing it would help. Of course, being able to restrict access to APIs is fantastic, especially when you get to layer social trust on top of the technical security. The Mozilla team talked a lot about just this and I look forward to more of their ideas and implementation.</p>
<p>(You can see an example of how Chrome does <a href="http://code.google.com/chrome/extensions/xhr.html">permissions with Cross site XHR</a>.)</p>
<p><b>Application Bundle Info</b></p>
<p>The permissions and other metadata need to live somewhere. We have a <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1748">appinfo.json</a> file that has you declare info on your app. Chrome has a <a href="http://code.google.com/chrome/extensions/manifest.html">manifest.json</a>.</p>
<p>On the Web we don&#8217;t really have this. You hit a URL and you bootstrap from there. The HTML5 manifest does tell the browser which files are in scope for caching and the like, but that is about it. Applications and extensions can tell the system much more. You have ids, versions, pointers to update, icons, main launching points or not&#8230;</p>
<p><b>Headless Chickens</b></p>
<p>You don&#8217;t often think of a headless web app. You can think of headless applications and extensions though. How many services are running on your computer now that have no UI? On webOS you can <code>noWindow</code> away and still provide value through the various services that we offer, the obvious being <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1632">the rich and varied notification styles</a>. <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1572">Background apps are nicely supported</a>.</p>
<p>Chrome Extensions have the notion of a <a href="http://code.google.com/chrome/extensions/background_pages.html">background page</a> as a way to manage a long lived lifecycle. Your background page is a singleton:</p>
<blockquote><p>
In a typical extension with a background page, the UI — for example, the browser action or page action and any options page — is implemented by dumb views. When the view needs some state, it requests the state from the background page. When the background page notices a state change, the background page tells the views to update.
</p></blockquote>
<p>In webOS and the Mojo framework we have a <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1603">rich MVC system</a> with a <a href="http://developer.palm.com/index.php?option=com_content&#038;view=article&#038;id=1666">detailed lifecycle</a> as well as the simple ability to define models, views and controllers.</p>
<p><b>And on</b></p>
<p>The more I look at these worlds, and others like them (e.g. Jetpack) the more I hope we come together. There are similar needs, and when you look from Chrome Extensions to Chrome OS, you can see a potential progression if done right.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dion?a=70G-koXPoMs:Jpk0oVQjqyE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=70G-koXPoMs:Jpk0oVQjqyE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dion?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=70G-koXPoMs:Jpk0oVQjqyE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dion?i=70G-koXPoMs:Jpk0oVQjqyE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=70G-koXPoMs:Jpk0oVQjqyE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dion?i=70G-koXPoMs:Jpk0oVQjqyE:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded><description>&amp;#8220;If you squint, Chrome Extensions and webOS applications look similar&amp;#8221; &amp;#8212; a wise friend

Having now written webOS applications and Chrome Extensions I have been struck by how similar they are, and could be.
It may seem weird to see similarity in a browser extension mechanism and a mobile application runtime, but when you look at it, [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://almaer.com/blog/chrome-extensions-and-webos-applications-look-quite-similar/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://almaer.com/blog/chrome-extensions-and-webos-applications-look-quite-similar</feedburner:origLink></item><item><title>Out of the page and into the runtime; Extensions move the Web development model further</title><link>http://feedproxy.google.com/~r/dion/~3/R9aGJ0_wa_E/out-of-the-page-and-into-the-runtime-extensions-move-the-web-development-model-further</link><category>Tech</category><category>Web Browsing</category><category>extensions</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dion</dc:creator><pubDate>Wed, 09 Dec 2009 22:03:08 PST</pubDate><guid isPermaLink="false">http://almaer.com/blog/?p=2585</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p>The Chrome Extensions team had a press event tonight to go over their <a href="http://blog.chromium.org/2009/12/extensions-beta-launched-with-over-300.html">extensions beta launch</a> that I unfortunately couldn&#8217;t make at the last minute. I wanted to be there to see old friends and the good work they have been doing, and support them.</p>
<p>Aaron, Erik, and the team have done a pretty great job with their extension model. They wanted to allow Web developers to develop extensions. Who better to do that than folks who are a) Web developers and b) have written extensions (e.g. Aaron is an old time JS hacker, author of Greasemonkey, and much more since then [Gears etc]).</p>
<p>Of course, over at Mozilla the same idea had been hatched with <a href="https://jetpack.mozillalabs.com/">Jetpack</a> and other equally talented folk are working on that (Aza and Atul and more).</p>
<p>Some of our best Web engineers are on the case, which is great.</p>
<p>Before these new age extension models the world of extensions was tough. On IE you would be mainly a C++ hacker to do anything. Mozilla really raised the bar with its original Add-Ons but even though you could do a lot in JavaScript, there was still a lot of XPCOM and a huge API set since you basically were given the entire Mozilla platform to work with. This was great from a &#8220;you can do whatever the crap you want to do&#8221; perspective, but it was awfully hard to dive in and get productive.</p>
<p>Thus, most Web developers stayed inside the browser window. We develop applications in our area, and others do the extension thing.</p>
<p>That has changed and we are now breaking out of the browser sandbox in many ways. This is one of them. When we think about delivering experiences to our users we can think of out of the window. What would our users like to be able to do when not on our web site? How can we package our value adds in a way that they can do their thing at any point? How do we interact with the runtime? What can we do if we have more permissions to do interesting things?</p>
<p>We have only just seen the beginning with Jetpack and Chrome Extensions. They are many more APIs to write and for us to then consume. I personally think that Chrome is too restrictive on what you can do in the browser chrome for example. I would love to play around and have my browser morph in interesting ways. If I am on a particular site, new features and functionality could appear if I want them too.</p>
<p>It feels like we are touching the surface on what the Web platform and runtime is versus what a &#8220;browser&#8221; is as we have envisioned it until now.</p>
<p>2010 will be an exciting year for Web developers as they add extensions to their toolbox in a nice clean way.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dion?a=R9aGJ0_wa_E:tzFiNeDBdPc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=R9aGJ0_wa_E:tzFiNeDBdPc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dion?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=R9aGJ0_wa_E:tzFiNeDBdPc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dion?i=R9aGJ0_wa_E:tzFiNeDBdPc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=R9aGJ0_wa_E:tzFiNeDBdPc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dion?i=R9aGJ0_wa_E:tzFiNeDBdPc:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded><description>The Chrome Extensions team had a press event tonight to go over their extensions beta launch that I unfortunately couldn&amp;#8217;t make at the last minute. I wanted to be there to see old friends and the good work they have been doing, and support them.
Aaron, Erik, and the team have done a pretty great job [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://almaer.com/blog/out-of-the-page-and-into-the-runtime-extensions-move-the-web-development-model-further/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://almaer.com/blog/out-of-the-page-and-into-the-runtime-extensions-move-the-web-development-model-further</feedburner:origLink></item><item><title>Gears has been “dead” for a long time, it’s OK, but a shame</title><link>http://feedproxy.google.com/~r/dion/~3/r82Ar4XBwHg/gears-has-been-dead-for-a-long-time-its-ok-but-a-shame</link><category>Gears</category><category>Google</category><category>Tech</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">dion</dc:creator><pubDate>Tue, 01 Dec 2009 16:05:36 PST</pubDate><guid isPermaLink="false">http://almaer.com/blog/?p=2583</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[<p><img src="http://almaer.com/blog/uploads/gearshtml5.jpg"></p>
<p>I spent a lot of time advocating <a href="http://almaer.com/blog/category/gears">Gears</a>. I loved the engineers (folks like Aaron Boodman who is doing great stuff with Chrome Extensions, and Chris Prince who now works on the fantastic Google Voice, and many many more&#8230;. many of whom are working on Chrome in some fashion).</p>
<p>Today the press is picking up the fact that <a href="http://www.pcmag.com/article2/0,2817,2356492,00.asp">Gears is dead</a>, even though Google moved its efforts awhile ago (keeping life support turned on) and Linus talks about the focus on HTML5 and Chrome:</p>
<blockquote><p>
&#8220;We&#8217;re very focused on moving HTML 5 forward, and that&#8217;s where we&#8217;re putting all of our energy,&#8221; Upson said. &#8220;When we started the Gears project, three years ago, maybe three and a half years ago now, we did it because we couldn&#8217;t get the browser vendors interested in building offline applications. And so, so we said, okay, we&#8217;ll build a plugin that could do it. And lo and behold, once we shipped Gears, suddenly the browser vendors got very interested in adding capabilities to build offline applications.</p>
<p>&#8220;And so, I think Gears has accomplished its mission very well, in getting these capabilities into HTML 5,&#8221; Upson added. &#8220;In fact, the team that designed Gears was also instrumental in designing the HTML 5 versions of those APIs. You can almost think of what&#8217;s in HTML 5, with app cache, and database, and those things, as essentially Gears 2, and that&#8217;s how we view it.&#8221;
</p></blockquote>
<p>Many people are happy to wave good bye to Gears and look to the future of HTML5. I feel that too, but I do have a pang of &#8220;what coulda been&#8221;. The Gears team was incredibly pragmatic. How can we get Gmail Offline? What about other Google properties? This practical experience delivered Gears and the push for support of real APIs that developers need to deliver compelling experiences through the Web platform.</p>
<p>Although it is true that Google can push the cause through their own browser, their properties still need to deal with other browsers. ChromeFrame is one answer there, the new &#8220;Google Plugin&#8221;. The browser vendors are kicking into gear nicely now. Mozilla, Google, Apple, Opera, and even IE teams are working hard on new features and HTML5 support. When Gears started we (the Web developers) were in the dark ages of browser development. The IE team had moved on to WPF and Silverlight. The other browsers were fighting the fight against a huge IE6 dominant entry with lots of ActiveX keeping it in style.</p>
<p>Does this mean there isn&#8217;t a place for a Gears like solution? Yahoo! has <a href="http://browserplus.yahoo.com/">BrowserPlus</a> which has the additional benefit of allowing developers to write services. This was one of the issues with Gears. You got APIs that Google gave you. You had no way to extend the experience. Browser Plus allows that and I hope that Lloyd and team have a good 2010.</p>
<p>There is also JetPack (and Chrome Extensions) that allow you to extend the experience in a different way. If I had my way, Gears and Y!BP and JetPack would all have joined forces. That world would then look like:</p>
<ul>
<li>Gears/Y!BP allow functionality to work cross browser and offer a services framework to allow you to write new components that also work cross browser. This is fairly low level work, with some nice sugar for certain APIs.
<li>JetPack would give you access to low level APIs in a nice high level JavaScript API. Since it would run in Gears/Y!BP it would run cross browser too.
</ul>
<p>My wish for Santa? Have JetPack and Y!BP pickup and work together. Give developers a platform to create new services on the Web and have them work cross browser. We shouldn&#8217;t have to wait for browser vendors to implement APIs. We should be allowed to experiment more. Gears started its job with the zipper running higher, but there is always more room to run. If we worked out a way to get more people playing with the platform we could get so much more done. We saw what came out of &#8220;how could we do Gmail Offline&#8221; what about your application needs?</p>
<p>I will raise a glass to Gears and the new HTML5 overlord, but I will miss the vehicle for cross browser experimentation and what coulda been.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/dion?a=r82Ar4XBwHg:P0kLe-vHQek:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/dion?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=r82Ar4XBwHg:P0kLe-vHQek:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/dion?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=r82Ar4XBwHg:P0kLe-vHQek:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/dion?i=r82Ar4XBwHg:P0kLe-vHQek:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/dion?a=r82Ar4XBwHg:P0kLe-vHQek:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/dion?i=r82Ar4XBwHg:P0kLe-vHQek:V_sGLiPBpWU" border="0"></img></a>
</div>]]></content:encoded><description>I spent a lot of time advocating Gears. I loved the engineers (folks like Aaron Boodman who is doing great stuff with Chrome Extensions, and Chris Prince who now works on the fantastic Google Voice, and many many more&amp;#8230;. many of whom are working on Chrome in some fashion).
Today the press is picking up the [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://almaer.com/blog/gears-has-been-dead-for-a-long-time-its-ok-but-a-shame/feed</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><creativeCommons:license>http://creativecommons.org/licenses/by-nc-sa/2.0/</creativeCommons:license><feedburner:origLink>http://almaer.com/blog/gears-has-been-dead-for-a-long-time-its-ok-but-a-shame</feedburner:origLink></item><item><title>Links for 2009-05-10 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dion/~3/mDiihzciXoo/dion</link><pubDate>Mon, 11 May 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/dion#2009-05-10</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://google-opensource.blogspot.com/2009/05/introducing-webdriver.html"&gt;Introducing WebDriver, a clean, fast framework for automated testing of webapps.&lt;/a&gt;&lt;br/&gt;
WebDriver takes a different approach to solve the same problem as Selenium. Rather than being a JavaScript application running within the browser, it uses whichever mechanism is most appropriate to control the browser. For Firefox, this means that WebDriver is implemented as an extension. For IE, WebDriver makes use of IE&amp;#039;s Automation controls. By changing the mechanism used to control the browser, we can circumvent the restrictions placed on the browser by the JavaScript security model. In those cases where automation through the browser isn&amp;#039;t enough, WebDriver can make use of facilities offered by the Operating System. For example, on Windows we simulate typing at the OS level, which means we are more closely modeling how the user interacts with the browser, and that we can type into &amp;quot;file&amp;quot; input elements.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2009-May/019681.html"&gt;HTML5 &amp;quot;property&amp;quot; &amp;quot;item&amp;quot; and &amp;quot;subject&amp;quot; gives interesting look at microformats&lt;/a&gt;&lt;br/&gt;
I&amp;#039;ve added to HTML5 a simple syntax (three new attributes) based on RDFa. It doesn&amp;#039;t have the full power of RDF, because that didn&amp;#039;t seem to be necessary to address the use cases. It doesn&amp;#039;t really have anything in common with Microformats; I didn&amp;#039;t find the Microformats syntax to be very convenient. (This was also the experience with eRDF.)&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dion#2009-05-10</feedburner:origLink></item><item><title>Links for 2009-05-09 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dion/~3/axaNbw2ajcQ/dion</link><pubDate>Sun, 10 May 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/dion#2009-05-09</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://weston.ruter.net/2009/05/07/detecting-support-for-data-uris/"&gt;You need to degrade with data: uris, here is how to do it! Detecting Support for data: URIs&lt;/a&gt;&lt;br/&gt;
Using Image.onload/onerror + CSS tricks.&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dion#2009-05-09</feedburner:origLink></item><item><title>Links for 2009-05-07 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dion/~3/yYhLjAU0HCk/dion</link><pubDate>Fri, 08 May 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/dion#2009-05-07</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://weblogs.mozillazine.org/asa/archives/2009/05/new_theora_hotn.html"&gt;new theora hotness! Open Video has a tough road ahead.... but glad to see people walking the road.&lt;/a&gt;&lt;br/&gt;
I wonder how the BBC&amp;#039;s Dirac is coming too.&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dion#2009-05-07</feedburner:origLink></item><item><title>Links for 2009-05-05 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dion/~3/SFFWbkaSvNY/dion</link><pubDate>Wed, 06 May 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/dion#2009-05-05</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://alex.dojotoolkit.org/2009/05/perspective-is-not-a-liquid-asset/"&gt;Perspective Is Not A Liquid Asset&lt;/a&gt;&lt;br/&gt;
Alex talks about the autoupdate issue. I personally lean towards autoupdate myself. I would love to take it further and have the browser as a microkernel with many updates.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.nihilogic.dk/2009/05/games-round-up-for-april-2009.html"&gt;Canvas Web Games round-up for April 2009&lt;/a&gt;&lt;br/&gt;
More fun canvas games!&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dion#2009-05-05</feedburner:origLink></item><item><title>Links for 2009-05-04 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dion/~3/bWLZhOxo-AE/dion</link><pubDate>Tue, 05 May 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/dion#2009-05-04</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://dowdybrown.com/dbprod/rico3/demo/"&gt;Rico 3.0: now run LiveGrid on Prototype, jQuery, MooTools, Dojo, or Ext!&lt;/a&gt;&lt;br/&gt;
It&amp;#039;s alive!&lt;/li&gt;
&lt;li&gt;&lt;a href="http://saveyourself.ca/articles/stretching.php"&gt;Stretching Research shows that it isn't doing what you think?&lt;/a&gt;&lt;br/&gt;
&amp;quot;Clear scientific evidence shows that a stretching habit isn’t good for warmup, injury prevention, preventing or treating muscle soreness, enhancing athletic performance, or even for flexibility&amp;quot;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dion#2009-05-04</feedburner:origLink></item><item><title>Links for 2009-05-03 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dion/~3/9z7_yK6_UeU/dion</link><pubDate>Mon, 04 May 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/dion#2009-05-03</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.schillmania.com/content/entries/2009/adblock-vs-noscript/"&gt;Extension Wars: Adblock Plus (yay!) vs. NoScript (boo)&lt;/a&gt;&lt;br/&gt;
&amp;quot;Where NoScript went &amp;quot;evil&amp;quot; and drew this storm of criticism was with a recent update where NoScript would effectively modify Adblock Plus&amp;quot;&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dion#2009-05-03</feedburner:origLink></item><item><title>Links for 2009-05-01 [del.icio.us]</title><link>http://feedproxy.google.com/~r/dion/~3/rSQxLce1E50/dion</link><pubDate>Sat, 02 May 2009 00:00:00 PDT</pubDate><guid isPermaLink="false">http://del.icio.us/dion#2009-05-01</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="http://lloyd.github.com/jsondb/"&gt;JSONDB: This page is a specification of a client side JSON database API&lt;/a&gt;&lt;br/&gt;
&amp;quot;JSONDB: This page is a specification of a client side JSON database API, that is largely based upon the work done by the couchdb project. The goal of this specification is to explore an alternative to SQL on the client.&amp;quot; Early stage.... but I am excited :)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dougt.wordpress.com/2009/04/30/geolocation-in-firefox-35-and-fennec/"&gt;Geolocation in Firefox 3.5 and Fennec&lt;/a&gt;&lt;br/&gt;
Doug talks about the location work he did getting Geolocation into FF&lt;/li&gt;
&lt;li&gt;&lt;a href="http://spyced.blogspot.com/2009/05/consistent-hashing-vs-order-preserving.html"&gt;Consistent hashing vs order-preserving partitioning in distributed databases&lt;/a&gt;&lt;br/&gt;
Jonathan explains the new order-preserving partitioning in Cassandra.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://softwareas.com/svg-and-vml-in-one-chameleon-file"&gt;SVG and VML in One Chameleon File&lt;/a&gt;&lt;br/&gt;
&amp;quot;a single file can look like VML to something that works with VML (IE) and look like SVG to something that works with SVG (Firefox et al). In the general case, I call this pattern &amp;quot;Chameleon File&amp;quot; and the particular kind of chameleon described here I call a &amp;quot;Vector Graphics Chameleon File&amp;quot;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.numenity.org/2009/04/30/spread-firefox-new-day-rising/"&gt;The third major redesign of Spread Firefox, Mozilla&amp;rsquo;s community marketing hub, just went live tonight.&lt;/a&gt;&lt;br/&gt;
&amp;quot;ig ups to the amazing team that made this happen, across our design, IT, marketing, web development, and QA communities: Jamey Boje, Paul Booker, Alex Buchanan, Mary Colvig, Lucy Connor, Akash Desai, Otto de Voogd, Stephen Donner, Alix Franquet, Aravind Gottipati, Neil Lee, Jeremy Orem, Jay Patel, Krupa Raj, Ken Saunders, Matthew Zeier, and The Royal Order.&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://snook.ca/archives/javascript/no-love-for-module-pattern"&gt;Why I don't love JavaScript's Module Pattern&lt;/a&gt;&lt;br/&gt;
&amp;quot;One of the features that attracts me to developing in JavaScript is the ability to manipulate objects so readily. As a result, the module pattern is something I try to avoid.&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/web-tech/2009/04/29/object-and-array-initializers-should-not-invoke-setters-when-evaluated/"&gt;Object and array initializers should not invoke setters when evaluated&lt;/a&gt;&lt;br/&gt;
&amp;quot;It’s a safe bet to say that when most developers write var x = { bar: 42 };, they expect to get back a plain old object with a bar property whose value is 42 and not call any functions while doing it. What if we made the implicit property sets in object and array initializers ignore setters? (Note, however, that evaluating the property’s value might still have side effects.) In fact this is what the next version of ECMAScript will specify — and it’s what Firefox 3.1 beta 3 and 3.5 beta 4 already do and what the eventual release of Firefox 3.5 will do. By making initializers ignore setters, Firefox 3.5 will make browsing sites that serve JSON in this matter just a little bit safer.&amp;quot;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.chromium.org/2009/04/chromium-tech-talks.html"&gt;Chromium Tech Talks: 5 Chromium experts gave mini tech talks on subjects ranging from the network stack to hacking on WebKit.&lt;/a&gt;&lt;br/&gt;
Darin Fisher talking about Chromium&amp;#039;s multi-process architecture
Brett Wilson talking about the various layers of Chromium
Dimitri Glazkov talking about hacking on WebKit
Ben Goodger talking about Views (and how to write good tests for them)
Wan-Teh Chang and Eric Roman talking about Chromium&amp;#039;s network stack (and its history)&lt;/li&gt;
&lt;/ul&gt;</description><feedburner:origLink>http://del.icio.us/dion#2009-05-01</feedburner:origLink></item></channel></rss>
