<?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:blogger='http://schemas.google.com/blogger/2008' 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-1183638173289166563</id><updated>2024-09-07T18:09:54.711-07:00</updated><category term="AJAX"/><category term="dojo"/><category term="Visual Ajax"/><category term="javascript"/><category term="RIA"/><category term="Adobe"/><category term="Flex"/><category term="WaveMaker"/><category term="Aptana"/><category term="Flash"/><category term="Silverlight"/><category term="Adobe Air"/><category term="Air"/><category term="Cloud computing"/><category term="cloud"/><category term="tutorial"/><category term="Backbase"/><category term="Brian Moschel"/><category term="Coghead"/><category term="DotNetSlackers"/><category term="Gaia"/><category term="Gartner"/><category term="Hibernate"/><category term="JSON"/><category term="KeeneView"/><category term="NET"/><category term="Spring"/><category term="Teqlo"/><category term="Tersus"/><category term="VB"/><category term="WYSIWYG"/><category term="Web 2.0"/><category term="ajaxian"/><category term="apple"/><category term="ext"/><category term="google"/><category term="grid"/><category term="iWebMVC"/><category term="jaxer"/><category term="john resig"/><category term="jupiter IT"/><category term="mashup"/><category term="mysql"/><category term="open source"/><category term="php"/><category term="sproutcore"/><category term="training"/><category term="xignite"/><title type='text'>Visual Ajax User Group</title><subtitle type='html'>User group for web developers of all levels to discuss productivity tools for using Ajax to build Web 2.0 and Rich Internet Applications</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>31</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-6965622219712059351</id><published>2009-07-22T10:38:00.000-07:00</published><updated>2009-07-23T10:04:25.827-07:00</updated><title type='text'>Special offer for Visual Ajax Members from Partner The Ajaxian</title><content type='html'>&lt;span class=&quot;Apple-style-span&quot;  style=&quot; ;font-family:&#39;Times New Roman&#39;;&quot;&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0pt; margin-bottom: 0px; margin-left: 0pt; &quot;&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Ajaxian.com&#39;s &lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://ajaxexperience.techtarget.com/conference/index.html?Offer=AEvajxpost717&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 255);  font-family:Calibri;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;The Ajax Experience&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt; returns to Boston&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;,&lt;/span&gt;&lt;/span&gt; &lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;September 14-16. &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;The Ajax Experience (TAE) &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;is the industry&#39;s premier conference for developers who seek to learn more about Ajax and advancements in rich Web development&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;.  Don’t miss 40+ &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;experts present sessions on the future of Ajax and Web applications, including tracks devoted to frameworks, JavaScript&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;, architecture, user experience, performance and scalability, cutting-edge Ajax&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt; and&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt; cross-browser issues&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0pt; margin-bottom: 0px; margin-left: 0pt; &quot;&gt;&lt;span class=&quot;Apple-style-span&quot;  style=&quot;font-family:Calibri;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0pt; margin-bottom: 0px; margin-left: 0pt; &quot;&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0pt; margin-bottom: 0px; margin-left: 0pt; &quot;&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;SPECIAL OFFER!&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0pt; margin-bottom: 0px; margin-left: 0pt; &quot;&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0pt; margin-bottom: 0px; margin-left: 0pt; &quot;&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;We’ve partnered up with Ajaxian to save VisualAjax members an extra $100 off the registration fee!  Simply &lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;http://ajaxexperience.techtarget.com/conference/html/register.html?Offer=AEvajxpost717&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 255);  font-family:Calibri;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;register here&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt; with the code &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;VISUALAJAX&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;. Plus, register before July 31&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; vertical-align: super; font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:78%;&quot;&gt;st&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt; to lock in $300 early bird savings.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0pt; margin-bottom: 0px; margin-left: 0pt; &quot;&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style=&quot;margin-top: 0px; margin-right: 0pt; margin-bottom: 0px; margin-left: 0pt; &quot;&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Want to register, but can&#39;t make the July 31 deadline? Contact &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;Tracie Berardi&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt; (&lt;/span&gt;&lt;/span&gt;&lt;a href=&quot;mailto:tberardi@techtarget.com&quot;&gt;&lt;span style=&quot;color: rgb(0, 0, 255);  font-family:Calibri;&quot;&gt;&lt;u&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;tberardi@techtarget.com&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot; ;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:100%;&quot;&gt;) and she&#39;ll reserve a spot for you at this great rate.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/6965622219712059351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/6965622219712059351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/6965622219712059351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/6965622219712059351'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2009/07/special-offer-for-visual-ajax-members.html' title='Special offer for Visual Ajax Members from Partner The Ajaxian'/><author><name>cjackson</name><uri>http://www.blogger.com/profile/05061392305820867984</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-1956304218259102579</id><published>2009-04-09T10:31:00.000-07:00</published><updated>2009-04-09T10:32:12.925-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="Cloud computing"/><category scheme="http://www.blogger.com/atom/ns#" term="open source"/><title type='text'>Opening Up Platform as a Service</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.keeneview.com/uploaded_images/open-765016.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 177px;&quot; src=&quot;http://www.keeneview.com/uploaded_images/open-765013.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.keeneview.com/2009/03/what-is-platform-as-service-paas.html&quot;&gt;Platform as a Service (PaaS) &lt;/a&gt;offers a way to build and deploy applications entirely in the cloud. This market was pioneered by SalesForce and their &lt;a href=&quot;http://www.salesforce.com/platform/&quot;&gt;Force.com PaaS offering&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PaaS&quot;&gt;PaaS&lt;/a&gt; offers the potential to democratize web development by enabling anyone who can use a browser to assemble and extend web-based applications. Yet early PaaS players, including Force.com, &lt;a href=&quot;http://www.bungeeconnect.com/&quot;&gt;Bungee Labs&lt;/a&gt;, &lt;a href=&quot;http://code.google.com/appengine/&quot;&gt;Google AppEngine&lt;/a&gt; and &lt;a href=&quot;http://www.microsoft.com/azure/default.mspx&quot;&gt;Microsoft&#39;s Azure&lt;/a&gt;, have introduced PaaS solutions that are remarkably proprietary.&lt;br /&gt;&lt;br /&gt;A proprietary PaaS solution introduces high switching costs to move data or logic from one PaaS provider to another. For example, moving an application from the recently deceased Coghead to AppEngine would require a wholesale rewrite of an application written on one proprietary framework to another.&lt;br /&gt;&lt;br /&gt;In short, customers adopting PaaS gain access to powerful new technical capabilities but at the cost of stepping back to the proprietary business models of 20 years ago. Surely the same market forces that have driven greater transparency in the enterprise software world will also prevail in the brave new world of cloud computing!&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.keeneview.com/uploaded_images/what_is_opaas-709019.png&quot;&gt;&lt;img style=&quot;margin: 0pt 40px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 256px;&quot; src=&quot;http://www.keeneview.com/uploaded_images/what_is_opaas-709015.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;In talking with customers and analysts, WaveMaker has introduced the term Open PaaS to describe what the next generation of cloud development tools should look like. In our definition, Open PaaS solutions have four characteristics:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Portable &lt;/span&gt;- customers must be able to run applications built using PaaS tools on multiple cloud offerings. PaaS offerings based on proprietary languages (e.g., SalesForce, Bungee, Coghead) lock customers into a single cloud provider.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Based on open standards&lt;/span&gt; - customers must be able to leverage existing skills such as Java and Javascript to build applications using a PaaS tool. Offerings that are based on proprietary software stacks (e.g., Google AppEngine, Microsoft Azure) lock customers into a single cloud infrastructure.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Available as open source&lt;/span&gt; - customers must be able to run applications created with PaaS in their own data center in an open source environment . SugarCRM pioneered the attractive concept of letting the customer &quot;take their ball and go home.&quot; For PaaS vendors, it is even more important that customers be able to move a cloud app from the cloud to behind their firewall. &lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Mobile-aware&lt;/span&gt; - increasingly, web enablement reaches beyond the desktop browser to smartphones from companies like Apple, RIM and Palm. Customers need PaaS tools that can deliver device-appropriate content and functionality. Effectively, this is an update of the old Java &quot;write once run anywhere&quot; mantra.&lt;/li&gt;&lt;/ol&gt;As the cloud evolves, it is inevitable that customers will demand more flexibility. With that in mind, WaveMaker recently became a supporter of the Open Cloud Manifesto, a very timely effort spearheaded by &lt;a href=&quot;http://www.elasticvapor.com/&quot;&gt;Reuven Cohen&lt;/a&gt;, CTO of &lt;a href=&quot;http://www.enomaly.com/&quot;&gt;Enomaly&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You can &lt;a href=&quot;http://www.opencloudmanifesto.org/index.htm&quot;&gt;read the Open Cloud Manifesto here&lt;/a&gt;, but here is my take on the 6 principles of the Open Cloud Manifesto (the bold titles and italic comments are mine):&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Commit to cloud interoperability&lt;/span&gt;: Cloud providers should collaborate to solve standard problems (e.g., security, interoperability) in a standard way. &lt;span style=&quot;font-style: italic;&quot;&gt;At a minimum, this requires publishing the APIs needed to build interoperable security and other services across cloud providers. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Eschew vendor lockin&lt;/span&gt;: Cloud providers must not use their market position to lock customers into their particular platforms.&lt;span style=&quot;font-style: italic;&quot;&gt; This goes to the heart of the problem. If you are at the head of the pack, why slow down and let others catch you? The answer can only be because doing so gives you access to a much bigger market, of which you are still at the head of the pack but with a smaller lead!&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Adopt existing standards aggressively&lt;/span&gt;: Cloud providers must use and adopt existing standards wherever appropriate. &lt;span style=&quot;font-style: italic;&quot;&gt;This will be much easier for new cloud vendors, who are starting from scratch, than existing cloud vendors, who built out their infrastructure before many of these standards existed.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Minimize proliferation of new standards&lt;/span&gt;: When new standards are needed, Cloud vendors must be judicious to avoid creating too many standards. We must ensure that standards promote innovation and do not inhibit it. &lt;span style=&quot;font-style: italic;&quot;&gt;This shows great wisdom in the ways of the world. What are most standards bodies anyway but the effect to gain or preserve market share by non-market driven means?&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Focus new standards on actual customer needs&lt;/span&gt;: Any community effort around the open cloud should be driven by customer needs. &lt;span style=&quot;font-style: italic;&quot;&gt;This is another swipe at the self-serving approaches of many standards bodies. From a cynical perspective, we will know cloud computing is successful when its standards bodies become just as opaque and non-customer focused as other entrenched standards like Java ;-) &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Cooperate between standards groups&lt;/span&gt;: Cloud computing standards organizations, advocacy groups, and communities should work together and stay coordinated, making sure that efforts do not conflict or overlap. &lt;span style=&quot;font-style: italic;&quot;&gt;This is well-intentioned, but also seems to be saying &quot;thou shalt have no cloud advocacy groups before me&quot; (shouldn&#39;t that be commandment I?)&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Just like that large collection of tubes called the Internet, this notion of Open Cloud and Open Platforms is here to stay!</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/1956304218259102579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/1956304218259102579' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/1956304218259102579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/1956304218259102579'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2009/04/opening-up-platform-as-service.html' title='Opening Up Platform as a Service'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-2406168954876666524</id><published>2008-12-10T18:13:00.000-08:00</published><updated>2008-12-10T18:14:11.565-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Cloud computing"/><category scheme="http://www.blogger.com/atom/ns#" term="Gartner"/><title type='text'>The Cloud Is Angry and Other Lessons From Gartner</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.keeneview.com/uploaded_images/angry-baby-750837.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 155px; height: 200px;&quot; src=&quot;http://www.keeneview.com/uploaded_images/angry-baby-750833.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;I attended the &lt;a href=&quot;http://www.gartner.com/it/page.jsp?id=684111&quot;&gt;Gartner Application Development Conference&lt;/a&gt; this week and drank from the proverbial firehouse as Gartner analysts presented their vision for cloud computing&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.gartner.com/AnalystBiography?authorId=29384&quot;&gt;Anthony Bradley&lt;/a&gt;, the Web 2.0 analyst for Gartner, beat the drum for front end tools (mashup builders) to complement back end SOA systems. His take was &quot;mashups take the benefits of SOA and make them visible to users - mashups are the face of SOA.&quot;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.gartner.com/AnalystBiography?authorId=29384&quot;&gt;Mark Driver&lt;/a&gt;, the open source software analyst for Gartner, said that cloud computing is early in its maturity cycle. He said, &quot;if the cloud were a child, it would be an angry two year old. The challenge for the industry now is how to make it through the terrible twos.&quot;&lt;br /&gt;&lt;br /&gt;Mark also pointed out some big benefits for IT with cloud computing. &quot;The cloud enables rapid application maintenance - iterating application functionality on a daily basis.&quot; The apps can change as quickly as the business situation changes, making IT much more of a real partner in business change rather than an impediment to business change.&lt;br /&gt;&lt;br /&gt;Mark introduced the idea of a cloud development platform or platform as a service (PaaS), noting that in PaaS, the developer should never encounter the concept of a server. Instead, the platform abstracts all deployment complexity from the developer, making it ideal for business unit developers who don&#39;t have deployment resources readily at hand.&lt;br /&gt;&lt;br /&gt;According to Gartner, the important criteria for a cloud development platform include:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Interoperability&lt;/span&gt;: how well does the platform integrate with other web assets like open id and google maps?&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Collaboration&lt;/span&gt;: how well does the platform support source code control and social programming (Facebook meets SVN)&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;RIA &amp;amp; mobile clients&lt;/span&gt;: cross browser and cross smart-phone support. According to Mark, reach wins over richness - supporting more browsers is more important than supporting more widgets.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Legacy&lt;/span&gt;: ability to integrate with enterprise data, security and web services&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Performance&lt;/span&gt;: ability to scale significantly with no additional effort/programming&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Longevity&lt;/span&gt;: the market momentum of the platform vendor - will they be around in 3 years? The winner will be less about the raw technology and more about the quality of partners and customers the vendor has attracted.&lt;/li&gt;&lt;/ul&gt;This is a particularly interesting list for us at &lt;a href=&quot;http://www.keeneview.com/2008/12/wavemaker-launches-first-open-source.html&quot;&gt;WaveMaker&lt;/a&gt;, as we just released the &lt;a href=&quot;http://www.wavemaker.com/cloud&quot;&gt;WaveMaker cloud development platform&lt;/a&gt; that does quite well against Gartner&#39;s list. In particular, WaveMaker scores highly interoperability, both of component and of applications. WaveMaker is the first cloud development platform to offer portability between the cloud and the data center.&lt;br /&gt;&lt;br /&gt;Gartner believes that the market for cloud development tools is very similar to the 4GL market of the early 90s. They see many innovative vendors today offering unique/proprietary solutions, thinning out over the next three years to a handful of winners. Naturally we are doing everything we can to make sure that &lt;a href=&quot;http://www.keeneview.com/2008/08/tech-smart-user-stupid-why-software.html&quot;&gt;WaveMaker is one of those winners&lt;/a&gt;!</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/2406168954876666524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/2406168954876666524' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/2406168954876666524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/2406168954876666524'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/12/cloud-is-angry-and-other-lessons-from.html' title='The Cloud Is Angry and Other Lessons From Gartner'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-2578246442053409359</id><published>2008-10-09T13:39:00.000-07:00</published><updated>2008-10-09T13:43:54.613-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ext"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Learn About Ext From The Master - Hands On Ext, Oct 16 @ 12PST</title><content type='html'>&lt;img style=&quot;float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 100px;&quot; src=&quot;http://extjs.com/forum/image.php?u=802&amp;amp;dateline=1200721600&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;The next Visual Ajax User Group Meeting is entitled &quot;Hands-On Ext&quot; featuring &lt;a href=&quot;http://www.linkedin.com/pub/9/248/700&quot;&gt;Aaron Conran&lt;/a&gt;, Senior Software Architect and &lt;a href=&quot;http://www.extjs.com&quot;&gt;Ext&lt;/a&gt; Services Team Leader. Hands-On Ext is a fast-paced session in which we will explore how to build an Ext application in less than an hour. This session demonstrates how to get started using Ext JS and how quickly you can put together a simple application from scratch. Learn how to utilize Ext&#39;s high-level UI widgets like GridPanel, TabPanel and FormPanel instead of re-inventing the wheel. &lt;a href=&quot;https://www1.gotomeeting.com/register/976425294&quot; style=&quot;text-decoration: none; color: rgb(47, 79, 79); border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(85, 85, 85); &quot;&gt;REGISTER HERE&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/2578246442053409359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/2578246442053409359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/2578246442053409359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/2578246442053409359'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/10/learn-about-ext-from-master-hands-on.html' title='Learn About Ext From The Master - Hands On Ext, Oct 16 @ 12PST'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-7797641994988246521</id><published>2008-09-18T09:04:00.000-07:00</published><updated>2008-09-18T09:09:14.242-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Aptana"/><category scheme="http://www.blogger.com/atom/ns#" term="cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="jaxer"/><title type='text'>Kevin Hakman Presenting today, 9/18 at 12PST</title><content type='html'>&lt;a href=&quot;http://www.aptana.com/management&quot;&gt;Kevin Hakman, Director of Product Marketing, Aptana&lt;/a&gt;, will be presenting at the monthly Visual Ajax user group meeting on The End-to-End Open Web: Combining Cloud Computing and Open Source App   Engines. &lt;a href=&quot;http://www.aptana.com&quot;&gt;Aptana&lt;/a&gt; has been a leader in making serious JavaScript development possible both on the client and on the server with their &lt;a href=&quot;www.aptana.com/jaxer&quot;&gt;Jaxer&lt;/a&gt; product. This should be a great session!&lt;br /&gt;&lt;br /&gt;If you want to join via webinar or in person, please send an email to: info@visualajax.org&lt;br /&gt;&lt;br /&gt;As always, a write-up of the presentation will be available on &lt;a href=&quot;http://www.visualajax.org&quot;&gt;visualajax.org&lt;/a&gt; afterwards.</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/7797641994988246521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/7797641994988246521' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/7797641994988246521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/7797641994988246521'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/09/kevin-hakman-presenting-today-918-at.html' title='Kevin Hakman Presenting today, 9/18 at 12PST'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-4834990453105462662</id><published>2008-09-10T15:48:00.000-07:00</published><updated>2008-09-10T15:50:58.691-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ajaxian"/><title type='text'>Ajax Experience Conference in Boston 9/29 - 10/1</title><content type='html'>&lt;p class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://ajaxexperience.techtarget.com/east/index.html?Offer=AEvisajax92&quot;&gt;The Ajax Experience&lt;/a&gt; (TAE) will be in &lt;st1:place st=&quot;on&quot;&gt;&lt;st1:city st=&quot;on&quot;&gt;Boston&lt;/st1:city&gt;,  &lt;st1:state st=&quot;on&quot;&gt;Massachusetts&lt;/st1:state&gt;&lt;/st1:place&gt; from September 29 - October 1. The conference agenda includes 40+ breakout sessions, keynotes, tutorials, tech demos, lightening rounds and excellent networking opportunities. TAE was created by Ajaxian.com in 2006 as the ultimate learning destination for Ajax/RIA developers. &lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;ul style=&quot;margin-top: 0in;&quot; type=&quot;disc&quot;&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Evaluate      open source and vendor solutions in an unbiased community environment &lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Dive      deep into frameworks and testing tools that make development easier&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Get      developers and designers working together and producing useable ideas &lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Balance      Web 2.0 design and features with the need for speed and scalability&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;See      how to make JSON, Mashups and SOA work for you&lt;/li&gt;&lt;li class=&quot;MsoNormal&quot; style=&quot;&quot;&gt;Make      the case for &lt;st1:city st=&quot;on&quot;&gt;&lt;st1:place st=&quot;on&quot;&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt;      and RIAs in your enterprise&lt;/li&gt;&lt;/ul&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;View the conference agenda at-a-glance &lt;a href=&quot;http://ajaxexperience.techtarget.com/east/html/eventsataglance.html?Offer=AEvisajax92&quot;&gt;here&lt;/a&gt;. As a member of VisualAjax.org, use the code &lt;b style=&quot;&quot;&gt;&#39;VisualAjax&#39;&lt;/b&gt; to save an extra $100 off the registration fee. Reserve your spot by clicking &lt;a href=&quot;http://ajaxexperience.techtarget.com/east/html/register.html?Offer=AEvisajax92&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/4834990453105462662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/4834990453105462662' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/4834990453105462662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/4834990453105462662'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/09/ajax-experience-conference-in-boston.html' title='Ajax Experience Conference in Boston 9/29 - 10/1'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-6135079222247045772</id><published>2008-08-21T00:01:00.000-07:00</published><updated>2008-08-21T00:02:06.838-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apple"/><category scheme="http://www.blogger.com/atom/ns#" term="WaveMaker"/><title type='text'>WaveMaker in Top 10 Apple Downloads</title><content type='html'>&lt;div class=&quot;blogPost&quot; style=&quot;margin-top: 0px; margin-right: 0px; margin-bottom: 30px; margin-left: 0px; font-size: 100%; &quot;&gt;&lt;div style=&quot;clear: both; &quot;&gt;&lt;/div&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.keeneview.com/uploaded_images/applepick-776709.gif&quot; style=&quot;color: rgb(222, 112, 8); &quot;&gt;&lt;img src=&quot;http://www.keeneview.com/uploaded_images/applepick-776705.gif&quot; border=&quot;0&quot; alt=&quot;&quot; style=&quot;float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; &quot; /&gt;&lt;/a&gt;&lt;div&gt;&lt;a href=&quot;http://www.apple.com/downloads/macosx/development_tools/wavemaker.html&quot; style=&quot;color: rgb(222, 112, 8); &quot;&gt;WaveMaker&lt;/a&gt; was selected as a &lt;a href=&quot;http://www.apple.com/downloads/macosx/development_tools/index_sp.html&quot; style=&quot;color: rgb(222, 112, 8); &quot;&gt;Staff Pick for the Apple download site&lt;/a&gt;, and broke into the top 10 Apple downloads today, edging out Google Earth for the tenth slot!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WaveMaker 4 features a Mac installer and the WaveMaker Ajax Studio runs best in the Safari browser (of course, to be fair, almost everything that runs in a browser runs best in Safari). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WaveMaker&#39;s visual studio lowers the learning curve for building Ajax apps and greatly increases productivity over traditional hand-coded Javascript web clients.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WaveMaker uses a Model-View-Controller approach to building Ajax web applications, making it an ideal tool for developers who are familiar with Apple&#39;s xCode development tools (or any other visual development tool for that matter).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WaveMaker was also written up on the MacNN web site as a &lt;a href=&quot;http://www.macnn.com/articles/08/08/19/wavemaker.instant.web.apps/&quot; style=&quot;color: rgb(222, 112, 8); &quot;&gt;one stop shop for developing web applications&lt;/a&gt;. MacNN also particularly taken by how WaveMaker democratizes the development of web applications:&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-style: italic; &quot;&gt;The folks at WaveMaker think big, calling their &lt;/span&gt;&lt;a href=&quot;http://macnn.com/rd/108782==http://www.wavemaker.com/product/&quot; rel=&quot;nofollow&quot; style=&quot;color: rgb(222, 112, 8); &quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-style: italic; &quot;&gt;Visual Ajax Studio 4.0 &lt;/span&gt;&lt;/a&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-style: italic; &quot;&gt;web app development tool &quot;a fundamental breakthrough&quot; -- and they may just be right. In a demonstration for &lt;/span&gt;&lt;em&gt;MacNN&lt;/em&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-style: italic; &quot;&gt; it took about three minutes to build a simple database web app -- something that traditionally takes a team of developers to manage the complex weaving of web and server functions. This could be especially good news for the growing number of Mac Developers, since WaveMaker is browser-based.&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/6135079222247045772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/6135079222247045772' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/6135079222247045772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/6135079222247045772'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/08/wavemaker-in-top-10-apple-downloads.html' title='WaveMaker in Top 10 Apple Downloads'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-5440189522347749815</id><published>2008-08-12T16:01:00.000-07:00</published><updated>2008-08-12T16:06:21.207-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Flash"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="RIA"/><category scheme="http://www.blogger.com/atom/ns#" term="sproutcore"/><title type='text'>RIA is MIA</title><content type='html'>I recently read a good article on how Apple is fighting the drumbeat of proprietary browser plugins like Flash and Silverlight. &lt;strong style=&quot;font-weight: normal;&quot;&gt;Daniel Eran Dilger wrote a good article on how &lt;a href=&quot;http://www.roughlydrafted.com/2008/06/14/cocoa-for-windows-flash-killer-sproutcore/&quot;&gt;Apple&#39;s  Sproutcore toolkit for JavaScript provides an alternative to flash for building rich internet applications&lt;/a&gt;. &lt;/strong&gt; You can find out more about &lt;a href=&quot;http://www.sproutcore.com/&quot;&gt;Sproutcore here&lt;/a&gt;. Daniel says:&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;Over the last year, I’ve outlined Apple’s efforts to starve Adobe’s Flash and AIR (and by extension, Microsoft’s me-too Flash plugin called Silverlight), at a time when pundits have insisted that Flash was a vital missing element on the iPhone and that Apple could/should/would be scrambling to port Flash to it. It might be a surprise to find that Apple’s air supply attack on Flash and its interest in dusting Windows with Cocoa are actually related.&lt;/span&gt;&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/5440189522347749815/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/5440189522347749815' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/5440189522347749815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/5440189522347749815'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/08/ria-is-mia.html' title='RIA is MIA'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-5593234479147304393</id><published>2008-08-06T17:44:00.000-07:00</published><updated>2008-08-06T17:52:13.160-07:00</updated><title type='text'>What Google Can Teach Ajax Developers</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2e7V_f8tsiKbV-k5Gm2ydzEl3XOOemlYVBaNpFESjoQ5FIgGjVW3a3IjeF_xk80HFpUq_9EFUO9wADaCWmUcwab5gukR2AcCjz_KJIcJhnzQLXZZeXOeWS08fCkGlGo3ECWv0tkINGRg/s1600-h/teaching.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2e7V_f8tsiKbV-k5Gm2ydzEl3XOOemlYVBaNpFESjoQ5FIgGjVW3a3IjeF_xk80HFpUq_9EFUO9wADaCWmUcwab5gukR2AcCjz_KJIcJhnzQLXZZeXOeWS08fCkGlGo3ECWv0tkINGRg/s320/teaching.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5231572136133276370&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;With Google Gadgets, Google has arguably pushed Ajax scalability and testing harder than any other single vendor. But that was only the beginning. &lt;a href=&quot;http://adamsah.net/%7Easah/&quot;&gt;Adam Sah&lt;/a&gt;, architect of &lt;a href=&quot;http://www.google.com/webmasters/gadgets/&quot;&gt;Google Gadgets&lt;/a&gt;, has been experimenting with using Gadgets to display ads. In June, 2008, he gave a talk on this work for the Visual Ajax User Group.     &lt;p&gt;Google Gadgets are XML files that run inside an iframe on your web page, complete with embedded Javascript. The XML file itself is divided into 3 parts: module preferences, user preferences and content (html with inline css and javascript). SEOish has a good &lt;a href=&quot;http://www.seoish.com/how-to-make-google-gadgets/&quot;&gt;Google Gadgets tutorial for Ajax Developers&lt;/a&gt;. &lt;/p&gt;     &lt;p&gt;The next logical step for Google is &lt;a href=&quot;http://adsense.blogspot.com/2006/10/go-go-google-gadgets.html&quot;&gt;inserting gadgets into Google&#39;s ad infrastructure&lt;/a&gt; - introducing rich content ads, such as ads that show pictures of things for sale. Rich media also allows advertisers to combine branding with lead generation, giving them the best of banner ads and click-through ads.&lt;/p&gt;     &lt;p&gt;Google gadgets themselves represent an interesting proving ground for Ajax technology. Incorporating Google Gadgets into adsense takes Ajax to a whole new level. Adam described &quot;unpausing&quot; an Ajax ad without the proper infrastructure in place as &quot;a very fast way to do a denial of service attack on yourself.&quot;&lt;/p&gt;     &lt;p&gt;Here are some of the lessons learned from working in the high volume world of Google Gadget ads:&lt;/p&gt;     &lt;ol&gt;&lt;li&gt;&lt;strong&gt;Relevancy trumps latency&lt;/strong&gt;. Rich ad widgets can make multiple Ajax calls and take ten times longer to load (sometimes several seconds), but get a much higher click through rate. In a nutshell, this is why &lt;a href=&quot;http://www.keeneview.com/2008/06/buzzwords-20-what-is-web-20-what-is-ria.html&quot;&gt;Web 2.0/Rich Internet Apps/Ajax&lt;/a&gt; are taking over from the old internet - people are willing to wait for content that is more relevant and interactive.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Context is difficult&lt;/strong&gt;. Because syndicated ads live in their own isolated iframes, it is hard to create context-aware ads. Of course, having a good &lt;a href=&quot;http://visualajax.blogspot.com/2008/04/case-for-wysiwyg-ajax-tools.html&quot;&gt;WYSIWYG Ajax tool to build iframe applications&lt;/a&gt; could help! &lt;/li&gt;&lt;li&gt;&lt;strong&gt;Scalability is a challenge&lt;/strong&gt;. Every ad impression hits a database, so going live with an Ajax ad on a high volume site creates a huge amount of database traffic. This is even worse for ads which have a number of images. On the other hand, the size limit for a Google Gadget is 50K, which at least sets an upper limit on the damage you can do.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Testing is difficult&lt;/strong&gt;. When ads are created on the fly, it is literally impossible to test all combinations of content, browsers and interaction.&lt;/li&gt;&lt;/ol&gt;     &lt;p&gt;With Google Gadgets, a developer can create a Google ad that includes images and interactivity. The ad publisher gets to define what a &quot;click&quot; means within their gadget. Their incentive to cheat is low because if they don&#39;t have a way to measure clicks, they will never win a bid!&lt;/p&gt;     Adam also gave a good perspective on how Google fights the proprietary web (what &lt;a href=&quot;http://visualajax.org/webpages/unweb.html&quot;&gt;Alex Russell calls the unweb&lt;/a&gt;) - with Gadgets and standards! People choose proprietary solutions when good open alternatives are not available. Google is trying to make it so easy and cheap to work with open standards that proprietary standards lose their appeal.</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/5593234479147304393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/5593234479147304393' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/5593234479147304393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/5593234479147304393'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/08/what-google-can-teach-ajax-developers.html' title='What Google Can Teach Ajax Developers'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2e7V_f8tsiKbV-k5Gm2ydzEl3XOOemlYVBaNpFESjoQ5FIgGjVW3a3IjeF_xk80HFpUq_9EFUO9wADaCWmUcwab5gukR2AcCjz_KJIcJhnzQLXZZeXOeWS08fCkGlGo3ECWv0tkINGRg/s72-c/teaching.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-3232164230641092645</id><published>2008-07-24T14:39:00.000-07:00</published><updated>2008-07-24T14:55:05.561-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mashup"/><category scheme="http://www.blogger.com/atom/ns#" term="xignite"/><title type='text'>Visualizing Web Services: WaveMaker and Xignite</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.keeneview.com/uploaded_images/xignite-740441.gif&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;http://www.keeneview.com/uploaded_images/xignite-740430.gif&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Seth Godin, the marketing guru, &lt;a href=&quot;http://sethgodin.typepad.com/seths_blog/2007/03/definition_mash.html&quot;&gt;defines a mashup&lt;/a&gt; as a distinct way of spreading ideas. In particular, &lt;a href=&quot;http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29&quot;&gt;Web 2.0 mashups&lt;/a&gt; allow developers to combine interesting data and then visualize that data through a web application. In practice, a mashup requires a data source and a web visualization platform.&lt;br /&gt;&lt;br /&gt;WaveMaker and Xignite announced their own bit of mashup magic today.&lt;br /&gt;&lt;br /&gt;Xignite provides financial data as a web service. Real-time financial data that would otherwise cost a minimum of $50K to access through Reuters or Bloomberg is available at a fraction of that cost through Xignite. These services can include foreign exchange pricing, commodities pricing and real time stock quotes.&lt;br /&gt;&lt;br /&gt;The problem is that it takes a web application platform to call the Xignite web service, marshall the resulting data and display it in a web page. That&#39;s where WaveMaker comes in. With Wavemaker, a web developer can create a ticker widget that calls Xignite services in less than 5 minutes.&lt;br /&gt;&lt;br /&gt;Click here to see the &lt;a href=&quot;http://se3.wavemaker.com:8888/wavemaker_ticker_demo.html&quot;&gt;Exignite/WaveMaker ticker example&lt;/a&gt;. Click here for more &lt;a href=&quot;http://www.keeneview.com/2008/06/buzzwords-20-what-is-web-20-what-is-ria.html&quot;&gt;Web 2.0 definitions&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/3232164230641092645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/3232164230641092645' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/3232164230641092645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/3232164230641092645'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/07/visualizing-web-services-wavemaker-and.html' title='Visualizing Web Services: WaveMaker and Xignite'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-9107612548518088073</id><published>2008-07-16T17:47:00.000-07:00</published><updated>2008-07-16T18:10:51.396-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AJAX"/><category scheme="http://www.blogger.com/atom/ns#" term="dojo"/><category scheme="http://www.blogger.com/atom/ns#" term="training"/><category scheme="http://www.blogger.com/atom/ns#" term="tutorial"/><title type='text'>Ajax Master Class Webinar Series</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9d5vIKLjVJIJBPhDWvCpID_wqiHYgOQaBn5iPRxHHa_O3C1o4_VVbgrOHkK76kW3W3tEfX_YNE-mNvE8di2kKet-Du8ISnICMpPFldXxJ86Zkwsf8yIOOf_jjlgcwcR9FNTrfgjCldI8/s1600-h/ninja.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9d5vIKLjVJIJBPhDWvCpID_wqiHYgOQaBn5iPRxHHa_O3C1o4_VVbgrOHkK76kW3W3tEfX_YNE-mNvE8di2kKet-Du8ISnICMpPFldXxJ86Zkwsf8yIOOf_jjlgcwcR9FNTrfgjCldI8/s200/ninja.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5223779841452547442&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;While there are many entry level tutorials on Ajax (and even more &lt;a href=&quot;http://www.keeneview.com/2008/06/buzzwords-20-what-is-web-20-what-is-ria.html&quot;&gt;definitions of Ajax&lt;/a&gt;), there are relatively few advanced training classes for Ajax in general and Dojo in particular. Over the next 3 months, &lt;a href=&quot;http://www.wavemaker.com/&quot;&gt;WaveMaker&lt;/a&gt; will offer a &lt;a href=&quot;http://dev.wavemaker.com/forums/?q=node/2069#comment-6249&quot;&gt;series of advanced courses on Dojo development&lt;/a&gt;.&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;https://www1.gotomeeting.com/register/278469999&quot;&gt;Ajax File  Upload/Download Master Tutorial&lt;/a&gt;&lt;br /&gt;29 July  2008, 11am PT&lt;br /&gt;Matt Small,  Senior Software Engineer, WaveMaker&lt;/p&gt; File Upload and Download in Ajax applications can be tricky.  This tutorial provides introduction to upload and download widget configuration and their backing Java services.  Advanced topics include writing uploaded files to a database and serving files directly from database content.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://www1.gotomeeting.com/register/121968562&quot;&gt;Debugging Ajax Applications With Firebug Master Tutorial&lt;/a&gt;&lt;br /&gt;26 August 2008, 11am PT&lt;br /&gt;Ed Callahan, Director of Technical Services, WaveMaker&lt;br /&gt;&lt;br /&gt;Where there is development, there is debugging. In this session, we will discuss techniques for debugging issues commonly encountered while developing Ajax web-apps. We will use the &lt;a href=&quot;http://103/getfirebug.com&quot; title=&quot;//103/getfirebug.com&quot;&gt;Firebug&lt;/a&gt; add-on  to &lt;a href=&quot;http://103/getfirefox.com&quot; title=&quot;//103/getfirefox.com&quot;&gt;Firefox&lt;/a&gt; to debug client side errors. We will also discuss the logging features available in the WaveMaker framework to diagnose server side issues.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://www1.gotomeeting.com/register/890408614&quot;&gt;Dojo Data Grid Master  Tutorial&lt;/a&gt;23  September 2008, 11am PT&lt;br /&gt;Steve  Orvell, Senior Architect, WaveMaker&lt;br /&gt;A grid is a fantastic way to view complex data at a glance. Whether it&#39;s data from a database, web service, or java service, WaveMaker provides a simple way to produce complex grids quickly. We&#39;ll review how to setup a basic grid and then dive into some advanced ways to manipulate the grid widget in WaveMaker.</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/9107612548518088073/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/9107612548518088073' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/9107612548518088073'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/9107612548518088073'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/07/ajax-master-class-webinar-series.html' title='Ajax Master Class Webinar Series'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9d5vIKLjVJIJBPhDWvCpID_wqiHYgOQaBn5iPRxHHa_O3C1o4_VVbgrOHkK76kW3W3tEfX_YNE-mNvE8di2kKet-Du8ISnICMpPFldXxJ86Zkwsf8yIOOf_jjlgcwcR9FNTrfgjCldI8/s72-c/ninja.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-6888841631590081428</id><published>2008-07-16T08:56:00.000-07:00</published><updated>2008-07-16T09:08:13.903-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="dojo"/><category scheme="http://www.blogger.com/atom/ns#" term="grid"/><title type='text'>Dojo Getting Greater Grids</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.sitepen.com/labs/code/grid/dojo_grid_1.2/images/dojo_data_2.png&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px;&quot; src=&quot;http://www.sitepen.com/labs/code/grid/dojo_grid_1.2/images/dojo_data_2.png&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;The Ajaxian has a good posting on the &lt;a href=&quot;http://ajaxian.com/archives/dojo-grid-widget-updated-data-integration-and-editing-improvements#comments&quot;&gt;new Dojo Grid Widget&lt;/a&gt;. The Ajaxian post points to a very detailed &lt;a href=&quot;http://www.sitepen.com/blog/2008/07/14/dojo-12-grid/&quot;&gt;Dojo Grid tutorial from the SitePen Blog&lt;/a&gt; that goes into gory detail about how to work with the new grid widget in code.&lt;br /&gt;&lt;br /&gt;At WaveMaker, we have found that creating a drag and drop interface for the grid widget is by far the most difficult task in building a visual tool for web application development. Having a more powerful grid widget makes our task easier!</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/6888841631590081428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/6888841631590081428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/6888841631590081428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/6888841631590081428'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/07/dojo-getting-greater-grids.html' title='Dojo Getting Greater Grids'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-7065438226065483299</id><published>2008-07-11T16:25:00.001-07:00</published><updated>2008-07-11T16:25:26.753-07:00</updated><title type='text'>Buzzwords 2.0: What is Web 2.0? What is RIA? What is Ajax?</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.keeneview.com/uploaded_images/buzzwords-716540.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;http://www.keeneview.com/uploaded_images/buzzwords-716535.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;The much-hyped but poorly defined terms Web 2.0, Rich Internet Application (RIA) and Ajax are best understood when they are defined together.&lt;br /&gt;&lt;br /&gt;Buzzwords represent job security for entrepreneurs like me who would be practically unemployable were it not for our secret knowledge of the true meaning of words like Web 2.0. However, even I must admit that these Buzzwords 2.0 get in the way of clear communication.&lt;br /&gt;&lt;br /&gt;In addition, while there are many standalone definitions of terms like &lt;a href=&quot;http://en.wikipedia.org/wiki/Web_2&quot;&gt;Web 2.0&lt;/a&gt;, it is much easier to understand these buzzwords mean by considering them together. With that in mind, here are my definitions of Web 2.0, Rich Internet Application and Ajax, complete with helpful graphics:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Web 2.0&lt;/span&gt; represents a &lt;span style=&quot;font-style: italic;&quot;&gt;market shift&lt;/span&gt; in consumer attention from expert-generated content (Yahoo) to user-generated content (Google)&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Rich Internet Applications&lt;/span&gt; represents a &lt;span style=&quot;font-style: italic;&quot;&gt;requirements shift&lt;/span&gt; for more interactive, PC-like web sites to simplify consumer creation of content (Blogger, MySpace)&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Ajax &lt;/span&gt;is an &lt;span style=&quot;font-style: italic;&quot;&gt;architectural shift&lt;/span&gt; to support RIA requirements&lt;/li&gt;&lt;/ul&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; text-align: center; cursor: pointer; width: 500px;&quot; src=&quot;http://visualajax.org/images/buzzwords2.jpg&quot; alt=&quot;What is Web 2.0, What is RIA, What is Ajax&quot; border=&quot;0&quot; /&gt;&lt;h2&gt;Definition of Web 2.0 - Shift In Consumer Attention&lt;/h2&gt;Consumer eyeballs still rule the web. The huge power shift over the last 5 years has been from expert-driven content (which could be created using expert tools like &lt;a href=&quot;http://www.adobe.com/products/dreamweaver/&quot;&gt;Adobe Dreamweaver&lt;/a&gt;) to user-driven content (which requires web based tools that are easy to use). The shift in consumer attention is also driving a shift in business focus as corporations look at ways to engage more effectively with their customers and employees.&lt;h2&gt;Definition of Rich Internet Application - Shift in Web Requirements&lt;/h2&gt;In order for more people to participate in creating content for the Internet, the content creation tools have to be both simpler and more interactive. Rich Internet Applications seek to erase the difference in user experience between browser-based applications (Gmail) and traditional client/server applications (Outlook). A quick comparison of Gmail versus Outlook shows that RIAs have a big usability gap, but the Internet brings the offsetting benefit of dramatically simpler application distribution.&lt;h2&gt;Definition of Ajax - Shift in Web Architecture&lt;/h2&gt;Ajax is an architecture which makes the browser smarter and more interactive by running Javascript programs on the client. Don&#39;t tell anyone, but the old name for putting logic on the client was fat client programming. Everything old is new again and it turns out the only way to make an interactive client is to do more processing in the browser.&lt;br /&gt;&lt;br /&gt;The following diagram shows the fundamental changes between the Web 1.0 architecture (circa 2000) and the Ajax architecture.&lt;br /&gt;&lt;br /&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; text-align: center; cursor: pointer; width: 500px;&quot; src=&quot;http://visualajax.org/images/whatajax.jpg&quot; alt=&quot;What is Web 2.0, What is RIA, What is Ajax&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;&lt;h2&gt;Where is all of this leading?&lt;/h2&gt;Web 2.0 is driving new application requirements and in turn creating a demand for new development tools that can meet those application requirements. Building increasingly visual and interactive web applications requires a &lt;a href=&quot;http://www.keeneview.com/2008/04/case-for-wysiwyg-ajax-tools.html&quot;&gt;WYSIWYG Ajax tool&lt;/a&gt; - something like a Microsoft Access for the Web. &lt;a href=&quot;http://www.adobe.com/products/flex/&quot;&gt;Flex&lt;/a&gt; and &lt;a href=&quot;http://silverlight.net/&quot;&gt;Silverlight&lt;/a&gt;, Adobe and Microsoft are providing proprietary tools for building RIA applications.&lt;br /&gt;&lt;br /&gt;For an example of an open-source tool for building RIA applications based on &lt;a href=&quot;http://www.springsource.com/&quot;&gt;Spring&lt;/a&gt;, &lt;a href=&quot;http://www.hibernate.org/&quot;&gt;Hibernate&lt;/a&gt; and &lt;a href=&quot;http://www.dojotoolkit.org/&quot;&gt;Dojo&lt;/a&gt;, check out &lt;a href=&quot;http://www.wavemaker.com/&quot;&gt;WaveMaker &lt;/a&gt;. &lt;a href=&quot;http://www.wavemaker.com/downloads&quot;&gt;Download Wavemaker&lt;/a&gt; to see what a visual Ajax tool looks like! Wikipedia also lists a number of other &lt;a href=&quot;http://en.wikipedia.org/wiki/Ajax_framework&quot;&gt;Ajax frameworks for building RIA applications&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;References&lt;/span&gt;&lt;br /&gt;A number of others have gone before me in defining these terms individually. Jonathan Schwartz recently pointed out that &lt;a href=&quot;http://blogs.sun.com/jonathan/entry/rocking_the_free_world&quot;&gt;Java has always had RIA capabilities&lt;/a&gt; (but he also admits they didn&#39;t work very well until recently). Here are my personal favorites definitions:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Web 2.0. Tim O&#39;Reilly at O&#39;Reilly Media has a &lt;a href=&quot;http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html&quot;&gt;good definition of what is web 2.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Rich Internet Application. Adobe initially &lt;a href=&quot;http://www.adobe.com/resources/business/rich_internet_apps/&quot;&gt;defined the term rich internet application&lt;/a&gt;. The Burton Group also has a good &lt;a href=&quot;http://library.theserverside.com/detail/RES/1208450327_766.html&quot;&gt;white paper on Ajax and RIA&lt;/a&gt; (registration required).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Ajax. &lt;a href=&quot;http://www.adaptivepath.com/aboutus/jjg.php&quot;&gt;Jesse James Garrett of Adaptive Path&lt;/a&gt; originally defined &lt;a href=&quot;http://www.adaptivepath.com/publications/essays/archives/000385.php&quot;&gt;Ajax&lt;/a&gt;. &lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/7065438226065483299/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/7065438226065483299' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/7065438226065483299'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/7065438226065483299'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/07/buzzwords-20-what-is-web-20-what-is-ria.html' title='Buzzwords 2.0: What is Web 2.0? What is RIA? What is Ajax?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-843973697460010253</id><published>2008-06-17T15:22:00.000-07:00</published><updated>2008-06-17T15:29:20.850-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AJAX"/><category scheme="http://www.blogger.com/atom/ns#" term="php"/><title type='text'>Cool PHP code generator for Ajax</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjalbFMoG_cURRcgIUv6wvt-5DDJ7tW0OKk4vetbC9k6B5OUTgFfECQ8FELAx448xk1HCwklHEO8S_ur01NDTfPeyHT_ruZI1QViWfF2TNi1J_ZdNnXP3gss8Rwt1Vrb1D9EWMpQYf0RcM/s1600-h/crud+remover+bottle+small.jpg&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjalbFMoG_cURRcgIUv6wvt-5DDJ7tW0OKk4vetbC9k6B5OUTgFfECQ8FELAx448xk1HCwklHEO8S_ur01NDTfPeyHT_ruZI1QViWfF2TNi1J_ZdNnXP3gss8Rwt1Vrb1D9EWMpQYf0RcM/s200/crud+remover+bottle+small.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5212980898345984562&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.ajaxcrud.com/&quot;&gt;AjaxCRUD&lt;/a&gt; is an open-source PHP API created by &lt;a href=&quot;http://www.seandempsey.com/&quot;&gt;Sean Dempsey&lt;/a&gt; which allows you to connect to a mySQL database and easily perform the necessary CRUD operations (create, read, update, &amp;amp; delete rows). The web site doesn&#39;t say what Ajax library they are using, but looks like an interesting approach.</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/843973697460010253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/843973697460010253' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/843973697460010253'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/843973697460010253'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/06/cool-php-code-generator-for-ajax.html' title='Cool PHP code generator for Ajax'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjalbFMoG_cURRcgIUv6wvt-5DDJ7tW0OKk4vetbC9k6B5OUTgFfECQ8FELAx448xk1HCwklHEO8S_ur01NDTfPeyHT_ruZI1QViWfF2TNi1J_ZdNnXP3gss8Rwt1Vrb1D9EWMpQYf0RcM/s72-c/crud+remover+bottle+small.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-3911752267173060514</id><published>2008-06-16T17:02:00.000-07:00</published><updated>2008-06-16T18:17:22.237-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AJAX"/><category scheme="http://www.blogger.com/atom/ns#" term="google"/><title type='text'>Webinar - Google Gadgets for Fun and Profit - 6/19 at 12PST</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1qcaP41U16H8l3yk8P_Ltc2hDpfkuR-JUoYDPi4at7Z_PRpn2JMprvY6l8KHRjCiWzonQZTYgZ74xih-vfQF4jyia2Ti_2mke78EiLTyK_RwcVtf6GJOkX8ufGgqmfi5btioN6p3bCZE/s1600-h/googlegadgets.png&quot;&gt;&lt;img style=&quot;margin: 20px; display: block; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1qcaP41U16H8l3yk8P_Ltc2hDpfkuR-JUoYDPi4at7Z_PRpn2JMprvY6l8KHRjCiWzonQZTYgZ74xih-vfQF4jyia2Ti_2mke78EiLTyK_RwcVtf6GJOkX8ufGgqmfi5btioN6p3bCZE/s200/googlegadgets.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5212646146870658034&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Want to know where Google is going with their popular Gadgets project? Join the Visual Ajax User Group webinar Thursday, June 19 at 12 PST.&lt;br /&gt;&lt;br /&gt;This month&#39;s meeting will feature &lt;a href=&quot;http://adamsah.net/%7Easah/&quot;&gt;Adam Sah, Architect, Google Gadgets&lt;/a&gt;, on Ajax-enabled Widgets/Gadgets and Ads. Adam has been the founder and technical visionary behind 4 successful startups.&lt;br /&gt;&lt;br /&gt;Adam will give you the inside scoop on how to develop new Google gadgets, use gadgets in your Ajax applications and demystify Google ads via gadgets.&lt;br /&gt;&lt;p&gt;&lt;a href=&quot;https://www1.gotomeeting.com/register/887641858&quot; target=&quot;_blank&quot;&gt;Register for this webinar!&lt;/a&gt;&lt;br /&gt;                           &lt;/p&gt;&lt;p&gt;If you are in San Francisco, you can also register to attend in person by emailing &lt;a href=&quot;mailto:rsvp@visualajax.org&quot;&gt;rsvp@visualajax.org&lt;/a&gt;&lt;/p&gt;If you missed our past meetings, here are write-ups:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://visualajax.org/webpages/unweb.html&quot;&gt;A Dojo Tutorial: Saving Ourselves From the Unweb - Alex Russell&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://visualajax.org/webpages/wysiwyg.htm&quot;&gt;WYSIWYG Ajax Tooling: Making Widgets Toolable - Steve Orvell and Scott Miles&lt;/a&gt;  &lt;/li&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/3911752267173060514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/3911752267173060514' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/3911752267173060514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/3911752267173060514'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/06/webinar-google-gadgets-for-fun-and.html' title='Webinar - Google Gadgets for Fun and Profit - 6/19 at 12PST'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1qcaP41U16H8l3yk8P_Ltc2hDpfkuR-JUoYDPi4at7Z_PRpn2JMprvY6l8KHRjCiWzonQZTYgZ74xih-vfQF4jyia2Ti_2mke78EiLTyK_RwcVtf6GJOkX8ufGgqmfi5btioN6p3bCZE/s72-c/googlegadgets.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-7655833023855130276</id><published>2008-06-10T22:20:00.000-07:00</published><updated>2008-06-12T13:46:29.625-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Aptana"/><category scheme="http://www.blogger.com/atom/ns#" term="javascript"/><title type='text'>Aptana Enters The Cloud</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV3ml_3xdrJ2BPy_S3Bn_tkyK9vLnpiQruvTMK9BEkdqBE4zBBhcoGvtNwoCrAtlD7mLclOdfwaMLWaSZv1fBjSKuUSqrRDROcMxnX_QzDTpasPVEKfICBRwmJ6HgZ4EnPREMrkNy4loE/s1600-h/cloud%5B1%5D.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV3ml_3xdrJ2BPy_S3Bn_tkyK9vLnpiQruvTMK9BEkdqBE4zBBhcoGvtNwoCrAtlD7mLclOdfwaMLWaSZv1fBjSKuUSqrRDROcMxnX_QzDTpasPVEKfICBRwmJ6HgZ4EnPREMrkNy4loE/s200/cloud%5B1%5D.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5210490431778806290&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://ajaxian.com/archives/aptana-cloud-a-sneak-peak&quot;&gt;Ajaxian has a good first look at the Aptana Cloud&lt;/a&gt; product. The nifty feature here is the ability to deploy an application into a cloud computing environment as easily as publishing it locally. From Ajaxian:&lt;br /&gt;&lt;span style=&quot;font-style: italic;&quot;&gt;&lt;blockquote&gt;When you click on the project under the cloud menu you are taken through a (very easy to use) wizard for configuration. This runs your through a few steps, setting up a site name, picking a payment plan (the beta is free), payment details and so on.&lt;/blockquote&gt;&lt;/span&gt;With some luck, we may be able to lure &lt;a href=&quot;http://ajaxian.com/archives/kevin-hakman-joins-aptana&quot;&gt;Kevin Hakman&lt;/a&gt; to present the Aptana Cloud to the Visual Ajax user group!&lt;br /&gt;&lt;br /&gt;[UPDATE: &lt;a href=&quot;http://visualajax.org/webpages/meetings.htm&quot;&gt;Kevin will be talking to the Visual Ajax User Group on September 18&lt;/a&gt;!]</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/7655833023855130276/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/7655833023855130276' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/7655833023855130276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/7655833023855130276'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/06/aptana-enters-cloud.html' title='Aptana Enters The Cloud'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhV3ml_3xdrJ2BPy_S3Bn_tkyK9vLnpiQruvTMK9BEkdqBE4zBBhcoGvtNwoCrAtlD7mLclOdfwaMLWaSZv1fBjSKuUSqrRDROcMxnX_QzDTpasPVEKfICBRwmJ6HgZ4EnPREMrkNy4loE/s72-c/cloud%5B1%5D.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-8939618234185500391</id><published>2008-05-02T09:40:00.000-07:00</published><updated>2008-05-02T11:06:41.082-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AJAX"/><category scheme="http://www.blogger.com/atom/ns#" term="Flash"/><category scheme="http://www.blogger.com/atom/ns#" term="Silverlight"/><title type='text'>The dangers of the proprietary web</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuVZnUD-7NMBwg3RxTvUOcTgScVrJOk17sAGv6FIwlJE4Vu8yaAoWt4YF8hTQJKhVG_KPClmq9qxggAD-Bj6MtgI0qimtKe9pWYaf599zuVsNF23voTdXxQ0dpLQaW1nNDIH7apECa5Ks/s1600-h/danger.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuVZnUD-7NMBwg3RxTvUOcTgScVrJOk17sAGv6FIwlJE4Vu8yaAoWt4YF8hTQJKhVG_KPClmq9qxggAD-Bj6MtgI0qimtKe9pWYaf599zuVsNF23voTdXxQ0dpLQaW1nNDIH7apECa5Ks/s200/danger.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5195843485468429170&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;ZDNet has a &lt;a href=&quot;http://news.zdnet.com/2424-3515_22-199508.html?tag=nl.e550&quot;&gt;good article&lt;/a&gt; describing a talk by &lt;a href=&quot;http://standblog.org/blog/&quot;&gt;Tristan Nitot&lt;/a&gt; of Mozilla, warning that:&lt;br /&gt;&lt;blockquote style=&quot;font-style: italic;&quot;&gt;companies building websites should beware of proprietary rich-media technologies like Adobe&#39;s Flash and Microsoft&#39;s Silverlight. &lt;/blockquote&gt; &lt;p&gt; According to Tristan&lt;/p&gt;&lt;blockquote style=&quot;font-style: italic;&quot;&gt; the upcoming revision of the HTML specification would make it unnecessary to use proprietary technology. Nitot was speaking on the subject of &quot;the dangers of the proprietary web&quot;. He described the nature of the web at the moment as open, but suggested that &quot;proprietary solutions running on top of the web are trying to take over&quot;. Referring specifically to Flash and Silverlight, he said that &quot;people depend on the vendor to provide them with the runtime.&lt;br /&gt;&lt;/blockquote&gt;&lt;p&gt;This all may be true, but as long as Flash is the only way to get multi-media into my web app, the proprietary web will continue to gain ground over the laudable but less capable &quot;Ajax&quot; web.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/8939618234185500391/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/8939618234185500391' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/8939618234185500391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/8939618234185500391'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/05/dangers-of-proprietary-web.html' title='The dangers of the proprietary web'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuVZnUD-7NMBwg3RxTvUOcTgScVrJOk17sAGv6FIwlJE4Vu8yaAoWt4YF8hTQJKhVG_KPClmq9qxggAD-Bj6MtgI0qimtKe9pWYaf599zuVsNF23voTdXxQ0dpLQaW1nNDIH7apECa5Ks/s72-c/danger.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-8391035961286369009</id><published>2008-04-29T10:27:00.000-07:00</published><updated>2008-04-29T13:28:17.307-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AJAX"/><category scheme="http://www.blogger.com/atom/ns#" term="dojo"/><category scheme="http://www.blogger.com/atom/ns#" term="JSON"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Ajax"/><category scheme="http://www.blogger.com/atom/ns#" term="WaveMaker"/><category scheme="http://www.blogger.com/atom/ns#" term="WYSIWYG"/><title type='text'>The Case For WYSIWYG Ajax Tools</title><content type='html'>&lt;p&gt;[This article is based on a talk by Scott Miles, WaveMaker  architect  and module owner for Dojo Grid,  and Steve Orvell, WaveMaker engineer and core committer for Dojo, that they  gave at the Visual Ajax User Group]&lt;/p&gt;&lt;p&gt;Ajax  developers expect too little of their tools! Why do we put up with endless  code/debug cycles with our favorite Ajax  library just because there is no way to visualize a UI while you are developing  it?&lt;/p&gt;&lt;p&gt;Imagine life without Firebug. Now estimate the amount of time  you spend in Firebug just trying to figure out why a particular widget didn’t  render the way you wanted it too. A &lt;a href=&quot;http://www.keeneview.com/2008/03/look-how-rich-and-thin-we-are-state-of.html&quot;&gt;WYSIWYG Ajax editor&lt;/a&gt; takes away a great deal  of needless widget layout pain.&lt;/p&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9AZrgeuzk5TFwyBPbapZJdAK-JVoe19_PndVAnhJKx2VfiXmOmbUI8yQiqH6s4Al52_yvgAEQiCapk78EVdVIAGBLrOoXXqzpgDsh49uQ2aJ9ZwWvYQt4ngrTtkR2rkGDpfOLZE7HYDo/s1600-h/NavApp.gif&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9AZrgeuzk5TFwyBPbapZJdAK-JVoe19_PndVAnhJKx2VfiXmOmbUI8yQiqH6s4Al52_yvgAEQiCapk78EVdVIAGBLrOoXXqzpgDsh49uQ2aJ9ZwWvYQt4ngrTtkR2rkGDpfOLZE7HYDo/s400/NavApp.gif&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5194716816762440530&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;Just as importantly, a WYSIWYG Ajax editor provides a much  easier on-ramp to learning Ajax  programming, opening up a much larger market opportunity. Today, the perceived  difficulty of learning Ajax  can drive developers often choose proprietary solutions by default.&lt;/p&gt;Until it is easy to build Ajax user interfaces, the ability to build  rich internet applications will be restricted to only the most skilled  developers. Broad adoption of Ajax  requires easy-to-use, WYSIWYG Ajax tools.&lt;br /&gt;&lt;h2&gt;Why Visualize Your UI?&lt;/h2&gt;&lt;p&gt;Why do you want to visualize your UI while you are building  it? As the client gets thicker, the interactions get more complex. As  interactions get richer, the potential for wasting a lot of time coding grows.  To torture a metaphor: in Ajax,  a picture of your UI can save a thousand lines of code.&lt;/p&gt;&lt;p&gt;Alex Russell of &lt;a href=&quot;http://www.sitepen.com/&quot;&gt;Sitepen&lt;/a&gt; talked about &lt;a href=&quot;http://visualajax.blogspot.com/2008/03/saving-ourselves-from-unweb.html&quot;&gt;saving ourselves from the unweb&lt;/a&gt; at the Visual Ajax User Group  on the value of &lt;a href=&quot;http://en.wikipedia.org/wiki/HTML#Semantic_HTML&quot;&gt;Semantic HTML&lt;/a&gt; for building Ajax apps. From our perspective, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Semantic_Web&quot;&gt;semantic  web&lt;/a&gt; may be coming, but it ain’t here yet (look here for more on &lt;a href=&quot;http://developer.mozilla.org/presentations/sxsw2007/the_open_web/&quot;&gt;the open web&lt;/a&gt;). In particular, HTML parsing and  rendering can be slow. While other visual design tools may take different  paths, the particular approach that WaveMaker chose was to use &lt;a href=&quot;http://www.json.org/&quot;&gt;JSON (Javascript  Object Notation)&lt;/a&gt; instead HTML/XML.&lt;/p&gt;&lt;h2&gt;How a WYSYWYG Ajax  editor works&lt;/h2&gt;&lt;p&gt;A WYSYWYG Ajax editor is meant to make Ajax widget layout easy,  without hamstringing the developer. The general things that  any visual Ajax  editor needs to be able to do include:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;Ajax&lt;/strong&gt;&lt;strong&gt; page designer&lt;/strong&gt;: the page designer  includes palettes of widgets, a WYSIWYS page editor, and property inspectors to  change widget properties.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Drag and drop&lt;/strong&gt;: developers can move  widgets from the palette onto the page designer.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Visual feedback loop&lt;/strong&gt;: developers can see  how their page will look and change widgets on the fly to see the effect on the  design (e.g., sizing, positioning).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Generate Ajax  code&lt;/strong&gt;: the Ajax  editor generates the appropriate css, html and JavaScript to implement the  design at runtime.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Import/export widgets&lt;/strong&gt;: there is a  straightforward way to create new widgets and import them into the Ajax editor to create a  robust ecosystem of 3rd party widgets.&lt;/li&gt;&lt;/ol&gt;&lt;h2&gt;Rules for making WYSYWYG-able Widgets&lt;/h2&gt;&lt;p&gt;Ideally, a WYSYWYG editor should be widget agnostic – it  should be able to support several different Ajax widget libraries. More importantly,  people who build widgets should design the widgets up front for visual tool-ability.  Good widget design can reduce or even eliminate the back-end coding needed to  bring a widget into a visual Ajax  tool.&lt;/p&gt;&lt;p&gt;WaveMaker is a visual Ajax  designer that can host a variety of toolkits and widgets. Our experience  developing WaveMaker has enabled us to crystallize seven widget design  principles that simplify the task of hosting the widgets in a visual design  tool:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Portability is critical&lt;/strong&gt;: no matter how  good a tool is, developers need the flexibility to switch tools. If the output  of a WYSIWYG Ajax editor can’t be edited in vi, then the proprietary lock-in  may outweigh the tool’s short-term benefits. Similarly, a widget that  introduces its own markup language will require its own proprietary tools  (think Silverlight).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Performance counts: &lt;/strong&gt;an Ajax  editor needs to produce Ajax  apps that have acceptable load times and responsiveness, making it easy, for  example, to produce minified JavaScript. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Well defined dependencies&lt;/strong&gt;: make it easy  for the tool to discover and incorporate images, css and other libraries  required by a widget.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Limit create only functionality&lt;/strong&gt;:  a WYSIWYG tool need to be able to change  properties like sizing and positioning dynamically, not just at the time of  widget creation. Having to recreate the object every time a property changes is  inefficient.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Straightforward APIs:&lt;/strong&gt; widgets should  follow an API naming convention (e.g., for getting and setting attributes) that  simplifies exposing properties through a visual tool.&lt;strong&gt; &lt;/strong&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Automatic re-rendering&lt;/strong&gt;: Widgets should  also be responsible for updating their visual representation when their properties  change. One good way to do this is via property setter methods.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Make it easy to expose events&lt;/strong&gt;: a naming  convention where all event methods start with onFoo makes it easier for a tool  to be smart about what events a widget can respond to and then expose them in a  straightforward way.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;A good example of a WYSYWYG-able Widget is &lt;a href=&quot;http://www.fckeditor.net/&quot;&gt;FCKEdit&lt;/a&gt;. This is  a heavy-weight widget that is completely self-contained and comes with an  &lt;a href=&quot;http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Integration/JavaScript#Method_3&quot;&gt;Ajax-friendly JavaScript integration&lt;/a&gt; technique. On the other hand, FCKEditor  does not expose resizing hooks (we had to figure that part out on our own).&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://dojotoolkit.org/projects/dijit&quot;&gt;Dojo Dijits&lt;/a&gt; contains a whole library of WYSYWYG-able Widgets. A  visual Ajax  tool like Wavemaker can easily wrap Dojo widgets with Javascript “meta-data” descriptors  that allows the studio to create generalized property editors. The same process  can be used to make other Ajax  widget libraries available within studio, such as &lt;a href=&quot;http://www.google.com/ig/directory?synd=open&quot;&gt;Google Gadgets&lt;/a&gt; and &lt;a href=&quot;http://www.blogger.com/www.extjs.com&quot;&gt;Ext&lt;/a&gt;.&lt;/p&gt;&lt;h2&gt;Tooling the Dojo grid&lt;/h2&gt;&lt;p&gt;The trick in tooling a complex widget is to determine what  behaviors to tool. The goal is to provide the right subset of features through  the tool without preventing the developer from going in afterwards and  creating what they need.&lt;/p&gt;&lt;p&gt;For example, the Dojo grid is tremendously capable. Not all  these capabilities are accessible through WaveMaker, such as fixed columns,  combined cells and subrows. Think about all the things you can do with Excel  and how long it took for Excel to get it’s grid tooling right. In the same way,  WaveMaker is exposing a subset of Dojo grid features today, and will increase  the richness of those capabilities over time.&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFSg1f83ysWEFTaNVda7eOIT8mgGN3w3zd6XOiBsI-HYnXSx-kONrmHDfrN8-Lq3YrAFqVNqpq8fa-VGLVUWCdeNuCoP7xU8tCFknO4RR9LjDePlKYcOEtretIHKZyJdQaY0Qc1p-SwMQ/s1600-h/DojoGrid.gif&quot;&gt;&lt;img style=&quot;margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFSg1f83ysWEFTaNVda7eOIT8mgGN3w3zd6XOiBsI-HYnXSx-kONrmHDfrN8-Lq3YrAFqVNqpq8fa-VGLVUWCdeNuCoP7xU8tCFknO4RR9LjDePlKYcOEtretIHKZyJdQaY0Qc1p-SwMQ/s400/DojoGrid.gif&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5194766281900788578&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Options for representing the Dojo grid data included raw javascript, table markup and json.&lt;/p&gt;&lt;p&gt;An equally difficult challenge is deciding what code to  generate to implement a given Dojo grid definition. In general, there are three  options:&lt;br /&gt;&lt;/p&gt;&lt;ol start=&quot;1&quot; type=&quot;1&quot;&gt;&lt;li&gt;&lt;strong&gt;Semantic HTML&lt;/strong&gt;: generate HTML that       includes rich Dojo grid semantics&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;Raw Javascript&lt;/strong&gt;: chuck HTML and       define the grid in Javascript&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;strong&gt;JSON&lt;/strong&gt;:       uses an object notation instead of semantic HTML to speed parsing&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The following three sections give examples of these  different approaches&lt;/p&gt;&lt;h2&gt;Semantic HTML Markup definition for a Dojo grid&lt;/h2&gt;&lt;p&gt;The following example comes from the &lt;a href=&quot;http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/grid/tests/test_markup.html&quot;&gt;Dojo Nightly builds  grid tests&lt;/a&gt;. It shows a way to use “enriched” HTML to define a Dojo Grid (a la  Alex Russell). The really cool thing is that this code runs even if JavaScrip  is turned off in the browser. &lt;/p&gt;&lt;p&gt;If you already know how to code html tables, this is an  elegant approach. However, its elegance and readability is offset by the  performance hit the application takes in parsing the HTML.&lt;/p&gt;&lt;pre&gt;&amp;lt;table dojoType=&quot;dojox.grid.Grid&quot;&lt;br /&gt;store=&quot;csvStore&quot;&lt;br /&gt;query=&quot;{ Title: &#39;*&#39; }&quot;&lt;br /&gt;clientSort=&quot;true&quot;&lt;br /&gt;style=&quot;width: 800px; height: 300px;&quot;&amp;gt;&lt;br /&gt;&amp;lt;thead&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;lt;th width=&quot;300px&quot; field=&quot;Title&quot;&amp;gt;Title&amp;lt;/th&amp;gt;&lt;br /&gt;&amp;lt;th width=&quot;5em&quot;&amp;gt;Year&amp;lt;/th&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&amp;lt;th colspan=&quot;2&quot;&amp;gt;Producer&amp;lt;/th&amp;gt;&lt;br /&gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/thead&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;h2&gt;Raw Javascript definition for a Dojo grid&lt;/h2&gt;&lt;p&gt;&lt;a href=&quot;http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/grid/tests/test_grid.html&quot;&gt;&lt;/a&gt;The following example shows setting up a &lt;a href=&quot;http://archive.dojotoolkit.org/nightly/dojotoolkit/dojox/grid/tests/test_grid.html&quot;&gt;Dojo grid using raw  JavaScript&lt;/a&gt;. Although JavaScript is powerful and expressive, this essentially  junks sSemantic HTML concept in favor of just getting ‘er done. is, however, confusing and difficult to read.&lt;/p&gt;&lt;pre&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&lt;br /&gt;// a grid view is a group of columns&lt;br /&gt;var view1 = {&lt;br /&gt;cells: [[&lt;br /&gt;{name: &#39;Column 0&#39;},  {name: &#39;Column 1&#39;, width: &quot;150px&quot;},&lt;br /&gt;],[&lt;br /&gt;{name: &#39;Column 8&#39;, field: 3, colSpan: 2}&lt;br /&gt;]]&lt;br /&gt;};&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;h2&gt;Json definition for a Dojo grid:&lt;/h2&gt;&lt;p&gt; Json (JavaScript Object Notation) represents a third way to  represent grids. To see this in action, look at the widget source tab in the  &lt;a href=&quot;http://www.wavemaker.com/downloads&quot;&gt;WaveMaker page designer&lt;/a&gt;. The main benefit is that it is readable and plugs easily into  a visual Ajax  tool JSON provides a highly readable, name/value pair approach to defining  widget parameters. Best of all, it provides a format for widgets that parses  and renders quickly and enables easy data interchange between the visual  studio, the browser and the application server.&lt;/p&gt;&lt;pre&gt;dataGrid1: [&quot;turbo.DataGrid&quot;, {}, {}, {&lt;br /&gt;column: [&quot;turbo.DataGridColumn&quot;,&lt;br /&gt;{caption: &quot;Name&quot;, columnWidth: &quot;50px&quot;}, {},&lt;br /&gt;column1: [&quot;turbo.DataGridColumn&quot;,&lt;br /&gt;{caption: &quot;Addr&quot;, columnWidth: &quot;100px&quot;, index: 1}, {},&lt;br /&gt;}]&lt;/pre&gt;&lt;h2&gt;Summary&lt;/h2&gt;&lt;p&gt;Until there are visual tools that simplify the task of building Ajax user interfaces, the ability to create  rich internet applications will be restricted to only the most skilled  developers. Broad adoption of Ajax  requires easy-to-use, WYSIWYG Ajax tools. WaveMaker is an example of an open  source development platform that includes a WYSIWYG Ajax editor. Try it out and  let us know what you think at &lt;a href=&quot;http://www.wavemaker.com/downloads&quot;&gt;http://www.wavemaker.com/downloads&lt;/a&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/8391035961286369009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/8391035961286369009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/8391035961286369009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/8391035961286369009'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/04/case-for-wysiwyg-ajax-tools.html' title='The Case For WYSIWYG Ajax Tools'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9AZrgeuzk5TFwyBPbapZJdAK-JVoe19_PndVAnhJKx2VfiXmOmbUI8yQiqH6s4Al52_yvgAEQiCapk78EVdVIAGBLrOoXXqzpgDsh49uQ2aJ9ZwWvYQt4ngrTtkR2rkGDpfOLZE7HYDo/s72-c/NavApp.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-4293769438147094108</id><published>2008-04-14T11:54:00.000-07:00</published><updated>2008-04-14T12:15:51.160-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Visual Ajax"/><title type='text'>Visual Ajax Webinar Thursday, April 17 at 12 PST</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxaYmlrTcO6Bn6Bk_dDaIUK-DRzEGW2yY3ZMF3EsUbdICnQ1bXf7Y9iYDORjRoRFqAxJUeP_LdQg7sPhhmTAUjxdLin8ndDIR-GdpboYJ3-XeoLO6U-XMbF46yAbouAjsjjSByOTq0xIk/s1600-h/escher13.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxaYmlrTcO6Bn6Bk_dDaIUK-DRzEGW2yY3ZMF3EsUbdICnQ1bXf7Y9iYDORjRoRFqAxJUeP_LdQg7sPhhmTAUjxdLin8ndDIR-GdpboYJ3-XeoLO6U-XMbF46yAbouAjsjjSByOTq0xIk/s200/escher13.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5189177325164366978&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;The next &lt;a href=&quot;http://visualajax.org/&quot;&gt;Visual Ajax User Group&lt;/a&gt; webinar and meeting will be next Thursday, April 17 at 12 PST. The speakers will be Scott Miles and Steve Orvell. Scott is the module owner for the Dojo Grid and Steve is a core contributor for the &lt;a href=&quot;http://dojotoolkit.org/book/dojo-book-0-9/docx-documentation-under-development/grid&quot;&gt;Dojo Grid&lt;/a&gt;. They will be talking about &quot;Ajax Grids - Taming and Tooling The Widget Beast.&quot;&lt;br /&gt;&lt;br /&gt;To attend the webinar, send an email to &lt;a href=&quot;mailto:rsvp@visualajax.org&quot;&gt;rsvp@visualajax.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Our last meeting was a lively discussion led by Alex Russell on  how to overcome the structural challenges of Ajax entitled, &lt;a href=&quot;http://www.keeneview.com/2008/03/saving-ourselves-from-unweb.html&quot;&gt;Saving Ourselves from the Unweb&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;If you wish to attend in person, the meeting will be at the offices of WaveMaker Software, 301 Howard Street, 22nd Floor&lt;br /&gt;&lt;br /&gt;Our next two meeting will feature Ajax experts from two ends of the mashup spectrum:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;   May 15 - &lt;a href=&quot;http://www.kapowtech.com/about_management.html&quot;&gt;Stefan Andreasen, CTO, Kapow&lt;/a&gt; - Data Enabling the Ajax Mashup&lt;/li&gt;&lt;li&gt;   June 19 - &lt;a href=&quot;http://adamsah.net/%7Easah/&quot;&gt;Adam Sah, Architect, Google Gadgets&lt;/a&gt; - Ajax-enabled Google - Architecting Google Widgets/Gadgets and Ads&lt;/li&gt;&lt;/ul&gt;Please let us know if there is a topic or speaker you would like to see in an upcoming meeting by sending email to &lt;a href=&quot;mailto:info@visualajax.org&quot;&gt;info@visualajax.org&lt;/a&gt;. For more information on the Visual Ajax User Group, click &lt;a href=&quot;http://visualajax.org&quot;&gt;here&lt;/a&gt;.</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/4293769438147094108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/4293769438147094108' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/4293769438147094108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/4293769438147094108'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/04/visual-ajax-webinar-thursday-april-17.html' title='Visual Ajax Webinar Thursday, April 17 at 12 PST'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxaYmlrTcO6Bn6Bk_dDaIUK-DRzEGW2yY3ZMF3EsUbdICnQ1bXf7Y9iYDORjRoRFqAxJUeP_LdQg7sPhhmTAUjxdLin8ndDIR-GdpboYJ3-XeoLO6U-XMbF46yAbouAjsjjSByOTq0xIk/s72-c/escher13.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-802656428698679264</id><published>2008-04-03T17:09:00.000-07:00</published><updated>2008-04-03T17:23:47.184-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="mysql"/><category scheme="http://www.blogger.com/atom/ns#" term="Web 2.0"/><title type='text'>Web 2.0 Rock Star Competition At MySQL Conference</title><content type='html'>&lt;a href=&quot;http://www.mysqlconf.com/&quot;&gt;&lt;img src=&quot;http://conferences.oreilly.com/banners/mysql/promote/mysql2008_banner_125x125.gif&quot; alt=&quot;MySQL Conference &amp;amp; Expo 2008&quot; title=&quot;MySQL Conference &amp;amp; Expo 2008&quot; style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 125px;&quot; /&gt;  &lt;/a&gt;If you are planning on attending the MySQL conference in Santa Clara next week, you should definitely check out the BoF session Tuesday night 4/15 @ 8:30 Ballroom E, titled &quot;Be a Web 2.0 Rock Star&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;Anand Pandey of MySQL will be conducting a hands-on training session on the open source &lt;a href=&quot;http://www.wavemaker.com/&quot;&gt;WaveMaker visual &lt;st1:city st=&quot;on&quot;&gt;&lt;st1:place st=&quot;on&quot;&gt;Ajax&lt;/st1:place&gt;&lt;/st1:city&gt; studio&lt;/a&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot;&gt;For added excitement, there will also be a speed Web 2.0 code-a-thon with judging by &lt;a href=&quot;http://jpipes.com/index.php&quot;&gt;Jay Pipes&lt;/a&gt; and cool prizes (not to mention free beer and roving Elvis impersonators)&lt;/p&gt;  &lt;div style=&quot;text-align: center;&quot;&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Release your inner geek at this festive Web 2.0 code-athon!&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;For newbies, get an up-close look at the latest Ajax and Web 2.0 technologies.&lt;/li&gt; &lt;li&gt;For rock stars, prove that you&#39;ve got what it takes to be a Web 2.0 rock star!&lt;/li&gt;&lt;/ul&gt;This BoF mixes hands on tutorials for Ajax and Web 2.0 newbies with the action and excitement of a white knuckle coding competition.&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Rules for the Web 2.0 Rock Star competition:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Start with a blank screen and your favorite Web 2.0 tools&lt;/li&gt; &lt;li&gt;Build a cool Web 2.0/MySQL app in 30 minutes or less&lt;/li&gt; &lt;li&gt;There is no rule 3&lt;/li&gt; &lt;/ol&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Wanna Be Elvis for an Evening? Here&#39;s How&lt;/span&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_FI_kX6gHoe1ww1pBJ2U6Y0tTZ9vZs1jq8tASwnZuiTyLEHX7uINBRV8TpDHfnholh7ZtiHm8O0v6TqBC2IuyoLOp9HDrVrPLx396WhunhZrf2udtShrw9hGScjGvUoO2T97-FGYOffc/s1600-h/elvis.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 30px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_FI_kX6gHoe1ww1pBJ2U6Y0tTZ9vZs1jq8tASwnZuiTyLEHX7uINBRV8TpDHfnholh7ZtiHm8O0v6TqBC2IuyoLOp9HDrVrPLx396WhunhZrf2udtShrw9hGScjGvUoO2T97-FGYOffc/s200/elvis.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5185178911403032802&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Our panel of distinguished gearheads will award prizes in 5 categories:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Fastest Web 2.0 in the West - most functionality in the shortest time&lt;/li&gt; &lt;li&gt;Coolest Web 2.0 app - most likely to appear on TechCrunch&lt;/li&gt; &lt;li&gt;Funkiest Ajax widget - most strangely fascinating UI&lt;/li&gt; &lt;li&gt;Gnarliest database call - unleash the beast inside of every MySQL server!&lt;/li&gt; &lt;li&gt;Geekiest Ajax app - most Knuth-worthy implementation&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/802656428698679264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/802656428698679264' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/802656428698679264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/802656428698679264'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/04/web-20-rock-star-competition-at-mysql.html' title='Web 2.0 Rock Star Competition At MySQL Conference'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_FI_kX6gHoe1ww1pBJ2U6Y0tTZ9vZs1jq8tASwnZuiTyLEHX7uINBRV8TpDHfnholh7ZtiHm8O0v6TqBC2IuyoLOp9HDrVrPLx396WhunhZrf2udtShrw9hGScjGvUoO2T97-FGYOffc/s72-c/elvis.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-1808287818998241161</id><published>2008-04-02T17:54:00.000-07:00</published><updated>2008-04-02T18:32:44.577-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Adobe"/><category scheme="http://www.blogger.com/atom/ns#" term="AJAX"/><category scheme="http://www.blogger.com/atom/ns#" term="Flex"/><category scheme="http://www.blogger.com/atom/ns#" term="Gaia"/><category scheme="http://www.blogger.com/atom/ns#" term="RIA"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Ajax"/><title type='text'>7 Reasons Not To Use Flex</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiixRRfurkybSpdtm-fv-BaLRMtUbyvOk4hEh2dYMVCIph-g3gbcspJ2heqEdBV6x4dhXONreSzwgeY7DKl-fCYiahhX0RQE800IsImXqAMvy8AIUrnNcg4TkECkOYTG6X9bDMFC4iqM3c/s1600-h/baddogpcweb.jpg&quot;&gt;&lt;img style=&quot;margin: 10pt 30px 10px 10pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiixRRfurkybSpdtm-fv-BaLRMtUbyvOk4hEh2dYMVCIph-g3gbcspJ2heqEdBV6x4dhXONreSzwgeY7DKl-fCYiahhX0RQE800IsImXqAMvy8AIUrnNcg4TkECkOYTG6X9bDMFC4iqM3c/s200/baddogpcweb.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5184818112675332306&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://ajaxwidgets.com/Blogs/thomas.bb&quot;&gt;Thomas Hansen&lt;/a&gt; of Gaia has an entertaining anti-Flex rant &lt;a href=&quot;http://ajaxwidgets.com/Blogs/thomas/7_reasons_not_to_consider_usin.bb&quot;&gt;here &lt;/a&gt;(with even more entertaining comments featuring an array of Adobe Flex stooges all commenting as Anonymous).&lt;br /&gt;&lt;br /&gt;I&#39;m not sure I agree with all his points (see my &lt;a href=&quot;http://www.keeneview.com/2008/03/look-how-rich-and-thin-we-are-state-of.html&quot;&gt;State of the RIA market&lt;/a&gt; post or &lt;a href=&quot;http://www.keeneview.com/2007/09/really-idiotic-approaches-to-ria-flex.html&quot;&gt;Really Idiotic Approches to RIA&lt;/a&gt;), but sometimes it&#39;s just fun to stir the pot. Here are his top 7 reasons not to use Flex:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Adobe Flex effectively don&#39;t care about any of the web standards we have spent the last 4 decades building&lt;/li&gt;  &lt;li&gt;Adobe Flex is a BINARY RIA Framework&lt;/li&gt;  &lt;li&gt;Adobe Flex will effectively render your website invisible to Search Engines&lt;/li&gt;  &lt;li&gt;You don&#39;t know the technology needed to use Adobe Flex&lt;/li&gt;  &lt;li&gt;You don&#39;t know who&#39;ll win&lt;/li&gt;  &lt;li&gt;Adobe Flex is immature technology&lt;/li&gt;  &lt;li&gt;Adobe Flex is lock-in technology&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;As the commenters very ably point out, however, Flex is beautiful, cross-browser and works today. Us Ajax folks have got some catchin&#39; up to do!</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/1808287818998241161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/1808287818998241161' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/1808287818998241161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/1808287818998241161'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/04/7-reasons-not-to-use-flex.html' title='7 Reasons Not To Use Flex'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiixRRfurkybSpdtm-fv-BaLRMtUbyvOk4hEh2dYMVCIph-g3gbcspJ2heqEdBV6x4dhXONreSzwgeY7DKl-fCYiahhX0RQE800IsImXqAMvy8AIUrnNcg4TkECkOYTG6X9bDMFC4iqM3c/s72-c/baddogpcweb.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-6245655700077701270</id><published>2008-03-28T17:49:00.000-07:00</published><updated>2008-04-23T11:04:32.843-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AJAX"/><category scheme="http://www.blogger.com/atom/ns#" term="dojo"/><category scheme="http://www.blogger.com/atom/ns#" term="Flex"/><category scheme="http://www.blogger.com/atom/ns#" term="Silverlight"/><category scheme="http://www.blogger.com/atom/ns#" term="WaveMaker"/><title type='text'>Saving Ourselves From the Unweb</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.keeneview.com/uploaded_images/salvation_guaranteed-739291.jpg&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;http://www.keeneview.com/uploaded_images/salvation_guaranteed-739287.jpg&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;i&gt;[This article is based on a talk by &lt;a href=&quot;http://alex.dojotoolkit.org/&quot;&gt;Alex Russell&lt;/a&gt;, the co-founder of &lt;a href=&quot;http://dojotoolkit.org/&quot;&gt;Dojo&lt;/a&gt; (and Director of R&amp;amp;D at &lt;a href=&quot;http://www.sitepen.com&quot;&gt;Sitepen&lt;/a&gt;), that he gave at the Visual Ajax User Group, with added editorializing and pontification by &lt;a href=&quot;http://www.keeneview.com/&quot;&gt;Chris Keene&lt;/a&gt;, CEO of &lt;a href=&quot;http://www.wavemaker.com/&quot;&gt;WaveMaker&lt;/a&gt;. You can safely assume that anything insightful and true came from Alex&#39;s talk and anything smarmy and argumentative is part of Chris&#39; &quot;value add&quot;]&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;The original use case for the web - researchers working with static documents - doesn&#39;t bear much resemblance to the multi-media, consumer-oriented web we have today. The HTML web browser infrastructure that got us this far won&#39;t get us the rest of the way.&lt;br /&gt;&lt;br /&gt;The web has always been about the worst platform for any particular task (unless your task is to display a poorly formatted doctoral thesis). Ubiquity, searchability and combinability have always made up for the web&#39;s many weaknesses.&lt;br /&gt;&lt;br /&gt;We are reaching a fork in the road, however, where the web&#39;s traditional strengths may be dramatically eroded by a &quot;hollowing out&quot; of the HTML semantics. There are basically two responses to this challenge of evolving the web. They are:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Evolve HTML = Better Semantics, Smarter Clients.&lt;/span&gt; Evolve the existing web by pushing browser vendors to add semantic HTML capabilities that support next generation web apps. This allows for the web to remain a collaborative community that preserves the advantages which the web has traditionally enjoyed even sa it transitions to handle new tasks.&lt;/li&gt;&lt;li&gt;&lt;span style=&quot;font-weight: bold;&quot;&gt;Hollow out HTML = the &quot;Un-web&quot;.&lt;/span&gt; Abandon HTML and replace it with a powerful but proprietary alternative like &lt;a href=&quot;http://www.adobe.com/products/flex/&quot;&gt;Adobe Flex&lt;/a&gt; or &lt;a href=&quot;http://www.microsoft.com/silverlight/default_ns.aspx&quot;&gt;Microsoft Silverlight&lt;/a&gt;. Let&#39;s call this the Un-web, as it carves out walled gardens which will curtail the web&#39;s traditional openness.&lt;/li&gt;&lt;/ol&gt;The web needs to evolve to support building the Rich Internet Applications that people want to use. At the same time, web tools need to evolve to be able to handle the increasing complexity of building these apps.&lt;br /&gt;&lt;h2&gt;Example of Semantic HTML - The Dojo Grid&lt;/h2&gt;Web development and customer expectations have far outstripped the table management capabilities of HTML. Why do we expect so little from HTML? Is it too much to ask for capabilities like locked columns and subcolumn formatting? Is the only solution to improve the grid to break HTML by going to a proprietary solution like Silverlight?&lt;br /&gt;&lt;br /&gt;A great example of how to evolve the web through semantic HTML is the Dojo grid, which was contributed to the Dojo project by WaveMaker engineers Scott Miles and Steve Orvell.&lt;br /&gt;&lt;br /&gt;Here is a screenshot of a &lt;a href=&quot;http://ajaxian.com/archives/plugging-in-to-the-dojo-grid&quot;&gt;Dojo Grid&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;http://www.keeneview.com/uploaded_images/SimpleDojoGrid-739296.gif&quot;&gt;&lt;img style=&quot;margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;&quot; src=&quot;http://www.keeneview.com/uploaded_images/SimpleDojoGrid-739293.gif&quot; alt=&quot;&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With Dojo 1.1, we can use HTML that has additional semantics &quot;layered on&quot; to create a grid like this. Note that it looks a lot like normal HTML beefed up with extra attributes to encode the semantics that allow us to &quot;say what we mean&quot;:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;SPAN DOJOTYPE=&quot; dojox.data.CsvStore&quot;&lt;br /&gt;JSID=&quot; csvStore&quot;  URL=&quot; names.csv&quot; &amp;gt;&lt;br /&gt;&amp;lt;/SPAN&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;TABLE DOJOTYPE=&quot; dojox.grid.Grid&quot;&lt;br /&gt;STORE=&quot; csvStore&quot;  QUERY=&quot; { Title: &#39;*&#39; }&quot;  CLIENTSORT=&quot; true&quot;&lt;br /&gt;STYLE=&quot; width: 800px; height: 300px;&quot; &amp;gt;&lt;br /&gt;&amp;lt;THEAD&amp;gt;&lt;br /&gt;&amp;lt;TR&amp;gt;&lt;br /&gt; &amp;lt;TH WIDTH=&quot; 300px&quot;  FIELD=&quot; lastName&quot; &amp;gt; Last&amp;lt;/TH&amp;gt;&lt;br /&gt; &amp;lt;TH FIELD=&quot; firstName&quot; &amp;gt; First&amp;lt;/TH&amp;gt;&lt;br /&gt;&amp;lt;/TR&amp;gt;&lt;br /&gt;&amp;lt;/THEAD&amp;gt;&lt;br /&gt;&amp;lt;/TABLE&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The Dojo grid also showcases a core strength of Dojo - it&#39;s disciplined architectural approach. The Dojo architecture focuses on extending HTML semantics in an layered way that still give us room for HTML to evolve to meet usage like this half-way in the future (e.g., with the HTML 5 &lt;datagrid&gt; tag). Note that we use a non-semantic tag (a span) to denote something that exposes a fundamentally new capability (data stores), but extend existing HTML semantics for grid configuration.&lt;br /&gt;&lt;br /&gt;The result is a very clean layering of Dojo semantics on top of vanilla HTML and css. For example, even with Javascript turned off in the browser, you can still tell what the Dojo grid is supposed to be doing. We can even supply the data via an HTML table in order to get full downward-compatibility.&lt;br /&gt;&lt;br /&gt;Replacing HTML with Javascript is enticing but dangerous. Dojo uses Javascript to extend HTML semantically rather than throwing it away. Adding semantics to HTML gives HTML the carrying capacity to support next generation of web design.&lt;br /&gt;&lt;/datagrid&gt;&lt;h2&gt;Hollowing Out HTML - The Un-Web&lt;/h2&gt;While parts of the web evolve, there are also web constraints that don&#39;t change, such as the latency of communication and the static application deployment environment (aka browser + plugins). There are huge restrictions in not being able to send down an execution binary along with each web app, but huge deployment efficiencies as well.&lt;br /&gt;&lt;br /&gt;One way to overcome the limitations of HTML is to replace HTML with &lt;a href=&quot;http://www.keeneview.com/2008/02/why-is-there-air-bill-cosby-versus.html&quot;&gt;proprietary web technologies like Flex and Silverlight&lt;/a&gt;. These technologies pose the risk is that the searchable, collaborative HTML web that we know and love gets hollowed out from the inside. This effectively carves out areas of the web that are not searchable or combinable with anything that has gone before.&lt;br /&gt;&lt;h2&gt;Save The Web - One Browser At A Time&lt;/h2&gt;It is up to the Ajax and open source communities to &quot;liberate&quot; the HTML web from the Unweb. For example, &quot;liberating&quot; the Dojo grid is an on-going community effort involving large amounts of goodwill, time and cash.&lt;br /&gt;&lt;br /&gt;Rapid evolution of the HTML browser can get us to the future, but only if we get a lot more demanding of the web browser manufacturers. What we can&#39;t afford is another 6 year drought like what we got when Netscape abandoned the browser wars and Microsoft IE had the world all to itself.&lt;br /&gt;&lt;br /&gt;The key to the web&#39;s future is real competition between the browser vendors that will force them to evolve the browser quickly. These features include:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Auto update capabilities&lt;/li&gt;&lt;li&gt;3-d rendering&lt;/li&gt;&lt;li&gt;Support for new semantics in HTML&lt;/li&gt;&lt;li&gt;In short, give us native ability within the browser to do what we otherwise have to do in Javascript libraries&lt;/li&gt;&lt;/ul&gt;What we know is that we have never gotten good browser enhancements and tools from the market leader. So now you know what you need to do to save the web - download and use the underdog web browser and give it all the love you can ;-)</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/6245655700077701270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/6245655700077701270' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/6245655700077701270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/6245655700077701270'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/03/saving-ourselves-from-unweb.html' title='Saving Ourselves From the Unweb'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-2450454065903495152</id><published>2008-03-13T10:36:00.000-07:00</published><updated>2008-03-13T10:41:02.113-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AJAX"/><category scheme="http://www.blogger.com/atom/ns#" term="dojo"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Ajax"/><title type='text'>Visual Ajax Webinar with Alex Russell - March 20 at 12PST</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-0xySCgzHRsGFVIxo8EC5uqS7vyT0cXroMXom5K7BNsWXDSu5lgpygBNYICIAgNsCjQQ3fszJGjJkndjo6KMf3tgReAeIsnY8P06kl4h88LoIa7R60O1XeGZr5bZh6wW5KFfBB0W9zVI/s1600-h/deadline1.jpg&quot;&gt;&lt;img style=&quot;margin: 10pt 20px 20px 10pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-0xySCgzHRsGFVIxo8EC5uqS7vyT0cXroMXom5K7BNsWXDSu5lgpygBNYICIAgNsCjQQ3fszJGjJkndjo6KMf3tgReAeIsnY8P06kl4h88LoIa7R60O1XeGZr5bZh6wW5KFfBB0W9zVI/s200/deadline1.jpg&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5177280930509950994&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;The first &lt;a href=&quot;http://visualajax.org/&quot;&gt;Visual Ajax User Group&lt;/a&gt; webinar will be next Thursday, March 20 at 12 PST. The speaker will be Alex Russell, co-author of the Dojo toolkit. He will be talking about &quot;The Zen of Web 2.0 - How to Make Web App Development Effortless.&quot;&lt;br /&gt;&lt;br /&gt;To sign up, send an email to &lt;a href=&quot;mailto:rsvp@visualajax.org&quot;&gt;rsvp@visualajax.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The meeting will be at the offices of &lt;a href=&quot;http://www.wavemaker.com/&quot;&gt;WaveMaker Software&lt;/a&gt;, 301 Howard Street, 22nd Floor, but space is limited and we are nearing capacity. There is plenty of room on the webinar though :-)&lt;br /&gt;&lt;br /&gt;We also wanted to solicit input on future meetings. The next two meetings have been scheduled as follows:&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;April 17 - Scott Miles, Dojo Grid Creator- Tooling the Ajax Grid&lt;/li&gt;&lt;li&gt;May 15 - Stefan Andreasen, CTO, &lt;a href=&quot;http://www.kapowtech.com&quot;&gt;Kapow &lt;/a&gt;- Visualizing the Mashup &lt;/li&gt;&lt;/ul&gt;We do not yet have speakers for the remaining meetings for the year. Here are some of the people we think it would be interesting to have speak:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Jack Slocum, CEO, Ext&lt;/li&gt;&lt;li&gt;Daya Baran, WebGuild&lt;/li&gt;&lt;li&gt;John Brennan, Adobe&lt;/li&gt;&lt;li&gt;Kevin Hakman, Tibco General Interface&lt;/li&gt;&lt;li&gt;Paul Colton, Aptana&lt;/li&gt;&lt;li&gt;Adam Sah, Google Gadgets&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Who do you think we should invite? Please leave your suggestions in the comments.</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/2450454065903495152/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/2450454065903495152' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/2450454065903495152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/2450454065903495152'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/03/visual-ajax-webinar-with-alex-russell_13.html' title='Visual Ajax Webinar with Alex Russell - March 20 at 12PST'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-0xySCgzHRsGFVIxo8EC5uqS7vyT0cXroMXom5K7BNsWXDSu5lgpygBNYICIAgNsCjQQ3fszJGjJkndjo6KMf3tgReAeIsnY8P06kl4h88LoIa7R60O1XeGZr5bZh6wW5KFfBB0W9zVI/s72-c/deadline1.jpg" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-8386540768152951812</id><published>2008-03-05T11:37:00.000-08:00</published><updated>2009-04-21T09:16:55.151-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AJAX"/><category scheme="http://www.blogger.com/atom/ns#" term="dojo"/><category scheme="http://www.blogger.com/atom/ns#" term="Hibernate"/><category scheme="http://www.blogger.com/atom/ns#" term="iWebMVC"/><category scheme="http://www.blogger.com/atom/ns#" term="Spring"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Ajax"/><title type='text'>Ajax Studio for Mac - iWebMvc</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1m38swx0p9YqhI23qSMMmM3Uk2TUK5NOqBqHdcd-IbzfmuMbYhgGswTwMH80FynDSg0mQRSfUJII7E-J-C9zWJOgVpcZA08NgHa-pV-GcYVLhVtU-8MHgabzGifemzqMPnN_ElUOh8OQ/s1600-h/iwebmvc-screenshot.png&quot;&gt;&lt;img style=&quot;margin: 10pt 20px 20px 10pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1m38swx0p9YqhI23qSMMmM3Uk2TUK5NOqBqHdcd-IbzfmuMbYhgGswTwMH80FynDSg0mQRSfUJII7E-J-C9zWJOgVpcZA08NgHa-pV-GcYVLhVtU-8MHgabzGifemzqMPnN_ElUOh8OQ/s200/iwebmvc-screenshot.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5174345406657521330&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Ajaxian has an interesting article on a &lt;a href=&quot;http://ajaxian.com/archives/iwebmvc-dwr-dojo-spring-and-hibernatejpa&quot;&gt;visual Ajax IDE for the mac&lt;/a&gt; that  creates apps that run on Dojo, Spring, Hibernate. &lt;a href=&quot;http://getahead.org/blog/joe/2008/03/04/iwebmvc_preview.html&quot;&gt;Joe Walker&#39;s blog&lt;/a&gt; also talks about the objectives of the project, which include:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Is based on Java&lt;/b&gt;&lt;br /&gt;Although supporting Grooy / JRuby is a plus&lt;/li&gt;&lt;li&gt;&lt;b&gt;Helps me to kick start a project&lt;/b&gt;&lt;br /&gt;But simplifying the process by giving me the best (and this can be tricky) set of frameworks for each task&lt;/li&gt;&lt;li&gt;&lt;b&gt;Integrates both server and client sides&lt;/b&gt;&lt;br /&gt;And it&#39;s lightweight, robust and extensible. Read &lt;i&gt;enterprise quality&lt;/i&gt;.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Supports all the common tasks a web app has to handle&lt;/b&gt;&lt;br /&gt;I include here: User Management, CRUD operations, i18n support (both framework &amp;amp; data), AJAX and astounding visuals&lt;/li&gt;&lt;/ul&gt;It looks like the momentum for a Dojo/Spring/Hibernate stack continues to build!</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/8386540768152951812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/8386540768152951812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/8386540768152951812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/8386540768152951812'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/03/visual-ajax-studio-for-mac-iwebmvc.html' title='Ajax Studio for Mac - iWebMvc'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1m38swx0p9YqhI23qSMMmM3Uk2TUK5NOqBqHdcd-IbzfmuMbYhgGswTwMH80FynDSg0mQRSfUJII7E-J-C9zWJOgVpcZA08NgHa-pV-GcYVLhVtU-8MHgabzGifemzqMPnN_ElUOh8OQ/s72-c/iwebmvc-screenshot.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1183638173289166563.post-5646409014707395359</id><published>2008-03-03T11:14:00.000-08:00</published><updated>2008-04-07T16:04:48.621-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Adobe"/><category scheme="http://www.blogger.com/atom/ns#" term="Adobe Air"/><category scheme="http://www.blogger.com/atom/ns#" term="Air"/><category scheme="http://www.blogger.com/atom/ns#" term="AJAX"/><category scheme="http://www.blogger.com/atom/ns#" term="Flash"/><category scheme="http://www.blogger.com/atom/ns#" term="Flex"/><category scheme="http://www.blogger.com/atom/ns#" term="Silverlight"/><title type='text'>More hot AIR</title><content type='html'>&lt;a onblur=&quot;try {parent.deselectBloggerImageGracefully();} catch(e) {}&quot; href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIuyrboU5lw-kVpUpajkoj1O2dlGmNoPv9MNaubmY7GLKYcu8Oh2xqSLEJOMwGzfiTFI6GC8dPmOC_d8lFFiTOm8PKM3pSzkid4bJf2qmXwxzG4JALj24c8gX9GzOKZGL18biPaElv_ac/s1600-h/fair+and+balanced.png&quot;&gt;&lt;img style=&quot;margin: 10pt 20px 20px 10pt; float: left; cursor: pointer;&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIuyrboU5lw-kVpUpajkoj1O2dlGmNoPv9MNaubmY7GLKYcu8Oh2xqSLEJOMwGzfiTFI6GC8dPmOC_d8lFFiTOm8PKM3pSzkid4bJf2qmXwxzG4JALj24c8gX9GzOKZGL18biPaElv_ac/s200/fair+and+balanced.png&quot; alt=&quot;&quot; id=&quot;BLOGGER_PHOTO_ID_5173600319560365826&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;Tim Anderson&#39;s blog has a good, &quot;fair and balanced&quot; ;-) entry entitled &lt;a href=&quot;http://www.itwriting.com/blog/?p=310&quot;&gt;Adobe AIR 10 reasons to love it, 10 reasons to hate it&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To summarize, he lists&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Reasons to Love AIR: strong visuals, cross platform, fast&lt;/li&gt;&lt;li&gt;Reasons to Hate AIR: limited extensibility, limited database access, security&lt;/li&gt;&lt;/ul&gt; &lt;a href=&quot;http://www.zapthink.com/bios.html&quot;&gt;Ron Schmelzer, a Zapthink analyst&lt;/a&gt;, also wrote about &lt;a href=&quot;http://www.infoworld.com/article/07/10/03/Is-Adobe-vulnerable-to-an-AIR-attack_1.html&quot;&gt;AIR security holes in Infoworld&lt;/a&gt;, with more security folks weighing in &lt;a href=&quot;http://isc.sans.org/diary.html?storyid=4019&quot;&gt;here&lt;/a&gt;.  There is also a fairly curmudgeonly rant from I&#39;m Mike on the &lt;a href=&quot;http://immike.net/blog/2007/07/31/flash-sucks/&quot;&gt;proprietary nature of the Flash platform&lt;/a&gt;, which, BTW, can&#39;t be wished away by open sourcing the tool while keeping the underlying platform locked up.&lt;br /&gt;&lt;br /&gt;By the way, this is not to say that Flash/Flex is bad per se, or that it is any worse than other proprietary platforms like Microsoft Silverlight. In fact there are many good reasons for Ajax developers to use Flex when needed to add graphic/audiovisual capabilities not yet present in Ajax toolkits like Dojo (O&#39;Reilly has a good article about &lt;a href=&quot;http://www.oreillynet.com/onlamp/blog/2008/02/dojo_on_adobe_air_1.html&quot;&gt;Dojo and Adobe&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;It is more to get a sense of urgency in the Ajax community that we gotta lotta work to do around robust look/feel, as well as some blocking and tackling work to do around the FUD that platforms like Flex/AIR have the database, security and data handling capabilities needed to work inside the corporate firewall.</content><link rel='replies' type='application/atom+xml' href='http://visualajax.blogspot.com/feeds/5646409014707395359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/1183638173289166563/5646409014707395359' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/5646409014707395359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1183638173289166563/posts/default/5646409014707395359'/><link rel='alternate' type='text/html' href='http://visualajax.blogspot.com/2008/03/more-hot-air.html' title='More hot AIR'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIuyrboU5lw-kVpUpajkoj1O2dlGmNoPv9MNaubmY7GLKYcu8Oh2xqSLEJOMwGzfiTFI6GC8dPmOC_d8lFFiTOm8PKM3pSzkid4bJf2qmXwxzG4JALj24c8gX9GzOKZGL18biPaElv_ac/s72-c/fair+and+balanced.png" height="72" width="72"/><thr:total>0</thr:total></entry></feed>