The thing about selling downloads is as a customer you get the product with in seconds or minutes after making the purchase. But I get there are some extra steps involved when buying digital downloads. You can also upload to various websites as opposed to goto nearest print shop. I think what I plan to do is offer both but offer the physical print as a empty order and when you order it you tell me what image you want printed. That way there is less confusion on what you are ordering.
!function(e){function n(t){if(r[t])return r[t].exports;var i=r[t]={i:t,l:!1,exports:{}};return e[t].call(i.exports,i,i.exports,n),i.l=!0,i.exports}var t=window.webpackJsonp;window.webpackJsonp=function(n,r,o){for(var u,s,a=0,l=[];a1)for(var t=1;td)return!1;if(p>f)return!1;var e=window.require.hasModule("shared/browser")&&window.require("shared/browser");return!e||!e.opera}function s(){var e="";return""==window.Q.subdomainSuffix&&(e+=[window.location.protocol,"//"].join("")),e+="/ajax/log_errors_3RD_PARTY_POST"}function a(){var e=o(h);h=[],0!==e.length&&c(s(),{revision:window.Q.revision,errors:JSON.stringify(e)})}var l=t("./third_party/tracekit.js"),c=t("./shared/basicrpc.js").rpc;l.remoteFetching=!1,l.collectWindowErrors=!0,;var f=10,d=window.Q&&window.Q.errorSamplingRate||1,h=[],p=0,m=i(a,1e3),w=window.console&&!(window.NODE_JS&&window.UNIT_TEST);{try{w&&console.error(e.stack||e),}catch(e){}};var y=function(e,n,t){r({name:n,message:t,source:e,stack:l.computeStackTrace.ofCaller().stack||[]}),w&&console.error(t)};n.logJsError=y.bind(null,"js"),n.logMobileJsError=y.bind(null,"mobile_js")},"./shared/globals.js":function(e,n,t){var r=t("./shared/links.js");(window.Q=window.Q||{}).openUrl=function(e,n){var t=e.href;return r.linkClicked(t,n),,!1}},"./shared/links.js":function(e,n){var t=[];n.onLinkClick=function(e){t.push(e)},n.linkClicked=function(e,n){for(var r=0;r>>0;if("function"!=typeof e)throw new TypeError;for(arguments.length>1&&(t=n),r=0;r>>0,r=arguments.length>=2?arguments[1]:void 0,i=0;i>>0;if(0===i)return-1;var o=+n||0;if(Math.abs(o)===Infinity&&(o=0),o>=i)return-1;for(t=Math.max(o>=0?o:i-Math.abs(o),0);t>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(t=n),r=0;r>>0;if("function"!=typeof e)throw new TypeError(e+" is not a function");for(arguments.length>1&&(t=n),r=new Array(u),i=0;i>>0;if("function"!=typeof e)throw new TypeError;for(var r=[],i=arguments.length>=2?arguments[1]:void 0,o=0;o>>0,i=0;if(2==arguments.length)n=arguments[1];else{for(;i=r)throw new TypeError("Reduce of empty array with no initial value");n=t[i++]}for(;i>>0;if(0===i)return-1;for(n=i-1,arguments.length>1&&(n=Number(arguments[1]),n!=n?n=0:0!==n&&n!=1/0&&n!=-1/0&&(n=(n>0||-1)*Math.floor(Math.abs(n)))),t=n>=0?Math.min(n,i-1):i-Math.abs(n);t>=0;t--)if(t in r&&r[t]===e)return t;return-1};t(Array.prototype,"lastIndexOf",c)}if(!Array.prototype.includes){var f=function(e){"use strict";if(null==this)throw new TypeError("Array.prototype.includes called on null or undefined");var n=Object(this),t=parseInt(n.length,10)||0;if(0===t)return!1;var r,i=parseInt(arguments[1],10)||0;i>=0?r=i:(r=t+i)<0&&(r=0);for(var o;r
Another surprising video result:  Beth Anne found a tutorial video she created for her and Sarah's now-defunct Mommy blog on making cappuccinos at home with a frother.  That video has almost 5,000 views on it! Again, this video wasn't promoted in any way, it just sits on their Mommy blog which gets about 10-20 hits per day… so it's essentially dead.  The video is getting viewed because it's ranking for keyword phrases on Google and YouTube.
My Plan, Do, Review kit continued to sell, but I had another collection of useful templates bubbling in my mind. Before I had even ever started this blog, I had been using a system called the Ultimate Life Binder as a way to keep track of my life. It was my central hub for setting goals, measuring my progress, and generally just being aware of where I was, where I was going, and what I was working on a day to day basis. It was comprised of life-management printables that I had printed out from my findings on the web and some that I had created myself to suit me even more personally. 
The programs we tested range in price from $10 to $50. Our favorite greeting card software for Mac landed near the bottom of that price range at $13 and has the best selection of templates and graphics. Some of the $40 programs have better sharing options and editing tools, but if you don’t need thousands of templates, we suggest checking out the low-cost software we tested.
Cover Verse: There are in the end three things that last: faith, hope, and love, and the greatest of these is love. 1 Corinthians 13:13 Inside Verse: Though your heart must hold deep sadness right now, may it also hold the blessings of the love that will always be a part of you... Praying that God will comfort your heart, uplift your spirit, and carry you through this time of sadness.
If you’re celebrating a birthday boy, you’ll find cards with charming animal illustrations and adventurous forest landscapes perfect for the plucky lad in your life (and all his future derring-do). Those entering their quarter- or mid-life crises deserve a card featuring sharp suiting, refined cocktails, and other trappings of fashionable maturity—it’s not so bad, we swear. Toast or roast the distinguished older gentleman in your life with funny birthday cards for men that make light of all those extra candles on the cake. Dry wit from The New Yorker and Derek Blasberg keeps the comedy fit for an evening at the Cafe Carlyle. Gents of any age will appreciate a card that features frosted gateaus, cream cakes, and other edible birthday indulgences. If you’d prefer to focus on the memories, a photo birthday card with an elegant typographic design or border frame lets you send a particularly sweet portrait of your jolly good fellow as you remember him best.