<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns: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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>PreferenceSet</title>
	
	<link>http://www.preferenceset.com</link>
	<description>Agile, metrics-driven development and strategy for government, enterprise and startups.</description>
	<lastBuildDate>Fri, 23 Jul 2010 15:49:44 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Preferenceset" /><feedburner:info uri="preferenceset" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Embracing Change</title>
		<link>http://feedproxy.google.com/~r/Preferenceset/~3/H2GndkrggQ8/</link>
		<comments>http://www.preferenceset.com/development/embracing-change/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 21:49:49 +0000</pubDate>
		<dc:creator>Rachelle Palmer</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Enterprise]]></category>

		<guid isPermaLink="false">http://www.preferenceset.com/?p=222</guid>
		<description><![CDATA[Each year, organizations spend millions of dollars on technology.  Between the upgrades, the maintenance, the training, the ERP implementations, the servers&#8230; there is a constant drive to provide better, faster, safer technology to the business.  Not just as a cost savings gimic, but there is a real desire to do things better.   Of course, even [...]]]></description>
			<content:encoded><![CDATA[<p>Each year, organizations spend millions of dollars on technology.  Between the upgrades, the maintenance, the training, the ERP implementations, the servers&#8230; there is a constant drive to provide better, faster, safer technology to the business.  Not just as a cost savings gimic, but there is a real desire to <em>do things better.</em>   Of course, even the most pristine, glorious application is meaningless without users.  And therein lies the problem with many implementations &#8211; most employees do not understand, or embrace, change.</p>
<p>Why not? Is it because employees are really lumbering oafs, resistant to using a computer?  Many organizations portray their users to be this way; particularly in government, the employees are pegged as obstinate elderly, practically incapable of sending an email.   But in my experience, this portrayal is false &#8211; I have had devoted users upwards of 70 years old, burning with zeal to get something new and innovative.  There is one common theme, however, that occurs in implementations and may have something to do with employee reluctance, and that is lack of communication.</p>
<p><span id="more-222"></span></p>
<p>I am not talking about &#8220;information,&#8221; that is, sending out an en-masse email saying &#8220;Change is Coming!&#8221; But real, honest, interactive communication between individuals. If an organization merely sends an email, and then six months announces mandatory training, is that communication?  Well, if it were a marriage, I think it&#8217;d be headed for the court room.</p>
<p>Large technology initiatives  are rarely introduced for their own sake.  Most often, they are connected to a need to improve business processes or management of the organization.  Unfortunately, achieving those benefits is not purely technological in nature, but rather is dependent on human beings.  Without the cooperation of the humans, you simply don&#8217;t accrue the benefits. You may get some benefit, like you would if you were upgrading a server, or replacing a sticky keyboard &#8211; but you don&#8217;t get <em>real change</em>, the awe inspiring, wow-this-is-so-cool change, that an organization needs to rejuvenate itself and its business process.</p>
<p>So how can the organization communicate the change, instead of just sharing information about it? There are a couple of key points.</p>
<p>1. Be very clear about what the change IS.  Don&#8217;t skirt the issue, do not lie, and do not pretend you don&#8217;t know. People, especially your own employees, are not fools and they can tell when you&#8217;re trying to fool them, even via email.</p>
<p>2. Establish what the goals and benefits are.  This should be as long a list as possible, and it should be detailed. It should not just be in consultancy speak, but in terms employees can understand.</p>
<p>3. Make it a discussion. Have a town hall. Have massive conference calls that are an open forum. Embrace questions, and meet dissenters head on.  If this change is truly necessary, you&#8217;ll be able to respond to their concerns and allay their fears &#8211; if you&#8217;re just wasting money though&#8230; see point 1.</p>
<p>4.  Have a plan, and ask feedback on it.  Too many times, organizations have an implementation plan that is just, well, crazy. And they send it out at the last minute, employees are dumbfounded then indignant, and no one is happy. Incorporating employees into the process will not only engage them,<em> but it will also result in a better plan.</em></p>
<p>5. Do what&#8217;s right for your employees and your organization.  At the end of the day, it&#8217;s really NOT about cost. Because a failed implementation is going to cost you way more than dollars, it will cost you goodwill, employees, and your dignity.  If you don&#8217;t feel an approach is right, if you don&#8217;t like a template, say so.  Demand it be done differently.</p>
<p>6. Embrace Change. Sometimes the very folks who insist on change don&#8217;t see how resistant they truly are.  It&#8217;s possible, even likely, that some of the ways your organization does business are just&#8230;wrong. And bad. And inefficient.  Try to remember you&#8217;re spending millions of dollars to change, truly change, and not just recreate a newer version of the same old system.</p>
<img src="http://feeds.feedburner.com/~r/Preferenceset/~4/H2GndkrggQ8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.preferenceset.com/development/embracing-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.preferenceset.com/development/embracing-change/</feedburner:origLink></item>
		<item>
		<title>Google Buzz Icons</title>
		<link>http://feedproxy.google.com/~r/Preferenceset/~3/bW5Ev0ClXhM/</link>
		<comments>http://www.preferenceset.com/design/google-buzz-icons/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 18:56:20 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[google buzz]]></category>
		<category><![CDATA[icons]]></category>

		<guid isPermaLink="false">http://www.preferenceset.com/?p=197</guid>
		<description><![CDATA[
I&#8217;m a huge fan of Komodo Media&#8217;s Social Media Network Icon set.  The icons are simple and elegant and they&#8217;ve become quite popular on the internet.  Recently we were building an application here an needed an icon for Google Buzz and decided to build one to fit the Komodo Media icons, as the [...]]]></description>
			<content:encoded><![CDATA[<div style="clear:left; height: 48px;"><img src="http://www.preferenceset.com/wp-content/uploads/2010/02/buzz_32.png" alt="Google Buzz" title="Google Buzz Icon 32" width="32" height="32" class="alignleft size-full wp-image-199" /><img src="http://www.preferenceset.com/wp-content/uploads/2010/02/buzz_16.png" alt="Google Buzz" title="Google Buzz Icon 16" width="16" height="16" class="alignleft size-full wp-image-198" /></div>
<p>I&#8217;m a huge fan of <a href="http://www.komodomedia.com">Komodo Media</a>&#8217;s <a href="http://www.komodomedia.com/blog/2009/06/social-network-icon-pack/">Social Media Network Icon</a> set.  The icons are simple and elegant and they&#8217;ve become quite popular on the internet.  Recently we were building an application here an needed an icon for Google Buzz and decided to build one to fit the Komodo Media icons, as the set has not been updated with one yet.</p>
<p><span id="more-197"></span>Matching the Komodo Media icons, the icon is in 32px and 16px size.  Credit to the aesthetic goes to those guys entirely.  I hope they&#8217;ll update their icon set soon as I&#8217;m sure it will be a little more polished that what we quickly put together.  </p>
<p>I&#8217;ve provided the icons here.  Feel free to use them or modify them as you wish.</p>
<p><a href="http://www.preferenceset.com/wp-content/uploads/2010/02/buzz_icons.zip">Download</a></p>
<img src="http://feeds.feedburner.com/~r/Preferenceset/~4/bW5Ev0ClXhM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.preferenceset.com/design/google-buzz-icons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.preferenceset.com/design/google-buzz-icons/</feedburner:origLink></item>
		<item>
		<title>Link Shorteners from FB and Google</title>
		<link>http://feedproxy.google.com/~r/Preferenceset/~3/c4P8VGCsEjA/</link>
		<comments>http://www.preferenceset.com/metrics/link-shorteners-from-facebook-and-google/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 07:51:54 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Metrics]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[cross-site]]></category>
		<category><![CDATA[engagament]]></category>
		<category><![CDATA[giv.to]]></category>

		<guid isPermaLink="false">http://www.preferenceset.com/?p=162</guid>
		<description><![CDATA[Responding to the growing popularity of link shorteners (services which compress long links into short, coded links), Facebook, Google and Bit.ly. all announced new products yesterday.  Google and Facebook are launching their own link shorteners, while Bit.ly is enhancing their market leading service.  Beyond the excitement of these new developments, none of the [...]]]></description>
			<content:encoded><![CDATA[<p>Responding to the growing popularity of link shorteners (services which compress long links into short, coded links), <a href="http://www.facebook.com">Facebook</a>, <a href="http://www.google.com">Google</a> and <a href="http://bit.ly">Bit.ly</a>. all announced new products yesterday.  Google and Facebook are launching their own link shorteners, while Bit.ly is enhancing their market leading service.  Beyond the excitement of these new developments, none of the new services forge new ground, nor do they help uses gain actionable insight into the way their content is being used.</p>
<p>Cross-site engagement is a particular interest of ours here at PreferenceSet.  More traffic is moving off of traditional websites and onto social networks where it cannot be tracked or measured using traditional tools. Yet understanding the relationship between different entities and content is increasingly necessary to gather meaningful insight into the way an organization or company makes use of its own online presence.  Despite this trend, the current crop of tools leave users mostly in the dark.</p>
<p><span id="more-162"></span>Largely due to their use on <a href="http://www.twitter.com">Twitter</a>, link shorteners quickly became the tool of choice for measuring a link&#8217;s impact and reach when shared on social networks.  By revealing to users how many times a link has been clicked, link shorteners with analytic features at least give users a sense of how effective their Tweets are.  Bit.ly has become the defacto standard, providing additional detail on readers&#8217; location and device.</p>
<p>Yesterday, Google and Facebook <a href="http://googleblog.blogspot.com/2009/12/making-urls-shorter-for-google-toolbar.html">announced</a> their own link shorteners, <a href="http://goo.gl">goo.gl</a> and <a href="http://fb.me">fb.me</a>, respectively.  While neither Facebook nor Google have yet to announced any analytics feature, there is already some <a href="http://www.insidefacebook.com/2009/12/14/facebook-testing-new-url-shortener-fb-me/">speculation</a> that Facebook will offer this feature.  Google already has one of the best <a href="http://www.google.com/analtyics">analytics</a> tools available, and it would be a logical next step for them to integrate the products.</p>
<p>Bit.ly also announced an addition to their service, <ahref="http://blog.bit.ly/post/284009728/announcing-bit-ly-pro">Bit.ly Pro</a>.  The new service provides deeper analytics and some custom branding for select customers.</p>
<p>But even with these additional features, all of these services only return raw data. Data such as hit counts or referrer information is without actionable insight, and as a result, largely useless.</p>
<p><a href="http://www.kaushik.net/avinash/about">Avinash Kaushik</a> <a href="http://www.kaushik.net/avinash/2009/11/social-media-analytics-twitter-quantitative-qualitative-analysis.html?utm_source=rss">writes</a> on his blog about the limitations of these analytics tools.</p>
<blockquote><p>Most twitter analytics tools just do data puking. They find numbers that can be computed and then proceed to puke at you as many as they can find, with wonton disregard of value being provided or outcomes being measured&#8230;.  You must pause and think: So what is this saying? What action can I take?</p></blockquote>
<p> There are some new services being developed attempting to answer this question.  Avinash cites several of them, such as <a href="http://klout.com/">Klout</a>. These services focus on analyzing users on Twitter, however, not the links themselves.  We at PreferenceSet are working on our own solution to this problem, specific to <a href="http://giv.to">online fundraising</a> over social networks.</p>
<p>Larger incumbents, such as Facebook and Google may be slower to experiment with new metric types, as a result of their large user base and existing conventions. The absence of any details on even basic analytics from either Google or Facebook, on top of their very late entry into the market, reinforces this.  In general the industry will continue to evolve with more and more advanced analytics analysis. This may give newer market entrants an opportunity to outflank the larger players in a very important part of the emerging cross-site social structure implied by social networking tools.</p>
<img src="http://feeds.feedburner.com/~r/Preferenceset/~4/c4P8VGCsEjA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.preferenceset.com/metrics/link-shorteners-from-facebook-and-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.preferenceset.com/metrics/link-shorteners-from-facebook-and-google/</feedburner:origLink></item>
		<item>
		<title>Custom Applications vs. Off the Shelf</title>
		<link>http://feedproxy.google.com/~r/Preferenceset/~3/p3wMsOLQ2Xc/</link>
		<comments>http://www.preferenceset.com/enterprise/custom-applications-vs-cots/#comments</comments>
		<pubDate>Thu, 10 Dec 2009 15:43:47 +0000</pubDate>
		<dc:creator>Rachelle Palmer</dc:creator>
				<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Government]]></category>
		<category><![CDATA[COTS]]></category>
		<category><![CDATA[federal]]></category>
		<category><![CDATA[gov2.0]]></category>
		<category><![CDATA[HRIS]]></category>
		<category><![CDATA[SSC]]></category>

		<guid isPermaLink="false">http://www.preferenceset.com/?p=117</guid>
		<description><![CDATA[There&#8217;s been a lot of recent press on government technology contracts. In response, the Office of Personnel Management has published recommendations on how best to implement large enterprise systems.  Most of these recommendations draw from previous failures: efficiency and cost savings that failed to materialize, or stalled projects that have no determined end date.  I think that [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been a lot of recent press on government technology contracts. In response, the Office of Personnel Management has published recommendations on how best to implement large enterprise systems.  Most of these recommendations draw from previous failures: efficiency and cost savings that failed to materialize, or stalled projects that have no determined end date.  I think that OPM&#8217;s recommendations are incorrect, based on flawed assumptions, specifically in the realm of Human Resources Information Systems (HRIS) solutions.</p>
<p>The original mindset behind the development of Enterprise HRIS was to develop a &#8220;Custom Off the Shelf&#8221; product that could be purchased and implemented, then changed minimally in order to accomodate customer requirements.  They were touted as ways to cut both costs and timeline &#8211; a massive replacement of an entire HR system could be done, hypothetically, in as little as 6 months.  There have been great successes in the private sector in implementing these systems &#8211; efficiency gains, cost savings, standardized business processes leading to improved productivity and the like.</p>
<p>The federal government, always eager to follow the private sector, began to examine the idea of standardization in the realm of technology and along with that, the COTS products.  But, unlike the private sector, the feds implementations have not gone so well. <br />
<span id="more-117"></span><br />
This is for several reasons, which I will tell with harsh truths against both sides.  Firstly, the providers of the service often see the government as a proverbial cash cow &#8212; slow and ignorant, with billions of dollars; what&#8217;s not to love about doing business with the feds?  They milk the government for all it is worth, often inserting services that are not necessary or that could be done by the government itself (like documentation, or revised business process maps).  Government contracting officers, because they understand contracts and not IT, assume the price is fairly quoted. This is why it is not unusual for an implementation to run over $100 million, with many option years.  I will go ahead and throw it out there &#8211; if there is a great team of smart motivated people, it should NEVER, EVER, EVER take you more than two years to implement anything. Unless&#8230;</p>
<p>Secondly, there are contingencies that affect the timeline.  Most notably, the cash cow itself.  That is, the lumbering stumbling often incoherent government cash cow, that has so much redundancy, paperwork, and processing time that it&#8217;s well nigh impossible to do anything with speed or certainty.  Also the cash cow has a problem making decisions &#8211; no one wants to make one &#8211; and if they do, they&#8217;d better make that decision in absolute compliance with about a million federal statutes.  But they&#8217;ll have to read those first. And then they&#8217;ll have to discuss. And then they may want to consult someone higher up. But that person&#8217;s calendar is full and they won&#8217;t have time to sit down and chat about making a decision until next week. And then after that chat, there has to be some additional research. And maybe they want to ask that guy in Finance his opinion too. But he retired already. Oh. So then&#8230; you get the point. The cash cow is maddeningly slow, in addition to being governed by rules that are open to some level of interpretation which no one wants to take responsibility for interpreting.  Work grinds to a halt, but people are still being paid.  So these constant delays affect timelines, budgets, and work schedules &#8211; not to mention morale, which often starts high and ends with everyone hating each other intensely.  And the federal statutes create significant constraints for the project; who can do what tasks and when, what approvals have to be given, and what exact processes must be followed to achieve anything.  Most of the time, these processes and tasks create days and weeks (if not months) of additional wait time, in which valuable resources are tied up in procedure matters.  Sometimes, missteps in the project lead to severe repercussions and financial impacts even though there was no intention of violating the statutes &#8211; leading to further costs, further delays, and a generally chaotic and frustrated environment.</p>
<p>Thirdly, federal implementations fail for a reason far more important, and the real meat of today&#8217;s post.  While all this effort is going on, and RFPs are being written, the government never asks the fundamental question of whether off the shelf products are truly capable of the flexibility necessary to accomodate federal requirements.  In one case, there were 29 steps in approving the posting of one person to one job.  Each step based on criteria changes depending on the posting, the timeframe, the organization level, and the supervisor who requested the position in the first place.   Sometimes the criteria changes based on personal preference, or inconveniences like illness.  There is no COTS workflow engine in the world that can handle that kind of variability. And that&#8217;s just one tiny microcosm of the federal requirements in the COTS universe &#8212; Providers attempting to do what cannot be done, and charging the government for the attempt.</p>
<p>So.  If you have an organization with hundreds of customizations, some of which may never work well via COTS software, and each customization costs thousands of dollars&#8230; why not revisit the question of custom applications?   Most federal government applications were originally custom jobs &#8211; developed and maintained in house.  Each one was tailored, built from scratch, and exactly fit the organization because it was driven solely by the structure, requirements, and rules that drove the business. When add ons or changes were needed, they were made, and sometimes the code got &#8230;well&#8230;ugly. But they WORKED.  The speed of technology meant that all too soon, the developers and technical staff supporting the application skills were outdated, and so was the system, but it still worked. Which is why today there are payroll systems (still functioning) that were constructed in 1978.</p>
<p>There is a lot of value in updating and standardizing these systems, because maintaining them is a nightmare and finding people to do so is getting harder each year (no one in today&#8217;s universities particular wants to learn COBOL, for example).  So the federal government, blames the maintenance hardship on the application itself, and decides to move from a customized, completely integrated system that exactly matches their business needs to COTS products that</p>
<ol>
<li>don&#8217;t match their business needs</li>
<li>require millions of dollars to design, build and test</li>
<li>require millions of dollars in training costs for users</li>
<li>require millions of dollars to CUSTOMIZE so that they can even be used</li>
</ol>
<p>Which begs the question&#8230; if you&#8217;re going to pay millions to customize a system&#8230; why not pay millions to get a custom system, and save yourselves the money and time on all the aches and pains associated with business process change and training?  As a former SAP consultant, I must admit I love packaged solutions. But I have seen the epic failures that occur when highly customized organizations, with a deeply engrained cultural and specialized business processes, attempt to implement an off the shelf product. It is painful, it is long lasting, and honestly&#8230; I&#8217;ve never seen one that worked well in the end.  Whereas, on the custom applications I have been part of, the clients are always ecstatic to get something beautiful that they themselves helped design that works perfectly for their organization.</p>
<p>Which brings up another point about COTS products vs. custom applications &#8211; specifically, the web applications.  The COTS GUIs are &#8221;vanilla&#8221; (or as I call it &#8221;waaah-nilla&#8221; and boring.  They all look exactly the same when rendered on the web, because they are actually the same.  But custom web applications are glorious. They are streamlined and sexy, they are memorable, they suggest that the organization is efficient and modern and outstanding &#8211; even when it may not be.  A well designed web front end can entice applicants, can provoke readers, can inspire and engage users.  In contrast,  there&#8217;s the stodgy COTS front end, exciting as stale white bread, that looks the same for every organization except for their logo floating in the header.</p>
<p>Otherwise, the new technologies of the world for building custom applications aren&#8217;t unwieldy, don&#8217;t take years to implement, and they have really neat features.  For example, Ajax (which isn&#8217;t really &#8220;new&#8221; but is much newer than the technologies which construct the COTS products).  Ajax can prefill text boxes and drop downs, it can make simple web pages &#8216;come alive&#8217; for the user.  It dazzles them, so to speak, and so they feel their organization is updated and have more confidence in using it. A fully performing web application can be built in weeks, not months, with a small team (no more billing for 40-60 consultants, taking up your office space). Thus a custom application can be built for much, much less. </p>
<p>With a custom application, the real investment dollars would go into making sure that IT staff&#8217;s skills remain up to date and that they can maintain and innovate. Organizations can spend millions on their own people, instead of spending millions on a system that will take years, may never work, and that employees will complain about anyway.</p>
<p>OPM&#8217;s recommendations regarding the HRIS implementations are interesting in that they recommend further consolidation to HR Line of Business Shared Service Centers (HR LOB SSC) - in other words, not only are agencies recommended to shove themselves into an expensive standardized system, they are also recommended to accept support from outsourced employees who are without business process or agency specific knowledge. I&#8217;m not sure exactly why anyone would ever want to do this, even if the idea could be proven to have specific financial benefits&#8230; (which, for the record, on paper it is shown to be more efficient and less costly. In real life I am not convinced that this is the case). </p>
<p>I will take a specific example of a custom element of an HRIS solution &#8211; e-recruitment.  A custom application that I know of has the following statistics:</p>
<ul>
<li>Supports about 30,000 users total, with various clients worldwide</li>
<li>Is highly customized per client but very easy to customize, on the spot</li>
<li>Can be designed and built in weeks by a team of 5 people</li>
<li>Cost: 100-150k for system, 150-160k per year in licensing fees</li>
</ul>
<p>On the other hand, a HRIS e-recruitment system (I won&#8217;t name the brand) took:</p>
<ul>
<li>4.5 MONTHS for design (9 individuals, with travel, 40 hours per week)</li>
<li>Had not even been built and no money was charged for build at the end of that timeframe, but if build were done it would take another 4 months</li>
<li>Was incredibly difficult to customize and in some cases the customizations would likely not work as desired by the client</li>
<li>Cost estimate for design, build, test and deployment quoted to customers?  2.5 MILLION.</li>
</ul>
<p>Numbers like that don&#8217;t lie.  In this case, the custom application is a better choice.  The hilarious part is that in terms of appearance &#8211; the look and feel &#8211; the two applications are incredibly similar, with the custom software being slightly more attractive.  There is almost identical functionality offered.  The difference is that one system is a boxed product, and therefore having an enhancement is a &#8217;special&#8217; &#8216;additional cost&#8217; item. For the other product, there is the expectation that there will be lots of special items &#8211; therefore there is no additional cost.  Both Providers are reputable and filled with intelligent people &#8211; so the cost savings doesn&#8217;t mean any diminishing in quality.  In fact, it is a better fitting product in less time.   This is one select case, but I think the evidence is compelling &#8211; the federal government should really invest some time (and thought) into the future role of custom applications in their organizations.</p>
<img src="http://feeds.feedburner.com/~r/Preferenceset/~4/p3wMsOLQ2Xc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.preferenceset.com/enterprise/custom-applications-vs-cots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.preferenceset.com/enterprise/custom-applications-vs-cots/</feedburner:origLink></item>
		<item>
		<title>Sinatra as a Web Service Server</title>
		<link>http://feedproxy.google.com/~r/Preferenceset/~3/m8Uz4hv0MSQ/</link>
		<comments>http://www.preferenceset.com/development/sinatra-as-a-web-service-server/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 19:09:32 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[contribune]]></category>
		<category><![CDATA[giv.to]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[sinatra]]></category>

		<guid isPermaLink="false">http://www.preferenceset.com/?p=4</guid>
		<description><![CDATA[Recently we launched an internal project called Giv.to.  Giv.to is a URL shortener with a few additional tricks.  To support all the features we wanted to provide our uses, we decided to go with a full Ruby on Rails application.  We were worried about expensive scaling with Rails, if the service ever really caught on.
But [...]]]></description>
			<content:encoded><![CDATA[<p>Recently we launched an internal project called <a href="http://giv.to">Giv.to</a>.  Giv.to is a URL shortener with a few additional tricks.  To support all the features we wanted to provide our uses, we decided to go with a full <a href="http://www.rubyonrails.org">Ruby on Rails</a> application.  We were worried about expensive scaling with Rails, if the service ever really caught on.</p>
<p>But there was really no need to scale most of the application.  The admin interface would not be used heavily, and usage would likely grow predictably.  The only element on the application that might grow quickly and demanded high scalability was the actual URL redirection &#8211; that is, turning our shortened URLs into long URLs.</p>
<p>So we decided to separate our this piece of the application and build a separate web service.  URLs are created and served from a very lightweight <a href="http://www.sinatrarb.com/">Sinta</a> application which is under 100 lines of code.  This application is hosted on a <a href="http://www.heroku.com/">cloud based</a> web service that can be instantly scaled depending on usage.  The Rails application queries the Sinatra application to create URLs and to read URL statistics.  This is done via <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">RESTful</a> web service.</p>
<p>An additional benefit of this method is we get a working <a href="http://en.wikipedia.org/wiki/Application_programming_interface">API</a> for integration with other services as well.  We&#8217;ve already implemented this on <a href="http://www.contribune.org">Contribune</a>, a social news site.  Posting a story automatically creates a Giv.to URL for each posting.</p>
<img src="http://feeds.feedburner.com/~r/Preferenceset/~4/m8Uz4hv0MSQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.preferenceset.com/development/sinatra-as-a-web-service-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.preferenceset.com/development/sinatra-as-a-web-service-server/</feedburner:origLink></item>
	</channel>
</rss>
