<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CEABQ305cSp7ImA9WxBbEks.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977</id><updated>2010-03-10T17:12:32.329-06:00</updated><title>The Technology  Edge</title><subtitle type="html">A series of thoughts on how emerging technologies can be utilized to give companies an edge over their competition.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blogs.solstice-consulting.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/TheTechnologyEdge" /><feedburner:info uri="thetechnologyedge" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>41.882082</geo:lat><geo:long>-87.644611</geo:long><feedburner:emailServiceId>TheTechnologyEdge</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry gd:etag="W/&quot;A0EMSHwzfip7ImA9WxBUEk4.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-4364338131063659751</id><published>2010-02-26T14:25:00.008-06:00</published><updated>2010-02-26T21:01:29.286-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-26T21:01:29.286-06:00</app:edited><title>Mobile Web Development Tips and Tricks</title><content type="html">A brief presentation on 30 tips around context, performance, design, security and portability of mobile web applications.&lt;div style="width:425px" id="__ss_3287556"&gt;&lt;table&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="center"&gt;&lt;br /&gt;&lt;a href="http://www.slideshare.net/jschwan/mobile-web-development-tips-and-tricks" title="Mobile Web Development Tips and Tricks"&gt; Slides&lt;/a&gt;&lt;/td&gt;&lt;td align="center"&gt;&lt;a href="http://www.facebook.com/video/video.php?v=332186952188"&gt;Corresponding Video&lt;/a&gt; (15 minute version)&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mobileappdevelopement-100226142106-phpapp01&amp;amp;stripped_title=mobile-web-development-tips-and-tricks"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=mobileappdevelopement-100226142106-phpapp01&amp;amp;stripped_title=mobile-web-development-tips-and-tricks" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;object width="400" height="226"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://www.facebook.com/v/332186952188"&gt;&lt;embed src="http://www.facebook.com/v/332186952188" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="400" height="226"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;div style="padding:5px 0 12px"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/jschwan"&gt;J Schwan&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-4364338131063659751?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/4364338131063659751/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=4364338131063659751" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/4364338131063659751?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/4364338131063659751?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/DctDs_PjGpU/mobile-web-development-tips-and-tricks.html" title="Mobile Web Development Tips and Tricks" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2010/02/mobile-web-development-tips-and-tricks.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQNRX07eSp7ImA9WxBUEEk.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-8803119853191620404</id><published>2010-02-23T21:54:00.015-06:00</published><updated>2010-02-24T13:39:54.301-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-24T13:39:54.301-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="augmented reality" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="iphone app" /><category scheme="http://www.blogger.com/atom/ns#" term="erp" /><category scheme="http://www.blogger.com/atom/ns#" term="blackberry app" /><category scheme="http://www.blogger.com/atom/ns#" term="mobile application" /><category scheme="http://www.blogger.com/atom/ns#" term="iphone" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise software" /><title>Augmented Reality - Unleash Your Enterprise's Sixth Sense</title><content type="html">Augmented Reality might seem like a futuristic word but the reality is it's a technology that is already available and the opportunities for the enterprise are endless. Now is the time to start thinking about how you can leverage it to better your corporation. This blog is going to give you some baseline education, some examples and ideas on how you can leverage this technology today.&lt;br /&gt;&lt;br /&gt;First, what is it? Wikipedia &lt;a href="http://en.wikipedia.org/wiki/Augmented_reality"&gt;defines it well&lt;/a&gt; but the jist is this:  Augmented Reality is a combined view of the physical real-world with information from the virtual world (in most cases, the internet).&lt;br /&gt;&lt;br /&gt;Yelp's "Monocle" functionality on the iPhone is a great practical example.  It combines the iPhone's camera view, overlayed with a listing of local restaurants and bars.  The information presented is based on the phone's GPS coordinates as well as it's compass reading.  The short YouTube video below demonstrates this for those who haven't seen it.&lt;br /&gt;&lt;object height="170" width="280"&gt;&lt;param name="movie" value="http://www.youtube.com/v/cuqzBVBw5tA&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/cuqzBVBw5tA&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="false" height="170" width="280"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Pretty cool, eh? This concept isn't unlike the yellow, First Down line we're used to seeing in NFL games.  The line doesn't exist, it augments the physical view of the field based on information about the game in progress.&lt;br /&gt;&lt;br /&gt;&lt;span&gt;With the maturation of mobile devices, Augmented Reality (AR) offers additional information that you normally would not have available with your biological 5 senses. Combining a mobile device's eyes (camera), ears (microphone), location (GPS), orientation (compass), movement (accelerometer) and brain (data connection to the internet) a mobile device can provide you with essentially, a 6th sense.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;And it doesn't have to be visual.  The &lt;a href="http://www.shazam.com/music/web/pages/iphone.html"&gt;Shazam&lt;/a&gt; mobile application utilizes the phone's microphone (ears) and listens for music playing in the background.  It then sends that information to the internet, which performs audio-recognition to determine the name of the song playing.  The app then provides the user with the song title, artist, discography information and upcoming concert dates of the artist (based on your location of course).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-weight: bold;"&gt;Examples for the Enterprise&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Now let's think of some examples for the enterprise.  Let's say you're a sales representative visiting a client.  As you near their building, you pull up your phone and launch your mobile AR-powered CRM app.  The phone recognizes the building you are standing in front of and overlays it's view with a list of all customers who work in the building.  You select your customer's name and are immediately presented with a consolidated view of relevant customer data, including recent call logs from your call center.&lt;/li&gt;&lt;li&gt;Perhaps you're heading to a meeting in your own building and the conference room you have scheduled is occupied.  Do you barge in or wait it out?  It really depends on who is on the other side of the door doesn't it?  You pull out your phone, launch your conference room scheduling app and hold up the camera to the conference room name/number on the door. The app utilizes your phone's location and image recognition on the conference room sign, immediately presenting you with information on the current meeting taking place, including current participants.  If you want to see other options, you click a button and it brings up other available conference rooms on the floor.  You select one and it books your new reservation.&lt;/li&gt;&lt;li&gt;Perhaps you're in the corporate real estate group doing some location prospecting.  You come upon a vacant building.  Bringing up your AR-Powered Real Estate asset management application.  It recognizes your location and provides  you with a mash up of average lease rates/sq foot for the area, vacancy rates, demographic information about the population, etc.&lt;/li&gt;&lt;li&gt;There's a great app that already exists called RedLaser that uses the phone's camera to scan bar codes and presents the user with alternative merchants that sell the product on Google Product Search.  Think about the applications for the retail industry with the availability of simple (cheap) bar code scanning functionality!&lt;/li&gt;&lt;/ol&gt;&lt;object height="172" width="212"&gt;&lt;param name="movie" value="http://www.youtube.com/v/DYG-gxHeDBs&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/DYG-gxHeDBs&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="172" width="212"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;The point of AR is to be able to make decisions real-time. &lt;i&gt;Historically, being on-line means you're off-life.&lt;/i&gt;  You have to stop whatever it is you are doing and get to a computer, a computer which is incognizant of the world around you, to pull information about purchases, deals, hires, dates, etc. &lt;i&gt;With AR, On-line no longer means on a computer.  It means you're just "on".&lt;/i&gt;  Imagine if you had the breadth of information available on the internet &lt;i&gt;and your intranet&lt;/i&gt; with you all the time, everywhere you were, without a whole lot of squinty thumb typing and without any &lt;span style="font-style: italic;"&gt;waiting&lt;/span&gt;. That is augmented reality.&lt;br /&gt;&lt;br /&gt;Want some good news? It isn't that hard to build this stuff.  The major smartphone's SDKs do most of the work in pulling the phone's "senses" information for you.  That info combined with some &lt;a href="http://en.wikipedia.org/wiki/List_of_image_analysis_software"&gt;open source image recognition projects&lt;/a&gt;, relatively commoditized OCR technology and your company's existing web services and ERP data stores,  leaves only one question.   What don't you want to do?&lt;br /&gt;&lt;br /&gt;You know I love your comments. Share some ideas for the enterprise below and follow this blog.  As we build these AR apps we'll be posting best practices, tips and tricks along the way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-8803119853191620404?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/8803119853191620404/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=8803119853191620404" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/8803119853191620404?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/8803119853191620404?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/Vmj4dZ_nGW8/augmented-reality-unleash-your.html" title="Augmented Reality - Unleash Your Enterprise's Sixth Sense" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2010/02/augmented-reality-unleash-your.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUGR38yeCp7ImA9WxBWEkw.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-4097021868300203942</id><published>2010-01-15T15:40:00.006-06:00</published><updated>2010-02-03T11:13:46.190-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-03T11:13:46.190-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cloud computing platforms" /><category scheme="http://www.blogger.com/atom/ns#" term="amazon ec2" /><category scheme="http://www.blogger.com/atom/ns#" term="azure" /><category scheme="http://www.blogger.com/atom/ns#" term="cloud computing" /><category scheme="http://www.blogger.com/atom/ns#" term="microsoft" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise cloud computing" /><title>Cloud Computing: Testing Microsoft Azure and Amazon's EC2 Economically</title><content type="html">This blog was guest written by &lt;a href="http://www.linkedin.com/in/greghubbard"&gt;Greg Hubbard&lt;/a&gt;.  Greg is the Director of Application Development for &lt;a href="http://qinteractive.com/"&gt;Q Interactive&lt;/a&gt;, a Chicago based digital marketing services company.&lt;br /&gt;&lt;br /&gt;When the resistance to technology innovation is discussed, the resistance is usually given the face of the mythical pointy haired boss, the management, finance or business person that “just does not understand!” While this can be the case, sometimes the resistance actually comes from within Information Technology and it should not. IT should be the entity thinking “well, let’s take a look…” While I do not advocate running around trying every new thing that comes along and throwing large sums of money at it in the process, I do promote looking at things in ways that are inexpensive in time and capital commitment. To that end, I use a three step process for trying out a new technology:&lt;p&gt;&lt;/p&gt;1. Find a way to try it out with minimal time and budget impact.&lt;br /&gt;2. Discuss my experience in a large community.&lt;br /&gt;3. Try it again.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.computerworld.com/15470/cloud_computing_try_it"&gt;Read the rest at ComputerWorld.com...&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-4097021868300203942?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/4097021868300203942/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=4097021868300203942" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/4097021868300203942?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/4097021868300203942?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/xcztaBdAJ1s/barriers-to-innovation-sometimes-enemy.html" title="Cloud Computing: Testing Microsoft Azure and Amazon's EC2 Economically" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2010/01/barriers-to-innovation-sometimes-enemy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8NQns_fCp7ImA9WxBVE0g.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-121802900038932951</id><published>2010-01-04T14:02:00.003-06:00</published><updated>2010-02-16T15:14:53.544-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-16T15:14:53.544-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Situational Applications" /><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><category scheme="http://www.blogger.com/atom/ns#" term="custom software development" /><category scheme="http://www.blogger.com/atom/ns#" term="KISS" /><category scheme="http://www.blogger.com/atom/ns#" term="agile software development" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise software development" /><title>Situational Applications - Build for Today be Ready for Tomorrow</title><content type="html">Today I want to talk to you about the concept of "situational applications".  The term is relatively new, but the concept is not.  The concept is &lt;span style="font-weight: bold;"&gt;KISS&lt;/span&gt; (Keep It Simple, Stupid).&lt;br /&gt;&lt;br /&gt;First let's &lt;a href="http://en.wikipedia.org/wiki/Situational_application"&gt;define a situational application: &lt;/a&gt; "A situational application is 'good enough' software created for a small group of users with specific needs. . . as the requirements of a small team using the application change, the situational application also continues to evolve to accommodate these changes."&lt;br /&gt;&lt;br /&gt;Many of the best applications begin as situational. For example, SMTP, which is the standard protocol for sending email, was initially developed as a simple way to send electronic messages, after  the introduction of many bloated formats (including Mail Box Protocol and FTP Mail).  Many early internet providers found these original protocols, although comprehensive, too complicated to implement.  SMTP, which stands for Simple Mail Transfer Protocol, was developed as a simple way to send text-based messages from point A to point B.  The simplicity of the framework caught hold, ultimately became the standard, and has since been enhanced with the features you know as an e-mail user.&lt;br /&gt;&lt;br /&gt;Web services are another great example.  The original vision manifested as Simple Object Access Protocol (SOAP), which was a comprehensive, complex protocol for allowing different systems to talk to one another. Ultimately, SOAP grew in comprehensiveness and complexity.  As a result, Representational State Transfer (REST), a simple protocol that does the same thing as SOAP but without all the bells and whistles, was developed. The result is that REST has taken hold as the preferred standard.  REST has continued to evolve to meet additional needs as they gain traction, &lt;span style="font-weight: bold;"&gt;but its evolution is organic, not forced.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've had the opportunity to build a lot of new software products for &lt;a href="http://www.solstice-consulting.com/cms/portfolio/portfolio/portfolio.html"&gt;great companies&lt;/a&gt;.  And the more applications I build, the more I realize that most (if not all) of them are in fact, situational, and should be treated as such.  Instead of trying to build the end-all-be-all in release 1, I've found  we're more successful successful if we build an application that can addresses the core business problem, and &lt;span style="font-weight: bold;"&gt;getting it out into the user community quickly&lt;/span&gt;.  Ultimately, the user community will drive the direction of the application.  If a core need is met quickly,  the app will be used; and if the app is friendly and appealing enough, users will want to give ideas on how it can continue to make their lives/jobs easier.  In all of my years building applications, the most time-tested and well received, have inevitably started by simply solving a "situational" problem.  Over time, they have become much more than that, but they all started with a laser focus.&lt;br /&gt;&lt;br /&gt;If you are a product manager (or if you work for one) remember to Keep It Simple.  Get the product out early and request feedback from users often.  Use &lt;a href="http://www.solstice-consulting.com/cms/architect/technology/software-product-development.html"&gt;Agile Software Product Development &lt;/a&gt;to get that first release out quickly. The methodology lends itself to this approach.   Stay focused on business value and work to achieve it as quickly as possible.  Do not try to solve every problem for everyone right away, instead solve the BIG problem for everyone first.  Everyone will line up behind you and your product after that to take care of the small stuff.&lt;br /&gt;&lt;br /&gt;Please use the comments below to share ways that you Keep It Simple in your software product development, or share your experiences of how your 'situational applications' have become THE application because of laser focus on solving real business problems.&lt;br /&gt;&lt;br /&gt;As always, thanks for reading.&lt;br /&gt;&lt;br /&gt;-J&lt;br /&gt;&lt;br /&gt;Whoa. . .this post was picked up by &lt;a href="http://advice.cio.com/solstice_consulting/situational_applications_build_for_today_be_ready_for_tomorrow"&gt;&lt;span style="text-decoration: underline;"&gt;CIO.com&lt;/span&gt;&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-121802900038932951?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/121802900038932951/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=121802900038932951" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/121802900038932951?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/121802900038932951?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/LTW5BOQNrNU/situational-applications-build-for.html" title="Situational Applications - Build for Today be Ready for Tomorrow" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/06/situational-applications-build-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUABRX4-cSp7ImA9WxBSEE8.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-6540418364711917687</id><published>2009-12-16T17:03:00.023-06:00</published><updated>2009-12-16T23:29:14.059-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-16T23:29:14.059-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="life lessons" /><category scheme="http://www.blogger.com/atom/ns#" term="business relationships" /><category scheme="http://www.blogger.com/atom/ns#" term="negotiation" /><category scheme="http://www.blogger.com/atom/ns#" term="chess" /><title>Sometimes a Stalemate is a Win</title><content type="html">This story has nothing to do with technology.  It is a life lesson I wanted to share.&lt;br /&gt;&lt;br /&gt;When I was 12 years old I joined the Benjamin Middle School chess club.  OK, OK, stop laughing.    We would meet weekly after school to play chess and every month, play in tournaments against other schools.  I'm not a great chess player, but I've always loved the game.  Chess is one of the only games where there is nothing left to chance.  There are no cards, no dice.  It doesn't matter if you're the richest or the poorest, the luckiest or the unluckiest dude in the world.  At the beginning of the game, the playing field is completely even.&lt;br /&gt;&lt;br /&gt;In my first tournament I was playing another kid from a neighboring school.  We were both beginners and pretty evenly matched, so the game took quite a long time.  We were huddled up in a corner and it appeared no one was paying much attention to us. As the game progressed I found I had my opponent on the ropes.  I was chasing his King down with a Bishop and a Rook and I could taste victory.  I got his King cornered and after he studied his next move for awhile he looked up and said "Well that's it, you won, there's nowhere for me to go."  I looked down at the board and realized he was right, but I didn't win. As he started packing up his pieces I said,  "It's a stalemate.  I didn't win because you're not in check.  It's a tie."  The kid was surprised and said, "I didn't  know about that.  That's cool!"&lt;br /&gt;&lt;br /&gt;I put my pieces away and as I turned around to leave I almost bumped into our coach, Mr. Mason, who unbeknown to me, was standing behind me watching our match.  He smiled at me and said, "I'm proud of you J.J."&lt;br /&gt;&lt;br /&gt;"Proud of a stalemate?"&lt;br /&gt;&lt;br /&gt;"No, not because of the stalemate.  You could have taken that win to the judges table, that kid didn't know any better.  But you told the truth, you were fair, and that builds character. For you, that stalemate is a win.  Good job son."&lt;br /&gt;&lt;br /&gt;I didn't think much of that exchange at the time.  In my 12-year-old innocence I didn't think twice about making that call. Today, as a business owner and a family man, with a lot more to lose and a lot more people to take care of, I think about that day a lot. From time-to-time in my job, I'm confronted by others with a difference of opinion.   I like to look at things objectively and most of the time, we can come to a mutual agreement with a quick, civil conversation. But sometimes, we just can't see eye-to-eye.  When I hit one of those impasses, more often than not, my Italian blood kicks in. My ears get hot, my pride wells up, I start taking things personally and I lose focus.&lt;br /&gt;&lt;br /&gt;When I feel that happening, I think about chess.  I think about how objective the chess board is, how black and white the game is and how, out of all the permutations that could happen, there still is a possibility of coming to a draw.  And then I think about that match when I was 12 years old.  And I ask myself, "Am I being fair?"  "If Mr. Mason was standing over my shoulder, would he still be proud?"  The answer to that question always calms me down and dictates my next move.  Whether it's standing my ground or handing some back.&lt;br /&gt;&lt;br /&gt;It's a mantra I've come to embrace over the years.  Sometimes you know you're right, and sometimes you realize you're wrong.   But when you hit a stalemate, you always have your character to fall back on. And as long as you hold true to your character, a stalemate, is a win.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-6540418364711917687?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/6540418364711917687/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=6540418364711917687" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/6540418364711917687?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/6540418364711917687?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/UffMU1b_-iE/sometimes-stalemate-is-win.html" title="Sometimes a Stalemate is a Win" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/12/sometimes-stalemate-is-win.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYASHY5fSp7ImA9WxNaGUw.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-7280549290366390082</id><published>2009-12-03T22:18:00.008-06:00</published><updated>2009-12-04T02:59:09.825-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-04T02:59:09.825-06:00</app:edited><title>What Clark Griswold Taught Us About IT Production Deployments</title><content type="html">So "Christmas Vacation" is one of my all time favorite movies.  My extended family and I watch it every year over the holidays, and no matter how many times I see it, it's always funny.  And the older I get, the more  I find it funny for different reasons.&lt;br /&gt;&lt;br /&gt;Well I took it to a whole new (geeky) level tonight. After watching a clip of the movie a friend of mine posted on Facebook, I thought about how Clark's Christmas lights escapade reminded me of some of those production deployment horror stories from years past. Do you remember that night of production launch when something was not working and no one could figure out why, since you all tested the heck out of the thing for the 3 months prior and it definitively worked everywhere BUT production?  So I sat on YouTube tonight adding some IT commentary to one of my favorite Christmas Vacation clips. Here you go and Merry Christmas!&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NuCBW8CdUNs&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/NuCBW8CdUNs&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-7280549290366390082?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/7280549290366390082/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=7280549290366390082" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/7280549290366390082?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/7280549290366390082?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/lcDwU4VZzD4/what-clark-griswold-taught-us-about-it.html" title="What Clark Griswold Taught Us About IT Production Deployments" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/12/what-clark-griswold-taught-us-about-it.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8CRnY5cCp7ImA9WxBVE0g.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-4309340132759376137</id><published>2009-11-15T08:03:00.023-06:00</published><updated>2010-02-16T15:14:27.828-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-16T15:14:27.828-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="bpm" /><category scheme="http://www.blogger.com/atom/ns#" term="custom software development" /><category scheme="http://www.blogger.com/atom/ns#" term="packaged applications" /><category scheme="http://www.blogger.com/atom/ns#" term="portals" /><category scheme="http://www.blogger.com/atom/ns#" term="customization" /><category scheme="http://www.blogger.com/atom/ns#" term="saas" /><category scheme="http://www.blogger.com/atom/ns#" term="erp" /><category scheme="http://www.blogger.com/atom/ns#" term="soa" /><title>4 Ways to Make your Packaged Application's Customizations Upgradeable</title><content type="html">Too often the Buy vs. Build argument get turned on its head when enterprises who buy a  packaged solution to save money, end up spending  more customizing it to fit their business' needs.  When I say packaged here I am referring to things like ERPs, CRMs and even newer SaaS based applications.  Customizing packaged apps is expensive since you often need proprietary skills and knowledge to make any changes.  It gets even more expensive when it comes time to upgrade and many of those customizations need to be refactored or rewritten.&lt;br /&gt;&lt;br /&gt;The reality is, no packaged app fits an organization like a glove, so some level of customization is expected.   The blog below is meant to suggest some basic best practices for customizing packaged and SaaS applications.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1) Architect your Customizations - Encapsulate into Services&lt;/span&gt;&lt;br /&gt;Too often developers don't think about architecting their customizations and instead, just slam some code into the packaged product.   Customizations should be built as plugins, something that can, for the most part, stand on its own.   I typically suggest encapsulating any business logic in an external REST service running on your enterprise's native application architecture (i.e. C#, Java, C++, PHP, etc.).  Assuming it's a web based app, encapsulate  custom presentation logic in an embeddable HTML or Javascript file.  Ideally, embedding that file would be the only line of code that will need to be customized (plugged) into the packaged app.   AJAX calls can be used to communicate between the custom presentation and the external services you write.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2) Avoid Use of  Proprietary Customization Languages and APIs&lt;/span&gt;&lt;br /&gt;Using proprietary languages for customization (i.e. Peoplecode, ABAP, etc.) will ultimately lead to pain later.  Proprietary languages are typically procedural (or used that way) and aren't maturing at the same speed as industry standard languages are.  It's often faster to build in external languages.  The SDKs for the proprietary languages are evolving however, so upgrades usually require some level of refactoring.  In general, what these languages were intended to be used for, and how they actually get used, varies widely.  For basic data retrieval, processing logic and presentation, try to stay away from them.  If you have to utilize a particular API because it contains some proprietary logic, encapsulate it in a single service, so you can minimize refactoring later.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3) Utilize Asynchronous Processing Where Possible&lt;/span&gt;&lt;br /&gt;Customizations in packaged application often lead to performance problems in the app as a whole. The reason is packaged apps' application container's are often configured to run the native packaged application and &lt;span style="font-style: italic;"&gt;basic &lt;/span&gt;customizations.   The container's threading models are often not tuned to support large amounts of customized code (particularly those making calls to external systems).  By utilizing the approach in number 1, you're utilizing the power of the browser to handle external calls to retrieve information.  In cases when you need to make calls from the  packaged application's server (i.e. to perform updates to external systems ), try to utilize asynchronous messaging for passing off requests.  By utilizing a &lt;a href="http://en.wikipedia.org/wiki/Message-oriented_middleware"&gt;MOM &lt;/a&gt;like MSMQ or Websphere MQ, your taking a considerable amount of load off of the packaged application.  You'll need to build some external services to handle any potential errors or issues that come out of the external updates, but this is a small price to pay compared to trying to debug issues occurring within the black box of a packaged app.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4)  Keep the core-competency of the packaged app in mind&lt;/span&gt;&lt;br /&gt;Too often business users will push to have more and more functionality layered into a packaged application.  This bloats the packaged app, makes upgrades difficult and most importantly, limits reuse and accessibility of that functionality from other enterprise systems.  By keeping custom functionality hosted outside of the packaged app, you're on your way to building a more service-orientated environment where the packaged app is a consumer of those services, and not the host of them.  Portals and BPM applications can be used to string together those services (and those of the packaged app) into composite applications that are specific to a particular business.   In general, use the packaged app for what you bought it for and don't try to turn it into something it is not.&lt;br /&gt;&lt;br /&gt;Those are a couple of my thoughts, tell me about your experiences? How have you future-proofed your packaged app customizations?&lt;br /&gt;&lt;br /&gt;This blog was also picked up by &lt;a href="http://advice.cio.com/solstice_consulting/4_ways_to_make_your_packaged_applications_customizations_upgradeable"&gt;CIO.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-4309340132759376137?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/4309340132759376137/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=4309340132759376137" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/4309340132759376137?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/4309340132759376137?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/g3ZF6pQtDSI/4-ways-to-make-your-packaged.html" title="4 Ways to Make your Packaged Application's Customizations Upgradeable" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/11/4-ways-to-make-your-packaged.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0EFSH4yeCp7ImA9WxNbEE4.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-6402050504778867037</id><published>2009-11-12T08:16:00.002-06:00</published><updated>2009-11-12T08:20:19.090-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-12T08:20:19.090-06:00</app:edited><title>Utilizing Today's Technology to Formulate a Sixth Sense</title><content type="html">Really starts to get interesting and practical around the 4 minute mark.  Very impressive.  Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/blBohrmyo-I&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/blBohrmyo-I&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-6402050504778867037?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/6402050504778867037/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=6402050504778867037" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/6402050504778867037?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/6402050504778867037?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/dSCZuutrL6I/utilizing-todays-technology-to.html" title="Utilizing Today's Technology to Formulate a Sixth Sense" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/11/utilizing-todays-technology-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIGQngzeip7ImA9WxNUEkQ.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-8924134842277757733</id><published>2009-11-03T18:05:00.006-06:00</published><updated>2009-11-03T18:12:03.682-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-03T18:12:03.682-06:00</app:edited><title>4 Things to Think About:  Identity Management for SaaS Apps</title><content type="html">&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/hcpxtN7cJj0&amp;hl=en&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/hcpxtN7cJj0&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-8924134842277757733?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/8924134842277757733/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=8924134842277757733" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/8924134842277757733?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/8924134842277757733?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/NLoBQTIkkuE/4-things-to-consider-for-saas-identity.html" title="4 Things to Think About:  Identity Management for SaaS Apps" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/11/4-things-to-consider-for-saas-identity.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8GR3Y6fCp7ImA9WxNVGUs.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-2554671898113233849</id><published>2009-10-30T23:46:00.005-05:00</published><updated>2009-10-31T00:43:46.814-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-31T00:43:46.814-05:00</app:edited><title>Get Rid of the Submit Button</title><content type="html">I am starting a movement against the Submit Button.  Perhaps you've seen it.  It's the annoying button at the end of every web page you visit that requires a button-click before anything happens.  It's also in every window that comes up in your operating system. Sometimes it says Submit or Enter or Go or Yeah!  They slow users down, and honestly, with computing prowess nowadays,  They are not necessary. &lt;br /&gt;&lt;br /&gt;And I'm not talking about Confirmation buttons.  Confirmation is different.  That's an event we want the end-user to participate in.  Enter information, confirm, submit.  But the typical submit button is simply requiring the user to click another button after they are done with whatever it is they were doing in the first place, to make life easier for the developers of the site.  This button is now irrelevant with today's technology.&lt;br /&gt;&lt;br /&gt;How do you get rid of it?  Use AJAX or a similar Rich Internet Application technology (i.e. Silverlight or Adobe Flex).  Instead of triggering events on a button click, they should be triggered on the completion of a particular form element or a key stroke.  This is not hard to do with today's programming languages.  It may require a couple more lines of code to handle the idiosyncrasies, but at the end of the day, the extra work for the developer will pay dividends over the work required by the users.&lt;br /&gt;&lt;br /&gt;Please, do a friend a favor and remove the submit button, be Green and Save a Click.&lt;br /&gt;&lt;br /&gt;Use the comments below if you think I am wrong, I will be happy to respond.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-2554671898113233849?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/2554671898113233849/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=2554671898113233849" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/2554671898113233849?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/2554671898113233849?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/q8nJ20U0wkg/i-am-starting-movement-against-submit.html" title="Get Rid of the Submit Button" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/10/i-am-starting-movement-against-submit.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4AQXg7fCp7ImA9WxBVE0g.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-8432561493402215159</id><published>2009-10-20T06:52:00.012-05:00</published><updated>2010-02-16T15:15:40.604-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-16T15:15:40.604-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="performance" /><category scheme="http://www.blogger.com/atom/ns#" term="web development" /><category scheme="http://www.blogger.com/atom/ns#" term="internet" /><category scheme="http://www.blogger.com/atom/ns#" term="scalability" /><category scheme="http://www.blogger.com/atom/ns#" term="web site" /><category scheme="http://www.blogger.com/atom/ns#" term="web response headers" /><category scheme="http://www.blogger.com/atom/ns#" term="web performance" /><category scheme="http://www.blogger.com/atom/ns#" term="web infrastructure" /><category scheme="http://www.blogger.com/atom/ns#" term="response headers" /><title>Use the Power of the Internet to Scale Your Portal (or any web app)</title><content type="html">Did you know that regardless of your infrastructure, you have the largest, most powerful performance enhancing platform in the world at your disposal?  This platform is vast, infinitely scalable and most of all, it's &lt;span style="font-weight: bold;"&gt;free&lt;/span&gt;. What is it and how do I sign up?   It's the internet itself!   Let me give you an example of how to take advantage of this.&lt;br /&gt;&lt;br /&gt;My company does a lot of &lt;a href="http://www.solstice-consulting.com/cms/architect/technology/platform-implementation.html"&gt;Portal implementations and customization&lt;/a&gt;.  Portals are great for users because they consolidate content and services from across an enterprise and present the information in a unified, consistent user interface. iGoogle is a great example.  Portals are also a pain in the butt for developers, mainly because of  the dozens of integration points that often make up a personalized portal page. The top right corner may be pulling weather information, underneath it a customized stock portfolio, under that company announcements, info from your HR profile, personalized lists of your client accounts, etc.  Each of these blocks of information (or portlets)  make individual calls to retrieve this context-specific information.  So one call to your portal page, often turns into dozens of portlet requests to your data center.  That load adds up quickly and makes performance and scaling a challenge.&lt;br /&gt;&lt;br /&gt;Regardless if you're running a portal or not, the key to good performance (and ultimately scaling) for any web site is caching.  A great rule of thumb is, &lt;span style="font-weight: bold;"&gt;the closer the content is cached to the end user, the faster it 's delivered&lt;/span&gt;.  If the content is cached in their browser (i.e. an image) bingo, it's there.  If you have to go back to the webserver to retrieve a pre-generated HTML page, it's a bit slower.  Have to go back to the app server (behind the webserver) to run some logic to create the HTML page, slower.  Have to go back to the database to pull some data the app server needs, slower still.  Have to go to some external  ERP or a content provider, slower, slower, slower.&lt;br /&gt;&lt;br /&gt;There are several persistent and&lt;a href="http://www.oracle.com/technology/products/coherence/index.html"&gt; in-memory caching options&lt;/a&gt; out there that you can use to avoid multiple trips to external systems.  But what about avoiding trips to your data center all together?  This is where the internet comes in.&lt;br /&gt;&lt;br /&gt;Every request (from a user) and response (from a server) sent through the internet  hops across several intermediary servers between your data center and the user's web browser.  At each of these hops, the intermediaries check what are called "response headers" to see how long they can cache the data that has been made from previous requests.  That means when person "A" requests weather for Chicago, if your system is architected right, the next person will get the same information without having to go to your data center to get it.&lt;br /&gt;&lt;br /&gt;The key to enabling this caching is two fold.  The first is customizing your URI (i.e. URL) to be specific to how you want data to be cached. The second is using the &lt;a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html"&gt;response headers' cache-control &lt;/a&gt;directive to determine how long that URL's data should be cached (i.e. one hour, one day, one week, etc.).&lt;br /&gt;&lt;br /&gt;For example, if your  page's or portlet's URI is "http://www.mycompany.com/weather" and the responsibility is on your webserver to figure out where that user is from and serve up weather appropriately, caching on intermediary servers is not going to do anything but cause problems.   But if your URI is "http://www.mycompany.com/weather/Chicago" now you have a specific request that can be cached for up to 12 hours. Any subsequent requests by Chicago-based users isn't going to hit your data center and will be served up by intermediary servers.  This decreases load on your servers, increases performance and  quickly adds up to huge hardware savings.&lt;br /&gt;&lt;br /&gt;The same trick can be applied to any relatively static information.  Use response headers to cache information that isn't going to change that often.  And if the information is personalized, figure out how to bake that personalization/segmentation into your URL so the context-specific data can still be cached by intermediaries.  This may not apply to exclusive information (i.e. account balances) but if you utilize AJAX and REST in your page creation, that can be a small hit to your data center, while the rest of the page is rendered from cached information on intermediary servers.&lt;br /&gt;&lt;br /&gt;So use the power of the internet to your advantage to scale effortlessly.   If you think about most  page's makeup there is a very small part that is truly user-specific.  The rest of it can be served up by the internet at large, and that's a great way to scale without spending a dime!&lt;br /&gt;&lt;br /&gt;This blog was also picked up by &lt;a href="http://advice.cio.com/solstice_consulting/use_the_power_of_the_internet_to_scale_your_portal_or_any_web_app"&gt;CIO.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-8432561493402215159?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/8432561493402215159/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=8432561493402215159" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/8432561493402215159?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/8432561493402215159?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/vip4xjKP_JY/use-power-of-internet-to-scale-scale.html" title="Use the Power of the Internet to Scale Your Portal (or any web app)" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/10/use-power-of-internet-to-scale-scale.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C08FSH4yfip7ImA9WxNUGE8.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-958341164612827191</id><published>2009-10-16T21:14:00.003-05:00</published><updated>2009-11-09T20:56:59.096-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-09T20:56:59.096-06:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="distributed applications" /><category scheme="http://www.blogger.com/atom/ns#" term="agile" /><category scheme="http://www.blogger.com/atom/ns#" term="lean" /><category scheme="http://www.blogger.com/atom/ns#" term="apps" /><category scheme="http://www.blogger.com/atom/ns#" term="virtualization" /><category scheme="http://www.blogger.com/atom/ns#" term="infrastructure as a service" /><title>Rubbin's Racin - Infrastructure and Apps Need To Work Together to Win</title><content type="html">Did you ever see that (terribly) awesome movie, "Days of Thunder"?  If not, watch it, it's probably on TBS right now, or just read this. . .&lt;br /&gt;&lt;br /&gt;From my experience, Infrastructure in IT is about building a car , and Apps is about driving that car.  One can't succeed without the other.   Success is determined by the fans of the car and the driver.  If the car wins, awesome.  If the car loses, who's fault is it, the car or the driver?  The fans don't care.&lt;br /&gt;&lt;br /&gt;I like to build race cars (I am a young Harry Hogge). I admittedly grew up as a Cole Trickle, but now when it comes to building scalable computer systems I think about the infrastructure first:  The network, the memory, the CPUs, the storage and the car's internal computer (you know, the &lt;a href="http://www.solstice-consulting.com/cms/architect/technology/platform-implementation.html"&gt;middleware&lt;/a&gt;, the stuff that makes sure that the driver can 'safely' use all of that metal to it's fullest potential).&lt;br /&gt;&lt;br /&gt;So who are the cars' customers?  &lt;a href="http://www.solstice-consulting.com/cms/architect/technology/software-product-development.html"&gt;Application developers&lt;/a&gt;.  They are the drivers. Cars are built based on the developers' requirements.  But often the developers are constrained by the car provided to them.  They can only turn the corner (or process transactions) as fast as the middleware (computer) will let them.  They can only go as long as the gas tack (storage) is available.  When they launch the car they find their racing lines in the context of what the car can handle.  But whatever path they choose, it's the car's responsibility to ensure the path scales, that it's consistently available for every loop around the track.&lt;br /&gt;&lt;br /&gt;The unfortunate reality is that most organizations put a wall up between the car (infrastructure) guys and the drivers.  They point fingers at each other when something goes wrong, performs poorly or doesn't scale. You hear things like "Cole Trickle  doesn't know how to drive the car the way it was meant to be driven" or "Harry Hogge's car is a piece of garbage".  Or in IT terms. . . "Cole's code is waaaay too memory intensive and needs to be optimized" or "Harry's RAM allocation for our application is ridiculously low and needs to be increased."&lt;br /&gt;&lt;br /&gt;The reality is. . .the fans don't care.  They don't care if you're a mechanic or a driver, if you're on the infrastructure team or the apps team.  &lt;span style="font-weight: bold;"&gt;The only thing the fans care about is if you're winning or losing. And you can't win with a bad car and a good driver or a good car and a bad driver.  You need them both. &lt;/span&gt; One can't win without the other.  And the better they work together, the happier the fans will be.&lt;br /&gt;&lt;br /&gt;-J&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-958341164612827191?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/958341164612827191/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=958341164612827191" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/958341164612827191?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/958341164612827191?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/Ixu96nZ6Td4/rubbins-racin-infrastructure-and-apps.html" title="Rubbin's Racin - Infrastructure and Apps Need To Work Together to Win" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/10/rubbins-racin-infrastructure-and-apps.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUMDRH47cCp7ImA9WxNXFUo.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-895211810362543591</id><published>2009-10-03T08:43:00.002-05:00</published><updated>2009-10-03T08:44:35.008-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-03T08:44:35.008-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Google Wave" /><category scheme="http://www.blogger.com/atom/ns#" term="Email" /><category scheme="http://www.blogger.com/atom/ns#" term="Wave" /><title>Good 2 minute video on Why Google Wave</title><content type="html">Thanks to Epipheo Studios, a solid explanation on why Google Wave will rock. . . &lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/rDu2A3WzQpo&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/rDu2A3WzQpo&amp;rel=0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-895211810362543591?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/895211810362543591/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=895211810362543591" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/895211810362543591?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/895211810362543591?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/lovKunL8j5g/good-2-minute-video-on-why-google-wave.html" title="Good 2 minute video on Why Google Wave" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/10/good-2-minute-video-on-why-google-wave.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0cERHk7eip7ImA9WxBVE0g.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-7696065666096440364</id><published>2009-09-07T00:04:00.031-05:00</published><updated>2010-02-16T15:16:45.702-06:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-16T15:16:45.702-06:00</app:edited><title>Gmail's Down:  When Redundancy is Not Enough. What We Can Learn About Fault Tolerance</title><content type="html">Last week, Gmail &lt;a href="http://www.washingtonpost.com/wp-dyn/content/article/2009/09/01/AR2009090104232.html"&gt;failed&lt;/a&gt; for over 30 minutes. Some really smart people keep that service running for millions of users. What happened?!? Here's the story and the lesson we can take away about fault tolerance, business continuity and disaster recovery.  &lt;p&gt;&lt;i&gt;"...we had slightly underestimated the load which some recent changes placed on the request routers,” Ben Treynor, Google site reliability Czar wrote “At about 12:30 p.m. a few of the request routers became overloaded and in effect told the rest of the system 'stop sending us traffic, we’re too slow!.' This transferred the load onto the remaining request routers, causing a few more of them also to become overloaded, and within minutes nearly all of the request routers were overloaded.”&lt;/i&gt;&lt;/p&gt; &lt;p&gt;This is an interesting case study. There was no "single point of failure" here, which is what many enterprise's data centers bank on for business continuity. In fact, there were dozens of request routers at Google. As certain routers became overloaded, fail-over to alternate request routers worked exactly as planned. Redundancy, check. Fail-over, check. What could go wrong? The daisy-chaining failure that occurred is an effect that has a very reasonable cause: Not considering the "Factor of Safety." &lt;/p&gt; &lt;p&gt;I was educated as a &lt;a href="http://www.matse.illinois.edu/"&gt;materials science engineer&lt;/a&gt;. Although my degree has limited applicability to my career, there are a few things I learned that I apply to IT systems design. A big one is a structural engineering discipline called the &lt;a href="http://en.wikipedia.org/wiki/Factor_of_safety"&gt;Factor of Safety&lt;/a&gt; (FoS). In layman's terms, the FoS is simple. If you're building a bridge to support 100 cars, you have to construct it to support at least 1000. This is a FoS of 10.&lt;/p&gt; &lt;p&gt;If your car is driving over a bridge with 99 trucks carrying a dozen lead pipes, this FoS seems reasonable. You want to be sure you're going to be OK, and a FoS of 1 or 2 doesn't guarantee that. The engineering discipline states that components whose failure could result in substantial financial loss, serious injury, or death can use a safety factor of four or higher -- most often ten, like our bridge.&lt;/p&gt; &lt;p&gt;So what am I getting at? Google didn't have the appropriate FoS applied to their failover/business continuity strategy. I don't know the factor they used, but my guess goes something like this:&lt;/p&gt; &lt;p&gt;We have 10 routers at 75% capacity. Every time a router starts peaking over 80%, it conservatively considers itself overloaded, and passes its load off on to the next nine servers, which quickly peak over 80%. The daisy chain continues until you can't get your e-mail.&lt;/p&gt; &lt;p&gt;Both the FoS and the load-balancing configuration they had with their active router hardware were wrong. They may have felt they were adequately prepared by "engaging" more hardware than was needed. In reality, they needed a FoS of at least four times the number of routers they had.&lt;/p&gt; &lt;p&gt;Business continuity means asking the question "what then?" after the question "what now?" has been answered. It's preparing for the after-shock of the original effect you initially designed to address.&lt;/p&gt; &lt;p&gt;I understand that, after a point, a certain FoS might become unreasonable, but you can still account for it in either your disaster recovery plan or service level agreement. For example, you can state that you can handle a 400% increase in load in your local data centers after which you will need X amount of downtime to divert traffic to secondary, public cloud-based environments. Of, if (God-forbid) a data center is destroyed, that the backup data center may only be able to handle X applications.&lt;/p&gt; &lt;p&gt;So the take away is this. What's your FoS? On a bridge, 2 doesn't cut it. And unfortunately, we're all on that bridge. When we're dealing with possibilities of substantial financial loss, serious injury, or death, my engineering discipline tells me we've got to think harder than ... "We have a DR center."&lt;/p&gt; &lt;p&gt;We can't just think about "what if?" we have to think about "what then?" The answers aren't much different (process-wise or technically) than what you already have, but having it thought through, will make a safer place.&lt;/p&gt;&lt;br /&gt;-J&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-7696065666096440364?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/7696065666096440364/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=7696065666096440364" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/7696065666096440364?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/7696065666096440364?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/orexix8HQqI/gmails-down-when-redundancy-fails-whats.html" title="Gmail's Down:  When Redundancy is Not Enough. What We Can Learn About Fault Tolerance" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/09/gmails-down-when-redundancy-fails-whats.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEMBR34yeyp7ImA9WxJbGEQ.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-4144620842475523476</id><published>2009-07-28T00:10:00.007-05:00</published><updated>2009-07-29T14:40:56.093-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-29T14:40:56.093-05:00</app:edited><title>Jidoka - How to Ensure Your Job is NOT Offshoreable</title><content type="html">&lt;span&gt;Do you ever worry that your job might be "offshoreable" in the future?  If not, you should, there's a lot of "smart" people out there that are claiming it's the end-all-be-all cost-saving solution to every business process.  If you have worried about it, I have the steps you need to make sure it never happens.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;Jidoka&lt;/span&gt; is a Japanese word that translates to "&lt;a href="http://en.wikipedia.org/wiki/Autonomation"&gt;Autonomation&lt;/a&gt;".  It is used in the Toyota Production System (TPS) and &lt;a href="http://en.wikipedia.org/wiki/Lean_manufacturing"&gt;Lean manufacturing &lt;/a&gt;techniques. It has been described as "intelligent automation" or "automation with a human touch."  The concept of Jidoka is simple:  &lt;span style="font-weight: bold;"&gt;Humans are flexible, they are good at adapting and making changes, but they are not very good at completing repetitive tasks&lt;/span&gt;. Machines (or computers) however, are not very flexible, but they do a very good job at completing repetitive tasks. Autonomation is about developing processes and systems that understand these key points and leverage human and machine resources accordingly.&lt;br /&gt;&lt;br /&gt;This may trigger a "No duh." response.  But one aspect of Lean manufacturing that we often do not implore, is the concept of &lt;span style="font-style: italic;"&gt;Kaizen&lt;/span&gt;, or continuous improvement.  That is, continually looking for opportunities to remove humans from completing repetitive tasks, and put them in positions of management and oversight where they can implement continuous improvement of the processes they are involved with.&lt;br /&gt;&lt;br /&gt;Think about your life for a moment. How much of your day is spent completing repetitive tasks (on and off the job)?  Whether it's plugging data into a spreadsheet for budget tracking, responding to the same type of email question/request over and over, or heck, even going to various websites to get your local, sports and social media news.  &lt;span style="font-weight: bold;"&gt;How much time during your day do you spend doing the same thing, over and over&lt;/span&gt;?&lt;br /&gt;&lt;br /&gt;On the personal level, there's a great book by Tim Ferris, "&lt;a href="http://www.amazon.com/4-Hour-Workweek-Escape-Live-Anywhere/dp/0307353133/ref=sr_1_2?ie=UTF8&amp;amp;s=books&amp;amp;qid=1248759734&amp;amp;sr=8-2"&gt;The 4 Hour Work Week&lt;/a&gt;", that offers some suggestions on how to Autonomate various aspects of your personal life.  Some of them are far-fetched, but the concept is sound.  &lt;span style="font-weight: bold;"&gt;Stop Wasting Time.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The same discipline can be applied to ALL of our jobs.  We all have processes in place we're required to participate in as a part of doing our jobs.  But how can we make those processes better?  How can we remove ourselves and our colleagues from doing repetitive tasks and Autonomate them?  Note, the word is not "Automate".  We're not talking about replacing humans here, we're talking about increasing their efficiency and allowing them to focus on oversight and things that matter (continuous improvement), and not on the repetitive tasks.&lt;br /&gt;&lt;br /&gt;Some people's answer to process improvement is by offshoring the task.  Send it overseas to cheaper labor, and let &lt;span style="font-style: italic;"&gt;them&lt;/span&gt; complete the repetitive tasks. This may seem to offer some cost savings in the short-term, but this often introduces other issues and inefficiencies, while still not addressing the core issue that humans (no matter where they live) are not very good at completing repetitive tasks.    This is one of the major reasons there is so much attrition in offshore firms.  Offshore employees are not going after more money somewhere else, the truth is, they get bored!  Ultimately, the attrition you see requires more people that need to be trained, more offshore management and oversight needed to oversee new recruits, and the more the cost "savings" shrinks to the point that it negates the competitive advantage that was being explored.  This result has been seen in offshoring everything from financial management, to call centers, to software development.&lt;br /&gt;&lt;br /&gt;If you want to ensure your job doesn't get offshored, then you need to figure out ways to Autonomate your job.  Figure out what aspects can be given to a &lt;span style="font-style: italic;"&gt;machine&lt;/span&gt;.  Let your stakeholders know that the more they can automate, the more responsibility you can take on, the more efficient you can be.  You can &lt;span style="font-weight: bold;"&gt;get out of the role of being an "operator" and into the role of a true "knowledge worker", a differentiator, a competitive advantage.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Before you ever ask yourself the question, "Is my job offshoreable?", ask yourself the question, "Can the processes I'm a part of be Autonomated (Jidoka)?".  I guarantee that if you're continuously doing the latter (Kaizen), the former will never be a question.&lt;br /&gt;&lt;br /&gt;-J&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-4144620842475523476?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/4144620842475523476/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=4144620842475523476" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/4144620842475523476?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/4144620842475523476?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/fcTXuvsWZD0/jidoka-how-to-ensure-your-job-is-not.html" title="Jidoka - How to Ensure Your Job is NOT Offshoreable" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/07/jidoka-how-to-ensure-your-job-is-not.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEFSHszcCp7ImA9WxJbF0s.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-7692500166460263744</id><published>2009-07-27T20:50:00.004-05:00</published><updated>2009-07-28T00:56:59.588-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-28T00:56:59.588-05:00</app:edited><title>What Facebook Is All About</title><content type="html">OK, this isn't really in-line with the Technology Edge theme, but if you're a FB user, it is funny. . .&lt;br /&gt;&lt;br /&gt;&lt;object width="320" height="180"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;param name="movie" value="http://www.facebook.com/v/121334062188"&gt;&lt;embed src="http://www.facebook.com/v/121334062188" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="320" height="180"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-7692500166460263744?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/7692500166460263744/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=7692500166460263744" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/7692500166460263744?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/7692500166460263744?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/Tk-sENAOetI/ok-this-isnt-really-in-line-with.html" title="What Facebook Is All About" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/07/ok-this-isnt-really-in-line-with.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEIEQX07fyp7ImA9WxJbEkQ.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-1263707458602765832</id><published>2009-07-18T01:46:00.015-05:00</published><updated>2009-07-22T14:55:00.307-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-22T14:55:00.307-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="j" /><category scheme="http://www.blogger.com/atom/ns#" term="new talent" /><category scheme="http://www.blogger.com/atom/ns#" term="success" /><category scheme="http://www.blogger.com/atom/ns#" term="create jobs" /><category scheme="http://www.blogger.com/atom/ns#" term="talent" /><category scheme="http://www.blogger.com/atom/ns#" term="millenials" /><category scheme="http://www.blogger.com/atom/ns#" term="job search" /><category scheme="http://www.blogger.com/atom/ns#" term="how to be successful" /><title>A Message for the Millenials: How to be Successful in Business</title><content type="html">I have a few younger siblings that have recently entered the workforce.  This blog is for them and their friends. It has nothing to do with technology.  It contains a few very simple, tactical "habits" that I feel everyone needs to follow to be successful in business.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1)  Never Answer Your Cell Phone in the Middle of a Conversation&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;(if you answer it in a meeting, you could/should be shot).&lt;/span&gt;&lt;br /&gt;This seems obvious but you'd be surprised by how many tenured people break this rule.   This was taught to me by an old mentor of mine, Gautam Shah.  He said, "&lt;span&gt;Answering your cell phone in the middle of a conversation, even a water cooler conversation, is disrespectful and negates any goodness that could come from that conversation. &lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-style: italic;"&gt;At that moment in time, the person on the other end of the line is no where near as important as the person you are talking to&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;.&lt;/span&gt;"   15 years ago, before cell phones, this wasn't an issue, and it shouldn't be today.  You should always be engaged with the person you are speaking with, &lt;span&gt;it establishes report, respect and trust&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;  And, God forbid, if you're in a meeting, and you answer your cell phone, you should be wrapped up in the projector screen and bludgeoned with whiteboard dry erasers, because you just made an ass of yourself.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2)  Always Bring Something to Write With&lt;/span&gt;&lt;br /&gt;My first day of work at Andersen Consulting, I was told by a very smart guy, "&lt;span style="font-weight: bold; font-style: italic;"&gt;Whenever you get up from your desk, make sure you're carrying  a piece of paper with you.&lt;/span&gt;" I smiled and asked, "OK, why?"  He said, "It doesn't matter if you're going to a meeting, walking across the room or going to the bathroom, if there is a piece of paper in your hand, you're busy, if you have nothing, you're wandering."  I think this is an important lesson for anyone in business. &lt;span style="font-weight: bold;"&gt;Perception is reality.&lt;/span&gt; It's especially important if you're called into your client/bosses office.  ALWAYS, bring something to write with.  ALWAYS.  Never go into a meeting (any meeting) empty handed. Being empty-handed totes an essence of disrespect and uncaring.  Oh, and don't forget to WRITE STUFF DOWN.  Taking brief notes, even trivial ones, demonstrates that you are engaged and that you care about the conversation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3)  Don't Cross Your Arms When Someone Is Talking to You&lt;/span&gt;&lt;br /&gt;This is a funny one that I was guilty of for a number of years until I took an Improvisational Acting class a few years ago (which I recommend to anyone in business).  The teacher of the class, Steve Roath, would always point people out who were crossing their arms, before making them put them down. He said, "&lt;span style="font-weight: bold; font-style: italic;"&gt;Crossing your arms creates a barrier between your mind and the knowledge or opinions being shared by others.&lt;/span&gt;"  As subconscious as this reflex may be, I believe he's absolutely right.  I've made it a point to acknowledge my arms in conversations and in meetings and I find that when I do cross them, subconsciously, it's typically (for me) a defense mechanism.  By lowering them I instinctively open my mind to listen to the information being conveyed to me, and I'm much more apt to listen more fully and to either learn from that information, or craft a much more intelligent response.  In summary, don't ever cross your arms.  It's a terrible defense mechanism. If necessary, put your dukes up!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4)  Make a Real Difference by Creating a Job for Someone Else&lt;/span&gt;&lt;br /&gt;This was the most impactful lesson I learned, and it came from Robert Blackwell. Robert and I were at lunch a number of years ago, talking about my then-career as an independent consultant.  He asked, "J, do you think doctors are successful?"  I replied, "Yes, I think doctors are very successful."  He responded, "&lt;span style="font-weight: bold; font-style: italic;"&gt;I think doctors do great things, but it's the guys that build hospitals that are successful, because they create jobs for doctors.&lt;/span&gt;"  That statement always stuck with me.  It should be our goal to not just fill a role for ourselves, but to create roles and jobs for others.  You don't have to be an entrepreneur or a financier to do this, you just have to figure out ways to save your company money or increase it's revenue. So whether your helping a business operate or helping a business develop and grow, you have the opportunity to make a difference, and ultimately, if you do a kick ass job, you &lt;span style="font-weight: bold;"&gt;will&lt;/span&gt; create a job for someone else.  That's what makes America great, and how you can be a &lt;span style="font-style: italic;"&gt;contributor&lt;/span&gt; to it's continued success.&lt;br /&gt;&lt;br /&gt;These are a few tips, there are a gabillion others, and that's what blog comments are for.  So tell the Millenials, what are your "habits" that you'd like to share with our future leaders?&lt;br /&gt;&lt;br /&gt;-J&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-1263707458602765832?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/1263707458602765832/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=1263707458602765832" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/1263707458602765832?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/1263707458602765832?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/X1kCuibxTF8/message-for-millenials-on-how-to-be.html" title="A Message for the Millenials: How to be Successful in Business" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/07/message-for-millenials-on-how-to-be.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8FR34-eCp7ImA9WxJUGEs.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-5411488956746972634</id><published>2009-07-15T07:27:00.002-05:00</published><updated>2009-07-17T16:06:56.050-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-17T16:06:56.050-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Future IT leader" /><category scheme="http://www.blogger.com/atom/ns#" term="Chicago IT Consultant" /><category scheme="http://www.blogger.com/atom/ns#" term="Solstice Consulting" /><category scheme="http://www.blogger.com/atom/ns#" term="Chicago IT" /><category scheme="http://www.blogger.com/atom/ns#" term="IT Consulting" /><title>What is a Solstice Consultant?</title><content type="html">One of the places Solstice derives great talent is through it's highly acclaimed, paid internship program, focused on giving college students the opportunity to build experience delivering projects across IT, business process optimization and marketing/change management.  Each intern is required to complete projects across all of these domains, in the Solstice spirit of &lt;span style="font-weight:bold;"&gt;building cross-functional teams&lt;/span&gt;.  The YouTube video below is a recruiting video a few of our interns have put together about what it means to be a Solstice Consultant. &lt;br /&gt;&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/m0SE83N0xb0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/m0SE83N0xb0&amp;amp;hl=en&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-5411488956746972634?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/5411488956746972634/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=5411488956746972634" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/5411488956746972634?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/5411488956746972634?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/srtMzQ1snEs/what-is-solstice-consultant.html" title="What is a Solstice Consultant?" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/07/what-is-solstice-consultant.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A04GRH0_fSp7ImA9WxJUFUU.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-2378452202859584364</id><published>2009-07-14T10:30:00.012-05:00</published><updated>2009-07-14T11:45:25.345-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-07-14T11:45:25.345-05:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="cloud platforms" /><category scheme="http://www.blogger.com/atom/ns#" term="cloud computing platforms" /><category scheme="http://www.blogger.com/atom/ns#" term="twitterfeed" /><category scheme="http://www.blogger.com/atom/ns#" term="consolidation feeds" /><category scheme="http://www.blogger.com/atom/ns#" term="twitter consolitation" /><category scheme="http://www.blogger.com/atom/ns#" term="saas" /><category scheme="http://www.blogger.com/atom/ns#" term="enterprise twitter" /><category scheme="http://www.blogger.com/atom/ns#" term="twitter" /><category scheme="http://www.blogger.com/atom/ns#" term="yahoo pipes" /><title>How to Consolidate Twitter Feeds using Yahoo Pipes</title><content type="html">&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: italic;font-family:arial;" &gt;Guest Writer:  Kelly O'Regan - Solstice 2009 Summer Intern&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;We recently launched a &lt;a href="http://www.twitter.com/solsticellc"&gt;Twitter account for Solstice&lt;/a&gt;. Our goal was to consolidate the twitter feeds from all of the thought leaders in our organization into a single feed for &lt;a href="http://www.twitter.com/solsticellc"&gt;SolsticeLLC&lt;/a&gt;. We wanted to accomplish this utilizing purely SaaS and Cloud-Based Platforms. I was able to accomplish this in about 4 hours (including research). Here's how I did it:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;In order to complete this process, you’ll need to have 2 accounts, a &lt;a href="http://www.blogger.com/www.yahoo.com"&gt;Yahoo!&lt;/a&gt; account and a &lt;a href="http://www.blogger.com/twitterfeed.com"&gt;Twitterfeed &lt;/a&gt;account&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Start by logging into &lt;a href="http://www.yahoo.com/pipes"&gt;Yahoo! Pipes &lt;/a&gt;with your Yahoo! email address:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   1. Click on the “Create a Pipe” link in the top toolbar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   2. To begin, we need to define the content to pull through the pipe. In our case, it will be the RSS feeds from several Twitter accounts.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   3. To do this, under the “Sources” dropdown menu in the left hand toolbar, drag a “Fetch Feed” source into your workspace.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   4. Here, you can add numerous Twitter RSS Feed URLs to the pipe. To find that URL, go to the Twitter page for whom you’d like to use, and click the “RSS” button in the address bar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   5. Copy the web address once the RSS feed shows up.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   6. Paste as many RSS feeds into the Fetch Feed URL boxes. To add more boxes, simply click on the “+” next to the URL.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   7. Connect the Fetch Feed module to the Pipe Output (See NOTE below for additions to this Pipe).&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   8. Click “Save” in the top toolbar.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   9. Once you’ve saved your new pipe, click on the “Back to My Pipes.”&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  10. Click on your newly saved pipe. As you and your colleagues start tweeting, the content will show up under the “List” section of this page. To get this, click on the “Get as RSS.”&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;  11. Copy the link in the address bar, and open a new window.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Next, log into twitterfeed.com:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   1. On the Dashboard, click “Create New Feed.”&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   2. Twitterfeed connect to your Twitter Account- Make sure the one it’s logging into is the one you want other accounts to streamline into.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   3. your Feed (Does not show up in any way on your Twitter Account)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   4. in the Yahoo! pipes RSS feed.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   5. Click the Advanced Settings link, and choose the update frequency and any other additions you’d like to make.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   6. IMPORTANT: Be sure to uncheck the “Post Link” box so that your urls aren’t repeated.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   7. Click “Create Feed.”&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;font-family:arial;" &gt;NOTE: Connecting this module to the Pipe Output is the basic form of funneling your tweets into one account. However, there are a few additions to the pipe that might make your Twitter page look a little more polished.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;For example, the feeds come through prefaced with the username of the person who originally submitted the tweet. To delete the username associated with each Tweet:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   1. Under the “Operators” drop down menu, there is a module called “Regex.” Move that module onto your workspace. The idea of this module is to take out the name of the user who makes the post (ie. “johndoe:” will be removed.)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   2. The pattern should read like this: In “item.title” replace “username:” with “______________.” (Do not insert any content.)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   3. One of these lines should be added for every Twitter account linked to this Pipe.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   4. Connect the Fetch Feed to the Regex, and then the Regex to the Pipe Output.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;To Filter out Retweets from being Retweeted:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   1. Under the same dropdown menu, “Operators” drag a “Filter” module over to onto your workspace. Here, we will be blocking out anything in the Tweet that would be retweeting an already retweeted piece of information.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   2. Within the Filter module, the block should read like the following:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   3. “Block” items that match “any” of the following:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   4. “item.title” “contains” “RT.*RT”&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;   5. Connect the Fetch Feed module, to the Filter, and finally to the Pipe Output.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;That's about it! If you have any additional suggestions or questions, please post them in the comments below. Happy Tweeting!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;-Kelly O'Regan&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-2378452202859584364?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/2378452202859584364/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=2378452202859584364" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/2378452202859584364?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/2378452202859584364?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/XLa8R4wl4bI/how-to-consolidate-twitter-feeds-using.html" title="How to Consolidate Twitter Feeds using Yahoo Pipes" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/07/how-to-consolidate-twitter-feeds-using.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk8FR3c9cCp7ImA9WxJXFUo.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-603101113437560202</id><published>2009-06-09T14:13:00.001-05:00</published><updated>2009-06-09T14:13:36.968-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-09T14:13:36.968-05:00</app:edited><title>Nice Layperson Overview of Cloud Computing by SF.com</title><content type="html">&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ae_DKNwK_ms&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/ae_DKNwK_ms&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;hl=en&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-603101113437560202?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/603101113437560202/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=603101113437560202" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/603101113437560202?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/603101113437560202?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/e5UcQZW4Wis/nice-layperson-overview-of-cloud.html" title="Nice Layperson Overview of Cloud Computing by SF.com" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/06/nice-layperson-overview-of-cloud.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUARHw7eyp7ImA9WxJQGEw.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-884357734563363320</id><published>2009-05-29T13:15:00.006-05:00</published><updated>2009-05-31T19:47:25.203-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-31T19:47:25.203-05:00</app:edited><title>How to Network Effectively</title><content type="html">A couple years ago I attended a seminar on &lt;span style="font-style: italic;"&gt;effective networking&lt;/span&gt; given by &lt;a href="http://www.duoforce.com/"&gt;Lillian Bjorseth of DuoForce Enterprises&lt;/a&gt;.  It was a great talk and I took the following notes.  I stumbled across them recently and they were great rules to refocus my networking efforts.  The notes are broken out as rules to follow before, during and after the event.&lt;br /&gt;________________________________________________________&lt;br /&gt;&lt;br /&gt;Networking is more about giving than getting.  Sales is harvesting, networking is planting seeds.  Do not go to networking events to sell, go to plant seeds&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Before The Event&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;        CREATE  A PLAN OF ATTACK&lt;br /&gt;&lt;br /&gt;                    I. WHO YOU ARE&lt;br /&gt;&lt;ul&gt;&lt;li&gt;                                    Know what you do&lt;/li&gt;&lt;li&gt;                                    Know what you do differently&lt;/li&gt;&lt;li&gt;                                    How to be memorable&lt;/li&gt;&lt;li&gt;                                    They will not refer you if they do not understand what you do&lt;/li&gt;&lt;li&gt;                                    How to people benefit from what you do?&lt;/li&gt;&lt;/ul&gt;                       II.            TARGET MARKET                  &lt;br /&gt;&lt;ul&gt;&lt;li&gt;                                    Where is your target market what are their organizations and events?          &lt;/li&gt;&lt;li&gt;                                    Get ROI out of your organizations, don't join everything, time is money&lt;/li&gt;&lt;li&gt;                                    Go to places where people can introduce you to your target market&lt;/li&gt;&lt;/ul&gt;                       III.            IMPRESSION MANAGEMENT&lt;br /&gt;&lt;ul&gt;&lt;li&gt;                                    Dress&lt;/li&gt;&lt;/ul&gt;                                                Brown is not a power color&lt;br /&gt;                                            Navy blue – authority, trust, knowledgeable&lt;br /&gt;                                            Black – powerful (sometimes too powerful)&lt;br /&gt;                                            Sky blue – tranquilizing&lt;br /&gt;                                            Jacket makes you 1/3 more powerful&lt;br /&gt;&lt;ul&gt;&lt;li&gt;                                    Posture – confidence&lt;/li&gt;&lt;/ul&gt;                                    When talking with someone standing boxed off (belly to belly) prohibits others from        joining.  Open stance  (angled) is more welcoming, depending on the situation you may want to do both&lt;br /&gt;                                Stand up out of respect when someone approaches you to say hello/introduce themselves,&lt;br /&gt;                                Don’t stand over people that are sitting, sit down with them&lt;br /&gt;                                Handshake – hand on top – controlling, hand on bottom – submissive,  sandwich too personal, limp fingers = wussbag.  Go web to web, keep hand firm.&lt;br /&gt;                                Name tag – always where on right side so people can see your name when they shake your hand&lt;br /&gt;&lt;br /&gt;                     IV.          VERBAL BUSINESS CARD (front end of your elevator pitch)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;                        1 or 2 sentence laden with benefits, memorable, contains your name, what you do, active verbs (help, share, work with).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Do not include company name, geographic location, adjectives, adverbs or the HOW.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You want the verbal business card to elicit the question of “How”.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;During The Event &lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;10 minute rule to work a room (you can determine if you want a relationship with someone in no longer than 10 minutes) Ask “Why” questions “ Why did you join this organization, why did you choose this event, .&lt;/li&gt;&lt;li&gt;Always ask for a business card before giving them yours (polite)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Look at the business card when they give it to you.&lt;/li&gt;&lt;li&gt;Ask four questions to determine if they are worth a relationship (have these prepared in advance). Listen for the answers!!!   Prepare your ask-for questions in advance to focus your interactions. Listens for the answers because you know best what you want to hear back.&lt;/li&gt;&lt;li&gt;Try to find commonality (sometimes business card will give you this)&lt;/li&gt;&lt;li&gt;How to end the conversation:  Don’t look around for others.&lt;/li&gt;&lt;li&gt;If you want a follow up:  “I really enjoyed talking, can I email you that report I was telling you about”&lt;/li&gt;&lt;li&gt;If you don’t want a follow up:  “I invited a guest and I want to see if they’ve arrived”&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;After The Event&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;            Do what you say (i.e. send them what you promised),&lt;/li&gt;&lt;li&gt;            Set the standard for the relationship!&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-884357734563363320?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/884357734563363320/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=884357734563363320" title="5 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/884357734563363320?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/884357734563363320?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/b0ANV3Gg5so/how-to-network-effectively.html" title="How to Network Effectively" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/05/how-to-network-effectively.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkcEQHs6fip7ImA9WxJQE0k.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-4362419963792843842</id><published>2009-05-26T08:20:00.000-05:00</published><updated>2009-05-26T08:20:01.516-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-26T08:20:01.516-05:00</app:edited><title>Saas and Open Source alternatives to Commercial Solutions</title><content type="html">Solstice and our clients have had success with the following alternatives to Commercial Off the Shelf Solutions.  Let me know if you need any guidance on how to transition to these lower cost solutions.&lt;br /&gt;&lt;br /&gt; &lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:documentproperties&gt;   &lt;o:template&gt;Normal.dotm&lt;/o:Template&gt;   &lt;o:revision&gt;0&lt;/o:Revision&gt;   &lt;o:totaltime&gt;0&lt;/o:TotalTime&gt;   &lt;o:pages&gt;1&lt;/o:Pages&gt;   &lt;o:words&gt;77&lt;/o:Words&gt;   &lt;o:characters&gt;441&lt;/o:Characters&gt;   &lt;o:company&gt;Solstice Consulting&lt;/o:Company&gt;   &lt;o:lines&gt;3&lt;/o:Lines&gt;   &lt;o:paragraphs&gt;1&lt;/o:Paragraphs&gt;   &lt;o:characterswithspaces&gt;541&lt;/o:CharactersWithSpaces&gt;   &lt;o:version&gt;12.0&lt;/o:Version&gt;  &lt;/o:DocumentProperties&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves&gt;false&lt;/w:TrackMoves&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:drawinggridhorizontalspacing&gt;18 pt&lt;/w:DrawingGridHorizontalSpacing&gt;   &lt;w:drawinggridverticalspacing&gt;18 pt&lt;/w:DrawingGridVerticalSpacing&gt;   &lt;w:displayhorizontaldrawinggridevery&gt;0&lt;/w:DisplayHorizontalDrawingGridEvery&gt;   &lt;w:displayverticaldrawinggridevery&gt;0&lt;/w:DisplayVerticalDrawingGridEvery&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:dontautofitconstrainedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;   &lt;/w:Compatibility&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="276"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt; &lt;style&gt; &lt;!--  /* Font Definitions */ @font-face  {font-family:Cambria;  panose-1:2 4 5 3 5 4 6 3 2 4;  mso-font-charset:0;  mso-generic-font-family:auto;  mso-font-pitch:variable;  mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin-top:0in;  margin-right:0in;  margin-bottom:10.0pt;  margin-left:0in;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-ascii-font-family:Cambria;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:Cambria;  mso-fareast-theme-font:minor-latin;  mso-hansi-font-family:Cambria;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} @page Section1  {size:8.5in 11.0in;  margin:1.0in 1.25in 1.0in 1.25in;  mso-header-margin:.5in;  mso-footer-margin:.5in;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt; &lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */ table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-ascii-font-family:Cambria;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Cambria;  mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:shapedefaults ext="edit" spidmax="1026"&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:shapelayout ext="edit"&gt;   &lt;o:idmap ext="edit" data="1"&gt;  &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;  &lt;!--StartFragment--&gt;  &lt;table class="MsoNormalTable" style="width: 672pt; border-collapse: collapse;" width="672" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 43.45pt;"&gt;   &lt;td style="border-style: solid; border-color: white; border-width: 1pt 1pt 3pt; padding: 0.05in 0.1in; background: rgb(187, 224, 227) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Category&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: white white white -moz-use-text-color; border-width: 1pt 1pt 3pt medium; padding: 0.05in 0.1in; background: rgb(187, 224, 227) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Proprietary Market Leader&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: white white white -moz-use-text-color; border-width: 1pt 1pt 3pt medium; padding: 0.05in 0.1in; background: rgb(187, 224, 227) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;OSS &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: white white white -moz-use-text-color; border-width: 1pt 1pt 3pt medium; padding: 0.05in 0.1in; background: rgb(187, 224, 227) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;SaaS &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 46.55pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 46.55pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Office Productivity&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 46.55pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;MS Office&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 46.55pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;OpenOffice &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 46.55pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;Google Docs &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 34.5pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 34.5pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Customer Relationship Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 34.5pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;Siebel&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 34.5pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;SugarCRM &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 34.5pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;37Signals HighRise&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 0.6in;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 0.6in;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Human Resources Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 0.6in;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;PeopleSoft CRM&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 0.6in;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;OrangeHRM &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 0.6in;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;Zoho People &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 43.45pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Content Management&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;Interwoven Teamsite&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;Drupal, Joomla&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;TBD. . .&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 46.55pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 46.55pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Portal&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 46.55pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;IBM Websphere Portal, MS Sharepoint, &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 46.55pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;Liferay, .NETNuke&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 46.55pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;Google Apps &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 43.45pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Collaboration&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;MS Exchange, Lotus Notes Domino&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;Zimbra&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;Google Apps &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 43.45pt;"&gt;   &lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Social Networking&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;TBD (MS, IBM, Oracle)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;Elgg&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 168pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 43.45pt;" valign="top" width="168"&gt;   &lt;p class="MsoNormal"&gt;Ning.com (free), KickApps (sub), &lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;!--EndFragment--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-4362419963792843842?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/4362419963792843842/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=4362419963792843842" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/4362419963792843842?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/4362419963792843842?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/RGPsMOq7qFA/saas-and-open-source-alternatives-to.html" title="Saas and Open Source alternatives to Commercial Solutions" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/05/saas-and-open-source-alternatives-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck8CQn44eSp7ImA9WxJXF0o.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-1086472048504965167</id><published>2009-05-21T08:10:00.009-05:00</published><updated>2009-06-11T20:41:03.031-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-11T20:41:03.031-05:00</app:edited><title>Pros and Cons of Open Source vs. SaaS  vs. Commercial Software</title><content type="html">The following table outlines some pros and cons of open source vs. Saas and COTS solutions.  Leave a comment on anything I might be leaving out or not considering.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:documentproperties&gt;   &lt;o:template&gt;Normal.dotm&lt;/o:Template&gt;   &lt;o:revision&gt;0&lt;/o:Revision&gt;   &lt;o:totaltime&gt;0&lt;/o:TotalTime&gt;   &lt;o:pages&gt;1&lt;/o:Pages&gt;   &lt;o:words&gt;321&lt;/o:Words&gt;   &lt;o:characters&gt;1830&lt;/o:Characters&gt;   &lt;o:company&gt;Solstice Consulting&lt;/o:Company&gt;   &lt;o:lines&gt;15&lt;/o:Lines&gt;   &lt;o:paragraphs&gt;3&lt;/o:Paragraphs&gt;   &lt;o:characterswithspaces&gt;2247&lt;/o:CharactersWithSpaces&gt;   &lt;o:version&gt;12.0&lt;/o:Version&gt;  &lt;/o:DocumentProperties&gt;  &lt;o:officedocumentsettings&gt;   &lt;o:allowpng/&gt;  &lt;/o:OfficeDocumentSettings&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:worddocument&gt;   &lt;w:zoom&gt;0&lt;/w:Zoom&gt;   &lt;w:trackmoves&gt;false&lt;/w:TrackMoves&gt;   &lt;w:trackformatting/&gt;   &lt;w:punctuationkerning/&gt;   &lt;w:drawinggridhorizontalspacing&gt;18 pt&lt;/w:DrawingGridHorizontalSpacing&gt;   &lt;w:drawinggridverticalspacing&gt;18 pt&lt;/w:DrawingGridVerticalSpacing&gt;   &lt;w:displayhorizontaldrawinggridevery&gt;0&lt;/w:DisplayHorizontalDrawingGridEvery&gt;   &lt;w:displayverticaldrawinggridevery&gt;0&lt;/w:DisplayVerticalDrawingGridEvery&gt;   &lt;w:validateagainstschemas/&gt;   &lt;w:saveifxmlinvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;   &lt;w:ignoremixedcontent&gt;false&lt;/w:IgnoreMixedContent&gt;   &lt;w:alwaysshowplaceholdertext&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;   &lt;w:compatibility&gt;    &lt;w:breakwrappedtables/&gt;    &lt;w:dontgrowautofit/&gt;    &lt;w:dontautofitconstrainedtables/&gt;    &lt;w:dontvertalignintxbx/&gt;   &lt;/w:Compatibility&gt;  &lt;/w:WordDocument&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;w:latentstyles deflockedstate="false" latentstylecount="276"&gt;  &lt;/w:LatentStyles&gt; &lt;/xml&gt;&lt;![endif]--&gt; &lt;style&gt; &lt;!--  /* Font Definitions */ @font-face  {font-family:Cambria;  panose-1:2 4 5 3 5 4 6 3 2 4;  mso-font-charset:0;  mso-generic-font-family:auto;  mso-font-pitch:variable;  mso-font-signature:3 0 0 0 1 0;}  /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal  {mso-style-parent:"";  margin-top:0in;  margin-right:0in;  margin-bottom:10.0pt;  margin-left:0in;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-ascii-font-family:Cambria;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:Cambria;  mso-fareast-theme-font:minor-latin;  mso-hansi-font-family:Cambria;  mso-hansi-theme-font:minor-latin;  mso-bidi-font-family:"Times New Roman";  mso-bidi-theme-font:minor-bidi;} @page Section1  {size:8.5in 11.0in;  margin:1.0in 1.25in 1.0in 1.25in;  mso-header-margin:.5in;  mso-footer-margin:.5in;  mso-paper-source:0;} div.Section1  {page:Section1;} --&gt; &lt;/style&gt; &lt;!--[if gte mso 10]&gt; &lt;style&gt;  /* Style Definitions */ table.MsoNormalTable  {mso-style-name:"Table Normal";  mso-tstyle-rowband-size:0;  mso-tstyle-colband-size:0;  mso-style-noshow:yes;  mso-style-parent:"";  mso-padding-alt:0in 5.4pt 0in 5.4pt;  mso-para-margin-top:0in;  mso-para-margin-right:0in;  mso-para-margin-bottom:10.0pt;  mso-para-margin-left:0in;  mso-pagination:widow-orphan;  font-size:12.0pt;  font-family:"Times New Roman";  mso-ascii-font-family:Cambria;  mso-ascii-theme-font:minor-latin;  mso-fareast-font-family:"Times New Roman";  mso-fareast-theme-font:minor-fareast;  mso-hansi-font-family:Cambria;  mso-hansi-theme-font:minor-latin;} &lt;/style&gt; &lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:shapedefaults ext="edit" spidmax="1026"&gt; &lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;  &lt;o:shapelayout ext="edit"&gt;   &lt;o:idmap ext="edit" data="1"&gt;  &lt;/o:shapelayout&gt;&lt;/xml&gt;&lt;![endif]--&gt;  &lt;!--StartFragment--&gt;  &lt;table class="MsoNormalTable" style="width: 786px; border-collapse: collapse; height: 895px;" border="0" cellpadding="0" cellspacing="0"&gt;  &lt;tbody&gt;&lt;tr style="height: 0.65in;"&gt;   &lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-style: solid; border-color: white; border-width: 1pt 1pt 3pt; padding: 0.05in 0.1in; background: rgb(187, 224, 227) none repeat scroll 0% 0%; width: 103.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 0.65in;" valign="top" width="104"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: white white white -moz-use-text-color; border-width: 1pt 1pt 3pt medium; padding: 0.05in 0.1in; background: rgb(187, 224, 227) none repeat scroll 0% 0%; width: 142.7pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 0.65in;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Commercial Off the Shelf Products&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: white white white -moz-use-text-color; border-width: 1pt 1pt 3pt medium; padding: 0.05in 0.1in; background: rgb(187, 224, 227) none repeat scroll 0% 0%; width: 246.2pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 0.65in;" valign="top" width="246"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;OSS Products&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: solid solid solid none; border-color: white white white -moz-use-text-color; border-width: 1pt 1pt 3pt medium; padding: 0.05in 0.1in; background: rgb(187, 224, 227) none repeat scroll 0% 0%; width: 185.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 0.65in;" valign="top" width="186"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;SaaS Products&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 59.25pt;"&gt;   &lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 103.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="104"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Speed to market&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 142.7pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;New features are packaged and released based on corporate   release schedules&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 246.2pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="246"&gt;   &lt;p class="MsoNormal"&gt;Feature Driven Development – new features are often made   available as soon as they are built and certified&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 185.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="186"&gt;   &lt;p class="MsoNormal"&gt;Immediate.&lt;span style=""&gt;  &lt;/span&gt;No   initial installation.&lt;span style=""&gt;  &lt;/span&gt;Features   are often slipstreamed in as they are developed&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 59.25pt;"&gt;   &lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 103.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="104"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Customization&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 142.7pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;Typically limited and due to proprietary nature of   systems, makes upgrades difficult.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 246.2pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="246"&gt;   &lt;p class="MsoNormal"&gt;Best option for customization with products embracing open   standards.&lt;span style=""&gt;  &lt;/span&gt;OSS was founded on   customization.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 185.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="186"&gt;   &lt;p class="MsoNormal"&gt;Worst option for customization, although depending on the   platform, may offer some options.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 59.25pt;"&gt;   &lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 103.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="104"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Interoperability&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 142.7pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;May or may not embrace open standards&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 246.2pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="246"&gt;   &lt;p class="MsoNormal"&gt;Typically based on open standards, easier to share info   between systems&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(231, 243, 244) none repeat scroll 0% 0%; width: 185.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="186"&gt;   &lt;p class="MsoNormal"&gt;It depends, but most successful SaaS projects are open   enough to allow for plugin development (i.e. GreaseMonkey)&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 59.25pt;"&gt;   &lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 103.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="104"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Support&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 142.7pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;Depends on vendor and support plan&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 246.2pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="246"&gt;   &lt;p class="MsoNormal"&gt;Community driven, the more active the community, the   better the support.&lt;span style=""&gt;  &lt;/span&gt;Many   established OSS projects also have paid support options&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 185.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="186"&gt;   &lt;p class="MsoNormal"&gt;Typically the best, since if one person is having the   problem, everyone is having the problem.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 59.25pt;"&gt;   &lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 103.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="104"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Vendor Lock In&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 142.7pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;Vendors are financially encouraged to promote platform   lock in&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 246.2pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="246"&gt;   &lt;p class="MsoNormal"&gt;Flexibility eliminates lock in&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 185.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="186"&gt;   &lt;p class="MsoNormal"&gt;SaaS vendors are also financially encouraged to promote   platform lock in, although exports are more standard.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 59.25pt;"&gt;   &lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 103.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="104"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Security&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 142.7pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;Vulnerabilities typically take longer to assess, fix and   deploy.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 246.2pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="246"&gt;   &lt;p class="MsoNormal"&gt;Studies show OSS tends to be more secure than proprietary.   &lt;span style=""&gt; &lt;/span&gt;Patches often delivered in hours   vs. days or months&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 185.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="186"&gt;   &lt;p class="MsoNormal"&gt;Security tends to be the best for viable services   providers.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 59.25pt;"&gt;   &lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 103.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="104"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Total Cost of Ownership&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 142.7pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;TCO often involves software licensing, upgrade, support   and larger hardware costs&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 246.2pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="246"&gt;   &lt;p class="MsoNormal"&gt;Studies show 90% lower TCO&lt;span style=""&gt;  &lt;/span&gt;for open source solutions&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 185.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="186"&gt;   &lt;p class="MsoNormal"&gt;For SMM’s, TCO tends to be lowest for SaaS since you only   pay for what you use (i.e. per user licensing) with no support or hardware   required.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt;  &lt;tr style="height: 59.25pt;"&gt;   &lt;td style="vertical-align: top;"&gt;&lt;br /&gt;&lt;/td&gt;&lt;td style="border-style: none solid solid; border-color: -moz-use-text-color white white; border-width: medium 1pt 1pt; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 103.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="104"&gt;   &lt;p class="MsoNormal"&gt;&lt;b&gt;Staff Retention&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 142.7pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="143"&gt;   &lt;p class="MsoNormal"&gt;Skillsets are often constrained by the products you have   purchased&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 246.2pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="246"&gt;   &lt;p class="MsoNormal"&gt;Open source attracts innovative people and builds “street cred”.&lt;span style=""&gt;  &lt;/span&gt;They feel part of something bigger.&lt;/p&gt;   &lt;/td&gt;   &lt;td style="border-style: none solid solid none; border-color: -moz-use-text-color white white -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0.05in 0.1in; background: rgb(243, 249, 250) none repeat scroll 0% 0%; width: 185.55pt; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous; height: 59.25pt;" valign="top" width="186"&gt;   &lt;p class="MsoNormal"&gt;End users love it, developers/administrators dislike due   to black-box/outsourcing nature&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;!--EndFragment--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-1086472048504965167?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/1086472048504965167/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=1086472048504965167" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/1086472048504965167?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/1086472048504965167?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/xRIMH9cs8Vo/open-source-and-saas-alternatives-to.html" title="Pros and Cons of Open Source vs. SaaS  vs. Commercial Software" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/05/open-source-and-saas-alternatives-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEEHRnk-cSp7ImA9WxJREks.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-5719658605527148121</id><published>2009-05-13T20:50:00.002-05:00</published><updated>2009-05-13T21:03:57.759-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-13T21:03:57.759-05:00</app:edited><title>Private vs. Public Cloud</title><content type="html">Google came out with a blog post recently touting their &lt;a href="http://googleenterprise.blogspot.com/2009/04/what-we-talk-about-when-we-talk-about.html"&gt;public cloud vision&lt;/a&gt;.  &lt;a href="http://www.facebook.com/ext/share.php?sid=194694815470&amp;amp;h=Cj2Kv&amp;amp;u=txUAX&amp;amp;ref=nf"&gt;VMware responded&lt;/a&gt; with a blog touting why the private cloud concept was better.  Who's right?  Both of them.  VMWare's private cloud vision will help companies maximize their existing infrastructure investment, while Google (and Amazon) is focused on building a platform for the future.  The comment I left on the VMWare blog is an attempt to marry these two visions into a near term and long term strategy.  Here's what I wrote:&lt;br /&gt;&lt;div class="comment-content" id="comment-6a00d8341c328153ef01156f900c8a970c-content"&gt;        &lt;span id="comment-6a00d8341c328153ef01156f900c8a970c-content"&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;This is a great post and brings some sanity back to Google's claims, but there are some points missing: &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:85%;"&gt;First I have to agree, for companies that have already made a capital investment in infrastructure, using VMWare to create a private, internal cloud is the way to go to maximize flexibility, elasticity and utilization. But there is one thing the public cloud providers have that ultimately will win the race, multi-tenancy. The public cloud providers have the ability to house multiple companies/accounts on the same hardware to maximize utilization. This ultimately will lend to higher utilization and a lower cost/CPU cycle. It's very difficult for a company to achieve the same levels of utilization/efficiency independently, particularly if IT is not their core business. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:85%;"&gt;There are privacy and security issues that accompany multi-tenancy but ultimately they will be worked out. There are bright minds working on them and at the end of the day, it just makes sense. This is why power plants exist and every building/house doesn't run it's own generator anymore. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:85%;"&gt;On the point of flexibility, Google is a bit behind but Amazon's EC2 supports a myriad of platforms, including Windows, Solaris and Linux. To remain competitive,  Google will need to as well.&lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;span style="font-size:85%;"&gt;In the near term, private and hybrid clouds will take hold. But on the 5-10 year horizon, it's seems that the promise of the public cloud's economies of scale will ultimately triumph (for all but the most private applications).&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;   &lt;/div&gt;Whether you choose to invest in a private, public or hybrid cloud infrastructure depends on your company's infrastructure capital investment to date, SLA and privacy needs. &lt;br /&gt;&lt;br /&gt;1) My suggestion for large enterprises with an internally hosted data center, is to build your private cloud, but look for opportunities to start porting non-mission critical VMs (i.e. test environments, departmental apps) to the public cloud.  Over time, as the public cloud matures, more and more of your private cloud's assets can be moved, so you can stop investing capital dollars in soon-to-be-outdated hardware. &lt;br /&gt;&lt;br /&gt;2)  For those who are outsourcing their data center to a 3rd party, you have incredible leverage to challenge their current pricing models, and if they don't play ball, you have motivation to start moving items to the public cloud more quickly. &lt;br /&gt;&lt;br /&gt;3)  For SMBs, startups and companies experiencing rapid growth, the public cloud is where you should focus your investment/move your assets.  Get on the platform of the future now, so you don't have to pay to move to it later. &lt;br /&gt;&lt;br /&gt;If you have any questions on how to do any of these things, drop me an email and lets talk.&lt;br /&gt;&lt;br /&gt;-J&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-5719658605527148121?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/5719658605527148121/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=5719658605527148121" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/5719658605527148121?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/5719658605527148121?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/yR1FGc_YIrs/private-vs-public-cloud.html" title="Private vs. Public Cloud" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/05/private-vs-public-cloud.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4FSXs_fSp7ImA9WxJSFkw.&quot;"><id>tag:blogger.com,1999:blog-9190981816494400977.post-6405547051509201032</id><published>2009-05-05T13:05:00.010-05:00</published><updated>2009-05-06T08:01:58.545-05:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-05-06T08:01:58.545-05:00</app:edited><title>How To Evaluate Open Source Solutions</title><content type="html">&lt;!--StartFragment--&gt;  &lt;p class="MsoNormal"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;span&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;I've been evangelizing a lot about Open Source software recently.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;  But is all open source software good?  No!&lt;/span&gt;&lt;/span&gt;  &lt;p class="MsoNormal" style="margin: 6pt 0in;"&gt;&lt;span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The pros of OSS are plentiful, but the cons are just as numerous. With often a myriad of competing OSS projects, many not professionally supported, little certainty around future releases, rapid updates requiring constant upkeep and buggy early versions, how can one justifiably take the risk?  How do we mitigate these cons and filter the wheat from the chaff?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 6pt 0in;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The following assessment criteria should start the evaluation of any open source product/platform:&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 6pt 0in;"&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Investigate the licensing/legal situation of the software.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Evaluate whether the software is standards compliant.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Contact references to confirm product viability.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Find products with a supporting or stable developer.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Find products that use an open/industry standard implementation language.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Reference third-party reviews of the software.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Reference books published about the software (the more the better)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Reference industry analysts, such as Gartner, Forrester or IDC.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;In general, a mature open source platform will meet the following criteria:&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Project extensions are available.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The project has reached a 1 year maturity mark.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Security patches, bug fixes, and new features/enhancements are delivered separately.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The core development team has rigid criteria for participation.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The software has reasonable automated unit and functional tests with&lt;/span&gt; c&lt;span class="Apple-style-span"  style="font-size:small;"&gt;ode coverage in the 30-80% range.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The software easily integrates with external services&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The component’s bug database is kept up-to-date with revision numbers for each product enhancement.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The solution has been ported across multiple platforms (Linux, Windows, Solaris, and Mac).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The community is organized into groups, each responsible for separate tasks (the maintainer, the documentation group, the development group, the evangelism group).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The project’s license is acknowledged by the Open Source Initiative (&lt;/span&gt;&lt;a href="http://opensource.org/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://opensource.org&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Large-scale adoption, including both public and well-known large-scale organizational deployments&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Separation of documentation: User documentation, Installation documentation, Admin documentation, and Development documentation&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;And remember to always weigh target usage of the application (mission-critical, departmental or beta) against the OSS product's readiness.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Many of these points were reiterated by our recent discovery of http://www.openbrr.org.   Now that's an example of an open source project that lost it's legs, but what was was left behind was some great info.  Thanks to that community!&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Please let me know some other criteria we should be considering in the comments below.  I'll consolidate feedback and send it on to openbrr.org.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;-J&lt;/span&gt;&lt;/div&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=";font-family:Calibri;font-size:10;"  &gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;!--EndFragment--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9190981816494400977-6405547051509201032?l=blogs.solstice-consulting.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blogs.solstice-consulting.com/feeds/6405547051509201032/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=9190981816494400977&amp;postID=6405547051509201032" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/6405547051509201032?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/9190981816494400977/posts/default/6405547051509201032?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/TheTechnologyEdge/~3/gAmyHrmEvrc/how-to-evaluate-open-source-solutions.html" title="How To Evaluate Open Source Solutions" /><author><name>J Schwan</name><uri>http://www.blogger.com/profile/17445966398287148565</uri><email>jschwan@solstice-consulting.com</email><gd:extendedProperty name="OpenSocialUserId" value="03154387843147050702" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://blogs.solstice-consulting.com/2009/05/how-to-evaluate-open-source-solutions.html</feedburner:origLink></entry></feed>
