<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Krotscheck.net &#187; ria</title>
	<atom:link href="http://www.krotscheck.net/tag/ria/feed" rel="self" type="application/rss+xml" />
	<link>http://www.krotscheck.net</link>
	<description>Michael Krotscheck's insights, ideas, and inspirations about web technology, life, and the kitchen sink.</description>
	<lastBuildDate>Fri, 03 Feb 2012 05:10:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>So What&#8217;s Up with Chrome?</title>
		<link>http://www.krotscheck.net/2008/10/01/so-whats-up-with-chrome.html</link>
		<comments>http://www.krotscheck.net/2008/10/01/so-whats-up-with-chrome.html#comments</comments>
		<pubDate>Wed, 01 Oct 2008 18:37:24 +0000</pubDate>
		<dc:creator>Michael Krotscheck</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[gears]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[webkit]]></category>

		<guid isPermaLink="false">http://www.krotscheck.net/?p=2143</guid>
		<description><![CDATA[<div class="image">
  <p>This post <a href="http://ritechnology.typepad.com/technology/2008/09/so-whats-up-wit.html">originally written</a> for Resource Interactive's <a href="http://technology.resource.com/">Technology Blog</a>, time shifted by 1 month to preserve originality.</p>
</div>
<p>With the release of <a target="_blank" href="http://www.google.com/chrome">Google Chrome</a> last week many of our (and&#160; your) clients are starting to wonder exactly what Google's entry into the&#160; browser market means. The release of any new software package, especially by a powerhouse&#160; like Google, can often have broad and far reaching impact, and everyone wants&#160; to be forewarned about what's coming down the pike.</p>]]></description>
			<content:encoded><![CDATA[<p>With the release of <a target="_blank" href="http://www.google.com/chrome">Google Chrome</a> last week many of our (and&nbsp; your) clients are starting to wonder exactly what Google&#8217;s entry into the&nbsp; browser market means. The release of any new software package, especially by a powerhouse&nbsp; like Google, can often have broad and far reaching impact, and everyone wants&nbsp; to be forewarned about what&#8217;s coming down the pike.</p>
<h3>How will this impact Web Development?</h3>
<p>This largely depends on what kind of web development you do. In most<br />
cases you and your enterprise won’t be affected in the slightest.<br />
Chrome has a very fast and robust rendering and JavaScript engine, and<br />
much like any newly released browser (remember Firefox 1.0?) loads up<br />
in no time flat. The rule of thumb is that if you’re already supporting<br />
Safari, you can safely assume you’re supporting Chrome.</p>
<p>Why is this? What you may not know is that the underlying&nbsp; engine that Safari runs on is a package called <a target="_blank" href="http://webkit.org/">WebKit</a>,<br />
which is the same engine which powers Google Chrome. There are some<br />
revision based incompatibilities (Since Safari’s already a few versions<br />
ahead), but practically speaking they’re identical. The downside of<br />
this is that if your agency is one of the rare islands left that only<br />
support the “Two Major Browsers” (Firefox and Internet Explorer), you<br />
no longer have an excuse to not support them. </p>
<p>If you’re doing Rich Internet Application development, you’ve just<br />
been presented with a very interesting way of taking your application<br />
to the desktop. You might not have heard of <a target="_blank" href="http://gears.google.com/">Google Gears</a><br />
before now, or might not have considered it to be a viable option.<br />
Gears is a browser extension framework that allows desktop-application<br />
like interaction between your RIA and the client’s computer. Sounds<br />
neat, right? It is, and it&#8217;s directly integrated into Chrome and is<br />
available as a plugin for both IE and Firefox. Unfortunately, the major<br />
restriction of Gears up to this point was that you were still<br />
restricted to the browser’s UI, but as I point out later in this<br />
article this is no longer entirely the case.</p>
<h3>What about Mobile?</h3>
<p>If you’re doing Mobile Web Development, you may be able to target<br />
WebKit directly from this point forward. See, Safari is the exclusive<br />
browser on the <a target="_blank" href="http://www.apple.com/iphone/">iPhone</a>, and with the upcoming release of the T-Mobile <a target="_blank" href="http://htcdream.com/">HTC Dream</a>,<br />
you can bet that Chrome will be the default browser for Android. What<br />
this means is that WebKit will become the de-facto web development<br />
standard for mobile devices. While mobile UI patterns and application<br />
frameworks will shake themselves out over the next few years, the<br />
writing&#8217;s on the wall: If you want to take RIA&#8217;s to mobile devices<br />
without bothering with a native application, WebKit is the platform to<br />
build for.</p>
<h3>So What&#8217;s The Big Deal™?</h3>
<p>At this point you&#8217;re probably asking yourself: &quot;What&#8217;s the big<br />
deal&quot;? If Chrome behaves much like the other major browsers out there,<br />
why is there so much buzz about it? Is this just Google Hype?</p>
<p>Without going into a lot of gritty detail&nbsp; about it (The <a target="_blank" href="http://www.google.com/googlebooks/chrome/index.html">Comic Book</a><br />
published by Google does that really well), the major big deal is that<br />
Chrome is not just a Browser: Chrome is an Application Platform.</p>
<p>Much like AIR, Chrome attempts to blur the lines between the desktop<br />
and the web by creating a wrapper for previously developed content.<br />
They even do it in very similar ways: AIR allows the execution of<br />
JavaScript RIA&#8217;s in an integrated WebKit Browser running within the<br />
ActionScript Virtual Machine, while Chrome allows the execution of<br />
Flash RIA&#8217;s running in the Flash Player. The difference is simply the<br />
technology stack used- Chrome is based around JavaScript and HTML,<br />
while AIR is based on ActionScript and MXML. </p>
<p>The Google Engineers are quite explicit about this. The Comic Book<br />
talks about it, and one of the primary features is &quot;Create Application<br />
Shortcut&quot;. While functionally this really just creates a direct link to<br />
a specific website, the integration of Google Gears allows some<br />
websites to move almost entirely to your desktop. It even goes so far<br />
as to use the favicon for your application icon, giving you a Desktop<br />
Application experience for any website you choose (try it with Google<br />
Calendar or Gmail).</p>
<p>So what&#8217;s the Big Deal? It&#8217;s a concept change, a different way of<br />
looking at the Web. It&#8217;s not particularly new- Microsoft tried to do<br />
this with the close Windows/Internet Explorer integration in the late<br />
90&#8242;s and .chm/.hta applications, but it is the first time that the<br />
browser&#8217;s been turned into a (soon to be) platform agnostic application<br />
wrapper.</p>
<h3>A Future Vision</h3>
<p>Not to be a crazy futurist or anything, but consider the following<br />
possibility: Both Google and Adobe have now firmly cast their lot in<br />
with an ECMAScript/DOM-like technology stack, and we already know that<br />
there is a close relationship between the two companies both from<br />
YouTube and from the indexable headless player. Personally, I think<br />
it&#8217;d be pretty interesting if the future held a technological<br />
convergence of all ECMAScript languages. Compiling HTML to a desktop<br />
application? Converging JavaScript and ActionScript into a single<br />
ECMAScript language? It&#8217;s all possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.krotscheck.net/2008/10/01/so-whats-up-with-chrome.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Classifying Rich Internet Applications</title>
		<link>http://www.krotscheck.net/2008/06/30/classifying-rich-internet-applications.html</link>
		<comments>http://www.krotscheck.net/2008/06/30/classifying-rich-internet-applications.html#comments</comments>
		<pubDate>Mon, 30 Jun 2008 23:31:54 +0000</pubDate>
		<dc:creator>Michael Krotscheck</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[rna]]></category>

		<guid isPermaLink="false">http://www.practicalflash.com/?p=44</guid>
		<description><![CDATA[<p>I had an excellent discussion with my coworker Susan today about refining certain internal processes, and one of the tangents of the conversation went off on what the actual definition of a Rich Internet Application actually was. As we know, anything from a banner ad to a product configurator can be considered an RIA, and the only common element  seemed to be that an RIA retains its functionality within the context of what the user is interacting with. In other words, if you click on button in an RIA, the resulting action does not significantly change the page or window the user is interacting with; Clicking to go to a new page loses context, using an animated accordion to display different content does not.</p>
<p>The similarities, though, end there. Implementation varies, technology varies, scope and location and functionality varies, and all in all it ends up being a pretty difficult convoluted mess to describe. At best you can group them via complexity, and after a brief exercise of that nature we realized that a new breed of networked application was emerging. Well, alright, perhaps not emerging, but instead gaining momentum and acceptance in the mainstream. Here's the scale, see if you agree with our reasoning.</p>]]></description>
			<content:encoded><![CDATA[<p>I had an excellent discussion with my coworker Susan today about refining certain internal processes, and one of the tangents of the conversation went off on what the actual definition of a Rich Internet Application actually was. As we know, anything from a banner ad to a product configurator can be considered an RIA, and the only common element  seemed to be that an RIA retains its functionality within the context of what the user is interacting with. In other words, if you click on button in an RIA, the resulting action does not significantly change the page or window the user is interacting with; Clicking to go to a new page loses context, using an animated accordion to display different content does not.</p>
<p>The similarities, though, end there. Implementation varies, technology varies, scope and location and functionality varies, and all in all it ends up being a pretty difficult convoluted mess to describe. At best you can group them via complexity, and after a brief exercise of that nature we realized that a new breed of networked application was emerging. Well, alright, perhaps not emerging, but instead gaining momentum and acceptance in the mainstream. Here&#8217;s the scale, see if you agree with our reasoning.</p>
<div class="hr"></div>
<h3>Level 1: The Widget</h3>
<p>At this level of RIA you are attempting to display information in context of a particular page, however you don&#8217;t care about anything but the most basic user interaction. These could be things like drop-down menus, product detail pop ups, rotation views, buttons that reveal and/or expand text content (like reviews) and so forth. They are almost always implemented in JavaScript, because to use Flash or another plug in technology would be quite a bit of overkill.</p>
<h3>Level 2: The Functional/Interactive Widget</h3>
<p>This level of RIA&#8217;s describes widgets that allow a user to complete a particular functional task. No longer content with simply displaying information, we&#8217;ve now added functionality or a experience that responds to user input. This could be as simple as a DHTML login form or as complex as a Flash-based page takeover, but it necessarily remains restricted to a specific, easily definable task. &quot;Log In&quot;, &quot;Rate This Product&quot;, &quot;Check Convention Schedule&quot; and so forth are good examples, as they add a richer experience that remains in context with the page itself.</p>
<h3>Level 3: The Rich Internet Application (RIA)</h3>
<p>The next level of complexity takes the task mentioned above and strings them together into a flow, or objective, thus defining an actual application. While previously you would have perhaps a few simple form fields to fill out, an actual RIA causes the context of the page to change dramatically via user input. User interaction is no longer restricted to a single action, but instead is intended to enable an activity, such as &quot;Tracking your time&quot;, &quot;Editing a Photo&quot;, or &quot;Managing a Color Palette&quot;. This is where the bread and butter of RIA&#8217;s exist, as well as the holy grail of Web 2.0: A fully interactive and functional application contained entirely within one browser page.</p>
<h3>Level 4: The Rich Networked Application  (RNA)</h3>
<p>The Rich Networked Application  (RNA, I&#8217;m trying to coin a term here, help me out) ceases to be bound by the browser, and instead has become an experience that bridges and is uniform across all digital touch points. The service is available not only from a browser, but may also be accessed from a desktop, a mobile device, a vehicle dashboard, a kiosk, a gaming console, or any other networked or partially networked device you can imagine. The RNA  reaches out to many delivery channels, and while it may provide a different experience for each it nevertheless remains connected in context across them all. Excellent examples of this are <a href="http://www.twitter.com/" target="_blank">Twitter</a> (and all its clients), <a href="http://maps.google.com/" target="_blank">Google Maps</a> (available on Mobile, Internet, etc), <a href="http://kuler.adobe.com/" target="_blank">Kuler</a> (Integrated to the desktop and the entire Adobe Suite), as well as upcoming games like <a href="http://www.spore.com/" target="_blank">Spore</a> (Share creatures across platforms). Implementation&#8230; well, lets be honest, it&#8217;s a nightmare if you go into it unarmed. You have to support many different platforms, frameworks, systems and limitations, yet even so we&#8217;re starting to see toolsets emerge that address them all (Most notably Adobe&#8217;s <a href="http://www.adobe.com/go/flex" target="_blank">Flex</a> &amp; <a href="http://www.adobe.com/go/air" target="_blank">AIR</a>, Microsoft&#8217;s DLR via WMF &amp; <a href="http://silverlight.net/" target="_blank">Silverlight</a>, and Javascript libraries like <a href="http://www.sproutcore.com/" target="_blank">SproutCore</a>, <a href="http://mootools.net/" target="_blank">MooTools</a> and <a href="http://prototypejs.org/" target="_blank">Prototype</a>). </p>
<div class="hr"></div>
<p>Did that make sense to you? It does to me, and I&#8217;m really excited to see how what we have today is going to start bridging the Device Divide.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.krotscheck.net/2008/06/30/classifying-rich-internet-applications.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HP Print Studio</title>
		<link>http://www.krotscheck.net/2007/12/26/hp-print-studio.html</link>
		<comments>http://www.krotscheck.net/2007/12/26/hp-print-studio.html#comments</comments>
		<pubDate>Thu, 27 Dec 2007 04:17:41 +0000</pubDate>
		<dc:creator>Michael Krotscheck</dc:creator>
				<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[hp print studio]]></category>
		<category><![CDATA[resource interactive]]></category>
		<category><![CDATA[ria]]></category>
		<category><![CDATA[rich internet application]]></category>

		<guid isPermaLink="false">http://127.0.0.1:83/2007/12/26/hp-print-studio.html</guid>
		<description><![CDATA[<div class="thumbnail">
  <img class="shadow" src="/wp-content/themes/krotscheck/images/background-image-portfolio.gif" /><img class="thumbnail" src="/wp-content/uploads/2007/12/ps20-3.thumbnail.jpg" alt="HP Print Studio Portfolio Image 3" />
</div>
<p><a href="http://www.hp.com/printstudio/">HP Print Studio</a> is an internet application that allows  users to easily create professionally designed home printing projects customized with their own text and images, and it was the first project I completed at Resource Interactive, marking my transition from a  lone-wolf  to a team oriented developer. I won't lie and say that the project was in any way easy- as the quote clearly demonstrates, I didn't have the slightest clue on how the application would finally be assembled, though I really wanted to take a shot at it.</p>]]></description>
			<content:encoded><![CDATA[<p><em>&quot;I have no idea how to build this, but I&#8217;m dying to try.&quot;</em></p>
<p><a href="http://www.hp.com/printstudio/">HP Print Studio</a> is an internet application that allows  users to easily create professionally designed home printing projects customized with their own text and images, and it was the first project I completed at <a href="http://www.resource.com/">Resource Interactive</a>, marking my transition from a  lone-wolf  to a team oriented developer. I won&#8217;t lie and say that the project was in any way easy- as the quote clearly demonstrates, I didn&#8217;t have the slightest clue on how the application would finally be assembled, though I really wanted to take a shot at it. It&#8217;s not that I was unfamiliar with the language; It was the fact that the application so tightly integrated visual design, interactivity and application functionality that it couldn&#8217;t be classified as either visual or functional: It was both. Without going into too much detail, it rewrote my own understanding of what a true Rich Internet Application is: An integration of experience and functionality so seamless that it becomes its own category.</p>
<p>The challenges within the project itself were many and varied, and on account of our client agreements I cannot go into detail on how it was assembled. Even so, I learned many valuable lessons about team environments, of which I wanted to highlight a few.</p>
<h3>Arrogance will get you nowhere</h3>
<p>It&#8217;s a team, leave the ego at the door. This is more difficult and profound than you might imagine, because independent contractors  have to justify their existence and value to the project, and that breeds a certain type of arrogance, independence, and Not-Invented-Here I-Can-Do-It-Better attitude that is destructive to a team environment. Established habits like this are hard to break, and I&#8217;m  glad that this was the first lesson I learned though I&#8217;m still not perfect in applying it.</p>
<h3>Expertise plays an important part</h3>
<p>From the technical leads Kris and Tommy to our Project Manager John to our fantastic CRMs Kim and Traci (and all the developers and QA people whose names I&#8217;m not sure I&#8217;m allowed to mention), everyone played a part that was absolutely critical to the project. As a cocky independent contractor it&#8217;s easy to downplay the worth of Quality Assurance, Business Analysts and similar positions because their duties sound easy and secondary to the main development effort, and I never took the time to understand exactly how valuable expertise in each of those domains is. Yes, I can do it, but not only can they do it better, they make my job <em>much</em> easier by doing it.</p>
<h3>It&#8217;s safe to rely on others</h3>
<p>When you work in an environment where human resources makes it a point to vet every candidate for job expertise first, and management is not only engaged, but invested in developing and encouraging personal growth initiatives, it is safe to assume your coworkers know what they&#8217;re doing. This is practically unheard of in the freelance space, and it caught me by surprise when I encountered it for the first time. Once I realized that I couldn&#8217;t get enough, which in retrospect probably annoyed the living daylights out of my coworkers and co-developers (until I got over the newness of it all).</p>
<h3>Freelancers: Buyer Beware</h3>
<p>Contractors and freelancers are incredibly expensive, and 9 times out of 10 don&#8217;t have the skills they claim to have. If there is no relationship between you other than an easily terminated contract, the value to the contractor isn&#8217;t the long-term viability of the project, but the ability to get a large project onto their resume so they can charge more next time around. This leads to fraudulent claims and resume padding, so if you are hiring someone who&#8217;s got quite a bit of freelance experience on their resume I highly recommend you verify their level of contribution first.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.krotscheck.net/2007/12/26/hp-print-studio.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

