<?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>Loosely Typed in Ohio</title>
	<atom:link href="http://www.innova-partners.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.innova-partners.com/blog</link>
	<description>Innova Partners, software, networking, and websites.</description>
	<lastBuildDate>Tue, 03 Aug 2010 14:25:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>n-Tier without tears</title>
		<link>http://www.innova-partners.com/blog/2010/08/03/n-tier-without-tears/</link>
		<comments>http://www.innova-partners.com/blog/2010/08/03/n-tier-without-tears/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 14:25:55 +0000</pubDate>
		<dc:creator>Eddie Bowen</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.innova-partners.com/blog/?p=433</guid>
		<description><![CDATA[
Building n-Tier apps can be difficult. Instead of a single monolithic application that can easily hide its imperfections, a client-server model traditionally means making an API, choosing a transport, and sticking to it.
It&#8217;s like marriage, but with TCP/IP settings. Throw in a wireless client and it can be difficult to find a solution that fits. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.innova-partners.com/blog/wp-content/uploads/2010/08/nTier.jpg"><img src="http://www.innova-partners.com/blog/wp-content/uploads/2010/08/nTier.jpg" alt="" title="nTier" width="503" height="619" class="alignnone size-full wp-image-434" /></a>
</p><p>Building n-Tier apps can be difficult. Instead of a single monolithic application that can easily hide its imperfections, a client-server model traditionally means making an API, choosing a transport, and sticking to it.</p>
<p>It&#8217;s like marriage, but with TCP/IP settings. Throw in a wireless client and it can be difficult to find a solution that fits. XML-RPC? SOAP? REST? Each way of communicating has benefits and drawbacks.</p>
<p>This is what we&#8217;re doing for client X, a niche healthcare business.</p>
<span id="more-433"></span>
<p>The requirements for the project are a web site with both static content and user-only pages with geolocation, pricing and communication features. These features are duplicated on iPhone/iPad and (in the future, Android) clients.</p>
<p>The obvious solution is an n-Tier architecture where we can centralize the business logic. The less obvious part is how to communicate with it. The iPhone app (Boomer) is using a wireless connection, so lightweight formats are obviously attractive. Also, iOS has a poor selection of XML-RPC and SOAP clients, so a JSON/REST solution makes sense.</p>
<p>On the other hand, the web client (Apollo) is running in the same location &#8211; initially on the same server &#8211; as the client, so it can use a fatter, more full-featured connection. Since we&#8217;re using Microsoft stack for this project, that means WCF. WCF also generates model code for the web client, so most of the work is just converting these models into HTML output. The server (Athena) consists of both conventional and restful WCF services each accessing the core logic of the server, which in turn consists largely of LINQ-based interaction with the database.</p><p>
</p><p>The neat thing about offering parallel services like this is that it makes adding additional transports much more straightforward. For example, if client X decides they want to use an RPC-based tool with the server, it just means adding another service; the business logic has already been prefactored out of the way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.innova-partners.com/blog/2010/08/03/n-tier-without-tears/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elevator Pitches aren&#8217;t just for your salespeople</title>
		<link>http://www.innova-partners.com/blog/2010/03/29/elevator-pitches-arent-just-for-your-salespeople/</link>
		<comments>http://www.innova-partners.com/blog/2010/03/29/elevator-pitches-arent-just-for-your-salespeople/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 01:04:26 +0000</pubDate>
		<dc:creator>Matt Scantland</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.innova-partners.com/blog/?p=423</guid>
		<description><![CDATA[Many people know about the Elevator Pitch, and people at companies that are succeeding have committed their company&#8217;s pitch to memory and improve it constantly to improve understanding and relevance.

We copy/paste the elevator pitch from the CoverMyMeds website many times per week.  Not because it is easier, but because it is the best 15 [...]]]></description>
			<content:encoded><![CDATA[<p>Many people know about the <a href="http://en.wikipedia.org/wiki/Elevator_pitch">Elevator Pitch</a>, and people at companies that are succeeding have committed their company&#8217;s pitch to memory and improve it constantly to improve understanding and relevance.</p>

<p>We copy/paste the elevator pitch from the <a href="http://www.covermymeds.com/">CoverMyMeds</a> website many times per week.  Not because it is easier, but because it is the best 15 word summary of our company that we can write.</p>

<p>But the best part about an honest and simple elevator pitch is that it can be used by others outside your company: your happy users, your partners, and the press.</p> 

<p>And today, I received an email from <a href="http://mastersinhealthinformatics.com/blog">HealthTechTopia</a> that we&#8217;ve been awarded their #2 slot in the <a href="http://mastersinhealthinformatics.com/2010/25-notable-start-ups-changing-the-medical-information-industry/">25 Notable Startups that are Changing the Medical Information Industry</a>. We&#8217;re listed among a number of very good companies, many of which I know, but something that struck me is that we had one of the only usable elevator pitches on our website out of the whole list.</p>

<p>Unfortunately, I&#8217;ll need to pick on someone to illustrate my point.</p>

<blockquote>
CoverMyMeds helps physicians and pharmacists complete Prior Authorization and other insurance coverage determination forms for any drug and for most drug health plans&#8230;
</blockquote>

<p><blockquote>
DOMA Technologies: This is a privately owned Virginia Limited Liability Corporation founded in 2000, which provides Software as a Service (SaaS) document management applications and services aimed across multiple vertical markets&#8230;
</blockquote></p>

<p>Assuming you even care about healthcare IT, which description is better? Without a good pitch, the nice folks at <a href="http://mastersinhealthinformatics.com/blog">HealthTechTopia</a> had to work very hard to describe what these other companies do-and it probably isn&#8217;t the very best explanation these companies could offer.</p>

<p>What we&#8217;ve done is improve our chances of being listed and described positively, with nothing more than a simple paragraph on our homepage (but lots of thought about who we are).</p>

<p>Let me close with a few simple metrics we have to evaluate our pitch.  A good pitch is something that:</p>

<ul>
<li>A real person would repeat to their friend/colleague without feeling like a dork or shill</li>
<li>A (non-paid) person can actually remember</li>
<li>Describes why we matter and who should care</li>
<li>Is differentiated from other pitches, but is relevant to problems to which the mainstream can relate</li>
<li>Is copy/paste-able in an email or website</li>
<li>Everyone in the organization is happy to repeat to open sales calls and meetings</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.innova-partners.com/blog/2010/03/29/elevator-pitches-arent-just-for-your-salespeople/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Security Presentation</title>
		<link>http://www.innova-partners.com/blog/2010/03/23/php-security-presentation/</link>
		<comments>http://www.innova-partners.com/blog/2010/03/23/php-security-presentation/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 21:48:38 +0000</pubDate>
		<dc:creator>Jon Canady</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[owasp]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[presentation]]></category>

		<guid isPermaLink="false">http://www.innova-partners.com/blog/2010/03/23/php-security-presentation/</guid>
		<description><![CDATA[I gave an hour-long presentation at the Columbus OWASP chapter meeting today concerning PHP Security. The slides might not be super-useful on their own, since I&#8217;m not standing in front of them to provide context and bad jokes, but people asked for them, so they&#8217;re available.

Download the slides (4.8MB PDF)

This is the PDF version that [...]]]></description>
			<content:encoded><![CDATA[<p>I gave an hour-long presentation at the Columbus OWASP chapter meeting today concerning PHP Security. The slides might not be super-useful on their own, since I&#8217;m not standing in front of them to provide context and bad jokes, but people asked for them, so they&#8217;re available.</p>

<p><a href="http://www.innova-partners.com/blog/wp-content/uploads/2010/03/OWASP.pdf">Download the slides (4.8MB PDF)</a></p>

<p>This is the PDF version that was shown at the OWASP presentation (including the OWASP chapter introduction), with the following changes:</p>

<ul>
<li>HIPPA spelling corrected to HIPAA (yes, I work in this field).</li>
<li>OWASP&#8217;s PHP ESAPI (Enterprise Security API) link added near the end of the presentation.</li>
</ul>

<p>Since I&#8217;m horrible at remembering names and faces, I can&#8217;t actually give credit for these fixes. If that was you: let me know, and I&#8217;m sorry.                                                                 </p>

<p><strong>Important Note</strong>: There&#8217;s an example of how to implement a Random Form Token to help prevent against CSRF attacks. This is a <em>very naive</em> implementation &#8212; in particular, since the token is generated from the current timestamp, someone could (with the proper tools) guess the correct token, which defeats the purpose of having the token at all. This was all covered during the talk.            </p>

<p>The presentation (at least my part) was developed in Keynote, and I have the source files available if anyone thinks they&#8217;d be useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.innova-partners.com/blog/2010/03/23/php-security-presentation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Innova Team</title>
		<link>http://www.innova-partners.com/blog/2010/02/08/the-innova-team/</link>
		<comments>http://www.innova-partners.com/blog/2010/02/08/the-innova-team/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 22:30:30 +0000</pubDate>
		<dc:creator>Matt Scantland</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.innova-partners.com/blog/2010/02/08/the-innova-team/</guid>
		<description><![CDATA[We took pictures right before the annual holiday feast.

Chip, Eddie, Keith, Reva, Matt, Dan, Jon, Michelle, Scott, Amanda, Bruce, Mary, Kent, Brian, Robert, Chris. Chad, who holds court at the Oregon branch office not pictured.


]]></description>
			<content:encoded><![CDATA[<p>We took pictures right before the annual holiday feast.</p>

<p>Chip, Eddie, Keith, Reva, Matt, Dan, Jon, Michelle, Scott, Amanda, Bruce, Mary, Kent, Brian, Robert, Chris. Chad, who holds court at the Oregon branch office not pictured.</p>

<p><a href="http://www.flickr.com/groups/innova_partners/"><img title="Innova Team" src="http://farm3.static.flickr.com/2625/4177974153_933d0d92e4.jpg" alt="Holiday picture" width="500" height="215" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.innova-partners.com/blog/2010/02/08/the-innova-team/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flickr and Versioning</title>
		<link>http://www.innova-partners.com/blog/2009/12/14/flickr-and-versioning/</link>
		<comments>http://www.innova-partners.com/blog/2009/12/14/flickr-and-versioning/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 22:13:15 +0000</pubDate>
		<dc:creator>Eddie Bowen</dc:creator>
				<category><![CDATA[Productivity]]></category>

		<guid isPermaLink="false">http://www.innova-partners.com/blog/?p=403</guid>
		<description><![CDATA[We often maintain and deploy projects as a single HEAD version in a Subversion repository. We don&#8217;t, generally, tend to do a lot of forking. This is good, as forking can be undisciplined, but sometimes you might want to be able to add or change features and not have to worry about adding broken code [...]]]></description>
			<content:encoded><![CDATA[<p>We often maintain and deploy projects as a single HEAD version in a Subversion repository. We don&#8217;t, generally, tend to do a lot of forking. This is good, as forking can be undisciplined, but sometimes you might want to be able to add or change features and not have to worry about adding broken code to a project.</p>

<p>It turns out that Flickr does the same sort of thing. Their solution: <a href="http://code.flickr.com/blog/2009/12/02/flipping-out/">flags and flippers</a>. Interesting read.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.innova-partners.com/blog/2009/12/14/flickr-and-versioning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
