<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9117384845218063246</id><updated>2011-08-01T13:12:52.504-07:00</updated><title type='text'>AribaWeb</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://aribaweb.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://aribaweb.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>AribaWeb Team</name><uri>http://www.blogger.com/profile/10444953051098939326</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_csZzSemIYJQ/SZRcsm8z6_I/AAAAAAAAAAM/r-1saRPtTwo/S220/screenshot_50.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9117384845218063246.post-7341305728311397243</id><published>2009-06-26T11:37:00.000-07:00</published><updated>2009-06-26T11:53:00.143-07:00</updated><title type='text'>The AribaWeb Team: Who We Are</title><content type='html'>There have been some questions concerning the composition of the UI Framework Team at Ariba on this discussion group recently. I wanted to address these questions, reveal a little about the team behind the curtain -- and make a request of my own. :-)&lt;br /&gt;&lt;br /&gt;We have on our team:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Kingsley: A soft-spoken, resourceful, fine-food-loving skinny guy with an amazing UI brain and extensive UI experience. An Ariba-veteran (more years than he cares to admit) who, when he is not providing guidance and dispensing knowledge to Ariba-internal folks, spends his time on AribaWeb.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Mohan: Another soft-spoken member of our team, who won his place on the UI team by writing an internal tool which demonstrated that he had basically figured out the core of AW all by himself. A relative youngster, Mohan works on Ariba-internal UI features. All AW goodness gets open-sourced, of course.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Michael: Not-at-all soft-spoken and a definite youngster. Michael keeps us entertained with his unique brand of humor. Relatively new to Ariba, Michael works on internal-to-Ariba projects and every bug he fixes in Ariba Web, you all get.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Dave: Me. Not really softly-spoken, not really skinny and a long-time Ariba engineer. The manager of this great, tightly-knit group. I was once the Architect of the Ariba Platform. These days I don't write as much code as I used to, but I poke my nose in all the stuff going on in the UI layer (as the team can attest to) and I try to be helpful. I sometimes succeed. &lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In addition to this modestly-sized group of engineers, there are in excess of 100 developers on Ariba application teams who use AribaWeb day-in and day-out and frequently find and fix bugs and contribute enhancements. It would also be remiss of me to fail to mention our small but talented design team who works with us on interaction paradigms and visual look.&lt;/p&gt;&lt;p&gt;But here's the big news: we're expanding! Yes, we're hiring! &lt;/p&gt;&lt;p&gt;We have an open position in the UI for an absolutely kick-ass engineer who loves UI programming; the kind of person who gets chills when he or she encounters something like AribaWeb. &lt;/p&gt;&lt;p&gt;Essentially: if you're reading this, *someone like you*. Or, like someone you might know. &lt;/p&gt;&lt;p&gt;The position is in Sunnyvale, CA. Sorry, but we can only consider local applicants. If you are interested please respond to the job posting at: &lt;a href="http://ariba.recruitmax.com/ENG/candidates/default.cfm?szCategory=jobprofile&amp;amp;szOrderID=3447&amp;amp;szCandidateID=0&amp;amp;szSearchWords=&amp;amp;szReturnToSearch=1"&gt;http://ariba.recruitmax.com/ENG/candidates/default.cfm?szCategory=jobprofile&amp;amp;szOrderID=3447&amp;amp;szCandidateID=0&amp;amp;szSearchWords=&amp;amp;szReturnToSearch=1&lt;/a&gt;&lt;/p&gt;&lt;p&gt;We’d love to hear from you!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117384845218063246-7341305728311397243?l=aribaweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aribaweb.blogspot.com/feeds/7341305728311397243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aribaweb.blogspot.com/2009/06/aribaweb-team-who-we-are.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/7341305728311397243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/7341305728311397243'/><link rel='alternate' type='text/html' href='http://aribaweb.blogspot.com/2009/06/aribaweb-team-who-we-are.html' title='The AribaWeb Team: Who We Are'/><author><name>Dave Finlay</name><uri>http://www.blogger.com/profile/00977645151020672214</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117384845218063246.post-9222218118447407354</id><published>2009-05-29T19:57:00.000-07:00</published><updated>2009-05-29T20:14:09.920-07:00</updated><title type='text'>Localization Made Easy!</title><content type='html'>There have been numerous questions on this forum about AribaWeb's support for Localization. We're finally ready to expose AW's built-in localization capabilities, and we're even throwing in some helpful new tools to streamline the localization process.&lt;br /&gt;&lt;br /&gt;For an overview, check out this new &lt;a href="http://www.vimeo.com/3959864"&gt;screencast&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;&lt;object width="540" height="407"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3959864&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=3959864&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="540" height="407"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;span style="font-family:verdana;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;We are also releasing &lt;a href="http://aribaweb.org/Download.htm"&gt;AribaWeb 5.0RC3&lt;/a&gt; with a list of bug fixes and enhancements like IE8 compatibility.   Please get it and test it out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117384845218063246-9222218118447407354?l=aribaweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aribaweb.blogspot.com/feeds/9222218118447407354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aribaweb.blogspot.com/2009/05/localization-made-easy.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/9222218118447407354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/9222218118447407354'/><link rel='alternate' type='text/html' href='http://aribaweb.blogspot.com/2009/05/localization-made-easy.html' title='Localization Made Easy!'/><author><name>AribaWeb Team</name><uri>http://www.blogger.com/profile/10444953051098939326</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_csZzSemIYJQ/SZRcsm8z6_I/AAAAAAAAAAM/r-1saRPtTwo/S220/screenshot_50.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117384845218063246.post-1317406316125613288</id><published>2009-03-23T21:12:00.000-07:00</published><updated>2009-03-23T21:32:56.894-07:00</updated><title type='text'>Let's Start a Wiki!</title><content type='html'>&lt;p&gt;Due to popular demand, we started a wiki in our &lt;a href="http://groups.google.com/group/aribaweb"&gt;Discussion Group&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You can jump straight into &lt;a href="http://groups.google.com/group/aribaweb/web"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;We look forward to seeing a lot of useful content written by the community!&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117384845218063246-1317406316125613288?l=aribaweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aribaweb.blogspot.com/feeds/1317406316125613288/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aribaweb.blogspot.com/2009/03/lets-start-wiki.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/1317406316125613288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/1317406316125613288'/><link rel='alternate' type='text/html' href='http://aribaweb.blogspot.com/2009/03/lets-start-wiki.html' title='Let&apos;s Start a Wiki!'/><author><name>Kingsley Ngan</name><uri>http://www.blogger.com/profile/17030102678201360861</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117384845218063246.post-4618754585385066531</id><published>2009-03-02T20:37:00.000-08:00</published><updated>2009-03-02T21:19:34.530-08:00</updated><title type='text'>New "AribaWeb by Example" Tutorials!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_csZzSemIYJQ/Say38oLLEqI/AAAAAAAAAA4/RumPcf9hQZY/s1600-h/screenshot_10.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 218px;" src="http://4.bp.blogspot.com/_csZzSemIYJQ/Say38oLLEqI/AAAAAAAAAA4/RumPcf9hQZY/s320/screenshot_10.jpg" alt="" id="BLOGGER_PHOTO_ID_5308820312967287458" border="0" /&gt;&lt;/a&gt;We couldn't be happier with the reception &lt;a href="http://aribaweb.org"&gt;&lt;span style="font-weight: bold;"&gt;AribaWeb&lt;/span&gt;&lt;/a&gt; has received in its first two weeks in the public eye.  In the interest of accelerating the learning process for our new developers we've just released some indispensable new documentation: the &lt;a href="http://aribaweb.org/Documentation/0_Introduction/Introduction.htm"&gt;&lt;span style="font-weight: bold;"&gt;AribaWeb by Example&lt;/span&gt;&lt;/a&gt; developer's guide.  And, to go with it, we're releasing &lt;span style="font-weight: bold;"&gt;&lt;a href="http://aribaweb.org/Download.htm"&gt;AribaWeb 5.0RC2&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In addition to an Overview that breaks down the role of the various modules of the AribaWeb stack, the guide contains two in depth tutorials:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://aribaweb.org/Documentation/1_AribaWeb/AribaWeb.htm"&gt;AribaWeb Core&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://aribaweb.org/Documentation/2_Widgets/Widgets.htm"&gt;Widgets&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;These chapters take a tutorial approach to introducing key framework concepts.  And along the way are links to reference documentation for key AW classes and components to enable deeper exploration.&lt;br /&gt;&lt;br /&gt;The coming few weeks will bring complete versions of the chapters on &lt;a href="http://aribaweb.org/Documentation/3_MetaUI/MetaUI.htm"&gt;MetaUI&lt;/a&gt; and &lt;a href="http://aribaweb.org/Documentation/4_MetaUI-JPA/MetaUI-JPA.htm"&gt;MetaUI-JPA&lt;/a&gt;, and &lt;span style="font-style: italic;"&gt;the GA release of AribaWeb 5.0!&lt;/span&gt;  In the meantime, please dig in to RC2 and the new documentation and let us know what you think!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117384845218063246-4618754585385066531?l=aribaweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aribaweb.blogspot.com/feeds/4618754585385066531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aribaweb.blogspot.com/2009/03/new-aribaweb-by-example-tutorials.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/4618754585385066531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/4618754585385066531'/><link rel='alternate' type='text/html' href='http://aribaweb.blogspot.com/2009/03/new-aribaweb-by-example-tutorials.html' title='New &quot;AribaWeb by Example&quot; Tutorials!'/><author><name>AribaWeb Team</name><uri>http://www.blogger.com/profile/10444953051098939326</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_csZzSemIYJQ/SZRcsm8z6_I/AAAAAAAAAAM/r-1saRPtTwo/S220/screenshot_50.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_csZzSemIYJQ/Say38oLLEqI/AAAAAAAAAA4/RumPcf9hQZY/s72-c/screenshot_10.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117384845218063246.post-600695336309646303</id><published>2009-02-18T10:32:00.000-08:00</published><updated>2009-02-18T10:59:09.494-08:00</updated><title type='text'>Announcing AribaWeb 5.0 (RC1)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_csZzSemIYJQ/SZxV-mo-pYI/AAAAAAAAAAo/MPSLq_Uv45A/s1600-h/screenshot_07.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 136px;" src="http://3.bp.blogspot.com/_csZzSemIYJQ/SZxV-mo-pYI/AAAAAAAAAAo/MPSLq_Uv45A/s320/screenshot_07.jpg" alt="" id="BLOGGER_PHOTO_ID_5304208995148277122" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The veil of secrecy is lifted: &lt;a href="http://aribaweb.org/"&gt;AribaWeb&lt;/a&gt; is going public!  The AribaWeb team is proud to announce that today we are releasing the first (and likely only) release candidate before the GA release of AribaWeb 5.0: the first major Open Source release of AribaWeb!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To mark the occasion we've launched a much improved new website (&lt;a href="http://aribaweb.org/"&gt;http://aribaweb.org&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://aribaweb.org/Product.htm"&gt;Here&lt;/a&gt; you can learn about what makes AribaWeb the premier full-stack component-based web application framework:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Auto Ajax&lt;/li&gt;&lt;li&gt;Instant App&lt;/li&gt;&lt;li&gt;Live Edit &amp;amp; X-Ray&lt;/li&gt;&lt;li&gt;Proven Full Stack&lt;/li&gt;&lt;/ul&gt;To bring it all home we, of course, had to create a new intro &lt;a href="http://www.vimeo.com/3134140"&gt;screencast&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;&lt;object height="407" width="540"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=3134140&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=3134140&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="407" width="540"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;You can get the full details on what's new in this release (and get the bits themselves) &lt;a href="http://aribaweb.org/Download.htm"&gt;here&lt;/a&gt; -- suffice it to say that the focus of this release is performance, polish and (developer) productivity.  Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117384845218063246-600695336309646303?l=aribaweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aribaweb.blogspot.com/feeds/600695336309646303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aribaweb.blogspot.com/2009/02/announcing-aribaweb-50-rc1.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/600695336309646303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/600695336309646303'/><link rel='alternate' type='text/html' href='http://aribaweb.blogspot.com/2009/02/announcing-aribaweb-50-rc1.html' title='Announcing AribaWeb 5.0 (RC1)'/><author><name>AribaWeb Team</name><uri>http://www.blogger.com/profile/10444953051098939326</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_csZzSemIYJQ/SZRcsm8z6_I/AAAAAAAAAAM/r-1saRPtTwo/S220/screenshot_50.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_csZzSemIYJQ/SZxV-mo-pYI/AAAAAAAAAAo/MPSLq_Uv45A/s72-c/screenshot_07.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117384845218063246.post-8942368558897018531</id><published>2009-02-13T15:40:00.000-08:00</published><updated>2009-02-17T10:50:16.913-08:00</updated><title type='text'>Way, Way Less Code</title><content type='html'>Could &lt;strong&gt;&lt;a href="http://aribaweb.org/"&gt;AribaWeb&lt;/a&gt; take 100x less code than Rails &lt;/strong&gt;to create a basic database app???  If you've checked out our latest &lt;a href="http://www.vimeo.com/2685671"&gt;screencast&lt;/a&gt; you've likely taken note of this rather extraordinary claim   (and seen that the AW app has much more functionality to boot).&lt;br /&gt;&lt;br /&gt;Can this be true?  How is it possible? And does it really matter?&lt;br /&gt;&lt;br /&gt;&lt;h1 id="why_less_code_matters"&gt;Why Less Code Matters&lt;/h1&gt;&lt;br /&gt;In designing AribaWeb our goal is always to &lt;em&gt;capture the developers intent as directly as possible&lt;/em&gt;.   E.g. if you want all dates to be edited using a certain control just tell us that, &lt;em&gt;once&lt;/em&gt;.  If the password field should be kept "secure" just tell use that, &lt;em&gt;once&lt;/em&gt;.  Call it extreme &lt;a href="http://en.wikipedia.org/wiki/Don%27t_repeat_yourself"&gt;DRY&lt;/a&gt; -- we strive to make your code a &lt;em&gt;declarative statement of your requirements&lt;/em&gt;, rather than a (repetitive) encoding of their &lt;em&gt;consequences&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;Why does less code matter?&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;The less code you need to write, the faster you can try out ideas:&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Less code == More Creative&lt;/em&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The less code you write, the less code you need to test, debug, and maintain.&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Less code == Cheaper&lt;/em&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The less code you have encoding your requirements, the less you have to change when those requirements change.&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;Less code == More Agile&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So how does AribaWeb fair?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1&gt;100x Less Code than Rails?!?&lt;/h1&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9XzsFXI5sCk/SZYQwZfGCgI/AAAAAAAAAAU/qAlur4tNmrg/s1600-h/screenshot_68.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 237px;" src="http://4.bp.blogspot.com/_9XzsFXI5sCk/SZYQwZfGCgI/AAAAAAAAAAU/qAlur4tNmrg/s320/screenshot_68.jpg" alt="" id="BLOGGER_PHOTO_ID_5302444034936408578" border="0" /&gt;&lt;/a&gt;Both Ruby on Rails and AribaWeb make it easy to create a basic database application based on the definition of model object classes.  Rails does this by way of generated "scaffolding", AribaWeb using "Instant App".   To compare AW (v5.0) and Rails (v2.2.2), we created an app with three model classes (Issue, Note, and Category), each having a couple of fields.  In the case of Rails this involved running:&lt;div class="quoteCode"&gt;&lt;pre class="prettyprint"&gt;&lt;blockquote&gt;&lt;code&gt;rails MyApp&lt;br /&gt;ruby script/generate scaffold Issue ...&lt;br /&gt;ruby script/generate scaffold Note ...&lt;br /&gt;ruby script/generate scaffold Category ...&lt;/code&gt;&lt;/blockquote&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For AribaWeb we ran &lt;code&gt;aw create_project&lt;/code&gt;, selected the Master Detail (Groovy) template, and then added one more domain class in the resulting project.&lt;/p&gt;&lt;p&gt;Here's a look at the resulting applications:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9XzsFXI5sCk/SZYPmJMn8WI/AAAAAAAAAAM/IskwRgBtDoI/s1600-h/screenshot_66.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 393px;" src="http://4.bp.blogspot.com/_9XzsFXI5sCk/SZYPmJMn8WI/AAAAAAAAAAM/IskwRgBtDoI/s400/screenshot_66.jpg" alt="" id="BLOGGER_PHOTO_ID_5302442759253651810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;And the code?&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Rails: 90 Files, 10,505 lines&lt;/li&gt;&lt;li&gt;AribaWeb: 4 files, 90 lines&lt;/li&gt;&lt;li&gt;Difference: &lt;strong&gt;AW project has &gt; 100x less code&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="analysis"&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2 id="analysis"&gt;Analysis&lt;/h2&gt;&lt;p&gt;How can this be?!?&lt;/p&gt;&lt;p&gt;The AribaWeb app contains three compact groovy files to declare the three domain classes, a short build.xml file, and an (empty) .oss rules files.  The build file inherits all of its behavior from a parent build file in the AW distribution, and both the database schema and the application UI are derived &lt;em&gt;on the fly at runtime&lt;/em&gt; from the domain class meta data.&lt;/p&gt;&lt;p&gt;In the case of Rails, it's 100x disadvantage come from three sources:&lt;br /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;Placeholder files&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Rails contains (virtually empty) template files (e.g. &lt;code&gt;mime_types.rb&lt;/code&gt;) to prompt developers where to perform specific extensions of configuration&lt;/p&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Web Server Resources&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Rail duplicates all of the frameworks required client-side resources (e.g. &lt;code&gt;prototype.js&lt;/code&gt;) into every app project&lt;/p&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Per-Domain Class Scaffolding&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;Each class gets a slew of generated layouts, a controller, a helpers, a fixture, and a db migration.&lt;/p&gt;&lt;/blockquote&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The value of placeholder files (#1) is debatable (they provide nice prompting, but can become stale as the framework evolves), but these don't contribute significantly to the total spew.  #2 and #3 are the real killers.&lt;/p&gt;&lt;p&gt;Having every project keep copies of the Rails web resources may seem harmless (as a developer you don't have to edit these files) but the violation of module encapsulation that it entails leads to maintenance costs down the road:  As new versions of the framework are released (likely with dependencies on new or modified resources) app authors are required to manage merges upon every upgrade.  The biggest issue, though, is category #3...&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2 id="per_domain_class_code_size"&gt;Per-Domain Class Code Size&lt;/h2&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9XzsFXI5sCk/SZYSxCnHYYI/AAAAAAAAAAc/iXc3C-v_9cA/s1600-h/screenshot_70.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 234px;" src="http://4.bp.blogspot.com/_9XzsFXI5sCk/SZYSxCnHYYI/AAAAAAAAAAc/iXc3C-v_9cA/s320/screenshot_70.jpg" alt="" id="BLOGGER_PHOTO_ID_5302446244999160194" border="0" /&gt;&lt;/a&gt;To get a handle on the incremental overhead for each new domain class, we added another domain class to each project.  Here was the &lt;em&gt;incremental&lt;/em&gt; code change:&lt;ul&gt;&lt;li&gt;Rails: 11 Files, 256 lines&lt;/li&gt;&lt;li&gt;AribaWeb: 1 file, 17 lines&lt;/li&gt;&lt;li&gt;Difference: &lt;strong&gt;AW project added &gt; 15x less code&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;So while AW simply added a single file for the domain class and got an updated UI for free, the Rails project saw the addition of all of these:&lt;/p&gt;&lt;div class="quoteCode"&gt;&lt;pre class="prettyprint"&gt;&lt;blockquote&gt;&lt;code&gt;./app/controllers/posts_controller.rb&lt;br /&gt;./app/helpers/posts_helper.rb&lt;br /&gt;./app/models/post.rb&lt;br /&gt;./app/views/layouts/posts.html.erb&lt;br /&gt;./app/views/posts/edit.html.erb&lt;br /&gt;./app/views/posts/index.html.erb&lt;br /&gt;./app/views/posts/new.html.erb&lt;br /&gt;./app/views/posts/show.html.erb&lt;br /&gt;./db/migrate/20090115233219_create_posts.rb&lt;br /&gt;./test/fixtures/posts.yml&lt;br /&gt;./test/functional/posts_controller_test.rb&lt;br /&gt;./test/unit/post_test.rb&lt;/code&gt;&lt;/blockquote&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;"But I didn't have to write this code.  Does it really matter how much of it gets generated for me?"&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Absolutely&lt;/strong&gt;.  Embedded in each of those files are the consequences of a set of assumptions about the kind of user interface you want for your application.  Want to change the relative order of two fields?  &lt;em&gt;Edit all of those .erb files for that class.&lt;/em&gt;  Want to change the component used to edit text? &lt;em&gt;Edit every .erb file in your entire application&lt;/em&gt;.&lt;/p&gt;&lt;p&gt;&lt;em&gt;AribaWeb is fundamentally different&lt;/em&gt;:&lt;/p&gt;&lt;p&gt;Want to change the order of two fields (in all forms)?  Put this in your .oss file:&lt;/p&gt;&lt;blockquote&gt;&lt;pre class="prettyprint"&gt;&lt;code&gt;class=Post { password =&amp;gt; email }&lt;/code&gt;&lt;/pre&gt;&lt;/blockquote&gt;Want to make that change just on the creation form?&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;class=Post operation=create { password =&amp;gt; email }&lt;/code&gt;&lt;/blockquote&gt;Want to change the control used to edit text everywhere in the application?&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;field type=String editing { component:MyTextEditor; }&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;And better still, with &lt;em&gt;Live Edit&lt;/em&gt; you can actually make these changes on your running app, by dragging and dropping right on your running application UI.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h1 id="autoajax_50_the_code_of_zk_"&gt;AutoAJAX: 10x less code than GWT/JSF&lt;/h1&gt;&lt;p&gt;AribaWeb's conciseness advantage isn't limited to model-driven database UIs.&lt;br /&gt;Take for instance the case of a simple AJAX UI where a user-entered search triggers the placement of a marker on an embedded Google Map.&lt;/p&gt;&lt;p&gt;The authors of the ZK framework compare building this app in several different frameworks in these articles: &lt;a href="http://www.zkoss.org/smalltalks/gwtZk"&gt;ZK vs. GWT, &lt;/a&gt;&lt;a href="http://www.zkoss.org/smalltalks/zkIcefaces/"&gt;ZK vs. Ajax JSF Components&lt;/a&gt;&lt;/p&gt;&lt;p&gt;A version of this mini-app built in AribaWeb is included in the Demo app in the AW distribution and can be found &lt;a href="http://code.google.com/p/aribaweb/source/browse/trunk/examples/Demo/gallery/map/MapSearch.awl"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Here's how AW stacks up:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;JSF / ICEfaces: 3 files, 223 lines of code&lt;/li&gt;&lt;li&gt;Google Web Toolkit (GWT): 5 files, 190 lines of code&lt;/li&gt;&lt;li&gt;ZK: 1 file, 36 lines of code&lt;/li&gt;&lt;li&gt;AribaWeb: 1 file, 17 lines of code&lt;/li&gt;&lt;li style="font-weight: bold;"&gt;AW Advantage: AW Project has 10x less code than GWT/JSF, 2x less than ZK&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h2 id="analysis"&gt;&lt;br /&gt;&lt;/h2&gt;&lt;h2 id="analysis"&gt;Analysis&lt;/h2&gt;&lt;p&gt;How does AW do it?  The fundamental answer is &lt;em&gt;declarative binding&lt;/em&gt;: where the ZK code needs to explicitly script pulling data from the text field and pushing values to the Google Maps component, AW handles this automatically through bindings on the respective components.&lt;/p&gt;&lt;p&gt;And speaking of components, its instructive to look at what it took to build the generic Gmap components behind  used in these two examples.  (The source for the AW version can be found &lt;a href="http://code.google.com/p/aribaweb/source/browse/#svn/trunk/examples/Demo/components"&gt;here&lt;/a&gt;, the ZK source &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=152762&amp;amp;package_id=208551"&gt;here&lt;/a&gt;.)&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;ZK: 55 files, 8537 lines&lt;/li&gt;&lt;li&gt;AribaWeb: 6 files, 442 lines&lt;/li&gt;&lt;li&gt;&lt;strong&gt;AW Advantage: ~20x less code&lt;/strong&gt;:&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The AribaWeb commitment to simplicity is more than skin deep: reusable components (the kind that application developers author all the time as part of building their apps) use the same Auto AJAX support, and same simple declarative binding model as other application pages.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117384845218063246-8942368558897018531?l=aribaweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aribaweb.blogspot.com/feeds/8942368558897018531/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aribaweb.blogspot.com/2009/02/way-way-less-code.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/8942368558897018531'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/8942368558897018531'/><link rel='alternate' type='text/html' href='http://aribaweb.blogspot.com/2009/02/way-way-less-code.html' title='Way, Way Less Code'/><author><name>Craig Federighi</name><uri>http://www.blogger.com/profile/10227324167462507517</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9XzsFXI5sCk/SZYQwZfGCgI/AAAAAAAAAAU/qAlur4tNmrg/s72-c/screenshot_68.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117384845218063246.post-5263003927739317608</id><published>2009-02-12T16:09:00.000-08:00</published><updated>2009-02-12T16:11:12.104-08:00</updated><title type='text'>Coming Soon: Release Candidate 1</title><content type='html'>Rumor has it that version 5.0 &lt;span class="Apple-style-span" style="font-style: italic;"&gt;RC1&lt;/span&gt; is just days away, with GA just around the corner.  This is an exciting milestone for the Open Source AribaWeb project!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117384845218063246-5263003927739317608?l=aribaweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aribaweb.blogspot.com/feeds/5263003927739317608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aribaweb.blogspot.com/2009/02/coming-soon-release-candidate-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/5263003927739317608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/5263003927739317608'/><link rel='alternate' type='text/html' href='http://aribaweb.blogspot.com/2009/02/coming-soon-release-candidate-1.html' title='Coming Soon: Release Candidate 1'/><author><name>AribaWeb Team</name><uri>http://www.blogger.com/profile/10444953051098939326</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_csZzSemIYJQ/SZRcsm8z6_I/AAAAAAAAAAM/r-1saRPtTwo/S220/screenshot_50.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9117384845218063246.post-7227450388665324279</id><published>2009-02-12T14:55:00.000-08:00</published><updated>2009-02-15T17:43:35.251-08:00</updated><title type='text'>Version 5.0b7 Released! (12/2008)</title><content type='html'>&lt;p&gt;With just an hour or so left in 2008 it's time for a major AribaWeb update: AribaWeb-5.0b7.&lt;/p&gt;&lt;p&gt;As always there's a new screencast to show off some of what's new.  &lt;/p&gt;&lt;ul&gt;&lt;a href="http://www.vimeo.com/2685671"&gt; http://www.vimeo.com/2685671&lt;/a&gt;&lt;/ul&gt;&lt;br /&gt;&lt;object width="540" height="407"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=2685671&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1"&gt;&lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=2685671&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="540" height="407"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;In this case we build a real app (an email-integrated bug tracker with full text search, user auth, etc, etc), and show that a basic AW project has 100x less code that its Rails equivalent (and does a lot more).&lt;/p&gt;&lt;p&gt;See below for the full list of new features, and check out our site at &lt;a href="http://aribaweb.org/"&gt;http://aribaweb.org&lt;/a&gt; to pull the latest code.&lt;/p&gt;&lt;p&gt;I look forward to hearing what you think!&lt;/p&gt;&lt;p&gt;&lt;b&gt;Start 2009 off right: Spend the 1st catching up on your AW Screencasts!  :-)&lt;/b&gt;&lt;/p&gt;&lt;p&gt;- craig&lt;/p&gt;&lt;hr.&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;AtIssue: a new full-featured demo app&lt;/p&gt;&lt;ul&gt;&lt;li&gt;email integrated lightweight bug/task tracker&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Full Text Search support via Compass/Lucene (JPA / Hibernate integration)&lt;/p&gt;&lt;ul&gt;&lt;li&gt;automatically used in choosers and search panels&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;New &lt;em&gt;AppCore&lt;/em&gt; framework:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Basic User, Group, Permission support&lt;/li&gt;&lt;li&gt;Login (local auth)&lt;/li&gt;&lt;li&gt;MailMonitor&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;New CSV Data Loader&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Automatically initializes new schemas by loading integration/pkg.ClassName.csv files&lt;/li&gt;&lt;li&gt;Support relationship initialization (automatic foreign key lookup)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;New project template for Master Detail apps&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Creates app set up for AppCore, Compass, ...&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;New mail parsing / viewing support (AWMimeParsedMessage, MimeMessageViewer)&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Mail Client example updated to use it&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;MetaUI: many enhancements&lt;/p&gt;&lt;ul&gt;&lt;li&gt;New &lt;em&gt;compact field ordering&lt;/em&gt; (and trait application) syntax:  e.g.&lt;br /&gt;zLeft =&gt; firstName =&gt; lastName;    zRight =&gt; email#required =&gt; phone;&lt;/li&gt;&lt;li&gt;New wrapper style traits (bold, italic, heading, ...)&lt;/li&gt;&lt;li&gt;OulineBox layout&lt;/li&gt;&lt;li&gt;DataTable detail row rendering support&lt;/li&gt;&lt;li&gt;Generic support in MetaIncludeComponent for wrappers, named contents&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Also, easily propagate full bag of bindings to subcomponents (awbindingDictionary binding support)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Merge of "traits" and "trait" property (only "trait" lives on)&lt;/li&gt;&lt;li&gt;Support for using parent context traits in rules affecting nested keys. e.g.:&lt;br /&gt;module-trait=CoolMode { field { editing: false } }&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Bug Fixes:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Build fix: re-builds were creating nested build directories (and breaking app re-launch)&lt;/li&gt;&lt;li&gt;Some metaui Context exceptions (on nested value override chaining)&lt;/li&gt;&lt;li&gt;MetaUI rapid-turnaround (reloading) fixes&lt;/li&gt;&lt;li&gt;Rebuild of groovy app not rebuilding groovy classes&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Updated Dependencies&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Updated to Hibernate 3.3.1, JavaMail 1.4.1, log4j-1.2.15&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/hr.&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9117384845218063246-7227450388665324279?l=aribaweb.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://aribaweb.blogspot.com/feeds/7227450388665324279/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://aribaweb.blogspot.com/2009/02/welcome-to-aribaweb.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/7227450388665324279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9117384845218063246/posts/default/7227450388665324279'/><link rel='alternate' type='text/html' href='http://aribaweb.blogspot.com/2009/02/welcome-to-aribaweb.html' title='Version 5.0b7 Released! (12/2008)'/><author><name>AribaWeb Team</name><uri>http://www.blogger.com/profile/10444953051098939326</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://4.bp.blogspot.com/_csZzSemIYJQ/SZRcsm8z6_I/AAAAAAAAAAM/r-1saRPtTwo/S220/screenshot_50.jpg'/></author><thr:total>6</thr:total></entry></feed>
