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

<channel>
	<title>Delivered Innovation Blog</title>
	<atom:link href="http://blog.deliveredinnovation.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.deliveredinnovation.com</link>
	<description>Delivered Innovation Blog</description>
	<lastBuildDate>Wed, 04 Sep 2013 03:04:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.6.1</generator>
		<item>
		<title>Add a Company Twitter Feed to a Salesforce Dashboard with a Custom Visualforce Page Component</title>
		<link>http://blog.deliveredinnovation.com/2013/09/03/add-a-company-twitter-feed-to-a-salesforce-dashboard-with-a-custom-visualforce-page-component/</link>
		<comments>http://blog.deliveredinnovation.com/2013/09/03/add-a-company-twitter-feed-to-a-salesforce-dashboard-with-a-custom-visualforce-page-component/#comments</comments>
		<pubDate>Wed, 04 Sep 2013 02:58:05 +0000</pubDate>
		<dc:creator>Michael Topalovich</dc:creator>
				<category><![CDATA[Force.com Platform Tips]]></category>
		<category><![CDATA[custom components]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[Force.com]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[VisualForce]]></category>

		<guid isPermaLink="false">http://blog.deliveredinnovation.com/?p=3440</guid>
		<description><![CDATA[I was working on some chapters for an upcoming book on Visualforce, and I came up with an interesting use case for a custom Visualforce page dashboard component &#8211; how about a Twitter feed in a dashboard? To be fair, I was writing about embedding JavaScript widgets in general, but when I thought about all [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I was working on some chapters for an upcoming book on Visualforce, and I came up with an interesting use case for a custom Visualforce page dashboard component &#8211; how about a Twitter feed in a dashboard?</p>
<p>To be fair, I was writing about embedding JavaScript widgets in general, but when I thought about all of the services out there providing pre-built widgets, I started to think of some applications…and the concept of including a company Twitter feed in the dashboard that appears on a user&#8217;s Home tab when they log in sounded pretty cool.  I could see value in that, publishing information to Twitter and driving internal consumption by including a widget in an app that most people use everyday anyway &#8211; Salesforce.</p>
<p>I figured it would take me an hour or so to figure out how to make a Twitter feed appear in a Visualforce page and then use it as a custom Visualforce dashboard component. It took about 3 minutes. You won&#8217;t believe how easy this is.</p>
<h3>Step One: Create your Twitter widget</h3>
<ol>
<li>Click on: <a href="https://twitter.com/settings/widgets" target="_blank">https://twitter.com/settings/widgets</a></li>
<li>Log into Twitter (if you&#8217;re not already logged in)</li>
<li>Click on the &#8216;Create New&#8217; (widget) button</li>
<li>Enter your company Twitter handle in the Username field in the &#8216;Configuration&#8217; section under the &#8216;Timeline&#8217; tab</li>
<li>Optionally configure anything else under &#8216;Options,&#8217; &#8216;Height,&#8217; &#8216;Theme,&#8217; or &#8216;Link Color&#8217; that makes sense</li>
<li>Click the &#8216;Create Widget&#8217; button</li>
<li>Copy the HTML + JavaScript snippet that gets generated for you</li>
</ol>
<div id="attachment_3450" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-8.43.29-PM.png"><img class="size-medium wp-image-3450" alt="Create New Twitter Widget" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-8.43.29-PM-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Create New Twitter Widget</p></div>
<div id="attachment_3449" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-8.44.06-PM.png"><img class="size-medium wp-image-3449 " title="Configure Twitter Widget" alt="Configure Twitter Widget" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-8.44.06-PM-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Configure Twitter Widget</p></div>
<div id="attachment_3446" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-9.00.05-PM.png"><img class="size-medium wp-image-3446 " title="Copy Twitter Widget HTML and JavaScript Code" alt="Copy Twitter Widget HTML and JavaScript Code" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-9.00.05-PM-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Copy Twitter Widget HTML and JavaScript Code</p></div>
<h3>Step Two: Create your Visualforce page</h3>
<ol>
<li>Create a new Visualforce page (Setup / Develop / Pages / New)</li>
<li>Highlight everything from &lt;!&#8211; Begin Default Content REMOVE THIS &#8211;&gt; to &lt;!&#8211; End Default Content REMOVE THIS &#8211;&gt;</li>
<li>Paste your HTML + JavaScript snippet from above to replace all of the default text with the &lt;apex:page&gt; &lt;/apex:page&gt; tags</li>
<li>Give your Visualforce page a Label and a Name</li>
<li>Save (No, you do not need to declare a controller for your page)</li>
<li>Go check out your new page using the URL http://<em>{instance}</em>.salesforce.com/apex/<em>{yourNewPageName}</em></li>
</ol>
<div id="attachment_3451" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-8.40.48-PM.png"><img class="size-medium wp-image-3451 " title="Create New Visualforce Page" alt="Create New Visualforce Page" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-8.40.48-PM-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Create New Visualforce Page</p></div>
<p>Look good?</p>
<h3>Step Three: Add your Visualforce page as a custom dashboard component</h3>
<ol>
<li>Edit the Salesforce Dashboard where you would like the new Twitter widget to appear</li>
<li>Drag the &#8216;Visualforce Page&#8217; component from the &#8216;Components&#8217; tab and drop it in the position on the column where you want it to appear</li>
<li>Optionally edit the Header or Footer of the component</li>
<li>Drag the Visualforce page from the &#8216;Visualforce Pages&#8217; menu under the &#8216;Data Sources&#8217; tab and drop it on the component</li>
<li>Save the dashboard</li>
<li>Check it out in the Dashboard</li>
<li>Optional &#8211; make sure the new component is the first to appear in a column, and you can make this dashboard the first thing users see when they log into Salesforce and are taken to their Home tab.</li>
</ol>
<div id="attachment_3442" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-9.17.51-PM.png"><img class="size-medium wp-image-3442" alt="Create Custom Visualforce Dashboard Component" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-9.17.51-PM-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Create Custom Visualforce Dashboard Component</p></div>
<div id="attachment_3443" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-9.17.39-PM.png"><img class="size-medium wp-image-3443" title="Add Visualforce Page Data Source to Dashboard Component" alt="Add Visualforce Page Data Source to Dashboard Component" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-9.17.39-PM-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Add Visualforce Page Data Source to Dashboard Component</p></div>
<div id="attachment_3445" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-9.16.55-PM.png"><img class="size-medium wp-image-3445 " title="Save Salesforce Dashboard" alt="Save Salesforce Dashboard" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/09/Screen-Shot-2013-09-03-at-9.16.55-PM-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Save Salesforce Dashboard</p></div>
<p>Pretty cool? Thoughts or questions? Leave a comment or hit me on Twitter &#8211; <a href="http://twitter.com/topalovich" target="_blank">@topalovich</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliveredinnovation.com/2013/09/03/add-a-company-twitter-feed-to-a-salesforce-dashboard-with-a-custom-visualforce-page-component/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Force.com Design Patterns: Retrieve the Prefix of an sObject Using Describe Methods</title>
		<link>http://blog.deliveredinnovation.com/2013/09/02/force-com-design-patterns-retrieve-the-prefix-of-an-sobject-using-describe-methods/</link>
		<comments>http://blog.deliveredinnovation.com/2013/09/02/force-com-design-patterns-retrieve-the-prefix-of-an-sobject-using-describe-methods/#comments</comments>
		<pubDate>Mon, 02 Sep 2013 15:55:14 +0000</pubDate>
		<dc:creator>Michael Topalovich</dc:creator>
				<category><![CDATA[VisualForce Controllers]]></category>
		<category><![CDATA[describe]]></category>
		<category><![CDATA[Force.com]]></category>
		<category><![CDATA[List View]]></category>
		<category><![CDATA[PageReference]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[sObject]]></category>
		<category><![CDATA[VisualForce]]></category>

		<guid isPermaLink="false">http://blog.deliveredinnovation.com/?p=3426</guid>
		<description><![CDATA[Challenge You need to dynamically generate URLs based on the prefix of an sObject, but do not want to hard code the sObject prefix. Use Cases You want to create custom buttons or links in a VisualForce page to redirect users to the standard List View for an object The sObject type may not be [&#8230;]]]></description>
				<content:encoded><![CDATA[<h4><strong>Challenge</strong></h4>
<p>You need to dynamically generate URLs based on the prefix of an sObject, but do not want to hard code the sObject prefix.</p>
<h4><strong>Use Cases</strong></h4>
<ul>
<li>You want to create custom buttons or links in a VisualForce page to redirect users to the standard List View for an object</li>
<li>The sObject type may not be known until runtime</li>
<li>You do not want to hardcode specific sObject prefix values because they may change across your Salesforce orgs</li>
</ul>
<h4><strong><span id="more-3426"></span>Solution </strong></h4>
<p>Andrew Boettcher has written about a simple pattern for retrieving the sObject prefix using sObject describe methods and using the result to construct the return for a PageReference method.</p>
<ul>
<li>Source: <a href="http://techman97.wordpress.com/" target="_blank">Salesforce Technologist</a></li>
<li>Author:  <a href="http://twitter.com/andyboettcher" target="_blank">Andrew Boettcher</a></li>
<li>Date: 17-Apr-2012</li>
<li>Solution:  <a href="http://techman97.wordpress.com/2012/04/17/getting-prefix-of-sobject/ " target="_blank">Quick Tip – Getting Prefix of sObject</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliveredinnovation.com/2013/09/02/force-com-design-patterns-retrieve-the-prefix-of-an-sobject-using-describe-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Force.com Design Patterns: Format Printable VisualForce Pages</title>
		<link>http://blog.deliveredinnovation.com/2013/09/02/force-com-design-patterns-format-printable-visualforce-pages/</link>
		<comments>http://blog.deliveredinnovation.com/2013/09/02/force-com-design-patterns-format-printable-visualforce-pages/#comments</comments>
		<pubDate>Mon, 02 Sep 2013 15:23:35 +0000</pubDate>
		<dc:creator>Michael Topalovich</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[VisualForce Pages]]></category>
		<category><![CDATA[Force.com]]></category>
		<category><![CDATA[printing]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[VisualForce]]></category>

		<guid isPermaLink="false">http://blog.deliveredinnovation.com/?p=3422</guid>
		<description><![CDATA[Challenge You would like to format a VisualForce page to optimize it for printing. Use Cases Your business users have a VisualForce page that they print regularly and it is formatted for the screen, but not for printing You have a VisualForce page that uses the sidebar and other Salesforce UI elements and would like [&#8230;]]]></description>
				<content:encoded><![CDATA[<h4><strong>Challenge</strong></h4>
<p>You would like to format a VisualForce page to optimize it for printing.</p>
<h4><strong>Use Cases</strong></h4>
<ul>
<li>Your business users have a VisualForce page that they print regularly and it is formatted for the screen, but not for printing</li>
<li>You have a VisualForce page that uses the sidebar and other Salesforce UI elements and would like to remove them when the page is printed</li>
<li>You want to create a separate &#8216;Printable View&#8217; for your users.
</li>
</ul>
<h4><strong><span id="more-3422"></span>Solution </strong></h4>
<p>Andrew Boettcher has written a thorough and straightforward guide for updating existing VisualForce pages to include variables to control rendering options, a &#8216;Printable View&#8217; link, and a JavaScript function to pop up a print dialog window.</p>
<ul>
<li>Source: <a href="http://techman97.wordpress.com/" target="_blank">Salesforce Technologist</a></li>
<li>Author:  <a href="http://twitter.com/andyboettcher" target="_blank">Andrew Boettcher</a></li>
<li>Date: 22-Jul-2013</li>
<li>Solution:  <a href="http://techman97.wordpress.com/2013/07/22/visualforce-page-printable-view/ " target="_blank">Visualforce Page Printable View</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliveredinnovation.com/2013/09/02/force-com-design-patterns-format-printable-visualforce-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debating Build vs. Buy? With Salesforce, You Don’t Have to Choose</title>
		<link>http://blog.deliveredinnovation.com/2013/07/09/debating-build-vs-buy-with-salesforce-you-dont-have-to-choose/</link>
		<comments>http://blog.deliveredinnovation.com/2013/07/09/debating-build-vs-buy-with-salesforce-you-dont-have-to-choose/#comments</comments>
		<pubDate>Tue, 09 Jul 2013 17:46:17 +0000</pubDate>
		<dc:creator>Allison Park</dc:creator>
				<category><![CDATA[Salesforce & Cloud]]></category>
		<category><![CDATA[AppExchange]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[ERP]]></category>
		<category><![CDATA[MRP]]></category>
		<category><![CDATA[SaaS]]></category>
		<category><![CDATA[Salesforce]]></category>

		<guid isPermaLink="false">http://blog.deliveredinnovation.com/?p=3408</guid>
		<description><![CDATA[I remember a time when “build vs. buy” was a decision a company would consider for nearly every software purchase decision. Put yourself in the shoes of tech and business executives several years ago. Choices were limited: you could choose vanilla or chocolate software packages for CRM, ERP or MRP vendors. You had a limited [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I remember a time when “build vs. buy” was a decision a company would consider for nearly every software purchase decision. Put yourself in the shoes of tech and business executives several years ago. Choices were limited: you could choose vanilla or chocolate software packages for CRM, ERP or MRP vendors. You had a limited range of tools at your disposal to automate your specific business need. If, for example, you bought a software package, you could either customize &#8211; risking the inability to safely upgrade the product &#8211; or you conformed your business processes to fit the software. In hindsight, no one won when faced with those scenarios. Luckily, we’ve entered an age when companies can have the best of both worlds.  Through advances made in Software-as-a-Service (SaaS), we are now able to consider just the right balance of build (customization) and buy (out-of-the-box) to suit your needs.</p>
<p>As a business software consultant that relies heavily on Salesforce technologies for my clients, I see several game-changing and proven advantages that Salesforce offers over the old “build vs. buy” options:</p>
<ol start="1">
<li><b>Future-proof customization:</b> Businesses can purchase a Salesforce subscription that is explicitly designed to be customized. In the old days, companies may have customized their projects as necessary to meet their specific customer needs. But then the inevitable would happen: a new version of the software at hand would be needed&#8230;.so teams would spend countless man-hours creating workarounds or dismantling existing customizations to support the latest software iteration. Salesforce protects your investment by automatically pushing out upgrades multiple times a year, within a matter of minutes. That means your project, customizations and all can quickly and easily upgrade without requiring workarounds or time consuming rework.</li>
<li><b>Add-on functionality</b>: If it turns out that additional functionality is required, companies can simply choose to purchase pre-integrated or native SaaS apps from the Salesforce <a href="http://www.appexchange.com" target="_blank">AppExchange</a> to add functionality, or they have the option to build that functionality themselves in a rich development environment. You’re not bound to one avenue or the other.</li>
<li><b>No depreciation</b>: Finally, there is no depreciation to consider. Some technologies start to get old the moment you sign the contract. With SaaS, you pay up-front for the service that manages the information to drive your business. If it doesn’t deliver, extract your data and import into the next system. If it doesn’t fill your requirements, you can cancel at the end of your contract period. No more “we bought it, so now we have to use it”. You can start small with Salesforce and test it out, then slowly add users and functionality as it makes sense.</li>
</ol>
<p>With these capabilities, it’s no wonder we have gone from a world where one or two sizes had to fit all to a world where each instance of Salesforce is unique to every business of every size. This pace of change and innovation isn’t slowing down any time soon, so I look forward to helping my clients stay ahead of the curve.  We’ll cover more of these questions around build vs. buy in future posts. Let me know if you have any of your own &#8220;tales from the crypt &#8220;- i.e. lessons learned along the way &#8211; that you’d like to share with your peers.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliveredinnovation.com/2013/07/09/debating-build-vs-buy-with-salesforce-you-dont-have-to-choose/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Stream of Consciousness Remembrance of Ron May and The May Report</title>
		<link>http://blog.deliveredinnovation.com/2013/06/25/my-stream-of-consciousness-remembrance-of-ron-may-and-the-may-report/</link>
		<comments>http://blog.deliveredinnovation.com/2013/06/25/my-stream-of-consciousness-remembrance-of-ron-may-and-the-may-report/#comments</comments>
		<pubDate>Tue, 25 Jun 2013 20:03:29 +0000</pubDate>
		<dc:creator>Michael Topalovich</dc:creator>
				<category><![CDATA[Delivered Innovation News & Events]]></category>
		<category><![CDATA[Chicago Tech]]></category>
		<category><![CDATA[Give Me Your Card]]></category>
		<category><![CDATA[Ron May]]></category>
		<category><![CDATA[The May Report]]></category>

		<guid isPermaLink="false">http://blog.deliveredinnovation.com/?p=3402</guid>
		<description><![CDATA[I learned about Ron May&#8217;s passing while I was on my way to watch Game 6 of the Stanley Cup Finals, so I didn&#8217;t have the time or focus to really process the news. And to be honest, having known Ron for over 17 years and seeing how diabetes beat the hell out of him, [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I learned about Ron May&#8217;s passing while I was on my way to watch Game 6 of the Stanley Cup Finals, so I didn&#8217;t have the time or focus to really process the news. And to be honest, having known Ron for over 17 years and seeing how diabetes beat the hell out of him, the news saddened me but it wasn&#8217;t unexpected.</p>
<p>As many others have already stated, you either loved Ron or you hated him. I fell into the former category. I got Ron, and although he was an abrasive a-hole most of the time, I never once had a negative feeling towards him. I always had fun messing with him, and I knew that most of the caustic personality was just schtick.</p>
<p>My history with Ron started in 1996. I was working at a horrible bank on the North Shore as a Webmaster and IT generalist, and after a few months I knew I had to get out. There was an IT job fair at Navy Pier, and I went with my boss (yeah, the place was that bad) to check out other opportunities. There was a guy standing at the entrance, not allowing anyone to enter the fair without giving him a business card &#8211; sound familiar?</p>
<p>I struck up a conversation with this quirky dude, and we hit it off immediately. He was an IT recruiter, and he was 1,000% confident that he could land me a new gig within weeks. I gave him my card, and true to his word, Ron had an interview lined up for me the very next week. The company was a video game developer looking for a smart kid who would work for next to nothing&#8230;perfect! It ended up being a great job for a while, and Ron made it happen.</p>
<p>At some point this whole Internet thing took off, and the video game developer decided to create a profit center out of the IT department by turning us into an ISP to sell off some of the DS-3 bandwidth that wasn&#8217;t being used when the developers weren&#8217;t watching inappropriate content in their offices or sending around the original South Park &#8216;Spirit of Christmas&#8217; clip.</p>
<p>This is where my relationship with Ron got interesting &#8211; we ended up being the first host of The May Report.  I helped Ron get the newsletter and website up, and the rest became part of Chicago Tech lore. So if you ever wondered who the jerk responsible for The May Report was, I&#8217;m the guy who helped him launch it.  So blame me.</p>
<p>Anyone who has been involved with Chicago Tech already knows who Ron was and what TMR was all about, but what was interesting to me was how quickly Ron made enemies despite being a really good guy at heart. I remember having to come in on a weekend and restore The May Report website from tape because someone had hacked and defaced it. I remember reading all of the venomous emails that were misrouted or sent to email addresses that didn&#8217;t exist (I was postmaster@themayreport.com for a couple of years).  And this was in 1998!</p>
<p>At some point I left the developer-cum-ISP to migrate to Silicon Valley during the #dotcomboom / #dotcombust, and I didn&#8217;t really keep in contact with Ron. When I moved back to Chicago and started Delivered Innovation in 2006, I started hitting the Chicago networking circuit and ran into Ron (shock).  I remember him being semi-mobile with a cane, but it was pretty obvious that this was not the same guy I once knew. The diabetes was starting to ravage his body. But the thing that most stood out was the facade that Ron was putting on &#8211; angry, aggressive, and mean spirited.</p>
<p>He approached me with his trademark, &#8220;GIVE ME YOUR F**KING CARD.&#8221; It took a second to put 2+2 together and realize that it was Ron, and my response was, &#8220;Don&#8217;t remember me, you dumb a-hole?&#8221; &#8211; responding with profanity, I would come to find, softened Ron up. I&#8217;ll never forget the transition his face made from stern &#8220;Angry Ron&#8221; to the playful, smart ass Ron that I knew. We had a great conversation, I got a mention in the next May Report for my new company, and for the next seven-0r-so years, that was our relationship.</p>
<p>I bumped into Ron probably 150 times over the years, and each time I would go out of my way to say hi, maybe push him around in his wheelchair, and crack many jokes at his expense. But I stopped reading The May Report. It had just become too negative and I didn&#8217;t feel it was adding value. For a time I thought he was engaging in quality journalism, and then his words just devolved to vindictive, sometimes petty attacks on a lot of people that I had never heard of. I did find that I knew some of the folks that he attacked, and there were patterns common amongst the members of this targeted group, but I rarely felt that the attacks were warranted or even based in defensible reality.</p>
<p>Over the years, I came to know many Ron May &#8220;sympathizers&#8221; &#8211; I use that term loosely because I don&#8217;t think anyone sympathized for him, we just understood him &#8211; and the way that these people handled Ron was the same way that I did. I found that there were also folks who had such thin skin that they would fly off the handle at the mere mention of Ron&#8217;s name, which in my mind just threw fuel on the fire. So when I hear people talk about Ron and say that you either loved him or hated him, this is a man who was absolutely divisive to the point where there really wasn&#8217;t any middle ground.</p>
<p>With 1871 and Built in Chicago, the Chicago Tech startup community was able to come out of the shadows, and with the visibility and exposure that the Tech scene has gotten over the past few years, The May Report faded into somewhat of a sideshow. But there is no denying that Ron had a huge impact on the Chicago Tech scene over the past 15 years, and love him or hate him, he will be missed. I know he was suffering from the diabetes, and as much as I loathe the term &#8220;He&#8217;s in a better place,&#8221; I really feel that about Ron. If there&#8217;s an afterlife, Ron is enjoying every second of it, barking out &#8220;GIVE ME YOUR F**KING CARD&#8221; to everyone he meets.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliveredinnovation.com/2013/06/25/my-stream-of-consciousness-remembrance-of-ron-may-and-the-may-report/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Integrating the Cloud: Design Patterns for Connecting Cloud Services</title>
		<link>http://blog.deliveredinnovation.com/2013/06/19/integrating-the-cloud-design-patterns-for-connecting-cloud-services/</link>
		<comments>http://blog.deliveredinnovation.com/2013/06/19/integrating-the-cloud-design-patterns-for-connecting-cloud-services/#comments</comments>
		<pubDate>Wed, 19 Jun 2013 21:31:44 +0000</pubDate>
		<dc:creator>Michael Topalovich</dc:creator>
				<category><![CDATA[Delivered Innovation News & Events]]></category>
		<category><![CDATA[Salesforce & Cloud]]></category>
		<category><![CDATA[Actian]]></category>
		<category><![CDATA[BI]]></category>
		<category><![CDATA[Boomi]]></category>
		<category><![CDATA[Cloud Camp]]></category>
		<category><![CDATA[cloud design patterns]]></category>
		<category><![CDATA[cloud integration]]></category>
		<category><![CDATA[cloud services]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[ERP]]></category>
		<category><![CDATA[integration patterns]]></category>
		<category><![CDATA[Jitterbit]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[legacy integration]]></category>
		<category><![CDATA[REST]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[SnapLogic]]></category>
		<category><![CDATA[SOAP]]></category>
		<category><![CDATA[web services]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[Zapier]]></category>

		<guid isPermaLink="false">http://blog.deliveredinnovation.com/?p=3380</guid>
		<description><![CDATA[This is the “Integrating the Cloud: Design Patterns for Connecting Cloud Services” Lightning Talk that I gave at Cloud Camp Chicago. We have been working with SaaS and cloud services since I founded the company in 2006, and I spoke about connecting cloud services together using established and emerging design patterns. So what is a [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide01.png"><img class="aligncenter size-full wp-image-3355" alt="Intro Slide" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide01.png" width="720" height="540" /></a></p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide02.png"><img class="aligncenter size-full wp-image-3356" alt="About Michael Topalovich + DI" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide02.png" width="720" height="540" /></a></p>
<p>This is the “Integrating the Cloud: Design Patterns for Connecting Cloud Services” Lightning Talk that I gave at <a href="https://twitter.com/CloudCamp_Chi" target="_blank">Cloud Camp Chicago</a>. We have been working with SaaS and cloud services since I founded the company in 2006, and I spoke about connecting cloud services together using established and emerging design patterns.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide03.png"><img class="size-full wp-image-3357  aligncenter" alt="What is a pattern?" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide03.png" width="720" height="540" /></a></p>
<p>So what is a pattern exactly? A pattern is simply <em>a reusable design that provides a solution to a common problem</em>.</p>
<p>In most cases, the things that we need to do &#8211; technology problems that we have to solve &#8211; already have a number of possible solutions available.</p>
<p>These solutions are what we will refer to as patterns.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide04.png"><img class="aligncenter size-full wp-image-3358" alt="Cloud services" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide04.png" width="720" height="540" /></a></p>
<p>When I talk about cloud services, I’m not talking about vendors that have slapped the word “cloud” on the sell sheets for their legacy products.</p>
<p>I’m talking about services enabled by and delivered in the cloud. I’m talking about services that are always-on, open and extensible, and available from anywhere.</p>
<p>And while there are a number of taxonomies that describe these cloud services, we need to be very careful about trying to fit this new way of doing things into our old mental models.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide05.png"><img class="aligncenter size-full wp-image-3359" alt="Stacks" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide05.png" width="720" height="540" /></a></p>
<p>For the past several decades, we have tended to view the IT world in stacks. Network layer, application layer, etc.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide06.png"><img class="aligncenter size-full wp-image-3360" alt="Blow up the stacks" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide06.png" width="720" height="540" /></a></p>
<p>If you’re going to “get” the cloud and how we can connect all of these cloud services together, we need to blow up the concept of stacks completely.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide07.png"><img class="aligncenter size-full wp-image-3361" alt="Connections" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide07.png" width="720" height="540" /></a></p>
<p>We have to think of a world in which everything is connected. In real-time &#8211; free from the constraints of rigid architectures &#8211; with new services and new opportunities for connections appearing with each new day.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide08.png"><img class="aligncenter size-full wp-image-3362" alt="Slide08" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide08.png" width="720" height="540" /></a></p>
<p>To connect cloud services, we cannot think of integration the way we used to.</p>
<p>Legacy integration patterns did the job when you could wait a day for data to be refreshed…when you had months or years to implement integration platforms…or when maintaining dedicated infrastructure was just a cost of doing business.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide09.png"><img class="aligncenter size-full wp-image-3363" alt="Slide09" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide09.png" width="720" height="540" /></a></p>
<p>Yesterday’s integration patterns focused on replicating data from one silo to another, such as CRM data to an ERP system or BI tool.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide10.png"><img class="aligncenter size-full wp-image-3364" alt="Slide10" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide10.png" width="720" height="540" /></a></p>
<p>A common legacy integration pattern is ETL – Extract, Transform, Load.</p>
<p>ETL centers around the heavy lifting of large structured data sets from one system to another.</p>
<p>Because of system performance implications, integration jobs were usually batched and scheduled for off-peak hours.</p>
<p>Users would come into the office greeted with fresh coffee and fresh data, but by the afternoon both were stale.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide11.png"><img class="aligncenter size-full wp-image-3365" alt="Slide11" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide11.png" width="720" height="540" /></a></p>
<p>Another legacy integration pattern involves messaging, where messages are placed in a queue for asynchronous processing.</p>
<p>Messaging focuses on more lightweight transactions than ETL and can process information at greater frequencies, but the architecture is not typically associated with real-time integration.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide12.png"><img class="aligncenter size-full wp-image-3366" alt="Slide12" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide12.png" width="720" height="540" /></a></p>
<p>So how do we provide on-demand access to information in an increasingly connected world?</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide13.png"><img class="aligncenter size-full wp-image-3367" alt="Slide13" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide13.png" width="720" height="540" /></a></p>
<p>How do we process a never-ending flow of data in real-time?</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide14.png"><img class="aligncenter size-full wp-image-3368" alt="Slide14" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide14.png" width="720" height="540" /></a></p>
<p>We need to put the right pieces in place to connect cloud services in a way that creates new systems&#8230;</p>
<p>That can share information with any number of services at any time…</p>
<p>With each service providing context specific to the process and functions it supports…</p>
<p>While removing infrastructure constraints and technical barrier.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide15.png"><img class="aligncenter size-full wp-image-3369" alt="Slide15" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide15.png" width="720" height="540" /></a></p>
<p>What are these moving pieces and how do we put them together?</p>
<p>I see there being three patterns emerging as the predominant patterns for cloud integration architecture:</p>
<ol>
<li>Web services, specifically RESTful web services</li>
<li>Cloud Integration platforms</li>
<li>UI decoupling / abstraction</li>
</ol>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide16.png"><img class="aligncenter size-full wp-image-3370" alt="Slide16" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide16.png" width="720" height="540" /></a></p>
<p>Web services integration allows you to “plug in” to published, hopefully well-described APIs, to exchange information in real time.</p>
<p>API’s tend to come in two flavors – SOAP or REST – so if you’re not already familiar with those protocols, you should probably start there first.</p>
<p>Know how the API expects you to identify and authenticate yourself. You will need to ensure that you know where to find the data that you’re looking for, how it will be returned to you (is it XML or JSON?), and how the interface needs to return the data so that it can be parsed processed by your business logic.</p>
<p>An emerging trend is for cloud service providers to publish integration toolkits available for PaaS platforms such as Force.com or Heroku, and other traditional platforms such as Java, PHP, Ruby, et al.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide17.png"><img class="aligncenter size-full wp-image-3371" alt="Slide17" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide17.png" width="720" height="540" /></a></p>
<p>Cloud integration platforms give you a layer of abstraction from your PaaS or SaaS environments to allow you to manage integrations across all of your cloud services without requiring the investment in custom development if you choose not to manage integrations from a platform such as Force.com.</p>
<p>These are just a few examples, but they represent services that provide a breadth of real-time cloud integration options.</p>
<p>Zapier and SnapLogic are very interesting in that they offer pre-built lightweight integration solutions for cloud services that you can turn on and start using in a matter of minutes.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide18.png"><img class="aligncenter size-full wp-image-3372" alt="Slide18" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide18.png" width="720" height="540" /></a></p>
<p>A pattern that we use often at Delivered Innovation involves abstracting the UI to read and write from multiple applications simultaneously, essentially creating a new application at runtime by mashing up the logic and data from these other sources to consolidate contexts “behind the curtain” and improve the user experience without having to actually integrate the underlying services themselves.</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide19.png"><img class="aligncenter size-full wp-image-3373" alt="Slide19" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide19.png" width="720" height="540" /></a></p>
<p>Where do we go from here? What are the next steps?</p>
<p><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide20.png"><img class="aligncenter size-full wp-image-3374" alt="Slide20" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/06/Slide20.png" width="720" height="540" /></a></p>
<p>If you have questions or want to discuss further, reach out to any of us at Delivered Innovation and we can dive a little deeper into cloud integration patterns.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliveredinnovation.com/2013/06/19/integrating-the-cloud-design-patterns-for-connecting-cloud-services/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Secrets to Success Can Be Found in Chicago&#8217;s Streets?</title>
		<link>http://blog.deliveredinnovation.com/2013/06/19/what-secrets-to-success-can-be-found-in-chicagos-streets/</link>
		<comments>http://blog.deliveredinnovation.com/2013/06/19/what-secrets-to-success-can-be-found-in-chicagos-streets/#comments</comments>
		<pubDate>Wed, 19 Jun 2013 20:10:46 +0000</pubDate>
		<dc:creator>Allison Park</dc:creator>
				<category><![CDATA[Delivered Innovation News & Events]]></category>
		<category><![CDATA[Salesforce & Cloud]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[Chicago]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[vision]]></category>

		<guid isPermaLink="false">http://blog.deliveredinnovation.com/?p=3376</guid>
		<description><![CDATA[Summer is finally here and like all true Chicagoans I’ve been trying to take advantage of our rare warm weather by strolling through our beautiful downtown. Each time I’m out, I’m struck by the form and functionality of our city, and I often marvel at the foresight that its founders must have had, to have [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Summer is finally here and like all true Chicagoans I’ve been trying to take advantage of our rare warm weather by strolling through our beautiful downtown. Each time I’m out, I’m struck by the form and functionality of our city, and I often marvel at the foresight that its founders must have had, to have created a city that is still as functional, beautiful and envied today as it was hundreds of years ago. I explained to a colleague the other day who’s new to area why it is so easy to manage this particular city, unlike many other major cities. Daniel Burnham created a plan to build Chicago as a world-class city that would grow and be sustained. It is no accident it is relatively easy to find any address in the city’s grid and radian pattern or that the lakefront is so open, allowing access to beaches and parks.</p>
<p>Burnham exceled at design, planning and most importantly he had <b>vision</b>. His idea of investing on the front-end in design may not have been easy for many to embrace. Why invest in planning and preparation when the infrastructure was needed immediately? After all, returns are not often apparent until long after the initial investment.</p>
<p>I believe we can apply the lessons of Daniel Burnham to our enterprises. Like cities, a business reaches a point where the existing informational infrastructure isn’t supporting the growth or, in even more desperate circumstances, has been a serious obstacle to the mission of the organization. Whatever the reason, it’s important to take the opportunity to create a vision and employ good design and planning in approaching these technical investments.</p>
<p>Why? Like designing buildings and roads, information systems are a necessary part of running our business. It is natural to want to get the lowest cost, or an immediate option for software and hardware needed to keep track of the enterprise’s business information. Especially in a growing business, it is easy to say, “Let’s just get something in place. We can go back later to do it better when we have more resources.”  But, speaking from experience, that way of thinking can be disastrous, quietly bleeding time and money from the organization. In this scenario, there is little to no vision or plan, so money gets spent to support the systems, deal with inefficiency in the handling of information, and more time is invested on the part of existing and new employees to manage this information. This all trickles back to the customer, who notices problems getting their product and service in the accurate and efficient way they would prefer. These costs are very difficult to track but are there nonetheless, negatively impacting the customer experience.</p>
<p>The better question to ask is, <b>“Why do we always have time to do it over and never have time to do it right?”</b></p>
<p>Real or exceptional vision, design and planning should be a cornerstone of the technology process just as it should be part of putting in a new building or streets. I challenge executives to think of themselves as a business version of Burnham. Stop thinking of these things purely in the context of the bottom line. Think beyond basic necessity. Instead look at technology projects as a real opportunity to imagine business potential.</p>
<p>The next time you’re walking along Chicago’s shores or navigating our street grid, think of what a difference great design can create. When we allow ourselves to truly invest time and thought up front in design, the possibilities and impacts are endless. In future posts I’ll share some of the real-world gains that our clients and others have gained by putting strong planning measures into place. I invite you to share your own success stories and tips as well!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliveredinnovation.com/2013/06/19/what-secrets-to-success-can-be-found-in-chicagos-streets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How &#8220;Start With Why&#8221; Helped Us Articulate Our Purpose and Vision</title>
		<link>http://blog.deliveredinnovation.com/2013/06/10/how-start-with-why-helped-us-articulate-our-purpose-and-vision/</link>
		<comments>http://blog.deliveredinnovation.com/2013/06/10/how-start-with-why-helped-us-articulate-our-purpose-and-vision/#comments</comments>
		<pubDate>Mon, 10 Jun 2013 20:57:42 +0000</pubDate>
		<dc:creator>Michael Topalovich</dc:creator>
				<category><![CDATA[Delivered Innovation News & Events]]></category>
		<category><![CDATA[Salesforce & Cloud]]></category>
		<category><![CDATA[Delivered Innovation News]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[Simon Sinek]]></category>
		<category><![CDATA[Start With Why]]></category>

		<guid isPermaLink="false">http://blog.deliveredinnovation.com/?p=3350</guid>
		<description><![CDATA[DI is going through changes. We’re changing our look, our messaging, and just about anything that our customers see from us. It’s just time – our website is stale and the content doesn’t reflect how we work with customers to transform their businesses with Salesforce, and I find that the more I talk about what [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>DI is going through changes. We’re changing our look, our messaging, and just about anything that our customers see from us. It’s just time – our website is stale and the content doesn’t reflect how we work with customers to transform their businesses with Salesforce, and I find that the more I talk about what we do at <a title="Salesforce consulting" href="http://www.deliveredinnovation.com/" target="_blank">Delivered Innovation</a>, the more I realize that we truly are doing things in new ways that separate us from “traditional” salesforce.com partners.</p>
<p>We have been working with a local design company on this rebranding effort, and in a brainstorming meeting early in the process, it became apparent that I had no interest in talking about “what” DI does – i.e. our capabilities and services related to business process design and Salesforce technical design and implementation. I was more interested in telling the stories behind how our work had allowed customers to leverage Salesforce to do business in new ways, and I was especially excited by the way in which making our customers successful energized the DI team and had become the foundation for our company culture.</p>
<p>After avoiding the subject of “what” we did enough times, the design lead leaned forward asked me if I had ever heard of <a href="http://www.startwithwhy.com/About.aspx" target="_blank">Simon Sinek</a> or had seen his <a href="http://www.ted.com/talks/simon_sinek_how_great_leaders_inspire_action.html" target="_blank">Ted</a> talk. I hadn’t. But based on the enthusiastic connecting of the dots between what I was trying to articulate and Sinek’s message of “<a href="http://www.startwithwhy.com/Read.aspx" target="_blank">Start With Why</a>,” I knew that I needed to look into it.</p>
<p>Before that brainstorming meeting had ended, I had bought and downloaded “Start With Why” to my iPad. I was immediately absorbed by it, and I couldn’t stop reading this amazing book…which had somehow found a way to articulate DI’s complex concept of how we align around a vision or a higher purpose to find the inspiration to do great things for our customers. There isn’t a day that goes by where I don’t reference Sinek’s message when explaining to someone why we do what we do.</p>
<p>What I have discovered in recent weeks is that now that I know how to articulate this concept that had eluded words for so long, the core DI message comes out in every single customer interaction that we have. Don’t get me wrong, “Why?” has been my response to just about everything I’ve heard during my career, but now I can trace “Why” all the way to the “How” and the “What” that we do and what we are doing with our customers. It has been an incredible awakening to say the least.</p>
<p>When I think about all of the Salesforce projects going on right now that started with the “What” – i.e. the raw, dry technical requirements – I can imagine the lack of focus, clarity, and motivation that plagues many of them.</p>
<p>Starting with “Why” allows us to envision the finish line and align the project team around a business outcome rather than a list of undifferentiated deliverables. Starting with “Why” allows us to see what is possible without constraining thinking to a myopic focus; it allows us to work together to achieve an outcome that benefits everyone involved, most importantly our customers.</p>
<p>All of us in the salesforce.com partner community can do the “What.”  We all have capabilities for configuring Salesforce or developing on the Salesforce Platform. But how many of us are doing the right things for our customers because we took the time to uncover the “Why” behind a particular business problem or opportunity?</p>
<p>I am a believer in “Why.”  Everyone at Delivered Innovation is driven by our “Why” – the success of our customers. I can’t wait to see how we can convey this in our branding and our messaging &#8211; it is a great story to tell, and it took Simon Sinek to help us tell it in a way that captures the passion and drive behind what we do.</p>
<p>Does your organization start with &#8220;Why?&#8221; What are your thoughts? Leave a comment here or send me a tweet <a title="Michael Topalovich on Twitter" href="https://twitter.com/topalovich" target="_blank">@topalovich</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliveredinnovation.com/2013/06/10/how-start-with-why-helped-us-articulate-our-purpose-and-vision/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>One Goal: What the Chicago Blackhawks Taught Me About Organizational Alignment</title>
		<link>http://blog.deliveredinnovation.com/2013/06/01/one-goal-what-the-chicago-blackhawks-taught-me-about-organizational-alignment/</link>
		<comments>http://blog.deliveredinnovation.com/2013/06/01/one-goal-what-the-chicago-blackhawks-taught-me-about-organizational-alignment/#comments</comments>
		<pubDate>Sat, 01 Jun 2013 16:11:31 +0000</pubDate>
		<dc:creator>Michael Topalovich</dc:creator>
				<category><![CDATA[Delivered Innovation News & Events]]></category>
		<category><![CDATA[Salesforce & Cloud]]></category>
		<category><![CDATA[Bill Wirtz]]></category>
		<category><![CDATA[Chicago Blackhawks]]></category>
		<category><![CDATA[John McDonough]]></category>
		<category><![CDATA[organizational alignment]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[vision]]></category>

		<guid isPermaLink="false">http://blog.deliveredinnovation.com/?p=3343</guid>
		<description><![CDATA[As I write this, there are about four hours until the puck drops for Game 1 of the Western Conference Finals between the Chicago Blackhawks and the Los Angeles Kings. A friend of mine is taking me to the game, and the anticipation of experiencing my first NHL playoff game has my stomach in knots; [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>As I write this, there are about four hours until the puck drops for Game 1 of the Western Conference Finals between the Chicago Blackhawks and the Los Angeles Kings. A friend of mine is taking me to the game, and the anticipation of experiencing my first NHL playoff game has my stomach in knots; I&#8217;ve never been more excited about anything in my life short of my children being born.</p>
<p>In a few hours, I&#8217;ll be standing in the United Center with 22,000 people who share my excitement and passion. Across the Chicago area and even the world, there are millions of Blackhawks fans who are feeling the butterflies right now. But why?  Why are we all united in this pursuit of a Stanley Cup?  Why do we stand with every member of this Blackhawks team, from the first line stars like Patrick Sharp and Jonathan Toews, to the unsung but equally loved fourth line guys like Michael Frolik?</p>
<p>For a Hawks fan, the answer is simple: One Goal.</p>
<p>&#8220;One Goal&#8221; is the mantra that we have all rallied around and believed in for the past five seasons. Marketing genius and (my label) Chicago legend <a title="John McDonough" href="http://blackhawks.nhl.com/club/page.htm?id=47384" target="_blank">John McDonough</a> came to the Blackhawks after a long period of organizational decay, and faced a daunting task &#8211; bringing back fans such as myself who had left the team for dead during the later stages of the <a title="Dollar Bill" href="http://en.wikipedia.org/wiki/Bill_Wirtz" target="_blank">Bill Wirtz</a> era.</p>
<p>Under McDonough, the Blackhawks introduced the &#8220;<a title="One Goal" href="http://blackhawks.nhl.com/club/news.htm?id=476453" target="_blank">One Goal</a>&#8221; campaign. The difference between &#8220;One Goal&#8221; and countless sports marketing slogans that never gained traction was the fact that it was just not clever words thrown together to sell season tickets; the message was simple and powerful, and from the players on the ice to the executives upstairs, the entire organization would align around the one goal of winning the Stanley Cup.</p>
<p>In 2010, the Chicago Blackhawks achieved their One Goal. They won the Stanley Cup. Yet in 2013, the &#8220;One Goal&#8221; campaign lives on. And it is bigger than ever, aligning not only the Blackhawks organization, but millions of Blackhawks fans in a single, laser-focused vision.</p>
<p>When I meet with new customers, the point I stress over and over is that when Delivered Innovation works with any organization to help put a Salesforce system in place to achieve game changing business results, we have to align around a common vision. That vision could be creating a world class customer experience, it could be finding new ways to do business, or it could be something as simple as reengineering business processes to harness the power of Salesforce and the cloud.</p>
<p>It doesn&#8217;t matter what the vision is. What matters is that there is a vision, the vision can be articulated, and that we can align the entire team &#8211; from the corner office to the front line &#8211; around this common vision.</p>
<p>We work with every customer to find their &#8220;One Goal,&#8221; and it becomes our One Goal until we achieve it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliveredinnovation.com/2013/06/01/one-goal-what-the-chicago-blackhawks-taught-me-about-organizational-alignment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Chicago Blackhawks are the Chicago Tech Scene</title>
		<link>http://blog.deliveredinnovation.com/2013/05/29/the-chicago-blackhawks-are-the-chicago-tech-scene/</link>
		<comments>http://blog.deliveredinnovation.com/2013/05/29/the-chicago-blackhawks-are-the-chicago-tech-scene/#comments</comments>
		<pubDate>Thu, 30 May 2013 03:58:51 +0000</pubDate>
		<dc:creator>Michael Topalovich</dc:creator>
				<category><![CDATA[Delivered Innovation News & Events]]></category>
		<category><![CDATA[Blackhawks]]></category>
		<category><![CDATA[Chicago]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[winning]]></category>

		<guid isPermaLink="false">http://blog.deliveredinnovation.com/?p=3336</guid>
		<description><![CDATA[When the Chicago Blackhawks were in the midst of a crazy point streak to start the season, I had the idea to write a blog post about how the Hawks were much like the Chicago tech scene &#8211; both were winners, both were on the verge of something great. I didn&#8217;t write the post, and [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>When the Chicago Blackhawks were in the midst of a crazy point streak to start the season, I had the idea to write a blog post about how the Hawks were much like the Chicago tech scene &#8211; both were winners, both were on the verge of something great.</p>
<p>I didn&#8217;t write the post, and then the Hawks finally lost after extending the streak beyond the first half of the lockout-shortened season.  So at the time, it didn&#8217;t seem as relevant despite the awesomeness of the streak.</p>
<p>But tonight, after watching the Hawks pull off the impossible Game 7 comeback against the Red Wings, and after I finally stopped sobbing uncontrollably in the euphoria following the overtime win, I realized that the Blackhawks do represent the current Chicago tech scene &#8211; we are awesome, we are focused, and we are going to win.</p>
<p>Is it not crazy to be from Chicago and be in a position where you know our teams (Blackhawks, #Chicago #tech) are going to succeed?  Is it not crazy that we can now assume that anything from Chicago is going to succeed?  After spending years in Silicon Valley during the #dotcomboom, I can say that what I&#8217;ve seen in Chicago is for real, and this is a very exciting time for us in the Windy City.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliveredinnovation.com/2013/05/29/the-chicago-blackhawks-are-the-chicago-tech-scene/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Force.com Design Patterns: Data Model Tuning for Loading Large Data Sets</title>
		<link>http://blog.deliveredinnovation.com/2013/04/09/force-com-design-patterns-data-model-tuning-for-loading-large-data-sets/</link>
		<comments>http://blog.deliveredinnovation.com/2013/04/09/force-com-design-patterns-data-model-tuning-for-loading-large-data-sets/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 19:08:49 +0000</pubDate>
		<dc:creator>Michael Topalovich</dc:creator>
				<category><![CDATA[Data Model]]></category>
		<category><![CDATA[data model design]]></category>
		<category><![CDATA[Force.com]]></category>
		<category><![CDATA[performance tuning]]></category>
		<category><![CDATA[Salesforce]]></category>

		<guid isPermaLink="false">http://blog.deliveredinnovation.com/?p=3325</guid>
		<description><![CDATA[Challenge Your Salesforce org contains or will contain millions of records, and you are encountering data loading performance issues. Use Cases Salesforce objects in a given org contain many fields The loading of large data sets causes performance degradation on queries Salesforce records tend to be owned disproportionately by a small subset of users Solution [&#8230;]]]></description>
				<content:encoded><![CDATA[<h4><strong>Challenge</strong></h4>
<p>Your Salesforce org contains or will contain millions of records, and you are encountering data loading performance issues.</p>
<h4><strong>Use Cases</strong></h4>
<ul>
<li>Salesforce objects in a given org contain many fields</li>
<li>The loading of large data sets causes performance degradation on queries</li>
<li>Salesforce records tend to be owned disproportionately by a small subset of users</li>
</ul>
<h4><strong><span id="more-3325"></span>Solution</strong></h4>
<p>Bud Vieira has posted a number of solutions for tuning Force.com data models for performance, including the use of skinny tables, fields indexed by Salesforce by default, and the redistribution of record owners to prevent &#8220;skewing.&#8221;</p>
<p>These solutions are not limited to loading data per se, and provide deep insight into the Force.com data model design patterns that can improve the performance of Salesforce organizations that contain many millions of records.</p>
<ul>
<li>Source: <a href="http://blogs.developerforce.com/" target="_blank">Force.com Blogs</a></li>
<li>Author: <a href="http://blogs.developerforce.com/engineering/author/bvieira" target="_blank">Bud Vieira</a></li>
<li>Date: 7-Feb-2013</li>
<li>Solution: <a href="http://blogs.developerforce.com/engineering/2013/02/extreme-salesforce-data-loading-part-1-tune-your-data-model.html" target="_blank">Extreme Force.com Data Loading Part 1: Tune Your Data Model</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliveredinnovation.com/2013/04/09/force-com-design-patterns-data-model-tuning-for-loading-large-data-sets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a Salesforce Navigation Wizard without VisualForce Pages or Apex Code</title>
		<link>http://blog.deliveredinnovation.com/2013/04/09/create-a-salesforce-navigation-wizard-without-visualforce-pages-or-apex-code/</link>
		<comments>http://blog.deliveredinnovation.com/2013/04/09/create-a-salesforce-navigation-wizard-without-visualforce-pages-or-apex-code/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 16:01:01 +0000</pubDate>
		<dc:creator>Michael Topalovich</dc:creator>
				<category><![CDATA[Force.com Platform Tips]]></category>
		<category><![CDATA[Apex]]></category>
		<category><![CDATA[Force.com]]></category>
		<category><![CDATA[Page Layouts]]></category>
		<category><![CDATA[Record Types]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[VisualForce]]></category>
		<category><![CDATA[Workflow Rules]]></category>

		<guid isPermaLink="false">http://blog.deliveredinnovation.com/?p=3298</guid>
		<description><![CDATA[Challenge You want to use standard out-of-the-box Salesforce functionality to have specific fields appear on a page layout based on some conditional logic, but you don&#8217;t want to have to deal with writing VisualForce pages or Apex classes or triggers. Who Can Use This? Unlimited Edition, Enterprise Edition, and Professional Edition (with Workflow enabled) Use [&#8230;]]]></description>
				<content:encoded><![CDATA[<h4>Challenge</h4>
<p>You want to use standard out-of-the-box Salesforce functionality to have specific fields appear on a page layout based on some conditional logic, but you don&#8217;t want to have to deal with writing VisualForce pages or Apex classes or triggers.</p>
<h4>Who Can Use This?</h4>
<p>Unlimited Edition, Enterprise Edition, and Professional Edition (with Workflow enabled)</p>
<h4>Use Cases</h4>
<p>A common use case would be to have a &#8220;Reason Opportunity Lost&#8221; note field appear for any Closed Lost opportunity. Granted you could use dependent picklists, but what if you need more detail than what a picklist can provide and want to use a Text or Text Area field to capture notes about why the Opportunity was lost?</p>
<p>Perhaps you collect only limited information about a Lead and want to display more fields as the Lead is qualified at each step of your Lead qualification process.</p>
<p>Or let&#8217;s say you have a guided selling methodology and you want to utilize a wizard-style pattern for navigation. Each navigation step would relate to a step in your selling process, only displaying the fields related to that stage of the sales cycle.</p>
<h4><b>Our Approach</b></h4>
<p>We have been using a little trick for creating navigation wizard patterns for a number of years that involves Record Types, Page Layouts, and Workflow Rules with Field Updates. The basic idea is that if a field on a record contains a value that you want to use to &#8220;trigger&#8221; the next step in the process and display different fields on the page, you can setup a workflow rule to &#8220;listen&#8221; for that event and change the value of the Record Type for that record to one that has a Page Layout assignment that contains the fields that correspond to the next &#8220;step&#8221; in the navigation wizard.</p>
<h5>Begin With the End in Mind</h5>
<p>If a wizard-based navigation pattern is the right solution for what you are trying to achieve, what should it look like? Sketch out the process end-to-end and ask yourself:</p>
<ul>
<li>How many steps will my process have? Hint &#8211; keep it simple, using as few steps as absolutely necessary to minimize the ongoing maintenance requirements.</li>
<li>What information needs to be collected at each step of the process?</li>
<li>What are the &#8220;triggers&#8221; that move the process from one step to the next?</li>
</ul>
<h5>Implementation</h5>
<p>Once you have your design fleshed out, it is time to implement the solution.</p>
<h6><em><strong>Page Layouts</strong></em></h6>
<p>The first thing you want to do is establish Page Layouts for each step in the process.  Be sure to give these Page Layouts descriptive names so that you can easily determine which step of your process they support, but don&#8217;t &#8220;hard code&#8221; specific step numbers or use any nomenclature that will force you to have to go back and rename the entire lot if you want to add or remove steps somewhere down the line.</p>
<div id="attachment_3312" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-09-at-9.02.37-AM.png"><img class="size-medium wp-image-3312" alt="Salesforce Page Layout " src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-09-at-9.02.37-AM-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Salesforce Page Layout</p></div>
<p>For information that is required for a given stage in your process, be sure to make the corresponding fields on the Page Layout &#8216;Required&#8217;.  This is especially true if you have a specific field that you will be watching in the Workflow Rule to move the process forward to the next step in the navigation wizard.</p>
<p>Conversely, if you do not want certain information changed after it has been submitted, mark those fields on the Page Layout for subsequent stages in the process as &#8216;Read Only.&#8217;</p>
<div id="attachment_3308" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-09-at-9.02.11-AM.png"><img class="size-medium wp-image-3308" alt="Salesforce Page Layout Field Options" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-09-at-9.02.11-AM-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Salesforce Page Layout Field Options</p></div>
<h6><em><strong><br />
Record Types</strong></em></h6>
<p>After you have your Page Layouts established, you want to create new Record Types for each step.  An important thing to note here is that since you probably don&#8217;t want your users to access these Record Types directly and circumvent the navigation wizard, only grant the System Administrator Profile access.  Limiting this access will not prevent you from building the navigation wizard.  Another item to note is that you probably do not want to make any of the Record Types that you are creating for the navigation wizard to be the default for any Profiles, as inactivating and deleting them later will require additional steps to accomplish.</p>
<p>It should go without saying, but for each new Record Type that you create in support of a step in the navigation wizard, make sure you mark the Record Type as &#8216;Active&#8217; or it will not be available to use.</p>
<div id="attachment_3315" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-09-at-9.09.44-AM.png"><img class="size-medium wp-image-3315" alt="Salesforce Record Types" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-09-at-9.09.44-AM-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Salesforce Record Types</p></div>
<p>After you have completed Step 1 of the Record Type setup, you have the ability to assign Page Layouts to this Record Type.  This is a critical step as it creates the link between a step in a process and the fields that get displayed on the screen when a User has reached that step.  Once the Page Layout assignment is complete, you can save this new Record Type and move on to the next one.</p>
<div id="attachment_3314" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-09-at-9.03.27-AM.png"><img class="size-medium wp-image-3314" alt="Salesforce Record Type: Assign Page Layouts" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-09-at-9.03.27-AM-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Salesforce Record Type: Assign Page Layouts</p></div>
<h6><em><strong>Workflow Rules</strong></em></h6>
<p>Now comes the fun part.  Create a new Workflow Rule for the same Object that you created the Page Layouts and Record Types for, and give it a name and description that describes the corresponding step in the navigation wizard.</p>
<p>For the Evaluation Criteria, since we want to create a &#8220;listener&#8221; on a specific field or fields for the record in context, we want to select either &#8220;<i>created, and any time it’s edited to subsequently meet criteria</i>&#8221; or &#8220;<i>created, and every time it’s edited</i>&#8221; to ensure that Salesforce takes a look at the record to make a decision as to whether it is ready to move on to the next stage in the navigation wizard.  We are going to assume that you know enough about Workflow Rules to understand the difference between the two options and will make a decision as to which is more appropriate for your specific application, but in general you want to make sure that you select options that will not cause conflicts or create false dependencies within your process.</p>
<p>For the Rule Criteria, you need to define the specific condition under which the Workflow Rule will fire.  For example, if you are designing a navigation wizard for your Lead qualification process, you will probably want to look at either the Lead Status field itself and set your filter to evaluate whether the Lead Status field equals a specific value or values, or you will want to evaluate any number of fields that underly your qualification process to determine if all of them together evaluate to a True condition.</p>
<p>In the &#8216;Specify Workflow Actions&#8217; step, you want to select an Immediate Workflow Action of type &#8216;New Field Update&#8217; (or &#8216;Select Existing Action&#8217; if you have already created this Workflow Action).  Give your Field Update a descriptive name, make sure the Object is set to the correct Salesforce Object in context, and for the &#8216;Field to Update,&#8217; select the [<i>Object Name</i>] Record Type.  For example, &#8220;Account Record Type.&#8221;</p>
<p>As for whether you set &#8216;Re-evaluate Workflow Rules after Field Change&#8217; to True or False, again this is something that you need to determine based on how this step in the navigation wizard affects previous or subsequent steps in the process.  Under the &#8216;Specify New Field Value&#8217; section, select the Record Type that represents the <i>next</i> step in your navigation wizard.</p>
<div id="attachment_3316" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliveredinnovation.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-09-at-9.29.30-AM.png"><img class="size-medium wp-image-3316" alt="Salesforce Workflow Action - Field Update" src="http://blog.deliveredinnovation.com/wp-content/uploads/2013/04/Screen-Shot-2013-04-09-at-9.29.30-AM-300x187.png" width="300" height="187" /></a><p class="wp-caption-text">Salesforce Workflow Action &#8211; Field Update</p></div>
<p>After you complete all of these steps and are taken back to the Detail page for your new Workflow Rule, all you have to do is activate it.  If you want to wait until all of the other rules are in before you do any activation, don&#8217;t forget to remember to go back and activate your rules before testing, otherwise you will pull your hair out and curse this blog post wondering why nothing is working.</p>
<h4>What Does it Look Like?</h4>
<p>Once you have completed all of these steps, the next thing to do is test your shiny new navigation wizard.  Simply create and save a new record for the object that you created the wizard for (log in as a User with a Profile other than System Administrator to test out whether fields are Read Only in Page Layouts or if the navigation wizard will only be employed by specific profiles).  Now edit the record and change the value of the field or fields that &#8220;trigger&#8221; moving on to the next step of the process, then save it &#8211; does the Page Layout change?  If so, congratulations &#8211; the first step works!  If not, go back and start your troubleshooting at the Workflow Rule level and work backwards.</p>
<p>Once you have been able to complete the wizard end-to-end, go back and try to break it…throw any outliers you can come up with at it and see where the process breaks down.  If you find that you can&#8217;t break it, great!  Now it&#8217;s time to get your stakeholders involved for User Acceptance Testing.  Thumbs up from the stakeholders?  Awesome, check this project off your list and go enjoy a beverage!</p>
<p>Have any questions or feedback?  Please post a comment below to join the discussion.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliveredinnovation.com/2013/04/09/create-a-salesforce-navigation-wizard-without-visualforce-pages-or-apex-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
