CINXE.COM
Adobe Tech Blog
<!DOCTYPE html><html xmlns:cc="http://creativecommons.org/ns#"><head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# medium-com: http://ogp.me/ns/fb/medium-com#"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=contain"><title>Adobe Tech Blog</title><link rel="canonical" href="https://blog.developer.adobe.com"><link id="feedLink" rel="alternate" type="application/rss+xml" title="RSS" href="https://blog.developer.adobe.com/feed"><meta name="robots" content="index,follow"><meta name="title" content="Adobe Tech Blog"><meta name="referrer" content="unsafe-url"><meta name="description" content="News, updates, and thoughts related to Adobe, developers, and technology."><meta name="keywords" content="API, SOFTWARE DEVELOPMENT, ADOBE, CUSTOMER EXPERIENCE, OPEN SOURCE"><meta name="theme-color" content="#000000"><meta property="og:title" content="Adobe Tech Blog"><meta property="twitter:title" content="Adobe Tech Blog"><meta property="og:url" content="https://blog.developer.adobe.com/"><meta property="og:image" content="https://cdn-images-1.medium.com/max/1200/1*riyFijvwTfGcWNf1guRNtg.png"><meta property="fb:app_id" content="542599432471018"><meta property="og:description" content="News, updates, and thoughts related to Adobe, developers, and technology."><meta name="twitter:description" content="News, updates, and thoughts related to Adobe, developers, and technology."><meta name="twitter:image:src" content="https://cdn-images-1.medium.com/max/1200/1*riyFijvwTfGcWNf1guRNtg.png"><meta property="og:type" content="medium-com:collection"><meta name="twitter:card" content="summary_large_image"><meta property="medium-com:creator" content="https://blog.developer.adobe.com/@Adobedevs"><meta name="twitter:site" content="@adobedevs"><meta property="og:site_name" content="Adobe Tech Blog"><meta name="twitter:app:name:iphone" content="Medium"><meta name="twitter:app:id:iphone" content="828256236"><meta name="twitter:app:url:iphone" content="medium://adobetech"><meta property="al:ios:app_name" content="Medium"><meta property="al:ios:app_store_id" content="828256236"><meta property="al:android:package" content="com.medium.reader"><meta property="al:android:app_name" content="Medium"><meta property="al:ios:url" content="medium://adobetech"><meta property="al:android:url" content="medium://adobetech"><meta property="al:web:url" content="https://blog.developer.adobe.com/"><link rel="search" type="application/opensearchdescription+xml" title="Medium" href="/osd.xml" /><link rel="alternate" href="android-app://com.medium.reader/https/medium.com/adobetech" /><script type="application/ld+json">{"@context": "http://schema.org", "@graph": [{"@type": "WebSite", "url": "https:\/\/blog.developer.adobe.com", "name": "Adobe Tech Blog", "alternateName": "News, updates, and thoughts related to Adobe, developers, and technology."},{"@type": "Organization", "url": "https:\/\/blog.developer.adobe.com", "name": "Adobe Tech Blog"}]}</script><link rel="stylesheet" href="https://cdn-static-1.medium.com/_/fp/css/main-branding-base.tWIMt8r3Nl52PPi9OfgcVw.12.css"><script>!function(n,e){var t,o,i,c=[],f={passive:!0,capture:!0},r=new Date,a="pointerup",u="pointercancel";function p(n,c){t||(t=c,o=n,i=new Date,w(e),s())}function s(){o>=0&&o<i-r&&(c.forEach(function(n){n(o,t)}),c=[])}function l(t){if(t.cancelable){var o=(t.timeStamp>1e12?new Date:performance.now())-t.timeStamp;"pointerdown"==t.type?function(t,o){function i(){p(t,o),r()}function c(){r()}function r(){e(a,i,f),e(u,c,f)}n(a,i,f),n(u,c,f)}(o,t):p(o,t)}}function w(n){["click","mousedown","keydown","touchstart","pointerdown"].forEach(function(e){n(e,l,f)})}w(n),self.perfMetrics=self.perfMetrics||{},self.perfMetrics.onFirstInputDelay=function(n){c.push(n),s()}}(addEventListener,removeEventListener);</script><script>document.domain = document.domain;</script><script>if (window.top !== window.self) window.location = 'about:blank';var OB_startTime = new Date().getTime(); var OB_loadErrors = []; function _onerror(e) { OB_loadErrors.push(e) }; if (document.addEventListener) document.addEventListener("error", _onerror, true); else if (document.attachEvent) document.attachEvent("onerror", _onerror); function _asyncScript(u) {var d = document, f = d.getElementsByTagName("script")[0], s = d.createElement("script"); s.type = "text/javascript"; s.async = true; s.src = u; f.parentNode.insertBefore(s, f);}function _asyncStyles(u) {var d = document, f = d.getElementsByTagName("script")[0], s = d.createElement("link"); s.rel = "stylesheet"; s.href = u; f.parentNode.insertBefore(s, f); return s}(new Image()).src = "/_/stat?event=pixel.load&origin=" + encodeURIComponent(location.origin);</script><script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date; ga("create", "G-7JY7T788PK", "auto", {"allowLinker": true, "legacyCookieDomain": window.location.hostname});ga("send", "pageview");</script><script async src="https://www.google-analytics.com/analytics.js"></script><script>(function () {var height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; var width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; document.write("<style>section.section-image--fullBleed.is-backgrounded {padding-top: " + Math.round(1.1 * height) + "px;}section.section-image--fullScreen.is-backgrounded, section.section-image--coverFade.is-backgrounded {min-height: " + height + "px; padding-top: " + Math.round(0.5 * height) + "px;}.u-height100vh {height: " + height + "px !important;}.u-height110vh {height: " + Math.round(1.1 * height) + "px !important;}.u-minHeight100vh {min-height: " + height + "px !important;}.u-maxHeight100vh {max-height: " + height + "px !important;}section.section-image--coverFade {height: " + height + "px;}.section-aspectRatioViewportPlaceholder, .section-aspectRatioViewportCropPlaceholder {max-height: " + height + "px;}.section-aspectRatioViewportBottomSpacer, .section-aspectRatioViewportBottomPlaceholder {max-height: " + Math.round(0.5 * height) + "px;}.zoomable:before {top: " + (-1 * height) + "px; left: " + (-1 * width) + "px; padding: " + height + "px " + width + "px;}</style>");})()</script><!--[if lt IE 9]><script charset="UTF-8" src="https://cdn-static-1.medium.com/_/fp/js/shiv.RI2ePTZ5gFmMgLzG5bEVAA.12.js"></script><![endif]--><link rel="icon" href="https://cdn-images-1.medium.com/fit/c/256/256/1*y6TtdKlSFBCCH2t385XObA.png" class="js-favicon"><link rel="apple-touch-icon" sizes="152x152" href="https://cdn-images-1.medium.com/fit/c/304/304/1*riyFijvwTfGcWNf1guRNtg.png"><link rel="apple-touch-icon" sizes="120x120" href="https://cdn-images-1.medium.com/fit/c/240/240/1*riyFijvwTfGcWNf1guRNtg.png"><link rel="apple-touch-icon" sizes="76x76" href="https://cdn-images-1.medium.com/fit/c/152/152/1*riyFijvwTfGcWNf1guRNtg.png"><link rel="apple-touch-icon" sizes="60x60" href="https://cdn-images-1.medium.com/fit/c/120/120/1*riyFijvwTfGcWNf1guRNtg.png"><link rel="mask-icon" href="https://cdn-static-1.medium.com/_/fp/icons/monogram-mask.KPLCSFEZviQN0jQ7veN2RQ.12.svg" color="#171717"></head><body itemscope class=" browser-ie os-windows v-unbound v-glyph v-glyph--m2-unbound-source-serif-pro is-noJs"><script>document.body.className = document.body.className.replace(/(^|\s)is-noJs(\s|$)/, "$1is-js$2")</script><div class="site-main" id="container"><div class="butterBar butterBar--error"></div><div class="surface"><div id="prerendered" class="screenContent"><div class="metabar u-clearfix u-textColorTransparentWhiteDarker u-tintBgColor u-tintSpectrum js-metabar"><div class="branch-journeys-top"></div><div class="js-metabarMiddle metabar-inner u-marginAuto u-maxWidth1032 u-flexCenter u-justifyContentSpaceBetween u-height65 u-xs-height56 u-paddingHorizontal20"><div class="metabar-block u-flex1 u-flexCenter"><div class="js-metabarLogoLeft"><a href="https://medium.com/" data-log-event="home" class="siteNav-logo u-fillWhite u-flex0 u-flexCenter u-paddingTop0"><span class="svgIcon svgIcon--wordmarkMedium svgIcon--120x26px u-flex"><svg class="svgIcon-use" width="120" height="26" ><path d="M29.57 1.404l.036-.008V1.12h-7.27l-6.75 15.979-6.75-15.98H1.003v.278l.035.008c1.327.302 2 .752 2 2.374v18.993c0 1.623-.676 2.073-2.003 2.374L1 25.153v.279h5.315v-.278l-.035-.008c-1.327-.302-2-.751-2-2.374V4.88l8.67 20.552h.492l8.924-21.125V23.24c-.114 1.282-.782 1.677-1.983 1.95l-.036.009v.275h9.259V25.2l-.036-.008c-1.203-.274-1.886-.67-2-1.95l-.006-19.464h.006c0-1.622.674-2.072 2-2.374zm4.23 12.582c.15-3.412 1.367-5.875 3.41-5.918.629.01 1.157.219 1.568.62.872.852 1.282 2.634 1.219 5.298h-6.198zm-.092.962h10.85v-.046c-.03-2.61-.78-4.64-2.228-6.033-1.25-1.204-3.103-1.867-5.048-1.867h-.043c-1.01 0-2.248.246-3.13.693a7.316 7.316 0 00-2.623 2.086c-1.185 1.479-1.903 3.477-2.078 5.724a13.717 13.717 0 00-.04.755c-.004.195-.005.39-.001.587.117 5.087 2.846 9.153 7.692 9.153 4.254 0 6.73-3.132 7.348-7.336l-.312-.11c-1.085 2.259-3.034 3.628-5.252 3.461-3.028-.228-5.347-3.32-5.137-7.066m23.122 6.893c-.356.85-1.099 1.319-2.094 1.319-.995 0-1.905-.689-2.552-1.939-.694-1.342-1.06-3.24-1.06-5.487 0-4.678 1.445-7.704 3.68-7.704.937 0 1.674.468 2.026 1.284v12.527zm7.198 3.335c-1.327-.316-2-.787-2-2.492V0l-8.062 2.392v.293l.05-.004c1.111-.09 1.866.064 2.304.472.343.32.51.809.51 1.498v3.11C56.033 7.25 55.088 7 53.94 7c-2.326 0-4.453.987-5.986 2.779-1.599 1.867-2.444 4.42-2.444 7.38 0 5.287 2.584 8.84 6.43 8.84 2.25 0 4.06-1.242 4.888-3.336v2.811h7.233v-.29l-.035-.008zM70.94 3.085c0-1.65-1.236-2.896-2.875-2.896-1.632 0-2.908 1.272-2.908 2.896 0 1.624 1.278 2.896 2.908 2.896 1.64 0 2.875-1.245 2.875-2.896zm1.903 22.092c-1.327-.316-2-.787-2-2.492h-.006V7.055l-7.234 2.092v.284l.043.004c1.566.14 1.994.683 1.994 2.525v13.515h7.24v-.29l-.037-.008zm18.536 0c-1.327-.316-2-.787-2-2.492V7.055L82.49 9.078v.285l.04.004c1.28.136 1.65.71 1.65 2.56v9.88c-.426.85-1.227 1.356-2.196 1.39-1.573 0-2.439-1.07-2.439-3.012V7.055l-7.234 2.092v.284l.044.004c1.565.14 1.994.683 1.994 2.525v8.362a9.443 9.443 0 00.15 1.741l.13.57C75.243 24.845 76.848 26 79.362 26c2.129 0 3.996-1.328 4.818-3.405v2.885h7.233v-.291l-.034-.012zm28.102.298v-.291l-.035-.009c-1.44-.334-2.001-.964-2.001-2.248V12.295C117.445 8.98 115.597 7 112.5 7c-2.257 0-4.16 1.314-4.893 3.36-.582-2.168-2.257-3.36-4.734-3.36-2.175 0-3.88 1.156-4.612 3.11V7.056l-7.233 2.006v.286l.043.004c1.547.138 1.994.697 1.994 2.492v13.631h6.75v-.29l-.037-.01c-1.148-.271-1.519-.767-1.519-2.04V10.95c.304-.715.917-1.562 2.127-1.562 1.504 0 2.266 1.05 2.266 3.116v12.972h6.751v-.29l-.035-.01c-1.149-.271-1.52-.767-1.52-2.04V12.294a7.107 7.107 0 00-.095-1.21c.322-.777.97-1.696 2.23-1.696 1.524 0 2.265 1.02 2.265 3.116v12.972h7.233z"/></svg></span><span class="u-textScreenReader">Homepage</span></a></div><div class="u-paddingLeft10 u-sm-show r-paddingRight10"><a href="https://rsci.app.link/?%24canonical_url=https%3A%2F%2Fmedium.com/adobetech%3F~feature=LoMobileNavBar&~channel=ShowCollectionHome&~stage=m2">Open in app</a></div></div><div class="metabar-block u-flex0 u-flexCenter"><div class="u-flexCenter u-height65 u-xs-height56"><div class="buttonSet buttonSet--wide u-lineHeightInherit"><a class="button button--primary button--light button--chromeless u-accentColor--buttonNormal is-inSiteNavBar u-xs-hide js-signInButton" href="https://medium.com/m/signin?redirect=https%3A%2F%2Fblog.developer.adobe.com%2F&source=--------------------------nav_reg&operation=login" data-action="sign-in-prompt" data-redirect="https://blog.developer.adobe.com/" data-action-source="--------------------------nav_reg">Sign in</a><a class="button button--primary button--light button--withChrome u-accentColor--buttonNormal is-inSiteNavBar js-signUpButton" href="https://medium.com/m/signin?redirect=https%3A%2F%2Fblog.developer.adobe.com%2F&source=--------------------------nav_reg&operation=register" data-action="sign-up-prompt" data-redirect="https://blog.developer.adobe.com/" data-action-source="--------------------------nav_reg">Get started</a></div></div></div></div></div><div class="metabar metabar--spacer js-metabarSpacer u-tintBgColor u-height65 u-xs-height56"></div><div class="collectionHeader js-collectionHeaderContainer u-relative collectionHeader--layoutMedium collectionHeader--alignmentLeft collectionHeader--withLogo collectionHeader--withoutBackground collectionHeader--colorBehaviorBold collectionHeader--withNavigation collectionHeader--editorLayoutLogo is-modeView is-whiteLabel u-tintBgColor"><div class="collectionHeader-aspectRatioTable"><div class="collectionHeader-aspectRatioContent u-backgroundSizeCover js-collectionHeaderBackground"><div class="collectionHeader-overlayBackground u-height100vh"></div><header class="collectionHeader-heroAndInlineNav u-borderBox u-maxWidth1072 u-paddingLeft20 u-paddingRight20 u-marginAuto u-foreground js-collectionHeader"><div class="collectionHeader-hero js-collectionHeaderHero u-clearfix u-tintSpectrum"><div class="collectionHeader-heroInner"><div class="collectionHeader-logo js-collectionHeaderLogo" style="max-width: 400px;"><a class="link u-baseColor--link" href="https://blog.developer.adobe.com" title="Go to Adobe Tech Blog" aria-label="Go to Adobe Tech Blog" data-collection-slug="adobetech"><div class="u-relative u-marginAuto"><div style="padding-bottom: 23%"></div><img class="collectionHeader-logoImage js-collectionHeaderLogoImage" src="https://cdn-images-1.medium.com/max/800/1*oAeMgTGdZTw8rriJQU3Iiw@2x.png" data-image-id="1*oAeMgTGdZTw8rriJQU3Iiw@2x.png" data-width="800" data-height="184" /></div></a></div><div class="collectionHeader-nameAndDescription u-hide"><a class="link u-baseColor--link" href="https://blog.developer.adobe.com" title="Go to Adobe Tech Blog" aria-label="Go to Adobe Tech Blog" data-collection-slug="adobetech"><h1 class="collectionHeader-name js-collectionName">Adobe Tech Blog</h1></a><h2 class="collectionHeader-description js-collectionDescription">News, updates, and thoughts related to Adobe, developers, and technology.</h2></div></div></div></header></div><div class="collectionHeader-aspectRatioCell"><div class="collectionHeader-aspectRatioFullWidth"></div></div></div><div class="collectionHeader-blockNav"><div class="u-borderBox u-maxWidth1072 u-paddingLeft20 u-paddingRight20 u-marginAuto"><nav class="collectionHeader-nav u-clearfix js-collectionHeaderNav u-lineHeight40 u-overflowHiddenY u-tintSpectrum"><div class="buttonSet u-flex1 u-noWrap u-overflowX u-paddingBottom100 u-xs-marginRight15"><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://blog.developer.adobe.com/tagged/platform">Adobe Developer Platform</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://blog.developer.adobe.com/tagged/adobe-creative-cloud">Creative Cloud</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://blog.developer.adobe.com/tagged/adobe-experience-cloud">Experience Cloud</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://blog.developer.adobe.com/tagged/adobe-document-cloud">Document Cloud</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://blog.developer.adobe.com/tagged/adobe-engineering">Engineering</a></li><li class="collectionHeader-navItem js-collectionNavItem u-inlineBlock u-fontSize13 u-textUppercase u-letterSpacing1px u-textColorNormal u-xs-paddingRight12 u-xs-marginRight0"><a class="link link--darken u-accentColor--textDarken link--noUnderline u-baseColor--link js-navItemLink" href="https://blog.developer.adobe.com/tagged/security">Security</a></li></div><div class="buttonSet u-textAlignRight u-marginLeft18 u-flex0 u-noWrap"><label class="button button--small button--chromeless button--withIcon button--withSvgIcon inputGroup u-sm-hide metabar-predictiveSearch u-baseColor--buttonNormal u-baseColor--placeholderNormal" title="Search"><span class="svgIcon svgIcon--search svgIcon--25px u-baseColor--iconLight"><svg class="svgIcon-use" width="25" height="25" ><path d="M20.067 18.933l-4.157-4.157a6 6 0 10-.884.884l4.157 4.157a.624.624 0 10.884-.884zM6.5 11c0-2.62 2.13-4.75 4.75-4.75S16 8.38 16 11s-2.13 4.75-4.75 4.75S6.5 13.62 6.5 11z"/></svg></span><input class="js-predictiveSearchInput textInput textInput--rounded textInput--darkText u-baseColor--textNormal textInput--transparent" type="search" placeholder="Search" required="true" data-collection-id="9342990108af" /></label><a class="button button--light button--chromeless is-touchIconBlackPulse u-baseColor--buttonLight button--withIcon button--withSvgIcon button--chromeless u-verticalAlignMiddle" href="https://twitter.com/adobedevs" title="Visit “Adobe Tech Blog” on X" aria-label="Visit “Adobe Tech Blog” on X" rel="me" target="_blank"><span class="button-defaultState"><span class="svgIcon svgIcon--twitter svgIcon--25px"><svg class="svgIcon-use" width="25" height="25" fill="none" ><path d="M14.215 11.3l5.764-6.7h-1.366l-5.005 5.818L9.611 4.6H5l6.045 8.798L5 20.424h1.366l5.286-6.144 4.221 6.144h4.61L14.216 11.3zm-1.871 2.175l-.612-.876-4.874-6.97h2.098l3.933 5.625.613.876 5.112 7.312h-2.098l-4.172-5.966z" fill="#242424"/></svg></span></span></a><button class="button button--primary button--smallest u-noUserSelect button--withChrome u-accentColor--buttonNormal button--followCollection js-followCollectionButton" data-action="sign-up-prompt" data-sign-in-action="toggle-subscribe-collection" data-requires-token="true" data-redirect="https://medium.com/_/subscribe/collection/adobetech" data-action-source="header----9342990108af----------------------follow_pub"><span class="button-label button-defaultState js-buttonLabel">Follow</span><span class="button-label button-activeState">Following</span></button></div></nav></div></div></div><div class="u-marginBottom40 js-collectionStream"><div class="streamItem streamItem--section js-streamItem"><div class="u-marginBottom30 u-width100pct u-flex u-xs-marginBottom0 u-xs-flexWrap"><div class="u-size8of12 u-xs-size12of12 u-minHeight400 u-xs-height350 u-overflowHidden js-trackPostPresentation u-relative u-imageSpectrum" data-source="collection_home---7------0-----------------------" data-post-id="a510e71c2c92"><a href="https://blog.developer.adobe.com/how-to-market-and-monetize-adobe-express-add-ons-a510e71c2c92?source=collection_home---7------0-----------------------" class="u-block u-absolute0 u-backgroundSizeCover u-backgroundOriginBorderBox u-borderLighter u-borderBox u-backgroundColorGrayLight"style="background-image: url("https://cdn-images-1.medium.com/max/2400/gradv/29/81/30/darken/25/0*kr_OguTw1wjcYSmB"); background-position: 50% 50% !important;"><span class="u-textScreenReader">How to Market and Monetize Adobe Express Add-ons</span></a><div class="u-absolute u-left0 u-bottom0 u-right20Percent u-baseColor--textDark u-xs-marginHorizontal20 u-marginLeft40 u-marginTop30 u-marginRight40 u-marginBottom30"><a class="" href="https://blog.developer.adobe.com/how-to-market-and-monetize-adobe-express-add-ons-a510e71c2c92?source=collection_home---7------0-----------------------" data-action-source="collection_home---7------0-----------------------" data-post-id="a510e71c2c92"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="">How to Market and Monetize Adobe Express Add-ons</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18">Prolific plugin and add-on developer Eugen Pflüger shares his knowledge to help you make your add-ons a success, too.</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://blog.developer.adobe.com/@plugisto" data-action="show-user-card" data-action-value="6ade52b64fb3" data-action-type="hover" data-user-id="6ade52b64fb3" data-collection-slug="adobetech" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/0*oVa_KiPn9nO6gir6.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Eugen Pflueger (Plugisto)"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://blog.developer.adobe.com/@plugisto" data-action="show-user-card" data-action-value="6ade52b64fb3" data-action-type="hover" data-user-id="6ade52b64fb3" data-collection-slug="adobetech" dir="auto">Eugen Pflueger (Plugisto)</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2025-02-07T17:46:14.092Z">Feb 7</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="9 min read"></span></div></div></div></div></div></div><div class="u-size4of12 u-xs-size12of12 u-minWidth360 u-backgroundWhite"><div class="u-maxWidth300 u-xs-maxWidth700 u-inlineBlock u-hideIfEmpty u-xs-paddingLeft20 u-xs-paddingRight20 u-paddingLeft30 u-paddingTop25 u-paddingRight20 u-paddingBottom10"><div class="u-paddingBottom15 js-trackPostPresentation" data-source="collection_home---7------1-----------------------" data-post-id="7cbc584c29f6"><h3 class="u-paddingBottom2 u-paddingTop4 u-lineClamp2 u-textOverflowEllipsis u-maxHeight2LineHeightTighter u-fontSize18 u-contentSansBold u-baseColor--textDark"><a href="https://blog.developer.adobe.com/ai-assistant-in-adobe-experience-platform-evaluation-and-continual-improvement-7cbc584c29f6?source=collection_home---7------1-----------------------">AI Assistant in Adobe Experience Platform: Evaluation and Continual Improvement</a></h3><a class="ds-link ds-link--styleSubtle u-accentColor--textNormal u-fontSize14" href="https://blog.developer.adobe.com/@namita_k?source=collection_home---7------1-----------------------" data-action="show-user-card" data-action-source="collection_home---7------1-----------------------" data-action-value="759092de5270" data-action-type="hover" data-user-id="759092de5270" data-collection-slug="adobetech" dir="auto">Namita Krishnan</a></div><div class="u-paddingBottom15 js-trackPostPresentation" data-source="collection_home---7------2-----------------------" data-post-id="d3176272b3a8"><h3 class="u-paddingBottom2 u-paddingTop4 u-lineClamp2 u-textOverflowEllipsis u-maxHeight2LineHeightTighter u-fontSize18 u-contentSansBold u-baseColor--textDark"><a href="https://blog.developer.adobe.com/important-update-were-moving-to-the-adobe-security-blog-d3176272b3a8?source=collection_home---7------2-----------------------">Security Blog Posts Are Moving to the New Adobe Security Blog</a></h3><a class="ds-link ds-link--styleSubtle u-accentColor--textNormal u-fontSize14" href="https://blog.developer.adobe.com/@renaekang97?source=collection_home---7------2-----------------------" data-action="show-user-card" data-action-source="collection_home---7------2-----------------------" data-action-value="c10f58236715" data-action-type="hover" data-user-id="c10f58236715" data-collection-slug="adobetech" dir="auto">Renae Kang</a></div><div class="u-paddingBottom15 js-trackPostPresentation" data-source="collection_home---7------3-----------------------" data-post-id="ae1ac8d7ceca"><h3 class="u-paddingBottom2 u-paddingTop4 u-lineClamp2 u-textOverflowEllipsis u-maxHeight2LineHeightTighter u-fontSize18 u-contentSansBold u-baseColor--textDark"><a href="https://blog.developer.adobe.com/edge-delivery-services-for-commerce-a-new-storefront-has-dropped-ae1ac8d7ceca?source=collection_home---7------3-----------------------">Edge Delivery Services for Commerce: A New Storefront Has Dropped</a></h3><a class="ds-link ds-link--styleSubtle u-accentColor--textNormal u-fontSize14" href="https://blog.developer.adobe.com/@fnhipster?source=collection_home---7------3-----------------------" data-action="show-user-card" data-action-source="collection_home---7------3-----------------------" data-action-value="ca17853191d5" data-action-type="hover" data-user-id="ca17853191d5" data-collection-slug="adobetech" dir="auto">Carlos A. Cabrera</a></div><div class="u-paddingBottom15 js-trackPostPresentation" data-source="collection_home---7------4-----------------------" data-post-id="c45283ab6942"><h3 class="u-paddingBottom2 u-paddingTop4 u-lineClamp2 u-textOverflowEllipsis u-maxHeight2LineHeightTighter u-fontSize18 u-contentSansBold u-baseColor--textDark"><a href="https://blog.developer.adobe.com/introducing-the-creative-cloud-developer-champion-program-c45283ab6942?source=collection_home---7------4-----------------------">Introducing the Creative Cloud Developer Champion Program</a></h3><a class="ds-link ds-link--styleSubtle u-accentColor--textNormal u-fontSize14" href="https://blog.developer.adobe.com/@erin_finnegan?source=collection_home---7------4-----------------------" data-action="show-user-card" data-action-source="collection_home---7------4-----------------------" data-action-value="8267b69dc1ef" data-action-type="hover" data-user-id="8267b69dc1ef" data-collection-slug="adobetech" dir="auto">Erin Finnegan</a></div><div class="u-paddingBottom15 js-trackPostPresentation" data-source="collection_home---7------5-----------------------" data-post-id="481421fae95a"><h3 class="u-paddingBottom2 u-paddingTop4 u-lineClamp2 u-textOverflowEllipsis u-maxHeight2LineHeightTighter u-fontSize18 u-contentSansBold u-baseColor--textDark"><a href="https://blog.developer.adobe.com/developer-spotlight-building-adobe-express-add-ons-with-prasanta-barman-481421fae95a?source=collection_home---7------5-----------------------">Developer Spotlight: Building Adobe Express Add-Ons with Prasanta Barman</a></h3><a class="ds-link ds-link--styleSubtle u-accentColor--textNormal u-fontSize14" href="https://blog.developer.adobe.com/@colene?source=collection_home---7------5-----------------------" data-action="show-user-card" data-action-source="collection_home---7------5-----------------------" data-action-value="d730e5943984" data-action-type="hover" data-user-id="d730e5943984" data-collection-slug="adobetech" dir="auto">Colene Chow</a></div><div class="u-paddingBottom15 js-trackPostPresentation" data-source="collection_home---7------6-----------------------" data-post-id="3a237b760a6d"><h3 class="u-paddingBottom2 u-paddingTop4 u-lineClamp2 u-textOverflowEllipsis u-maxHeight2LineHeightTighter u-fontSize18 u-contentSansBold u-baseColor--textDark"><a href="https://blog.developer.adobe.com/behind-the-scenes-with-ammar-alim-devsecops-leader-3a237b760a6d?source=collection_home---7------6-----------------------">Behind the Scenes with Ammar Alim, DevSecOps Leader</a></h3><a class="ds-link ds-link--styleSubtle u-accentColor--textNormal u-fontSize14" href="https://blog.developer.adobe.com/@renaekang97?source=collection_home---7------6-----------------------" data-action="show-user-card" data-action-source="collection_home---7------6-----------------------" data-action-value="c10f58236715" data-action-type="hover" data-user-id="c10f58236715" data-collection-slug="adobetech" dir="auto">Renae Kang</a></div></div></div></div></div><div class="streamItem streamItem--section js-streamItem"><section class="u-marginTop30 u-xs-margin0 u-marginBottom15 u-maxWidth1032 u-sm-paddingLeft20 u-sm-paddingRight20 u-borderBox u-marginAuto"><header class="heading heading--borderedBottom u-fontSize18 u-contentSansThin" ><div class="u-clearfix"><div class="heading-content u-floatLeft"><span class="heading-title heading-title--dark heading-title--lineHeightTight u-fontSize18 u-contentSansThin">Creative Cloud & Adobe Express</span></div></div></header><div class="row u-marginTop30 u-marginLeftNegative12 u-marginRightNegative12"><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------0-----------------------" data-post-id="8404940e4d43" data-index="0"><div class="u-lineHeightBase postItem"><a href="https://blog.developer.adobe.com/important-cross-origin-isolation-update-for-adobe-express-add-on-developers-8404940e4d43?source=collection_home---4------0-----------------------" data-action="open-post" data-action-value="https://blog.developer.adobe.com/important-cross-origin-isolation-update-for-adobe-express-add-on-developers-8404940e4d43?source=collection_home---4------0-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url("https://cdn-images-1.medium.com/max/800/1*PsAIksivYIiDbRyisLx3yg.jpeg"); background-position: 50% 50% !important;"><span class="u-textScreenReader">Important Cross-Origin Isolation Update for Adobe Express Add-on Developers</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://blog.developer.adobe.com/important-cross-origin-isolation-update-for-adobe-express-add-on-developers-8404940e4d43?source=collection_home---4------0-----------------------" data-action-source="collection_home---4------0-----------------------" data-post-id="8404940e4d43"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Important Cross-Origin Isolation Update for Adobe Express Add-on Developers</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Adobe Express will enforce cross-origin isolation for Chromium-based browsers—read more about impact and how to test your add-ons.</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://blog.developer.adobe.com/@photokandy" data-action="show-user-card" data-action-value="7a28b5b75787" data-action-type="hover" data-user-id="7a28b5b75787" data-collection-slug="adobetech" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/1*wIN2UJ15mEdnIYTTVG-r3w.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Kerri Shotts"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://blog.developer.adobe.com/@photokandy" data-action="show-user-card" data-action-value="7a28b5b75787" data-action-type="hover" data-user-id="7a28b5b75787" data-collection-slug="adobetech" dir="auto">Kerri Shotts</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-11-08T21:57:57.252Z">Nov 8, 2024</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="4 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------1-----------------------" data-post-id="0dd5c663563e" data-index="1"><div class="u-lineHeightBase postItem"><a href="https://blog.developer.adobe.com/updates-for-creative-cloud-desktop-extensibility-0dd5c663563e?source=collection_home---4------1-----------------------" data-action="open-post" data-action-value="https://blog.developer.adobe.com/updates-for-creative-cloud-desktop-extensibility-0dd5c663563e?source=collection_home---4------1-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url("https://cdn-images-1.medium.com/max/800/1*o1mYE9VVFLJk8k27juic2w.png"); background-position: 50% 50% !important;"><span class="u-textScreenReader">Updates for Creative Cloud Desktop Extensibility</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://blog.developer.adobe.com/updates-for-creative-cloud-desktop-extensibility-0dd5c663563e?source=collection_home---4------1-----------------------" data-action-source="collection_home---4------1-----------------------" data-post-id="0dd5c663563e"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">Updates for Creative Cloud Desktop Extensibility</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">This post is for anyone who has built CEP Extensions or UXP plugins or has hosted their work in Adobe Marketplace.</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://blog.developer.adobe.com/@padmkris" data-action="show-user-card" data-action-value="d32c824b4112" data-action-type="hover" data-user-id="d32c824b4112" data-collection-slug="adobetech" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/0*uVuFRVC6DD59fJvg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Padma Krishnamoorthy"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://blog.developer.adobe.com/@padmkris" data-action="show-user-card" data-action-value="d32c824b4112" data-action-type="hover" data-user-id="d32c824b4112" data-collection-slug="adobetech" dir="auto">Padma Krishnamoorthy</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-10-18T22:05:06.580Z">Oct 18, 2024</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="4 min read"></span></div></div></div></div></div></div><div class="col u-xs-size12of12 js-trackPostPresentation u-paddingLeft12 u-marginBottom15 u-paddingRight12 u-size4of12" data-source="collection_home---4------2-----------------------" data-post-id="62520c603a2b" data-index="2"><div class="u-lineHeightBase postItem"><a href="https://blog.developer.adobe.com/how-accessify-was-built-an-adobe-express-add-on-that-ensures-your-content-is-accessible-62520c603a2b?source=collection_home---4------2-----------------------" data-action="open-post" data-action-value="https://blog.developer.adobe.com/how-accessify-was-built-an-adobe-express-add-on-that-ensures-your-content-is-accessible-62520c603a2b?source=collection_home---4------2-----------------------" class="u-block u-xs-height170 u-height172 u-backgroundSizeCover u-backgroundOriginBorderBox u-backgroundColorGrayLight u-borderLighter" style="background-image: url("https://cdn-images-1.medium.com/max/800/0*tQ2Z1LtmqjkFWDMz"); background-position: 50% 50% !important;"><span class="u-textScreenReader">How Accessify Was Built: An Adobe Express Add-On That Ensures Your Content Is Accessible</span></a></div><div class="col u-xs-marginBottom10 u-paddingLeft0 u-paddingRight0 u-paddingTop15 u-marginBottom30"><a class="" href="https://blog.developer.adobe.com/how-accessify-was-built-an-adobe-express-add-on-that-ensures-your-content-is-accessible-62520c603a2b?source=collection_home---4------2-----------------------" data-action-source="collection_home---4------2-----------------------" data-post-id="62520c603a2b"><h3 class="u-contentSansBold u-lineHeightTightest u-xs-fontSize24 u-paddingBottom2 u-paddingTop5 u-fontSize32"><div class="u-letterSpacingTight u-lineHeightTighter u-breakWord u-textOverflowEllipsis u-lineClamp3 u-fontSize24">How Accessify Was Built: An Adobe Express Add-On That Ensures Your Content Is Accessible</div></h3><div class="u-contentSansThin u-lineHeightBaseSans u-fontSize24 u-xs-fontSize18 u-textColorNormal u-baseColor--textNormal"><div class="u-fontSize18 u-letterSpacingTight u-lineHeightTight u-marginTop7 u-textColorNormal u-baseColor--textNormal">Discover the story behind the winner of the Most Creative Adobe Express Add-On category at a recent Major League Hacking hackathon.</div></div></a><div class="u-clearfix u-marginTop20"><div class="u-flexCenter"><div class="postMetaInline-avatar u-flex0"><a class="link u-baseColor--link avatar" href="https://blog.developer.adobe.com/@colene" data-action="show-user-card" data-action-value="d730e5943984" data-action-type="hover" data-user-id="d730e5943984" data-collection-slug="adobetech" dir="auto"><img src="https://cdn-images-1.medium.com/fit/c/72/72/0*SJtfn1Ww73z5yGWy.jpeg" class="avatar-image u-size36x36 u-xs-size32x32" alt="Go to the profile of Colene Chow"></a></div><div class="postMetaInline postMetaInline-authorLockup ui-captionStrong u-flex1 u-noWrapWithEllipsis"><a class="ds-link ds-link--styleSubtle link link--darken link--accent u-accentColor--textNormal u-accentColor--textDarken" href="https://blog.developer.adobe.com/@colene" data-action="show-user-card" data-action-value="d730e5943984" data-action-type="hover" data-user-id="d730e5943984" data-collection-slug="adobetech" dir="auto">Colene Chow</a><div class="ui-caption u-fontSize12 u-baseColor--textNormal u-textColorNormal js-postMetaInlineSupplemental"><time datetime="2024-10-18T04:31:23.917Z">Oct 17, 2024</time><span class="middotDivider u-fontSize12"></span><span class="readingTime" title="5 min read"></span></div></div></div></div></div></div></div></section></div></div><style class="js-collectionStyle"> .u-accentColor--borderLight {border-color: #858484 !important;} .u-accentColor--borderNormal {border-color: #858484 !important;} .u-accentColor--borderDark {border-color: #727271 !important;} .u-accentColor--iconLight .svgIcon,.u-accentColor--iconLight.svgIcon {fill: #858484 !important;} .u-accentColor--iconNormal .svgIcon,.u-accentColor--iconNormal.svgIcon {fill: #858484 !important;} .u-accentColor--iconDark .svgIcon,.u-accentColor--iconDark.svgIcon {fill: #727271 !important;} .u-accentColor--textNormal {color: #727271 !important;} .u-accentColor--hoverTextNormal:hover {color: #727271 !important;} .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: #696868 !important;} .u-accentColor--textDark {color: #696868 !important;} .u-accentColor--backgroundLight {background-color: #858484 !important;} .u-accentColor--backgroundNormal {background-color: #858484 !important;} .u-accentColor--backgroundDark {background-color: #727271 !important;} .u-accentColor--buttonDark {border-color: #727271 !important; color: #696868 !important;} .u-accentColor--buttonDark:hover {border-color: #696868 !important;} .u-accentColor--buttonDark .icon:before,.u-accentColor--buttonDark .svgIcon{color: #727271 !important; fill: #727271 !important;} .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: #858484 !important; color: #727271 !important;} .u-accentColor--buttonNormal:hover {border-color: #727271 !important;} .u-accentColor--buttonNormal .icon:before,.u-accentColor--buttonNormal .svgIcon{color: #858484 !important; fill: #858484 !important;} .u-accentColor--buttonNormal.button--filled .icon:before,.u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-accentColor--buttonDark.button--filled,.u-accentColor--buttonDark.button--withChrome.is-active,.u-accentColor--fillWhenActive.is-active {background-color: #727271 !important; border-color: #727271 !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: #858484 !important; border-color: #858484 !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .postArticle.is-withAccentColors .markup--user,.postArticle.is-withAccentColors .markup--query {color: #727271 !important;}.u-tintBgColor {background-color: rgba(44, 44, 44, 1) !important;}.u-tintBgColor .u-fadeLeft:before {background-image: linear-gradient(to right, rgba(44, 44, 44, 1) 0%, rgba(44, 44, 44, 0) 100%) !important;}.u-tintBgColor .u-fadeRight:after {background-image: linear-gradient(to right, rgba(44, 44, 44, 0) 0%, rgba(44, 44, 44, 1) 100%) !important;} .u-tintSpectrum .u-baseColor--borderLight {border-color: #A1A09F !important;} .u-tintSpectrum .u-baseColor--borderNormal {border-color: #C9C7C7 !important;} .u-tintSpectrum .u-baseColor--borderDark {border-color: #EFECEC !important;} .u-tintSpectrum .u-baseColor--iconLight .svgIcon,.u-tintSpectrum .u-baseColor--iconLight.svgIcon {fill: #A1A09F !important;} .u-tintSpectrum .u-baseColor--iconNormal .svgIcon,.u-tintSpectrum .u-baseColor--iconNormal.svgIcon {fill: #C9C7C7 !important;} .u-tintSpectrum .u-baseColor--iconDark .svgIcon,.u-tintSpectrum .u-baseColor--iconDark.svgIcon {fill: #EFECEC !important;} .u-tintSpectrum .u-baseColor--textNormal {color: #C9C7C7 !important;} .u-tintSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: #FFFEFE !important;} .u-tintSpectrum .u-baseColor--textDark {color: #FFFEFE !important;} .u-tintSpectrum .u-baseColor--textDarker {color: #FFFEFE !important;} .u-tintSpectrum .u-baseColor--backgroundLight {background-color: #A1A09F !important;} .u-tintSpectrum .u-baseColor--backgroundNormal {background-color: #C9C7C7 !important;} .u-tintSpectrum .u-baseColor--backgroundDark {background-color: #EFECEC !important;} .u-tintSpectrum .u-baseColor--buttonLight {border-color: #A1A09F !important; color: #A1A09F !important;} .u-tintSpectrum .u-baseColor--buttonLight:hover {border-color: #A1A09F !important;} .u-tintSpectrum .u-baseColor--buttonLight .icon:before,.u-tintSpectrum .u-baseColor--buttonLight .svgIcon {color: #A1A09F !important; fill: #A1A09F !important;} .u-tintSpectrum .u-baseColor--buttonDark {border-color: #EFECEC !important; color: #FFFEFE !important;} .u-tintSpectrum .u-baseColor--buttonDark:hover {border-color: #FFFEFE !important;} .u-tintSpectrum .u-baseColor--buttonDark .icon:before,.u-tintSpectrum .u-baseColor--buttonDark .svgIcon {color: #EFECEC !important; fill: #EFECEC !important;} .u-tintSpectrum .u-baseColor--buttonNormal {border-color: #C9C7C7 !important; color: #C9C7C7 !important;} .u-tintSpectrum .u-baseColor--buttonNormal:hover {border-color: #EFECEC !important;} .u-tintSpectrum .u-baseColor--buttonNormal .icon:before,.u-tintSpectrum .u-baseColor--buttonNormal .svgIcon {color: #C9C7C7 !important; fill: #C9C7C7 !important;} .u-tintSpectrum .u-baseColor--buttonDark.button--filled,.u-tintSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: #EFECEC !important; border-color: #EFECEC !important; color: rgba(44, 44, 44, 1) !important; fill: rgba(44, 44, 44, 1) !important;} .u-tintSpectrum .u-baseColor--buttonNormal.button--filled,.u-tintSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: #C9C7C7 !important; border-color: #C9C7C7 !important; color: rgba(44, 44, 44, 1) !important; fill: rgba(44, 44, 44, 1) !important;} .u-tintSpectrum .u-baseColor--link {color: #C9C7C7 !important;} .u-tintSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: #FFFEFE !important;} .u-tintSpectrum .u-baseColor--link.link--darken:hover,.u-tintSpectrum .u-baseColor--link.link--darken:focus,.u-tintSpectrum .u-baseColor--link.link--darken:active {color: #FFFEFE !important;} .u-tintSpectrum .u-baseColor--link.link--dark {color: #FFFEFE !important;} .u-tintSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-tintSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-tintSpectrum .u-baseColor--link.link--dark.link--darken:active {color: #FFFEFE !important;} .u-tintSpectrum .u-baseColor--link.link--darker {color: #FFFEFE !important;} .u-tintSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: #A1A09F;} .u-tintSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: #A1A09F;} .u-tintSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: #A1A09F;} .u-tintSpectrum .ui-h1,.u-tintSpectrum .ui-h2,.u-tintSpectrum .ui-h3,.u-tintSpectrum .ui-h4,.u-tintSpectrum .ui-brand1,.u-tintSpectrum .ui-brand2,.u-tintSpectrum .ui-captionStrong {color: #FFFEFE !important; fill: #FFFEFE !important;} .u-tintSpectrum .ui-body,.u-tintSpectrum .ui-caps {color: #FFFEFE !important; fill: #FFFEFE !important;} .u-tintSpectrum .ui-summary,.u-tintSpectrum .ui-caption {color: #A1A09F !important; fill: #A1A09F !important;} .u-tintSpectrum .u-accentColor--borderLight {border-color: #A1A09F !important;} .u-tintSpectrum .u-accentColor--borderNormal {border-color: #C9C7C7 !important;} .u-tintSpectrum .u-accentColor--borderDark {border-color: #EFECEC !important;} .u-tintSpectrum .u-accentColor--iconLight .svgIcon,.u-tintSpectrum .u-accentColor--iconLight.svgIcon {fill: #A1A09F !important;} .u-tintSpectrum .u-accentColor--iconNormal .svgIcon,.u-tintSpectrum .u-accentColor--iconNormal.svgIcon {fill: #C9C7C7 !important;} .u-tintSpectrum .u-accentColor--iconDark .svgIcon,.u-tintSpectrum .u-accentColor--iconDark.svgIcon {fill: #EFECEC !important;} .u-tintSpectrum .u-accentColor--textNormal {color: #C9C7C7 !important;} .u-tintSpectrum .u-accentColor--hoverTextNormal:hover {color: #C9C7C7 !important;} .u-tintSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: #FFFEFE !important;} .u-tintSpectrum .u-accentColor--textDark {color: #FFFEFE !important;} .u-tintSpectrum .u-accentColor--backgroundLight {background-color: #A1A09F !important;} .u-tintSpectrum .u-accentColor--backgroundNormal {background-color: #C9C7C7 !important;} .u-tintSpectrum .u-accentColor--backgroundDark {background-color: #EFECEC !important;} .u-tintSpectrum .u-accentColor--buttonDark {border-color: #EFECEC !important; color: #FFFEFE !important;} .u-tintSpectrum .u-accentColor--buttonDark:hover {border-color: #FFFEFE !important;} .u-tintSpectrum .u-accentColor--buttonDark .icon:before,.u-tintSpectrum .u-accentColor--buttonDark .svgIcon{color: #EFECEC !important; fill: #EFECEC !important;} .u-tintSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: #C9C7C7 !important; color: #C9C7C7 !important;} .u-tintSpectrum .u-accentColor--buttonNormal:hover {border-color: #EFECEC !important;} .u-tintSpectrum .u-accentColor--buttonNormal .icon:before,.u-tintSpectrum .u-accentColor--buttonNormal .svgIcon{color: #C9C7C7 !important; fill: #C9C7C7 !important;} .u-tintSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-tintSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(44, 44, 44, 1) !important; fill: rgba(44, 44, 44, 1) !important;} .u-tintSpectrum .u-accentColor--buttonDark.button--filled,.u-tintSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-tintSpectrum .u-accentColor--fillWhenActive.is-active {background-color: #EFECEC !important; border-color: #EFECEC !important; color: rgba(44, 44, 44, 1) !important; fill: rgba(44, 44, 44, 1) !important;} .u-tintSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-tintSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: #C9C7C7 !important; border-color: #C9C7C7 !important; color: rgba(44, 44, 44, 1) !important; fill: rgba(44, 44, 44, 1) !important;} .u-tintSpectrum .postArticle.is-withAccentColors .markup--user,.u-tintSpectrum .postArticle.is-withAccentColors .markup--query {color: #C9C7C7 !important;} .u-accentColor--highlightFaint {background-color: rgba(243, 240, 239, 1) !important;} .u-accentColor--highlightStrong.is-active .svgIcon {fill: rgba(225, 223, 223, 1) !important;} .postArticle.is-withAccentColors .markup--quote.is-other {background-color: rgba(243, 240, 239, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-other {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(243, 240, 239, 1), rgba(243, 240, 239, 1));} .postArticle.is-withAccentColors .markup--quote.is-me {background-color: rgba(233, 231, 230, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-me {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(233, 231, 230, 1), rgba(233, 231, 230, 1));} .postArticle.is-withAccentColors .markup--quote.is-targeted {background-color: rgba(225, 223, 223, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-targeted {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(225, 223, 223, 1), rgba(225, 223, 223, 1));} .postArticle.is-withAccentColors .markup--quote.is-selected {background-color: rgba(225, 223, 223, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--quote.is-selected {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(225, 223, 223, 1), rgba(225, 223, 223, 1));} .postArticle.is-withAccentColors .markup--highlight {background-color: rgba(225, 223, 223, 1) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .markup--highlight {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(225, 223, 223, 1), rgba(225, 223, 223, 1));}</style><style class="js-collectionStyleConstant">.u-imageBgColor {background-color: rgba(0, 0, 0, 0.24705882352941178);} .u-imageSpectrum .u-baseColor--borderLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-baseColor--borderNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-baseColor--borderDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--iconLight .svgIcon,.u-imageSpectrum .u-baseColor--iconLight.svgIcon {fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--iconNormal .svgIcon,.u-imageSpectrum .u-baseColor--iconNormal.svgIcon {fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--iconDark .svgIcon,.u-imageSpectrum .u-baseColor--iconDark.svgIcon {fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textNormal {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textDark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--textDarker {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--backgroundLight {background-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-baseColor--backgroundNormal {background-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--backgroundDark {background-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important; color: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--buttonLight:hover {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-baseColor--buttonLight .icon:before,.u-imageSpectrum .u-baseColor--buttonLight .svgIcon {color: rgba(255, 255, 255, 0.8) !important; fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-baseColor--buttonDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonDark:hover {border-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonDark .icon:before,.u-imageSpectrum .u-baseColor--buttonDark .svgIcon {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--buttonNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important; color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonNormal:hover {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonNormal .icon:before,.u-imageSpectrum .u-baseColor--buttonNormal .svgIcon {color: rgba(255, 255, 255, 0.9490196078431372) !important; fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--buttonDark.button--filled,.u-imageSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: rgba(255, 255, 255, 1) !important; border-color: rgba(255, 255, 255, 1) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-baseColor--buttonNormal.button--filled,.u-imageSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: rgba(255, 255, 255, 0.9490196078431372) !important; border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-baseColor--link {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--darken:hover,.u-imageSpectrum .u-baseColor--link.link--darken:focus,.u-imageSpectrum .u-baseColor--link.link--darken:active {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--dark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-imageSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-imageSpectrum .u-baseColor--link.link--dark.link--darken:active {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--link.link--darker {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: rgba(255, 255, 255, 0.8);} .u-imageSpectrum .ui-h1,.u-imageSpectrum .ui-h2,.u-imageSpectrum .ui-h3,.u-imageSpectrum .ui-h4,.u-imageSpectrum .ui-brand1,.u-imageSpectrum .ui-brand2,.u-imageSpectrum .ui-captionStrong {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .ui-body,.u-imageSpectrum .ui-caps {color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .ui-summary,.u-imageSpectrum .ui-caption {color: rgba(255, 255, 255, 0.8) !important; fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-accentColor--borderLight {border-color: rgba(255, 255, 255, 0.6980392156862745) !important;} .u-imageSpectrum .u-accentColor--borderNormal {border-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-accentColor--borderDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--iconLight .svgIcon,.u-imageSpectrum .u-accentColor--iconLight.svgIcon {fill: rgba(255, 255, 255, 0.8) !important;} .u-imageSpectrum .u-accentColor--iconNormal .svgIcon,.u-imageSpectrum .u-accentColor--iconNormal.svgIcon {fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--iconDark .svgIcon,.u-imageSpectrum .u-accentColor--iconDark.svgIcon {fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--textNormal {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--hoverTextNormal:hover {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--textDark {color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--backgroundLight {background-color: rgba(255, 255, 255, 0.8980392156862745) !important;} .u-imageSpectrum .u-accentColor--backgroundNormal {background-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--backgroundDark {background-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark {border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark:hover {border-color: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonDark .icon:before,.u-imageSpectrum .u-accentColor--buttonDark .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-imageSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: rgba(255, 255, 255, 0.8980392156862745) !important; color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal:hover {border-color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal .icon:before,.u-imageSpectrum .u-accentColor--buttonNormal .svgIcon{color: rgba(255, 255, 255, 0.9490196078431372) !important; fill: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-imageSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-accentColor--buttonDark.button--filled,.u-imageSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-imageSpectrum .u-accentColor--fillWhenActive.is-active {background-color: rgba(255, 255, 255, 1) !important; border-color: rgba(255, 255, 255, 1) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-imageSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: rgba(255, 255, 255, 0.9490196078431372) !important; border-color: rgba(255, 255, 255, 0.9490196078431372) !important; color: rgba(0, 0, 0, 0.24705882352941178) !important; fill: rgba(0, 0, 0, 0.24705882352941178) !important;} .u-imageSpectrum .postArticle.is-withAccentColors .markup--user,.u-imageSpectrum .postArticle.is-withAccentColors .markup--query {color: rgba(255, 255, 255, 0.9490196078431372) !important;} .u-imageSpectrum .u-accentColor--highlightFaint {background-color: rgba(255, 255, 255, 0.2) !important;} .u-imageSpectrum .u-accentColor--highlightStrong.is-active .svgIcon {fill: rgba(255, 255, 255, 0.6) !important;} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-other {background-color: rgba(255, 255, 255, 0.2) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-other {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.2));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-me {background-color: rgba(255, 255, 255, 0.4) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-me {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0.4));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-targeted {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-targeted {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-selected {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--quote.is-selected {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));} .postArticle.is-withAccentColors .u-imageSpectrum .markup--highlight {background-color: rgba(255, 255, 255, 0.6) !important;} body.is-withMagicUnderlines .postArticle.is-withAccentColors .u-imageSpectrum .markup--highlight {background-color: transparent !important; background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6));}.u-resetSpectrum .u-tintBgColor {background-color: rgba(255, 255, 255, 1) !important;}.u-resetSpectrum .u-tintBgColor .u-fadeLeft:before {background-image: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%) !important;}.u-resetSpectrum .u-tintBgColor .u-fadeRight:after {background-image: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%) !important;} .u-resetSpectrum .u-baseColor--borderLight {border-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--borderNormal {border-color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--borderDark {border-color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--iconLight .svgIcon,.u-resetSpectrum .u-baseColor--iconLight.svgIcon {fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--iconNormal .svgIcon,.u-resetSpectrum .u-baseColor--iconNormal.svgIcon {fill: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--iconDark .svgIcon,.u-resetSpectrum .u-baseColor--iconDark.svgIcon {fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textNormal {color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--textNormal.u-baseColor--textDarken:hover {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textDark {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--textDarker {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--backgroundLight {background-color: rgba(0, 0, 0, 0.09803921568627451) !important;} .u-resetSpectrum .u-baseColor--backgroundNormal {background-color: rgba(0, 0, 0, 0.2) !important;} .u-resetSpectrum .u-baseColor--backgroundDark {background-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight {border-color: rgba(0, 0, 0, 0.2980392156862745) !important; color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight:hover {border-color: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonLight .icon:before,.u-resetSpectrum .u-baseColor--buttonLight .svgIcon {color: rgba(0, 0, 0, 0.2980392156862745) !important; fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonDark {border-color: rgba(0, 0, 0, 0.6) !important; color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonDark:hover {border-color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--buttonDark .icon:before,.u-resetSpectrum .u-baseColor--buttonDark .svgIcon {color: rgba(0, 0, 0, 0.6) !important; fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonNormal {border-color: rgba(0, 0, 0, 0.4980392156862745) !important; color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonNormal:hover {border-color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--buttonNormal .icon:before,.u-resetSpectrum .u-baseColor--buttonNormal .svgIcon {color: rgba(0, 0, 0, 0.4980392156862745) !important; fill: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--buttonDark.button--filled,.u-resetSpectrum .u-baseColor--buttonDark.button--withChrome.is-active {background-color: rgba(0, 0, 0, 0.2980392156862745) !important; border-color: rgba(0, 0, 0, 0.2980392156862745) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-baseColor--buttonNormal.button--filled,.u-resetSpectrum .u-baseColor--buttonNormal.button--withChrome.is-active {background-color: rgba(0, 0, 0, 0.2) !important; border-color: rgba(0, 0, 0, 0.2) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-baseColor--link {color: rgba(0, 0, 0, 0.4980392156862745) !important;} .u-resetSpectrum .u-baseColor--link.link--darkenOnHover:hover {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--darken:hover,.u-resetSpectrum .u-baseColor--link.link--darken:focus,.u-resetSpectrum .u-baseColor--link.link--darken:active {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--dark {color: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .u-baseColor--link.link--dark.link--darken:hover,.u-resetSpectrum .u-baseColor--link.link--dark.link--darken:focus,.u-resetSpectrum .u-baseColor--link.link--dark.link--darken:active {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--link.link--darker {color: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .u-baseColor--placeholderNormal ::-webkit-input-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .u-baseColor--placeholderNormal ::-moz-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .u-baseColor--placeholderNormal :-ms-input-placeholder {color: rgba(0, 0, 0, 0.2980392156862745);} .u-resetSpectrum .ui-h1,.u-resetSpectrum .ui-h2,.u-resetSpectrum .ui-h3,.u-resetSpectrum .ui-h4,.u-resetSpectrum .ui-brand1,.u-resetSpectrum .ui-brand2,.u-resetSpectrum .ui-captionStrong {color: rgba(0, 0, 0, 0.8) !important; fill: rgba(0, 0, 0, 0.8) !important;} .u-resetSpectrum .ui-body,.u-resetSpectrum .ui-caps {color: rgba(0, 0, 0, 0.6) !important; fill: rgba(0, 0, 0, 0.6) !important;} .u-resetSpectrum .ui-summary,.u-resetSpectrum .ui-caption {color: rgba(0, 0, 0, 0.2980392156862745) !important; fill: rgba(0, 0, 0, 0.2980392156862745) !important;} .u-resetSpectrum .u-accentColor--borderLight {border-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--borderNormal {border-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--borderDark {border-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--iconLight .svgIcon,.u-resetSpectrum .u-accentColor--iconLight.svgIcon {fill: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--iconNormal .svgIcon,.u-resetSpectrum .u-accentColor--iconNormal.svgIcon {fill: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--iconDark .svgIcon,.u-resetSpectrum .u-accentColor--iconDark.svgIcon {fill: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--textNormal {color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--hoverTextNormal:hover {color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--textNormal.u-accentColor--textDarken:hover {color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--textDark {color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundLight {background-color: rgba(26, 137, 23, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundNormal {background-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--backgroundDark {background-color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark {border-color: rgba(17, 128, 14, 1) !important; color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark:hover {border-color: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark .icon:before,.u-resetSpectrum .u-accentColor--buttonDark .svgIcon{color: rgba(15, 115, 12, 1) !important; fill: rgba(15, 115, 12, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal:not(.clapButton--largePill) {border-color: rgba(26, 137, 23, 1) !important; color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal:hover {border-color: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal .icon:before,.u-resetSpectrum .u-accentColor--buttonNormal .svgIcon{color: rgba(17, 128, 14, 1) !important; fill: rgba(17, 128, 14, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal.button--filled .icon:before,.u-resetSpectrum .u-accentColor--buttonNormal.button--filled .svgIcon{color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-accentColor--buttonDark.button--filled,.u-resetSpectrum .u-accentColor--buttonDark.button--withChrome.is-active,.u-resetSpectrum .u-accentColor--fillWhenActive.is-active {background-color: rgba(15, 115, 12, 1) !important; border-color: rgba(15, 115, 12, 1) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .u-accentColor--buttonNormal.button--filled:not(.clapButton--largePill),.u-resetSpectrum .u-accentColor--buttonNormal.button--withChrome.is-active:not(.clapButton--largePill) {background-color: rgba(17, 128, 14, 1) !important; border-color: rgba(17, 128, 14, 1) !important; color: rgba(255, 255, 255, 1) !important; fill: rgba(255, 255, 255, 1) !important;} .u-resetSpectrum .postArticle.is-withAccentColors .markup--user,.u-resetSpectrum .postArticle.is-withAccentColors .markup--query {color: rgba(17, 128, 14, 1) !important;}</style><div class="js-collectionFooter u-tintBgColor u-hide"><div class="container u-maxWidth1040"><div class="u-marginTop10 u-paddingTop10 u-paddingBottom30 u-tintSpectrum"><div class="linkSet u-clearfix"><div class="u-floatRight u-textColorNormal u-baseColor--textNormal u-xs-floatLeft"><a class="button button--chromeless u-baseColor--buttonNormal u-marginLeft15 u-lineHeight35 u-xs-block u-xs-marginLeft0" href="https://blog.developer.adobe.com/about" title="About Adobe Tech Blog" aria-label="About Adobe Tech Blog" data-collection-slug="adobetech">About Adobe Tech Blog</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://blog.developer.adobe.com/latest" title="Latest Stories for Adobe Tech Blog" aria-label="Latest Stories for Adobe Tech Blog" data-collection-slug="adobetech">Latest Stories</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://blog.developer.adobe.com/archive" title="Archive for Adobe Tech Blog" aria-label="Archive for Adobe Tech Blog" data-collection-slug="adobetech">Archive</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://medium.com/about">About Medium</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://policy.medium.com/medium-terms-of-service-9db0094a1e0f">Terms</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://policy.medium.com/medium-privacy-policy-f03bf92035c9">Privacy</a><span class="middotDivider u-xs-hide"></span><a class="button button--chromeless u-baseColor--buttonNormal u-lineHeight35 u-xs-block" href="https://medium.com/business">Teams</a></div></div></div></div></div></div></div></div><div class="loadingBar"></div><script>// <![CDATA[ window["obvInit"] = function (opt_embedded) {window["obvInit"]["embedded"] = opt_embedded; window["obvInit"]["ready"] = true;} // ]]></script><script>// <![CDATA[ var GLOBALS = {"audioUrl":"https://d1fcbxp97j4nb2.cloudfront.net","baseUrl":"https://blog.developer.adobe.com","buildLabel":"20250314-1753-root","currentUser":{"userId":"lo_66cc8e265a40","isVerified":false,"subscriberEmail":"","hasPastMemberships":false,"isEnrolledInHightower":false,"isEligibleForHightower":true,"hightowerLastLockedAt":0,"isWriterProgramEnrolled":true,"isWriterProgramInvited":false,"isWriterProgramOptedOut":false,"writerProgramVersion":0,"writerProgramEnrolledAt":0,"friendLinkOnboarding":0,"hasAdditionalUnlocks":false,"hasApiAccess":false,"writerProgramDistributionSettingOptedIn":false,"isSuspended":false,"collectionOnboardingSeen":0,"atsQualifiedAt":0},"currentUserHasUnverifiedEmail":false,"isAuthenticated":false,"isCurrentUserVerified":false,"miroUrl":"https://cdn-images-1.medium.com","moduleUrls":{"base":"https://cdn-static-1.medium.com/_/fp/gen-js/main-base.bundle.flUfojlrs-ZVoGYQebtnFg.12.js","common-async":"https://cdn-static-1.medium.com/_/fp/gen-js/main-common-async.bundle.tSGs9o0CpD6fZw8IBeMDpw.12.js","hightower":"https://cdn-static-1.medium.com/_/fp/gen-js/main-hightower.bundle.uZAV3cxjUBprvFiEHbSlgg.12.js","home-screens":"https://cdn-static-1.medium.com/_/fp/gen-js/main-home-screens.bundle.l2NLAugbavWmX0SNQm7rJQ.12.js","misc-screens":"https://cdn-static-1.medium.com/_/fp/gen-js/main-misc-screens.bundle.6RrNL-1uTjwLj6YoV8eDrg.12.js","notes":"https://cdn-static-1.medium.com/_/fp/gen-js/main-notes.bundle.I58YjHDAkt7W3y45tQkNgQ.12.js","payments":"https://cdn-static-1.medium.com/_/fp/gen-js/main-payments.bundle.cc3ITwjgGKd7rMZZR9PqAA.12.js","posters":"https://cdn-static-1.medium.com/_/fp/gen-js/main-posters.bundle.WdJkh5Q-HtnasFaOPKc5Ig.12.js","power-readers":"https://cdn-static-1.medium.com/_/fp/gen-js/main-power-readers.bundle.EQo5uLzn479a85G8BXD7WQ.12.js","pubs":"https://cdn-static-1.medium.com/_/fp/gen-js/main-pubs.bundle.uxrpZ_QVd3WV4gphobrxQw.12.js","stats":"https://cdn-static-1.medium.com/_/fp/gen-js/main-stats.bundle.V2JFozvy4p6MMkbJcG52bw.12.js"},"previewConfig":{"weightThreshold":1,"weightImageParagraph":0.51,"weightIframeParagraph":0.8,"weightTextParagraph":0.08,"weightEmptyParagraph":0,"weightP":0.003,"weightH":0.005,"weightBq":0.003,"minPTextLength":60,"truncateBoundaryChars":20,"detectTitle":true,"detectTitleLevThreshold":0.15},"productName":"Medium","supportsEdit":false,"termsUrl":"//policy.medium.com/medium-terms-of-service-9db0094a1e0f","textshotHost":"textshot.textshot-production.svc.cluster.local","transactionId":"1741989799467:62a47d351941","useragent":{"browser":"ie","family":"ie","os":"windows","version":7,"supportsDesktopEdit":false,"supportsInteract":false,"supportsView":true,"isMobile":false,"isTablet":false,"isNative":false,"supportsFileAPI":false,"isTier1":false,"clientVersion":"","clientChannel":"","supportsRealScrollEvents":false,"supportsVhUnits":false,"ruinsViewportSections":false,"supportsHtml5Video":false,"supportsMagicUnderlines":false,"isWebView":false,"isFacebookWebView":false,"supportsProgressiveMedia":false,"supportsPromotedPosts":true,"isBot":false,"isNativeIphone":false,"supportsCssVariables":false,"supportsVideoSections":true,"emojiSupportLevel":1,"isSearchBot":false,"isSyndicationBot":false,"isNativeAndroid":false,"isNativeIos":false,"isSeoAuditBot":false,"isInternalApp":false,"supportsApplePay":false,"supportsScrollableMetabar":false},"variants":{"allow_access":true,"allow_signup":true,"allow_test_auth":"disallow","android_dense_post_preview":"control","android_enable_editor_new_publishing_flow":true,"android_enable_friend_links_creation":true,"android_enable_friend_links_postpage_banners":true,"android_enable_image_sharer":true,"android_enable_lists_v2":true,"android_enable_syntax_highlight":true,"android_enable_topic_portals":true,"android_rating_prompt_stories_read_threshold":2,"android_two_hour_refresh":true,"available_annual_plan":"2c754bcc2995","available_annual_premium_plan":"4a442ace1476","available_monthly_plan":"60e220181034","available_monthly_premium_plan":"12a660186432","browsable_stream_config_bucket":"curated-topics","can_receive_tips_v0":true,"can_send_tips_v0":true,"coronavirus_topic_recirc":true,"disable_partner_program_enrollment":true,"disable_rex_pub_featuring_recirc":true,"enable_abandoned_cart_promotion_email":true,"enable_abandoned_paywall_email_experiment":"experiment","enable_abandoned_paywall_promotion_email":true,"enable_android_dynamic_aspirational_paywall":true,"enable_android_dynamic_programming_paywall":true,"enable_android_miro_v2":true,"enable_android_offline_reading":true,"enable_android_verified_author":true,"enable_app_flirty_thirty":true,"enable_apple_sign_in":true,"enable_apple_webhook":true,"enable_aurora_pub_follower_page":true,"enable_author_cards":true,"enable_author_cards_byline":true,"enable_auto_follow_on_subscribe":true,"enable_automod":true,"enable_bg_post_post":true,"enable_boost_experiment":"control","enable_boost_nia_v01":true,"enable_braintree_apple_pay":true,"enable_braintree_client":true,"enable_braintree_google_pay":true,"enable_braintree_integration":true,"enable_braintree_paypal":true,"enable_braintree_trial_membership":true,"enable_braintree_webhook":true,"enable_branch_io":true,"enable_cache_less_following_feed":true,"enable_cancellation_discount_v1_1":true,"enable_cancellation_discount_v1_email":true,"enable_configure_pronouns":true,"enable_conversion_model_v2":"group_2","enable_conversion_ranker_v2":"control","enable_creator_welcome_email":true,"enable_deprecate_legacy_providers_v3":true,"enable_deviant_get_variant_flag_from_medium2":true,"enable_diversification_rex":true,"enable_engagement_service_publish_response":true,"enable_entities_to_follow_v2":true,"enable_eventstats_event_processing":true,"enable_footer_app_buttons":true,"enable_google_one_tap":true,"enable_google_webhook":true,"enable_group_gifting":true,"enable_homepage_featured_feed":true,"enable_hybrid_ranking_model":"experiment","enable_iceland_forced_android":true,"enable_import":true,"enable_inline_comments":true,"enable_intrinsic_automatic_actions":true,"enable_ios_autorefresh":true,"enable_ios_dynamic_paywall_aspiriational":true,"enable_ios_dynamic_paywall_programming":true,"enable_ios_easy_resubscribe":true,"enable_ios_offline_reading":true,"enable_legacy_feed_in_iceland":true,"enable_lite_archive_page":true,"enable_lite_continue_this_thread":true,"enable_lite_homepage":true,"enable_lite_response_markup":true,"enable_lite_server_upstream_deadlines":true,"enable_lo_homepage":"control","enable_maim_the_meter":true,"enable_marketing_emails":true,"enable_mastodon_avatar_upload":true,"enable_mastodon_for_members":true,"enable_mastodon_for_members_username_selection":true,"enable_medium2_kbfd":true,"enable_medium_com_canonical_urls":true,"enable_members_only_audio":true,"enable_ml_rank_rex_anno":true,"enable_moc_load_processor_all_recs_surfaces":true,"enable_moc_load_processor_c":true,"enable_moc_load_processor_first_story":true,"enable_new_manage_membership_flow":true,"enable_new_stripe_customers":true,"enable_newsletter_lo_flow_custom_domains":true,"enable_pill_based_home_feed":true,"enable_post_bottom_responses":true,"enable_post_bottom_responses_input":true,"enable_post_bottom_responses_native":true,"enable_post_publish_permission_check":true,"enable_pp_country_expansion":true,"enable_pp_v4":true,"enable_pre_pp_v4":true,"enable_premium_tier":true,"enable_premium_tier_badge":true,"enable_pub_featuring":true,"enable_pub_featuring_notifications":true,"enable_pub_featuring_post_page_label":true,"enable_pub_featuring_stats":true,"enable_publication_hierarchy_v2_web_multivariate":"publication_hierarchy","enable_ranker_v10":"control","enable_recaptcha_enterprise":true,"enable_recirc_model":true,"enable_recommended_publishers_query":true,"enable_rex_aggregator_v2":true,"enable_rex_new_push_notification_endpoint":true,"enable_rex_reading_history":true,"enable_rito_upstream_deadlines":true,"enable_seamless_social_sharing":true,"enable_see_pronouns":true,"enable_sharer_create_post_share_key":true,"enable_sharer_validate_post_share_key":true,"enable_simplified_digest_v2_b":true,"enable_speechify_ios":true,"enable_speechify_widget":true,"enable_sprig":true,"enable_starspace":true,"enable_susi_redesign_android":true,"enable_susi_redesign_ios":true,"enable_switch_plan_premium_tier":true,"enable_tag_recs":true,"enable_tick_landing_page":true,"enable_tipping_v0_android":true,"enable_tipping_v0_ios":true,"enable_tribute_landing_page":true,"enable_trust_service_recaptcha":true,"enable_update_explore_wtf":true,"enable_update_topic_portals_wtf":true,"enable_updated_pub_recs_ui":true,"enable_verifications_service":true,"enable_winback_promotion_email":true,"get_highlights_from_engagement":true,"glyph_font_set":"m2-unbound-source-serif-pro","goliath_externalsearch_enable_comment_deindexation":true,"ios_display_paywall_after_onboarding":true,"ios_enable_friend_links_creation":true,"ios_enable_friend_links_postpage_banners":true,"ios_enable_home_post_menu":true,"ios_enable_lock_responses":true,"ios_enable_verified_book_author":true,"ios_iceland_nux":true,"ios_in_app_free_trial":true,"ios_remove_twitter_onboarding_step":true,"ios_social_share_sheet":true,"limit_post_referrers":true,"limit_user_follows":true,"mobile_custom_app_icon":true,"num_post_bottom_responses_to_show":3,"onboarding_tags_from_top_views":true,"reader_fair_distribution_non_qp":true,"redefined_top_posts":true,"reengagement_notification_duration":3,"rex_generator_max_candidates":1000,"signin_services":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple","signup_services":"twitter,facebook,google,email,google-fastidv,google-one-tap,apple","skip_fs_cache_user_vals":true},"xsrfToken":"","iosAppId":"828256236","supportEmail":"yourfriends@medium.com","fp":{"/icons/monogram-mask.svg":"https://cdn-static-1.medium.com/_/fp/icons/monogram-mask.KPLCSFEZviQN0jQ7veN2RQ.12.svg","/icons/favicon-medium-editor.ico":"https://cdn-static-1.medium.com/_/fp/icons/favicon-medium-editor.PiakrZWB7Yb80quUVQWM6g.12.ico"},"authBaseUrl":"https://medium.com","imageUploadSizeMb":25,"isAuthDomainRequest":false,"domainCollectionSlug":"adobetech","algoliaApiEndpoint":"https://MQ57UUUQZ2-dsn.algolia.net","algoliaAppId":"MQ57UUUQZ2","algoliaSearchOnlyApiKey":"394474ced050e3911ae2249ecc774921","iosAppStoreUrl":"https://itunes.apple.com/app/medium-everyones-stories/id828256236?pt=698524&mt=8","iosAppLinkBaseUrl":"medium:","algoliaIndexPrefix":"medium_","androidPlayStoreUrl":"https://play.google.com/store/apps/details?id=com.medium.reader","googleClientId":"216296035834-k1k6qe060s2tp2a2jam4ljdcms00sttg.apps.googleusercontent.com","androidPackage":"com.medium.reader","androidPlayStoreMarketScheme":"market://details?id=com.medium.reader","googleAuthUri":"https://accounts.google.com/o/oauth2/auth","androidScheme":"medium","layoutData":{"useDynamicScripts":false,"googleAnalyticsTrackingCode":"G-7JY7T788PK","jsShivUrl":"https://cdn-static-1.medium.com/_/fp/js/shiv.RI2ePTZ5gFmMgLzG5bEVAA.12.js","useDynamicCss":false,"faviconUrl":"https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19","faviconImageId":"5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19","fontSets":[{"id":8,"url":"https://glyph.medium.com/css/e/sr/latin/e/ssr/latin/e/ssb/latin/m2-unbound-source-serif-pro.css"},{"id":11,"url":"https://glyph.medium.com/css/m2-unbound-source-serif-pro.css"},{"id":9,"url":"https://glyph.medium.com/css/mkt.css"}],"glyphUrl":"https://glyph.medium.com"},"authBaseUrlRev":"moc.muidem//:sptth","stripePublishableKey":"pk_live_7FReX44VnNIInZwrIIx6ghjl","archiveUploadSizeMb":100,"previewConfig2":{"weightThreshold":1,"weightImageParagraph":0.05,"raiseImage":true,"enforceHeaderHierarchy":true,"isImageInsetRight":true},"isAmp":false,"iosScheme":"medium","facebook":{"key":"542599432471018","namespace":"medium-com","scope":{"default":["public_profile","email"],"connect":["public_profile","email"],"login":["public_profile","email"],"share":["public_profile","email"]}},"memberContentTopicId":"13d7efd82fb2","audioContentTopicId":"3792abbd134","isDoNotAuth":false,"buggle":{"videoUrl":"https://cdn-videos-1.medium.com","audioUrl":"https://cdn-audio-1.medium.com"},"referrerType":5,"partnerProgramEmail":"partnerprogram@medium.com","recaptchaKey":"6Lfc37IUAAAAAKGGtC6rLS13R1Hrw_BqADfS1LRk","countryCode":"SG","bypassMeter":false,"branchKey":"key_live_ofxXr2qTrrU9NqURK8ZwEhknBxiI6KBm","paypal":{"clientMode":"production","oneYearGift":{"name":"Medium Membership (1 Year, Digital Gift Code)","description":"Unlimited access to the best and brightest stories on Medium. Gift codes can be redeemed at medium.com/redeem.","price":"50.00","currency":"USD","sku":"membership-gift-1-yr"}},"collectionConfig":{"mediumOwnedAndOperatedCollectionIds":["8a9336e5bb4","b7e45b22fec3","193b68bd4fba","8d6b8a439e32","54c98c43354d","3f6ecf56618","d944778ce714","92d2092dc598","ae2a65f35510","1285ba81cada","544c7006046e","fc8964313712","40187e704f1c","88d9857e584e","7b6769f2748b","bcc38c8f6edf","cef6983b292","cb8577c9149e","444d13b52878","713d7dbc99b0","ef8e90590e66","191186aaafa0","55760f21cdc5","9dc80918cc93","bdc4052bbdba","8ccfed20cbb2"]},"bypassMeterWithShareKey":false,"recaptcha3Key":"6Lf8R9wUAAAAABMI_85Wb8melS7Zj6ziuf99Yot5","braintreeClientKey":"production_zjkj96jm_m56f8fqpf7ngnrd4","cdcMessaging":[{"text":"For more information on the novel coronavirus and Covid-19, visit ","href":"","type":"text","start":0,"end":0},{"text":"cdc.gov","href":"https://www.cdc.gov/coronavirus/2019-nCoV","type":"link","start":66,"end":73},{"text":".","href":"","type":"text","start":0,"end":0}],"braintree":{"merchantId":"m56f8fqpf7ngnrd4"},"diagnostics":{},"domain":"medium.com"} // ]]></script><script charset="UTF-8" src="https://cdn-static-1.medium.com/_/fp/gen-js/main-base.bundle.flUfojlrs-ZVoGYQebtnFg.12.js" async></script><script>// <","username":"plugisto","createdAt":1345010693579,"imageId":"0*oVa_KiPn9nO6gir6.jpeg","backgroundImageId":"","bio":"Designing, experimenting, developing AI tools for creatives (www.omata.io)","twitterScreenName":"plugisto","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[19,47,29],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"759092de5270":{"userId":"759092de5270","name":"Namita Krishnan","username":"namita_k","createdAt":1738107337615,"imageId":"1*VKTJMppD_ACK9hiREKNSdw.jpeg","backgroundImageId":"","bio":"Product Manager, AI Assistant in Adobe Experience Platform","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[29,53],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"c10f58236715":{"userId":"c10f58236715","name":"Renae Kang","username":"renaekang97","createdAt":1655921535246,"imageId":"1*_2c2rNBYDHH7262294wRcA.jpeg","backgroundImageId":"","bio":"Campaign Marketing Manager at Adobe","twitterScreenName":"","allowNotes":1,"mediumMemberAt":1655999426000,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[2,29,33],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"ca17853191d5":{"userId":"ca17853191d5","name":"Carlos A. Cabrera","username":"fnhipster","createdAt":1641575731401,"imageId":"1*lZnyeKF5mIaH9zx73aOJaQ.gif","backgroundImageId":"","bio":"https://fnhipster.com","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedIosApp":1736991452959,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":true,"userDismissableFlags":[47,2,29],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"8267b69dc1ef":{"userId":"8267b69dc1ef","name":"Erin Finnegan","username":"erin_finnegan","createdAt":1513806262520,"imageId":"1*7fn9Xl1R3wZSvfLmr2UX3Q.jpeg","backgroundImageId":"","bio":"Community Engineer at Adobe. Views are my own.","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedAndroidApp":1568206006685,"isMembershipTrialEligible":true,"optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[32,29,12,8,53,30,3,2,18,1,33],"hasSeenIcelandOnboarding":false,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"d730e5943984":{"userId":"d730e5943984","name":"Colene Chow","username":"colene","createdAt":1383338243037,"imageId":"0*SJtfn1Ww73z5yGWy.jpeg","backgroundImageId":"","bio":"Sr. Product Marketing Manager at @Adobe helping your friendly neighbourhood developer","twitterScreenName":"colene","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[2,29],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-ca","type":"User"},"7a28b5b75787":{"userId":"7a28b5b75787","name":"Kerri Shotts","username":"photokandy","createdAt":1393105263591,"imageId":"1*wIN2UJ15mEdnIYTTVG-r3w.jpeg","backgroundImageId":"1*gGN_Jg9zQgNQG_s9vdwszw.png","bio":"JavaScript fangirl, Technical writer, Mobile app developer, Musician, Photographer, Transwoman (she/her), Atheist, Humanist. All opinions are my own. Hi there!","twitterScreenName":"kerrishotts","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"isMembershipTrialEligible":true,"facebookDisplayName":"Kerri Shotts","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[8,12,2,1,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"},"d32c824b4112":{"userId":"d32c824b4112","name":"Padma Krishnamoorthy","username":"padmkris","createdAt":1646810533526,"imageId":"0*uVuFRVC6DD59fJvg","backgroundImageId":"","bio":"","twitterScreenName":"","allowNotes":1,"mediumMemberAt":0,"isWriterProgramEnrolled":true,"isSuspended":false,"firstOpenedIosApp":1675277977316,"isMembershipTrialEligible":true,"facebookDisplayName":"","optInToIceland":true,"hasCompletedProfile":false,"userDismissableFlags":[29,12,2,33],"hasSeenIcelandOnboarding":true,"postSubscribeMembershipUpsellShownAt":0,"languageCode":"en-us","type":"User"}},"Post":{"a510e71c2c92":{"id":"a510e71c2c92","versionId":"b051c773b0b1","creatorId":"6ade52b64fb3","homeCollectionId":"9342990108af","title":"How to Market and Monetize Adobe Express Add-ons","detectedLanguage":"en","latestVersion":"b051c773b0b1","latestPublishedVersion":"b051c773b0b1","hasUnpublishedEdits":false,"latestRev":209,"createdAt":1738933672542,"updatedAt":1738952987629,"acceptedAt":0,"firstPublishedAt":1738950374092,"latestPublishedAt":1738950374092,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Prolific plugin and add-on developer Eugen Pflüger shares his knowledge to help you make your add-ons a success, too.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*kr_OguTw1wjcYSmB","filter":"","backgroundSize":"","originalWidth":1600,"originalHeight":787,"strategy":"resample","height":0,"width":0},"wordCount":2128,"imageCount":1,"readingTime":8.230188679245282,"subtitle":"Prolific plugin and add-on developer Eugen Pflüger shares his knowledge to help you make your add-ons a success, too.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":3,"isBookmarked":false,"tags":[{"slug":"adobe-express","name":"Adobe Express","postCount":248,"metadata":{"postCount":248,"coverImage":{"id":"1*V5w-pFuBrFehseRUlelC7Q.png","originalWidth":1370,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"adobe-express-add-ons","name":"Adobe Express Add Ons","postCount":19,"metadata":{"postCount":19,"coverImage":{"id":"1*MffUnLJhrBgQUnMRy5JZZQ.png","originalWidth":1644,"originalHeight":2158,"isFeatured":true,"alt":"Video info log in console"}},"type":"Tag"},{"slug":"adobe-creative-cloud","name":"Adobe Creative Cloud","postCount":363,"metadata":{"postCount":363,"coverImage":{"id":"1*-7AMxBZiGmhpDPvy0h-MrA@2x.png","originalWidth":1500,"originalHeight":1000,"isFeatured":true,"alt":"Decorative graphic"}},"type":"Tag"},{"slug":"plugins","name":"Plugins","postCount":7440,"metadata":{"postCount":7440,"coverImage":{"id":"1*CD2IUwifOPOIHEAUa83mrQ.jpeg","originalWidth":2400,"originalHeight":1349,"isFeatured":true}},"type":"Tag"},{"slug":"extensibility","name":"Extensibility","postCount":88,"metadata":{"postCount":88,"coverImage":{"id":"1*GlFUTPpTTDXs1rH3GOC_TA.png","originalWidth":1200,"originalHeight":627,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"mailto:info@omata.io","alts":[],"httpStatus":0},{"url":"https://developer.adobe.com/express/community","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/fund-for-design/","alts":[],"httpStatus":200},{"url":"https://new.express.adobe.com/add-ons?addOnId=wh7gmh32l","alts":[],"httpStatus":200},{"url":"https://new.express.adobe.com/add-ons?addOnId=w236j7h7j","alts":[],"httpStatus":200},{"url":"https://new.express.adobe.com/add-ons?addOnId=w0n746333","alts":[],"httpStatus":200},{"url":"https://new.express.adobe.com/add-ons?addOnId=w5jihnj56","alts":[],"httpStatus":200},{"url":"https://new.express.adobe.com/add-ons?addOnId=w5328nkn6","alts":[],"httpStatus":200},{"url":"https://new.express.adobe.com/add-ons?addOnId=w8lk74ilm&_branch_match_id=1298970567975322017","alts":[],"httpStatus":200},{"url":"https://www.adobe.com/express/feature/content-scheduler","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/guides/distribute/guidelines/monetization/","alts":[],"httpStatus":200},{"url":"https://www.creem.io/","alts":[],"httpStatus":200},{"url":"https://adobesparkpost.app.link/TR9Mb7TXFLb?addOnId=w697l74j5","alts":[],"httpStatus":200},{"url":"https://adobesparkpost.app.link/TR9Mb7TXFLb?addOnId=w1h914j63","alts":[],"httpStatus":200},{"url":"https://www.paddle.com/","alts":[],"httpStatus":200},{"url":"https://www.producthunt.com/","alts":[],"httpStatus":200},{"url":"https://www.launching.today/","alts":[],"httpStatus":200},{"url":"https://www.omata.io/","alts":[],"httpStatus":200},{"url":"https://adobesparkpost.app.link/TR9Mb7TXFLb?addOnId=wh7gmh32l","alts":[],"httpStatus":200},{"url":"https://www.omata.io/mate","alts":[],"httpStatus":200},{"url":"https://www.omata.io/omata-plugin","alts":[],"httpStatus":200},{"url":"https://betalist.com/","alts":[],"httpStatus":200},{"url":"https://fastspring.com/","alts":[],"httpStatus":200},{"url":"https://www.lemonsqueezy.com/","alts":[],"httpStatus":200},{"url":"https://www.indiehackers.com/","alts":[],"httpStatus":200},{"url":"https://polar.sh/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/developer-champion/eugen-pfluger/","alts":[],"httpStatus":200},{"url":"https://www.omata.io/mate/illustrator","alts":[],"httpStatus":200},{"url":"http://adobe.ly/devnews","alts":[],"httpStatus":200},{"url":"https://www.omata.io/arranger","alts":[],"httpStatus":200},{"url":"https://www.omata.io/mate/indesign","alts":[],"httpStatus":200},{"url":"https://docs.google.com/spreadsheets/d/1zL_KA0sCCR0GzEvQypM99QGVtuM47i8zZQv4qpMXUaw/edit?usp=sharing","alts":[],"httpStatus":200},{"url":"https://gumroad.com/","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1738950375410},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":25,"sectionCount":1,"readingList":0,"topics":[{"topicId":"4861fee224fd","slug":"marketing","createdAt":1493928453626,"deletedAt":0,"image":{"id":"1*3blpwADxHq_9ksV-SXek-g@2x.jpeg","originalWidth":4000,"originalHeight":2250},"name":"Marketing","description":"Always be branding.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Marketing Articles and News — Medium","type":"Topic"}]},"coverless":true,"slug":"how-to-market-and-monetize-adobe-express-add-ons","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"how-to-market-and-monetize-adobe-express-add-ons-a510e71c2c92","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*kr_OguTw1wjcYSmB","originalWidth":1600,"originalHeight":787,"isFeatured":true}},{"name":"1750","type":3,"text":"How to Market and Monetize Adobe Express Add-ons","markups":[],"alignment":1},{"name":"20bb","type":13,"text":"Prolific plugin and add-on developer Eugen Pflüger…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Prolific plugin and add-on developer Eugen Pflüger shares his knowledge to help you make your add-ons a success, too."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"9342990108af","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"1750","type":3,"text":"How to Market and Monetize Adobe Express Add-ons","markups":[]},{"name":"20bb","type":13,"text":"Prolific plugin and add-on developer Eugen Pflüger shares his knowledge to help you make your add-ons a success, too.","markups":[]},{"name":"e8e0","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"0*kr_OguTw1wjcYSmB","originalWidth":1600,"originalHeight":787,"isFeatured":true}},{"name":"65de","type":1,"text":"As developers, designers, plugin creators, and add-on builders, we have the tendency to skip marketing and monetization and would rather code the whole night through rather than think about this topic. However, whether you’re a seasoned developer or just starting out, understanding how to monetize the creative tools you’re building…","markups":[]}],"sections":[{"name":"a3c0","startIndex":0}]},"isFullContent":false,"subtitle":"Prolific plugin and add-on developer Eugen Pflüger shares his knowledge to help you make your add-ons a success, too."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"7cbc584c29f6":{"id":"7cbc584c29f6","versionId":"b6aba650f76e","creatorId":"759092de5270","homeCollectionId":"9342990108af","title":"AI Assistant in Adobe Experience Platform: Evaluation and Continual Improvement","detectedLanguage":"en","latestVersion":"b6aba650f76e","latestPublishedVersion":"b6aba650f76e","hasUnpublishedEdits":false,"latestRev":146,"createdAt":1738558787037,"updatedAt":1738880705666,"acceptedAt":0,"firstPublishedAt":1738875734937,"latestPublishedAt":1738875734937,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"A behind-the-scenes account of how we approach evaluation and continual improvement of an Enterprise AI assistant.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*JqnMxFkJzzGGXelwB-seMA.jpeg","filter":"","backgroundSize":"","originalWidth":7000,"originalHeight":3038,"strategy":"resample","height":0,"width":0},"wordCount":645,"imageCount":5,"readingTime":3.267295597484277,"subtitle":"A behind-the-scenes account of how we approach evaluation and continual improvement of an Enterprise AI assistant.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":5,"isBookmarked":false,"tags":[{"slug":"ai","name":"AI","postCount":499802,"metadata":{"postCount":499802,"coverImage":{"id":"0*5XP2j0te24TRkhnL","originalWidth":5479,"originalHeight":3653,"isFeatured":true,"unsplashPhotoId":"o6VKrOogZpw"}},"type":"Tag"},{"slug":"ai-assistant","name":"Ai Assistant","postCount":2014,"metadata":{"postCount":2014,"coverImage":{"id":"1*2W2XPH5CHHustf0vt_yPDQ.png","originalWidth":1920,"originalHeight":1048,"isFeatured":true}},"type":"Tag"},{"slug":"platform","name":"Platform","postCount":13100,"metadata":{"postCount":13100,"coverImage":{"id":"1*UyNC3ZhUCGBBkqViV8j4vQ.png","originalWidth":1421,"originalHeight":796,"isFeatured":true}},"type":"Tag"},{"slug":"adobe-experience-platform","name":"Adobe Experience Platform","postCount":310,"metadata":{"postCount":310,"coverImage":{"id":"1*f-vbqiNwrB_vAcHiRAN2Mg.jpeg","originalWidth":5000,"originalHeight":2813,"isFeatured":true}},"type":"Tag"},{"slug":"generative-ai-tools","name":"Generative Ai Tools","postCount":21253,"metadata":{"postCount":21253,"coverImage":{"id":"1*I5nSEc8e-hd4DwWwIcspVA.jpeg","originalWidth":3072,"originalHeight":1536,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":1,"links":{"entries":[{"url":"https://experienceleague.adobe.com/en/docs/experience-platform/ai-assistant/landing","alts":[],"httpStatus":200},{"url":"https://experienceleague.adobe.com/en/docs/experience-platform/ai-assistant/access","alts":[],"httpStatus":200},{"url":"https://aclanthology.org/2024.dash-1.3/","alts":[],"httpStatus":200},{"url":"https://www.linkedin.com/showcase/adobe-experience-cloud/posts/?feedView=all","alts":[{"type":3,"url":"https://www.linkedin.com/login"}],"httpStatus":200}],"version":"0.3","generatedAt":1738875735496},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":54,"sectionCount":1,"readingList":0,"topics":[{"topicId":"1af65db9c2f8","slug":"artificial-intelligence","createdAt":1487916832419,"deletedAt":0,"image":{"id":"1*A28aHchbaA8zNVXraBq0Ug@2x.jpeg","originalWidth":4866,"originalHeight":3244},"name":"Artificial Intelligence","description":"Born to be bot.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"AI News and Artificial Intelligence Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"ai-assistant-in-adobe-experience-platform-evaluation-and-continual-improvement","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"ai-assistant-in-adobe-experience-platform-evaluation-and-continual-improvement-7cbc584c29f6","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*JqnMxFkJzzGGXelwB-seMA.jpeg","originalWidth":7000,"originalHeight":3038,"isFeatured":true}},{"name":"ca22","type":3,"text":"AI Assistant in Adobe Experience Platform: Evaluation and Continual Improvement","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"A behind-the-scenes account of how we approach evaluation and continual improvement of an Enterprise AI assistant."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"9342990108af","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"ca22","type":3,"text":"AI Assistant in Adobe Experience Platform: Evaluation and Continual Improvement","markups":[]},{"name":"c7cd","type":1,"text":"AI Assistant in Adobe Experience Platform represents a leap forward in building enterprise-grade applications in the Generative AI era. This article provides a behind-the-scenes account of how we approach evaluation and continual improvement as detailed in our research paper, Evaluation and Continual Improvement for an Enterprise AI Assistant.","markups":[{"type":3,"start":0,"end":41,"href":"https://experienceleague.adobe.com/en/docs/experience-platform/ai-assistant/landing","title":"","rel":"noreferrer noopener","anchorType":0},{"type":3,"start":277,"end":345,"href":"https://aclanthology.org/2024.dash-1.3/","title":"","rel":"noreferrer noopener","anchorType":0},{"type":2,"start":277,"end":345}]},{"name":"f503","type":4,"text":"Image credits: Adobe Stock","markups":[],"layout":1,"metadata":{"id":"1*JqnMxFkJzzGGXelwB-seMA.jpeg","originalWidth":7000,"originalHeight":3038,"isFeatured":true}},{"name":"cf40","type":13,"text":"Problems","markups":[]},{"name":"1d07","type":1,"text":"Enterprise users…","markups":[]}],"sections":[{"name":"fc35","startIndex":0}]},"isFullContent":false,"subtitle":"A behind-the-scenes account of how we approach evaluation and continual improvement of an Enterprise AI assistant."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"d3176272b3a8":{"id":"d3176272b3a8","versionId":"e0f7b8954bf1","creatorId":"c10f58236715","homeCollectionId":"9342990108af","title":"Security Blog Posts Are Moving to the New Adobe Security Blog","detectedLanguage":"en","latestVersion":"e0f7b8954bf1","latestPublishedVersion":"e0f7b8954bf1","hasUnpublishedEdits":false,"latestRev":135,"createdAt":1737495408115,"updatedAt":1738686483939,"acceptedAt":0,"firstPublishedAt":1737496594276,"latestPublishedAt":1738683056341,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"By the Adobe Security Team","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*KBnqvk_o7EDlVjTnvsKcXA.png","filter":"","backgroundSize":"","originalWidth":1922,"originalHeight":984,"strategy":"resample","height":0,"width":0},"wordCount":117,"imageCount":1,"readingTime":0.6415094339622642,"subtitle":"By the Adobe Security Team","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":1,"isBookmarked":false,"tags":[{"slug":"security","name":"Security","postCount":128542,"metadata":{"postCount":128542,"coverImage":{"id":"0*g062nualCReOnY1k","originalWidth":4011,"originalHeight":2664,"isFeatured":true,"unsplashPhotoId":"bIgpii04UIg"}},"type":"Tag"},{"slug":"security-blogging","name":"Security Blogging","postCount":2,"metadata":{"postCount":2,"coverImage":{"id":"1*KBnqvk_o7EDlVjTnvsKcXA.png","originalWidth":1922,"originalHeight":984,"isFeatured":true}},"type":"Tag"},{"slug":"product-security","name":"Product Security","postCount":183,"metadata":{"postCount":183,"coverImage":{"id":"1*9WZDRITgNKBMiOY_tDVHdA.png","originalWidth":960,"originalHeight":1200,"isFeatured":true}},"type":"Tag"},{"slug":"cloud-security","name":"Cloud Security","postCount":7798,"metadata":{"postCount":7798,"coverImage":{"id":"0*045p2_yjsyRIajBr","originalWidth":1050,"originalHeight":591,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://blog.adobe.com/security/","alts":[],"httpStatus":200},{"url":"https://survey.adobe.com/jfe/form/SV_08TWfd3N5aWWNWS","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1738683056776},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":4,"sectionCount":1,"readingList":0,"topics":[{"topicId":"d4e7f4144ac5","slug":"cybersecurity","createdAt":1493946839810,"deletedAt":0,"image":{"id":"1*JpJUz3WBPiQG5vkJ9WY8rw@2x.jpeg","originalWidth":6000,"originalHeight":4000},"name":"Cybersecurity","description":"Towards a more perfect password.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Cybersecurity News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"important-update-were-moving-to-the-adobe-security-blog","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"important-update-were-moving-to-the-adobe-security-blog-d3176272b3a8","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*KBnqvk_o7EDlVjTnvsKcXA.png","originalWidth":1922,"originalHeight":984,"isFeatured":true}},{"name":"a8ac","type":3,"text":"Security Blog Posts Are Moving to the New Adobe Security Blog","markups":[],"alignment":1},{"name":"a50d","type":13,"text":"By the Adobe Security Team.","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"By the Adobe Security Team"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"9342990108af","isNewsletter":false,"newsletterId":"f7ee807b9d36","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"a8ac","type":3,"text":"Security Blog Posts Are Moving to the New Adobe Security Blog","markups":[]},{"name":"a50d","type":13,"text":"By the Adobe Security Team.","markups":[]},{"name":"3e42","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*KBnqvk_o7EDlVjTnvsKcXA.png","originalWidth":1922,"originalHeight":984,"isFeatured":true}},{"name":"11fd","type":1,"text":"Hello, Medium Community!","markups":[]},{"name":"c1ab","type":1,"text":"We’re excited to announce that we are migrating our security blog to the Adobe Security Blog. To stay updated on the latest news, insights, and updates from the Adobe Security team, please make sure to bookmark our new home on the Adobe Security Blog.","markups":[{"type":3,"start":73,"end":92,"href":"https://blog.adobe.com/security/","title":"","rel":"noopener","anchorType":0},{"type":3,"start":231,"end":250,"href":"https://blog.adobe.com/security/","title":"","rel":"noopener","anchorType":0},{"type":1,"start":73,"end":92},{"type":1,"start":231,"end":250}]},{"name":"da61","type":1,"text":"We’d also love…","markups":[{"type":3,"start":142,"end":153,"href":"https://survey.adobe.com/jfe/form/SV_08TWfd3N5aWWNWS","title":"","rel":"noopener","anchorType":0},{"type":1,"start":141,"end":153}]}],"sections":[{"name":"622e","startIndex":0}]},"isFullContent":false,"subtitle":"By the Adobe Security Team"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":true,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"ae1ac8d7ceca":{"id":"ae1ac8d7ceca","versionId":"8e25d5c2b334","creatorId":"ca17853191d5","homeCollectionId":"9342990108af","title":"Edge Delivery Services for Commerce: A New Storefront Has Dropped","detectedLanguage":"en","latestVersion":"8e25d5c2b334","latestPublishedVersion":"8e25d5c2b334","hasUnpublishedEdits":false,"latestRev":1263,"createdAt":1734120058807,"updatedAt":1736886479333,"acceptedAt":0,"firstPublishedAt":1736881534837,"latestPublishedAt":1736881534837,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"We have reimagined what a modern e-commerce storefront can be, & the Edge Delivery Services for Commerce Boilerplate manifests this vision.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*f8AlON9dCnR1p9XcfyzbyQ.png","filter":"","backgroundSize":"","originalWidth":2700,"originalHeight":1539,"strategy":"resample","height":0,"width":0},"wordCount":2502,"imageCount":11,"readingTime":10.741509433962264,"subtitle":"We have reimagined what a modern e-commerce storefront can be, & the Edge Delivery Services for Commerce Boilerplate manifests this vision.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":4,"isBookmarked":false,"tags":[{"slug":"adobe-commerce","name":"Adobe Commerce","postCount":277,"metadata":{"postCount":277,"coverImage":{"id":"1*1rmss1cDmldgsdcIOx0wSA.png","originalWidth":1400,"originalHeight":782,"isFeatured":true}},"type":"Tag"},{"slug":"aem-developer","name":"Aem Developer","postCount":469,"metadata":{"postCount":469,"coverImage":{"id":"1*wSLZVNUyTivXBqEYw_twJg.png","originalWidth":1063,"originalHeight":205,"isFeatured":true}},"type":"Tag"},{"slug":"edge-delivery-services","name":"Edge Delivery Services","postCount":32,"metadata":{"postCount":32,"coverImage":{"id":"1*DTmvHWHuRC2ZZDXj7OS7-w.png","originalWidth":2688,"originalHeight":1536,"isFeatured":true}},"type":"Tag"},{"slug":"composable-commerce","name":"Composable Commerce","postCount":131,"metadata":{"postCount":131,"coverImage":{"id":"1*Js7eQAt2Ni8ZwMHkpbKHvQ.png","originalWidth":1512,"originalHeight":766,"isFeatured":true}},"type":"Tag"},{"slug":"adobe-experience-cloud","name":"Adobe Experience Cloud","postCount":204,"metadata":{"postCount":204,"coverImage":{"id":"1*IbPjiIYnr6GIbrRaHv-GaA.png","originalWidth":1024,"originalHeight":1024}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://www.aem.live/docs/authoring","alts":[],"httpStatus":200},{"url":"https://www.aem.live/","alts":[],"httpStatus":200},{"url":"https://discordapp.com/channels/1131492224371277874/1220042081209421945","alts":[],"httpStatus":200},{"url":"https://experienceleague.adobe.com/developer/commerce/storefront/","alts":[],"httpStatus":200},{"url":"https://experienceleague.adobe.com/developer/commerce/storefront/dropins/user-auth/","alts":[],"httpStatus":200},{"url":"https://experienceleague.adobe.com/developer/commerce/storefront/discovery/architecture/","alts":[],"httpStatus":200},{"url":"https://experienceleague.adobe.com/developer/commerce/storefront/dropins/order/","alts":[],"httpStatus":200},{"url":"https://experienceleague.adobe.com/developer/commerce/storefront/dropins/product-details/","alts":[],"httpStatus":200},{"url":"https://experienceleague.adobe.com/developer/commerce/storefront/get-started/","alts":[],"httpStatus":200},{"url":"https://experienceleague.adobe.com/developer/commerce/storefront/dropins/user-account/","alts":[],"httpStatus":200},{"url":"https://experienceleague.adobe.com/developer/commerce/storefront/dropins/checkout/","alts":[],"httpStatus":200},{"url":"https://experienceleague.adobe.com/developer/commerce/storefront/dropins/cart/","alts":[],"httpStatus":200},{"url":"https://experienceleague.adobe.com/developer/commerce/storefront/dropins/all/extending/","alts":[],"httpStatus":200},{"url":"https://github.com/hlxsites/aem-boilerplate-commerce/tree/develop/blocks/product-details","alts":[],"httpStatus":200},{"url":"https://www.aem.live/developer/spreadsheets","alts":[],"httpStatus":200},{"url":"https://getbem.com/","alts":[],"httpStatus":200},{"url":"https://github.com/hlxsites/aem-boilerplate-commerce","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1736881535515},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":4,"sectionCount":1,"readingList":0,"topics":[{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"edge-delivery-services-for-commerce-a-new-storefront-has-dropped","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"edge-delivery-services-for-commerce-a-new-storefront-has-dropped-ae1ac8d7ceca","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*f8AlON9dCnR1p9XcfyzbyQ.png","originalWidth":2700,"originalHeight":1539,"isFeatured":true}},{"name":"b585","type":3,"text":"Edge Delivery Services for Commerce: A New Storefront Has Dropped","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"We have reimagined what a modern e-commerce storefront can be, & the Edge Delivery Services for Commerce Boilerplate manifests this vision."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"9342990108af","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"b585","type":3,"text":"Edge Delivery Services for Commerce: A New Storefront Has Dropped","markups":[]},{"name":"9531","type":1,"text":"At Adobe, we have redefined the e-commerce storefront to help merchants streamline development workflows and accelerate time-to-market through a fully composable architecture powered by Edge Delivery Services and our plug-and-play micro-frontends: Commerce Drop-in Components.","markups":[{"type":3,"start":186,"end":208,"href":"https://www.aem.live/","title":"","rel":"","anchorType":0},{"type":3,"start":248,"end":275,"href":"https://experienceleague.adobe.com/developer/commerce/storefront/","title":"","rel":"","anchorType":0}]},{"name":"7338","type":1,"text":"The storefront has evolved dramatically over the past decade. From mobile-first to offline-first design to social…","markups":[]}],"sections":[{"name":"961a","startIndex":0}]},"isFullContent":false,"subtitle":"We have reimagined what a modern e-commerce storefront can be, & the Edge Delivery Services for Commerce Boilerplate manifests this vision."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"c45283ab6942":{"id":"c45283ab6942","versionId":"26b2f1017b1a","creatorId":"8267b69dc1ef","homeCollectionId":"9342990108af","title":"Introducing the Creative Cloud Developer Champion Program","detectedLanguage":"en","latestVersion":"26b2f1017b1a","latestPublishedVersion":"26b2f1017b1a","hasUnpublishedEdits":false,"latestRev":532,"createdAt":1736790437646,"updatedAt":1738607286357,"acceptedAt":0,"firstPublishedAt":1736855803793,"latestPublishedAt":1738602670602,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"We’re rewarding outstanding members of our developer community: Find out what it takes to be a champion and nominate one today!","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*-7AMxBZiGmhpDPvy0h-MrA@2x.png","filter":"","backgroundSize":"","originalWidth":1500,"originalHeight":1000,"strategy":"resample","height":0,"width":0},"wordCount":1503,"imageCount":2,"readingTime":6.055031446540881,"subtitle":"We’re rewarding outstanding members of our developer community: Find out what it takes to be a champion and nominate one today!","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":8,"isBookmarked":false,"tags":[{"slug":"adobe-express-add-ons","name":"Adobe Express Add Ons","postCount":19,"metadata":{"postCount":19,"coverImage":{"id":"1*MffUnLJhrBgQUnMRy5JZZQ.png","originalWidth":1644,"originalHeight":2158,"isFeatured":true,"alt":"Video info log in console"}},"type":"Tag"},{"slug":"adobe-express","name":"Adobe Express","postCount":248,"metadata":{"postCount":248,"coverImage":{"id":"1*V5w-pFuBrFehseRUlelC7Q.png","originalWidth":1370,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"developer","name":"Developer","postCount":46488,"metadata":{"postCount":46488,"coverImage":{"id":"0*CwOOQAThbbDeh5Qo","originalWidth":6720,"originalHeight":4480,"isFeatured":true,"alt":"AI in software development | Freelance developer trends | Rise of micro-SaaS | Developer gig economy | Impact of automation on coding jobs","unsplashPhotoId":"kwzWjTnDPLk"}},"type":"Tag"},{"slug":"developer-stories","name":"Developer Stories","postCount":1270,"metadata":{"postCount":1270,"coverImage":{"id":"1*jeA2ShmBl7VN294Ax4nA5w.png","originalWidth":1586,"originalHeight":608,"isFeatured":true}},"type":"Tag"},{"slug":"adobe-creative-cloud","name":"Adobe Creative Cloud","postCount":363,"metadata":{"postCount":363,"coverImage":{"id":"1*-7AMxBZiGmhpDPvy0h-MrA@2x.png","originalWidth":1500,"originalHeight":1000,"isFeatured":true,"alt":"Decorative graphic"}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://developer.adobe.com/developer-champion/ali-abdolyousefi/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/community/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/developer-champion/justin-taylor","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/developer-champion/prasanta-barman","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/developers-live","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/developer-champion/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/developer-champion/rules","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/developer-champion/tom-balev/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/developer-champion/davide-barranca/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/developer-champion/zuri-klaschka","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/developer-champion/directory","alts":[],"httpStatus":200},{"url":"https://helpx.adobe.com/community/community-experts.html","alts":[],"httpStatus":0},{"url":"https://developer.adobe.com/developer-champion/eugen-pfluger/","alts":[],"httpStatus":200},{"url":"https://hyperbrew.co/","alts":[],"httpStatus":200},{"url":"https://new.express.adobe.com/add-ons?addOnId=w3n7k0gni","alts":[],"httpStatus":200},{"url":"https://hyperbrew.co/tools/klutz-gpt/","alts":[],"httpStatus":200},{"url":"https://airtable.com/appgEKNJJAunCCEhd/pagbmMjQAezSwTMRF/form","alts":[],"httpStatus":200},{"url":"https://designerstool.org/","alts":[],"httpStatus":200},{"url":"https://adobesparkpost.app.link/TR9Mb7TXFLb?addOnId=w9m8n0h5l","alts":[],"httpStatus":200},{"url":"https://adobesparkpost.app.link/TR9Mb7TXFLb?addOnId=w24599mji","alts":[],"httpStatus":200},{"url":"https://www.ps-scripting.com/professional-ps-uxp.html","alts":[],"httpStatus":200},{"url":"https://www.youtube.com/playlist?list=PLRR5kmVeh43alNtSKHUlmbBjLqezgwzPJ","alts":[{"type":2,"url":"http://www.youtube.com/playlist?list=PLRR5kmVeh43alNtSKHUlmbBjLqezgwzPJ&feature=applinks"},{"type":3,"url":"http://www.youtube.com/playlist?list=PLRR5kmVeh43alNtSKHUlmbBjLqezgwzPJ&feature=applinks"}],"httpStatus":200},{"url":"http://discord.gg/nc3QDyFeb4","alts":[],"httpStatus":200},{"url":"https://www.youtube.com/integnity","alts":[{"type":3,"url":"https://www.youtube.com/channel/UC7_y8CoEumJkoSeRfVrMkVg?feature=applinks"},{"type":2,"url":"vnd.youtube://www.youtube.com/channel/UC7_y8CoEumJkoSeRfVrMkVg"}],"httpStatus":200},{"url":"https://hyperbrew.co/resources/bolt-express/","alts":[],"httpStatus":200},{"url":"https://www.omata.io/","alts":[],"httpStatus":200},{"url":"https://www.omata.io/mate","alts":[],"httpStatus":200},{"url":"https://www.linkedin.com/in/eugenpflueger/","alts":[],"httpStatus":999},{"url":"https://www.behance.net/creativeclouddevs","alts":[],"httpStatus":200},{"url":"https://www.youtube.com/watch?v=5cIeAlqcmWk","alts":[],"httpStatus":200},{"url":"https://www.youtube.com/watch?v=-sE1Mj5_EtE","alts":[],"httpStatus":200},{"url":"https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeveloper.adobe.com%2Fexpress%2Fadd-ons%2F&data=05%7C02%7Cfinnegan%40adobe.com%7C4b084592b11e43c3e0f508dd43b3a1e5%7Cfa7b1b5a7b34438794aed2c178decee1%7C0%7C0%7C638741160978935102%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=EMJiED5ZNOjLmBcFI4r9IpNaXJBgfyVwDcp%2Bjj7aJ9I%3D&reserved=0","alts":[],"httpStatus":200},{"url":"https://uxplugins.com/auto-icon/","alts":[],"httpStatus":200},{"url":"http://uxplugins.com/","alts":[],"httpStatus":200},{"url":"https://blog.developer.adobe.com/developer-spotlight-building-adobe-express-add-ons-with-prasanta-barman-481421fae95a?source=friends_link&sk=b1892886b6f92d07891883b894b41259","alts":[{"type":3,"url":"medium://p/481421fae95a"},{"type":2,"url":"medium://p/481421fae95a"}],"httpStatus":200},{"url":"http://adobe.ly/devnews","alts":[],"httpStatus":200},{"url":"https://blog.developer.adobe.com/my-experience-building-an-adobe-express-add-on-12d467e8b276","alts":[{"type":3,"url":"medium://p/12d467e8b276"},{"type":2,"url":"medium://p/12d467e8b276"}],"httpStatus":200},{"url":"https://spotlightfx.com/","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1738602672791},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":9,"sectionCount":2,"readingList":0,"topics":[{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"introducing-the-creative-cloud-developer-champion-program","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"introducing-the-creative-cloud-developer-champion-program-c45283ab6942","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*-7AMxBZiGmhpDPvy0h-MrA@2x.png","originalWidth":1500,"originalHeight":1000,"isFeatured":true,"alt":"Decorative graphic"}},{"name":"e60d","type":3,"text":"Introducing the Creative Cloud Developer Champion Program","markups":[],"alignment":1},{"name":"ead8","type":13,"text":"We’re rewarding outstanding members of our…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"We’re rewarding outstanding members of our developer community: Find out what it takes to be a champion and nominate one today!"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"9342990108af","isNewsletter":false,"newsletterId":"d140a02a503d","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":6,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"e60d","type":3,"text":"Introducing the Creative Cloud Developer Champion Program","markups":[]},{"name":"ead8","type":13,"text":"We’re rewarding outstanding members of our developer community: Find out what it takes to be a champion and nominate one today!","markups":[]},{"name":"6cd9","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*-7AMxBZiGmhpDPvy0h-MrA@2x.png","originalWidth":1500,"originalHeight":1000,"isFeatured":true,"alt":"Decorative graphic"}},{"name":"4766","type":1,"text":"If you develop plugins, scripts, or extensions for Creative Cloud products, or add-ons for Adobe Express specifically, chances are that somewhere along your journey you got help from a friendly developer in a forum, or you found an extremely useful tool or library. Maybe you read a book or took…","markups":[]}],"sections":[{"name":"3568","startIndex":0}]},"isFullContent":false,"subtitle":"We’re rewarding outstanding members of our developer community: Find out what it takes to be a champion and nominate one today!"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"481421fae95a":{"id":"481421fae95a","versionId":"d3c179299632","creatorId":"d730e5943984","homeCollectionId":"9342990108af","title":"Developer Spotlight: Building Adobe Express Add-Ons with Prasanta Barman","detectedLanguage":"en","latestVersion":"d3c179299632","latestPublishedVersion":"d3c179299632","hasUnpublishedEdits":false,"latestRev":105,"createdAt":1733524994688,"updatedAt":1733959180424,"acceptedAt":0,"firstPublishedAt":1733955513211,"latestPublishedAt":1733955513211,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"The developer behind popular Adobe Express add-ons like Color Blindness Simulator and Gifinity gives us an exclusive look into his process.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*V5w-pFuBrFehseRUlelC7Q.png","filter":"","backgroundSize":"","originalWidth":1370,"originalHeight":720,"strategy":"resample","height":0,"width":0},"wordCount":1436,"imageCount":3,"readingTime":5.968867924528301,"subtitle":"The developer behind popular Adobe Express add-ons like Color Blindness Simulator and Gifinity gives us an exclusive look into his process.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":3,"isBookmarked":false,"tags":[{"slug":"adobe-express","name":"Adobe Express","postCount":248,"metadata":{"postCount":248,"coverImage":{"id":"1*V5w-pFuBrFehseRUlelC7Q.png","originalWidth":1370,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"adobe-express-add-ons","name":"Adobe Express Add Ons","postCount":19,"metadata":{"postCount":19,"coverImage":{"id":"1*MffUnLJhrBgQUnMRy5JZZQ.png","originalWidth":1644,"originalHeight":2158,"isFeatured":true,"alt":"Video info log in console"}},"type":"Tag"},{"slug":"adobe-creative-cloud","name":"Adobe Creative Cloud","postCount":363,"metadata":{"postCount":363,"coverImage":{"id":"1*-7AMxBZiGmhpDPvy0h-MrA@2x.png","originalWidth":1500,"originalHeight":1000,"isFeatured":true,"alt":"Decorative graphic"}},"type":"Tag"},{"slug":"color-blindness","name":"Color Blindness","postCount":271,"metadata":{"postCount":271,"coverImage":{"id":"1*V5w-pFuBrFehseRUlelC7Q.png","originalWidth":1370,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"accessibility","name":"Accessibility","postCount":20234,"metadata":{"postCount":20234,"coverImage":{"id":"1*Pro17jWu4vKNG6ffULMBgA.jpeg","originalWidth":3888,"originalHeight":2588}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://developer.adobe.com/express/community/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/developer-champion/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/fund-for-design/","alts":[],"httpStatus":200},{"url":"https://designerstool.org/","alts":[],"httpStatus":200},{"url":"https://new.express.adobe.com/add-ons?addOnId=w1900l47n","alts":[],"httpStatus":200},{"url":"https://new.express.adobe.com/add-ons?addOnId=wmi586nj3","alts":[],"httpStatus":200},{"url":"https://new.express.adobe.com/add-ons?addOnId=w367g6hkj","alts":[],"httpStatus":200},{"url":"https://new.express.adobe.com/add-ons?addOnId=w3n7k0gni","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/guides/getting_started/dev_tooling/#templates:~:text=React%20with%20JavaScript-,react%2Dtypescript,-React%20with%20TypeScript","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/guides/getting_started/code_playground/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/references/addonsdk/app-document/#addanimatedimage","alts":[],"httpStatus":200},{"url":"https://exchange.adobe.com/apps/cc/996eaaf8/openicon","alts":[],"httpStatus":200},{"url":"https://webassembly.org/","alts":[],"httpStatus":200},{"url":"https://opensource.adobe.com/spectrum-web-components/","alts":[],"httpStatus":200},{"url":"https://opensource.adobe.com/spectrum-web-components/using-swc-react/","alts":[],"httpStatus":200},{"url":"https://spectrum.adobe.com/page/theming/#Resources-for-Spectrum-for-Adobe-Express","alts":[],"httpStatus":200},{"url":"https://discord.com/invite/adobeexpress","alts":[],"httpStatus":200},{"url":"https://blog.developer.adobe.com/get-funding-to-build-adobe-express-add-ons-093ddf8336be","alts":[{"type":3,"url":"medium://p/093ddf8336be"},{"type":2,"url":"medium://p/093ddf8336be"}],"httpStatus":200}],"version":"0.3","generatedAt":1733955514036},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":7,"sectionCount":1,"readingList":0,"topics":[{"topicId":"55321ac40456","slug":"design","createdAt":1536181929758,"deletedAt":0,"image":{"id":"1*1aLu20aptPeUTDg_E8KtmA@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Design","description":"Below the surface.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Design Articles and News — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"developer-spotlight-building-adobe-express-add-ons-with-prasanta-barman","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"developer-spotlight-building-adobe-express-add-ons-with-prasanta-barman-481421fae95a","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*V5w-pFuBrFehseRUlelC7Q.png","originalWidth":1370,"originalHeight":720,"isFeatured":true}},{"name":"9e05","type":3,"text":"Developer Spotlight: Building Adobe Express Add-Ons with Prasanta Barman","markups":[],"alignment":1},{"name":"0163","type":13,"text":"The developer behind popular…","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"The developer behind popular Adobe Express add-ons like Color Blindness Simulator and Gifinity gives us an exclusive look into his process."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"9342990108af","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"9e05","type":3,"text":"Developer Spotlight: Building Adobe Express Add-Ons with Prasanta Barman","markups":[]},{"name":"0163","type":13,"text":"The developer behind popular Adobe Express add-ons like Color Blindness Simulator and Gifinity gives us an exclusive look into his process.","markups":[]},{"name":"05c5","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*V5w-pFuBrFehseRUlelC7Q.png","originalWidth":1370,"originalHeight":720,"isFeatured":true}},{"name":"3c52","type":1,"text":"The Adobe Express developer community has been growing rapidly over the past year, and we have been blown away by the amount of talent that’s innovating to extend the functionality of Adobe Express. One of the most prolific members of this community is Prasanta Barman, an experienced developer who has…","markups":[]}],"sections":[{"name":"28b4","startIndex":0}]},"isFullContent":false,"subtitle":"The developer behind popular Adobe Express add-ons like Color Blindness Simulator and Gifinity gives us an exclusive look into his process."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"3a237b760a6d":{"id":"3a237b760a6d","versionId":"84927433539a","creatorId":"c10f58236715","homeCollectionId":"9342990108af","title":"Behind the Scenes with Ammar Alim, DevSecOps Leader","detectedLanguage":"en","latestVersion":"84927433539a","latestPublishedVersion":"84927433539a","hasUnpublishedEdits":false,"latestRev":80,"createdAt":1733420367449,"updatedAt":1733423280184,"acceptedAt":0,"firstPublishedAt":1733420577693,"latestPublishedAt":1733420632747,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"By Ammar Alim, Senior Manager, DevSecOps","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*VyCjLFPyEkZsuKtflim4yg.png","filter":"","backgroundSize":"","originalWidth":1888,"originalHeight":984,"strategy":"resample","height":0,"width":0},"wordCount":1608,"imageCount":2,"readingTime":6.451257861635221,"subtitle":"By Ammar Alim, Senior Manager, DevSecOps","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":5,"isBookmarked":false,"tags":[{"slug":"devsecops","name":"Devsecops","postCount":5722,"metadata":{"postCount":5722,"coverImage":{"id":"1*3WJwRiM7um9RwOfAUxBQEw.jpeg","originalWidth":1024,"originalHeight":1024,"isFeatured":true}},"type":"Tag"},{"slug":"cloud-security","name":"Cloud Security","postCount":7798,"metadata":{"postCount":7798,"coverImage":{"id":"0*045p2_yjsyRIajBr","originalWidth":1050,"originalHeight":591,"isFeatured":true}},"type":"Tag"},{"slug":"security","name":"Security","postCount":128542,"metadata":{"postCount":128542,"coverImage":{"id":"0*g062nualCReOnY1k","originalWidth":4011,"originalHeight":2664,"isFeatured":true,"unsplashPhotoId":"bIgpii04UIg"}},"type":"Tag"},{"slug":"security-culture","name":"Security Culture","postCount":68,"metadata":{"postCount":68,"coverImage":{"id":"1*VyCjLFPyEkZsuKtflim4yg.png","originalWidth":1888,"originalHeight":984,"isFeatured":true}},"type":"Tag"},{"slug":"product-security","name":"Product Security","postCount":183,"metadata":{"postCount":183,"coverImage":{"id":"1*9WZDRITgNKBMiOY_tDVHdA.png","originalWidth":960,"originalHeight":1200,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"mailto:https://www.linkedin.com/in/ammar-alim-6630a977/","alts":[],"httpStatus":0},{"url":"https://survey.adobe.com/jfe/form/SV_08TWfd3N5aWWNWS","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1733420633454},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":70,"sectionCount":2,"readingList":0,"topics":[{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"behind-the-scenes-with-ammar-alim-devsecops-leader","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":true,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"behind-the-scenes-with-ammar-alim-devsecops-leader-3a237b760a6d","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*VyCjLFPyEkZsuKtflim4yg.png","originalWidth":1888,"originalHeight":984,"isFeatured":true}},{"name":"9c4a","type":3,"text":"Behind the Scenes with Ammar Alim, DevSecOps Leader","markups":[{"type":1,"start":0,"end":51}],"alignment":1},{"name":"40d0","type":13,"text":"By Ammar Alim, Senior Manager, DevSecOps","markups":[{"type":3,"start":3,"end":13,"href":"mailto:https://www.linkedin.com/in/ammar-alim-6630a977/","title":"","rel":"","anchorType":0}],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"By Ammar Alim, Senior Manager, DevSecOps"},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"9342990108af","isNewsletter":false,"newsletterId":"2b4e40504d71","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":6,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"9c4a","type":3,"text":"Behind the Scenes with Ammar Alim, DevSecOps Leader","markups":[{"type":1,"start":0,"end":51}]},{"name":"40d0","type":13,"text":"By Ammar Alim, Senior Manager, DevSecOps","markups":[{"type":3,"start":3,"end":13,"href":"mailto:https://www.linkedin.com/in/ammar-alim-6630a977/","title":"","rel":"","anchorType":0}]},{"name":"ebe9","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*VyCjLFPyEkZsuKtflim4yg.png","originalWidth":1888,"originalHeight":984,"isFeatured":true}},{"name":"9ad6","type":1,"text":"Adobe’s DevSecOps team creates innovative solutions that seamlessly integrates application and infrastructure security into Agile and DevOps workflows. By embedding security into these solutions from the earliest stages of development, Adobe’s engineering teams can address security issues easier, faster, and at less expense before they reach production. Ensuring that Adobe…","markups":[]}],"sections":[{"name":"6235","startIndex":0}]},"isFullContent":false,"subtitle":"By Ammar Alim, Senior Manager, DevSecOps"},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":true,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"8404940e4d43":{"id":"8404940e4d43","versionId":"bc1e36b5af59","creatorId":"7a28b5b75787","homeCollectionId":"9342990108af","title":"Important Cross-Origin Isolation Update for Adobe Express Add-on Developers","detectedLanguage":"en","latestVersion":"bc1e36b5af59","latestPublishedVersion":"bc1e36b5af59","hasUnpublishedEdits":false,"latestRev":643,"createdAt":1730754602521,"updatedAt":1738106553706,"acceptedAt":0,"firstPublishedAt":1731103077252,"latestPublishedAt":1738103310478,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Adobe Express will enforce cross-origin isolation for Chromium-based browsers—read more about impact and how to test your add-ons.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*PsAIksivYIiDbRyisLx3yg.jpeg","filter":"","backgroundSize":"","originalWidth":2688,"originalHeight":1536,"strategy":"resample","height":0,"width":0},"wordCount":777,"imageCount":1,"readingTime":3.1320754716981134,"subtitle":"Adobe Express will enforce cross-origin isolation for Chromium-based browsers—read more about impact and how to test your add-ons.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":0,"isBookmarked":false,"tags":[{"slug":"adobe-express","name":"Adobe Express","postCount":248,"metadata":{"postCount":248,"coverImage":{"id":"1*V5w-pFuBrFehseRUlelC7Q.png","originalWidth":1370,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"addons","name":"Add On","postCount":0,"metadata":{"postCount":0,"coverImage":{"id":"1*jpwL49ebWUyxTUHIkOrLjg.png","originalWidth":1044,"originalHeight":660}},"type":"Tag"},{"slug":"developer","name":"Developer","postCount":46488,"metadata":{"postCount":46488,"coverImage":{"id":"0*CwOOQAThbbDeh5Qo","originalWidth":6720,"originalHeight":4480,"isFeatured":true,"alt":"AI in software development | Freelance developer trends | Rise of micro-SaaS | Developer gig economy | Impact of automation on coding jobs","unsplashPhotoId":"kwzWjTnDPLk"}},"type":"Tag"},{"slug":"cross-origin-isolation","name":"Cross Origin Isolation","postCount":0,"metadata":{"postCount":0},"type":"Tag"},{"slug":"adobe-creative-cloud","name":"Adobe Creative Cloud","postCount":363,"metadata":{"postCount":363,"coverImage":{"id":"1*-7AMxBZiGmhpDPvy0h-MrA@2x.png","originalWidth":1500,"originalHeight":1000,"isFeatured":true,"alt":"Decorative graphic"}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://developer.adobe.com/express/add-ons/docs/guides/develop/coi/#what-to-test-in-your-add-on","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/community","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/guides/develop/coi/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/guides/develop/coi/#addressing-issues-found-in-your-add-on","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/guides/develop/coi/#testing-your-add-on","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/references/changelog/","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1738103310687},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":0,"sectionCount":1,"readingList":0,"topics":[{"topicId":"63c6f1f93ee","slug":"javascript","createdAt":1493945704961,"deletedAt":0,"image":{"id":"1*5UyyDJ1ESD11yQNd1UVAaQ@2x.jpeg","originalWidth":5472,"originalHeight":3648},"name":"Javascript","description":"An ode to code.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Javascript News and Articles — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"important-cross-origin-isolation-update-for-adobe-express-add-on-developers","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"important-cross-origin-isolation-update-for-adobe-express-add-on-developers-8404940e4d43","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*PsAIksivYIiDbRyisLx3yg.jpeg","originalWidth":2688,"originalHeight":1536,"isFeatured":true}},{"name":"a2a9","type":3,"text":"Important Cross-Origin Isolation Update for Adobe Express Add-on Developers","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Adobe Express will enforce cross-origin isolation for Chromium-based browsers—read more about impact and how to test your add-ons."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"9342990108af","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":6,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"a2a9","type":3,"text":"Important Cross-Origin Isolation Update for Adobe Express Add-on Developers","markups":[]},{"name":"23c4","type":4,"text":"Important updates for Adobe Express add-on developers. (Image generated by Adobe Firefly)","markups":[],"layout":1,"metadata":{"id":"1*PsAIksivYIiDbRyisLx3yg.jpeg","originalWidth":2688,"originalHeight":1536,"isFeatured":true}},{"name":"d448","type":1,"text":"Adobe Express will soon enforce cross-origin isolation for Chromium-based browsers (including Chrome, Microsoft Edge, Opera, and others). This change may negatively impact your add-on’s functionality due to stricter rules enforced by the browser. You’ll want to ensure that any add-ons you’ve developed or are building now work in this new…","markups":[{"type":1,"start":0,"end":82}]}],"sections":[{"name":"5ac0","startIndex":0}]},"isFullContent":false,"subtitle":"Adobe Express will enforce cross-origin isolation for Chromium-based browsers—read more about impact and how to test your add-ons."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"0dd5c663563e":{"id":"0dd5c663563e","versionId":"31b79e41673c","creatorId":"d32c824b4112","homeCollectionId":"9342990108af","title":"Updates for Creative Cloud Desktop Extensibility","detectedLanguage":"en","latestVersion":"31b79e41673c","latestPublishedVersion":"31b79e41673c","hasUnpublishedEdits":false,"latestRev":306,"createdAt":1729209390903,"updatedAt":1731625751158,"acceptedAt":0,"firstPublishedAt":1729289106580,"latestPublishedAt":1731428719083,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"This post is for anyone who has built CEP Extensions or UXP plugins or has hosted their work in Adobe Marketplace.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"1*o1mYE9VVFLJk8k27juic2w.png","filter":"","backgroundSize":"","originalWidth":1280,"originalHeight":720,"strategy":"resample","height":0,"width":0},"wordCount":746,"imageCount":1,"readingTime":3.0150943396226415,"subtitle":"This post is for anyone who has built CEP Extensions or UXP plugins or has hosted their work in Adobe Marketplace.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":0,"isBookmarked":false,"tags":[{"slug":"adobe-creative-cloud","name":"Adobe Creative Cloud","postCount":363,"metadata":{"postCount":363,"coverImage":{"id":"1*-7AMxBZiGmhpDPvy0h-MrA@2x.png","originalWidth":1500,"originalHeight":1000,"isFeatured":true,"alt":"Decorative graphic"}},"type":"Tag"},{"slug":"uxp","name":"Uxp","postCount":45,"metadata":{"postCount":45,"coverImage":{"id":"1*1m25tCzv5MpiB7IQjoX7fA.png","originalWidth":1370,"originalHeight":1564,"isFeatured":true}},"type":"Tag"},{"slug":"cep","name":"Cep","postCount":123,"metadata":{"postCount":123,"coverImage":{"id":"1*YirWSzoyj3XEGf3enz7KzQ.png","originalWidth":1400,"originalHeight":785,"isFeatured":true}},"type":"Tag"},{"slug":"extensibility","name":"Extensibility","postCount":88,"metadata":{"postCount":88,"coverImage":{"id":"1*GlFUTPpTTDXs1rH3GOC_TA.png","originalWidth":1200,"originalHeight":627,"isFeatured":true}},"type":"Tag"},{"slug":"plugins","name":"Plugins","postCount":7440,"metadata":{"postCount":7440,"coverImage":{"id":"1*CD2IUwifOPOIHEAUa83mrQ.jpeg","originalWidth":2400,"originalHeight":1349,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"mailto:ppro-uxp-extensibility@adobe.com","alts":[],"httpStatus":0},{"url":"mailto:ccintrev@adobe.com","alts":[],"httpStatus":0},{"url":"https://developer.adobe.com/indesign/uxp/changelog/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/photoshop/uxp/2022/ps_reference/changelog/","alts":[],"httpStatus":200},{"url":"https://commission.europa.eu/strategy-and-policy/priorities-2019-2024/europe-fit-digital-age/digital-services-act_en","alts":[],"httpStatus":200},{"url":"https://github.com/Adobe-CEP/CEP-Resources/blob/master/CEP_12.x/Documentation/CEP%2012%20HTML%20Extension%20Cookbook.md","alts":[],"httpStatus":200},{"url":"https://github.com/Adobe-CEP/CEP-Resources/blob/master/CEP_12.x/Documentation/CEP%2012%20HTML%20Extension%20Cookbook.md#migration-from-cep-11-to-cep-12","alts":[],"httpStatus":200},{"url":"https://github.com/Adobe-CEP/CEP-Resources/blob/master/CEP_12.x/Documentation/Issues.md","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/xd/uxp/faq/","alts":[],"httpStatus":200},{"url":"http://adobe.ly/devnews","alts":[],"httpStatus":200},{"url":"https://community.adobe.com/t5/exchange/ct-p/ct-exchange","alts":[],"httpStatus":200},{"url":"https://events.ringcentral.com/events/office-hours-for-adobe-creative-cloud-developers-november-21-2024-c1aa9b2f-2cf5-4c60-b776-58190a945b7e","alts":[],"httpStatus":200},{"url":"https://exchange.adobe.com/","alts":[],"httpStatus":200}],"version":"0.3","generatedAt":1731428720766},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":0,"sectionCount":2,"readingList":0,"topics":[{"topicId":"55321ac40456","slug":"design","createdAt":1536181929758,"deletedAt":0,"image":{"id":"1*1aLu20aptPeUTDg_E8KtmA@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Design","description":"Below the surface.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Design Articles and News — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"updates-for-creative-cloud-desktop-extensibility","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"updates-for-creative-cloud-desktop-extensibility-0dd5c663563e","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"1*o1mYE9VVFLJk8k27juic2w.png","originalWidth":1280,"originalHeight":720,"isFeatured":true}},{"name":"previewTitle","type":3,"text":"Updates for Creative Cloud Desktop Extensibility","alignment":1},{"name":"previewSubtitle","type":13,"text":"This post is for anyone who has built CEP Extensions…","alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"This post is for anyone who has built CEP Extensions or UXP plugins or has hosted their work in Adobe Marketplace."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"9342990108af","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":4,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"be25","type":3,"text":"Updates for Creative Cloud Desktop Extensibility","markups":[]},{"name":"860b","type":13,"text":"The latest info for anyone who has built CEP Extensions or UXP plugins or has hosted their work in Adobe Marketplace.","markups":[]},{"name":"6d27","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"1*o1mYE9VVFLJk8k27juic2w.png","originalWidth":1280,"originalHeight":720,"isFeatured":true}},{"name":"e811","type":3,"text":"Unified eXtensibility Platform (UXP)","markups":[]},{"name":"bb86","type":1,"text":"We recently released UXP v8.0 in Photoshop 2025 (v26) and InDesign v20.0 with key features mentioned below:","markups":[]},{"name":"259b","type":9,"text":"Support for new Spectrum Web Components to provide a wholesome UI library that aligns with Adobe’s Design Language — Spectrum","markups":[{"type":1,"start":12,"end":39}]},{"name":"b598","type":9,"text":"The much-awaited local HTML support for Webview. Webviews are particularly helpful for features…","markups":[{"type":1,"start":17,"end":47}]}],"sections":[{"name":"bf37","startIndex":0}]},"isFullContent":false,"subtitle":"This post is for anyone who has built CEP Extensions or UXP plugins or has hosted their work in Adobe Marketplace."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"},"62520c603a2b":{"id":"62520c603a2b","versionId":"c2f9975b3244","creatorId":"d730e5943984","homeCollectionId":"9342990108af","title":"How Accessify Was Built: An Adobe Express Add-On That Ensures Your Content Is Accessible","detectedLanguage":"en","latestVersion":"c2f9975b3244","latestPublishedVersion":"c2f9975b3244","hasUnpublishedEdits":false,"latestRev":120,"createdAt":1729103512687,"updatedAt":1731625734483,"acceptedAt":0,"firstPublishedAt":1729225883917,"latestPublishedAt":1729225883917,"vote":false,"experimentalCss":"","displayAuthor":"","content":{"subtitle":"Discover the story behind the winner of the Most Creative Adobe Express Add-On category at a recent Major League Hacking hackathon.","postDisplay":{"coverless":true}},"virtuals":{"statusForCollection":"APPROVED","allowNotes":true,"previewImage":{"imageId":"0*tQ2Z1LtmqjkFWDMz","filter":"","backgroundSize":"","originalWidth":1600,"originalHeight":995,"strategy":"resample","height":0,"width":0},"wordCount":1097,"imageCount":2,"readingTime":4.522955974842768,"subtitle":"Discover the story behind the winner of the Most Creative Adobe Express Add-On category at a recent Major League Hacking hackathon.","publishedInCount":1,"usersBySocialRecommends":[],"noIndex":false,"recommends":4,"isBookmarked":false,"tags":[{"slug":"adobe-express","name":"Adobe Express","postCount":248,"metadata":{"postCount":248,"coverImage":{"id":"1*V5w-pFuBrFehseRUlelC7Q.png","originalWidth":1370,"originalHeight":720,"isFeatured":true}},"type":"Tag"},{"slug":"adobe-express-add-ons","name":"Adobe Express Add Ons","postCount":19,"metadata":{"postCount":19,"coverImage":{"id":"1*MffUnLJhrBgQUnMRy5JZZQ.png","originalWidth":1644,"originalHeight":2158,"isFeatured":true,"alt":"Video info log in console"}},"type":"Tag"},{"slug":"adobe-creative-cloud","name":"Adobe Creative Cloud","postCount":363,"metadata":{"postCount":363,"coverImage":{"id":"1*-7AMxBZiGmhpDPvy0h-MrA@2x.png","originalWidth":1500,"originalHeight":1000,"isFeatured":true,"alt":"Decorative graphic"}},"type":"Tag"},{"slug":"extensibility","name":"Extensibility","postCount":88,"metadata":{"postCount":88,"coverImage":{"id":"1*GlFUTPpTTDXs1rH3GOC_TA.png","originalWidth":1200,"originalHeight":627,"isFeatured":true}},"type":"Tag"},{"slug":"hackathons","name":"Hackathons","postCount":19371,"metadata":{"postCount":19371,"coverImage":{"id":"1*nFKh08kTJ84yRVy03F0CIQ.jpeg","originalWidth":1472,"originalHeight":832,"isFeatured":true}},"type":"Tag"}],"socialRecommendsCount":0,"responsesCreatedCount":0,"links":{"entries":[{"url":"https://webaim.org/resources/contrastchecker/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/fund-for-design/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/hackathons/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/","alts":[],"httpStatus":200},{"url":"https://mlh.io/","alts":[],"httpStatus":403},{"url":"https://mlh.io/seasons/2025/events","alts":[],"httpStatus":403},{"url":"https://www.thecolorapi.com/","alts":[],"httpStatus":200},{"url":"https://www.w3.org/WAI/standards-guidelines/wcag/","alts":[],"httpStatus":200},{"url":"https://opensource.adobe.com/spectrum-web-components/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/guides/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/references/document-sandbox/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/guides/tutorials/","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/guides/getting_started/dev_tooling/#using-the-cli","alts":[],"httpStatus":200},{"url":"https://developer.adobe.com/express/add-ons/docs/guides/distribute/private-dist/","alts":[],"httpStatus":200},{"url":"https://adobesparkpost.app.link/TR9Mb7TXFLb?addOnId=wji52hkm6","alts":[],"httpStatus":200},{"url":"https://ugahacks.com/","alts":[],"httpStatus":200},{"url":"https://github.com/interaktivarum/rgblind","alts":[],"httpStatus":200},{"url":"https://blog.developer.adobe.com/introducing-the-adobe-express-code-playground-6e6e6fc723a3","alts":[{"type":3,"url":"medium://p/6e6e6fc723a3"},{"type":2,"url":"medium://p/6e6e6fc723a3"}],"httpStatus":200},{"url":"https://blog.developer.adobe.com/get-funding-to-build-adobe-express-add-ons-093ddf8336be","alts":[{"type":2,"url":"medium://p/093ddf8336be"},{"type":3,"url":"medium://p/093ddf8336be"}],"httpStatus":200}],"version":"0.3","generatedAt":1729225884777},"isLockedPreviewOnly":false,"metaDescription":"","totalClapCount":32,"sectionCount":1,"readingList":0,"topics":[{"topicId":"55321ac40456","slug":"design","createdAt":1536181929758,"deletedAt":0,"image":{"id":"1*1aLu20aptPeUTDg_E8KtmA@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Design","description":"Below the surface.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Design Articles and News — Medium","type":"Topic"},{"topicId":"decb52b64abf","slug":"programming","createdAt":1493934116328,"deletedAt":0,"image":{"id":"1*iPa136b1cGEO7lvoXg6uHQ@2x.jpeg","originalWidth":6016,"originalHeight":4016},"name":"Programming","description":"The good, the bad, the buggy.","relatedTopics":[],"visibility":1,"relatedTags":[],"relatedTopicIds":[],"seoTitle":"Programming News and Articles — Medium","type":"Topic"}]},"coverless":true,"slug":"how-accessify-was-built-an-adobe-express-add-on-that-ensures-your-content-is-accessible","translationSourcePostId":"","translationSourceCreatorId":"","isApprovedTranslation":false,"inResponseToPostId":"","inResponseToRemovedAt":0,"isTitleSynthesized":false,"allowResponses":true,"importedUrl":"","importedPublishedAt":0,"visibility":0,"uniqueSlug":"how-accessify-was-built-an-adobe-express-add-on-that-ensures-your-content-is-accessible-62520c603a2b","previewContent":{"bodyModel":{"paragraphs":[{"name":"previewImage","type":4,"text":"","layout":10,"metadata":{"id":"0*tQ2Z1LtmqjkFWDMz","originalWidth":1600,"originalHeight":995,"isFeatured":true}},{"name":"8fe6","type":3,"text":"How Accessify Was Built: An Adobe Express Add-On That Ensures Your Content Is Accessible","markups":[],"alignment":1}],"sections":[{"startIndex":0}]},"isFullContent":false,"subtitle":"Discover the story behind the winner of the Most Creative Adobe Express Add-On category at a recent Major League Hacking hackathon."},"license":0,"inResponseToMediaResourceId":"","canonicalUrl":"","approvedHomeCollectionId":"9342990108af","isNewsletter":false,"newsletterId":"","webCanonicalUrl":"","mediumUrl":"","migrationId":"","notifyFollowers":true,"notifyTwitter":false,"notifyFacebook":false,"responseHiddenOnParentPostAt":0,"isSeries":false,"isSubscriptionLocked":false,"seriesLastAppendedAt":0,"audioVersionDurationSec":0,"sequenceId":"","isEligibleForRevenue":false,"isBlockedFromHightower":false,"deletedAt":0,"lockedPostSource":0,"hightowerMinimumGuaranteeStartsAt":0,"hightowerMinimumGuaranteeEndsAt":0,"featureLockRequestAcceptedAt":0,"mongerRequestType":1,"layerCake":0,"socialTitle":"","socialDek":"","editorialPreviewTitle":"","editorialPreviewDek":"","curationEligibleAt":0,"isProxyPost":false,"proxyPostFaviconUrl":"","proxyPostProviderName":"","proxyPostType":0,"isSuspended":false,"isLimitedState":false,"seoTitle":"","previewContent2":{"bodyModel":{"paragraphs":[{"name":"8fe6","type":3,"text":"How Accessify Was Built: An Adobe Express Add-On That Ensures Your Content Is Accessible","markups":[]},{"name":"e2b7","type":13,"text":"Discover the story behind the winner of the Most Creative Adobe Express Add-On category at a recent Major League Hacking hackathon.","markups":[]},{"name":"764d","type":4,"text":"","markups":[],"layout":1,"metadata":{"id":"0*tQ2Z1LtmqjkFWDMz","originalWidth":1600,"originalHeight":995,"isFeatured":true}},{"name":"fe27","type":1,"text":"Adobe and Major League Hacking (MLH) share a common mission: to empower developers around the world. And so we joined forces with and continue to sponsor this global community for all aspiring developers and code-enthusiasts to help early-career devs learn to build customized digital experiences like Adobe Express add-ons.","markups":[{"type":3,"start":10,"end":30,"href":"https://mlh.io/","title":"","rel":"","anchorType":0},{"type":3,"start":302,"end":323,"href":"https://developer.adobe.com/express/add-ons/","title":"","rel":"","anchorType":0}]},{"name":"7db2","type":1,"text":"In…","markups":[{"type":3,"start":85,"end":152,"href":"https://adobesparkpost.app.link/TR9Mb7TXFLb?addOnId=wji52hkm6","title":"","rel":"","anchorType":0},{"type":3,"start":271,"end":292,"href":"https://developer.adobe.com/fund-for-design/","title":"","rel":"","anchorType":0}]}],"sections":[{"name":"7b2a","startIndex":0}]},"isFullContent":false,"subtitle":"Discover the story behind the winner of the Most Creative Adobe Express Add-On category at a recent Major League Hacking hackathon."},"cardType":0,"isDistributionAlertDismissed":false,"isShortform":false,"shortformType":0,"responsesLocked":false,"isLockedResponse":false,"isPublishToEmail":false,"responseDistribution":0,"isMarkedPaywallOnly":false,"type":"Post"}}},"paging":{"path":"/_/api/collections/9342990108af/stream","next":{"to":"1733420577693","ignoredIds":["8404940e4d43","0dd5c663563e","62520c603a2b"],"page":3}},"collection":{"id":"9342990108af","name":"Adobe Tech Blog","slug":"adobetech","tags":["API","SOFTWARE DEVELOPMENT","ADOBE","CUSTOMER EXPERIENCE","OPEN SOURCE"],"creatorId":"dbf477ee95da","description":"News, updates, and thoughts related to Adobe, developers, and technology.","shortDescription":"News, updates, and thoughts related to Adobe, developers…","image":{"imageId":"1*riyFijvwTfGcWNf1guRNtg.png","filter":"","backgroundSize":"","originalWidth":1249,"originalHeight":1249,"strategy":"resample","height":0,"width":0},"metadata":{"followerCount":7850,"activeAt":1738950374179},"virtuals":{"permissions":{"canPublish":false,"canPublishAll":false,"canRepublish":false,"canRemove":false,"canManageAll":false,"canSubmit":false,"canEditPosts":false,"canAddWriters":false,"canViewStats":false,"canSendNewsletter":false,"canViewLockedPosts":false,"canViewCloaked":false,"canEditOwnPosts":false,"canBeAssignedAuthor":false,"canEnrollInHightower":false,"canLockPostsForMediumMembers":false,"canLockOwnPostsForMediumMembers":false,"canViewNewsletterV2Stats":false,"canCreateNewsletterV3":false},"isSubscribed":false,"isEnrolledInHightower":false,"isEligibleForHightower":false,"isSubscribedToCollectionEmails":false,"isMuted":false,"canToggleEmail":false,"isWriter":false},"logo":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"twitterUsername":"adobedevs","publicEmail":"colene@adobe.com","domain":"blog.developer.adobe.com","sections":[{"type":2,"collectionHeaderMetadata":{"backgroundImage":{},"logoImage":{"id":"1*oAeMgTGdZTw8rriJQU3Iiw@2x.png","originalWidth":800,"originalHeight":184,"alt":"Adobe Tech Blog"},"alignment":2,"layout":5}},{"type":1,"postListMetadata":{"source":1,"layout":7,"number":7,"postIds":["a510e71c2c92","7cbc584c29f6","d3176272b3a8","ae1ac8d7ceca","c45283ab6942","481421fae95a","3a237b760a6d"]}},{"type":1,"postListMetadata":{"source":4,"layout":4,"number":3,"postIds":["8404940e4d43","0dd5c663563e","62520c603a2b"],"tagSlug":"Adobe Creative Cloud","tagName":"Adobe Creative Cloud","sectionHeader":"Creative Cloud & Adobe Express"}},{"type":1,"postListMetadata":{"source":4,"layout":4,"number":3,"postIds":[],"tagSlug":"Adobe Experience Cloud","tagName":"Adobe Experience Cloud","sectionHeader":"Experience Cloud Developers"}},{"type":1,"postListMetadata":{"source":4,"layout":4,"number":3,"postIds":[],"tagSlug":"Adobe Document Cloud","tagName":"Adobe Document Cloud","sectionHeader":"Document Cloud Developers"}},{"type":1,"postListMetadata":{"source":4,"layout":4,"number":3,"postIds":[],"tagSlug":"Platform","tagName":"Platform","sectionHeader":"Adobe Developer Platform"}},{"type":1,"postListMetadata":{"source":4,"layout":4,"number":3,"postIds":[],"tagSlug":"Adobe Engineering","tagName":"Adobe Engineering","sectionHeader":"Adobe Engineering"}},{"type":1,"postListMetadata":{"source":4,"layout":4,"number":3,"postIds":[],"tagSlug":"Security","tagName":"Security","sectionHeader":"Security"}},{"type":3,"promoMetadata":{"sectionHeader":"","promoId":"bae1899753f5"}}],"tintColor":"#FF2C2C2C","lightText":true,"favicon":{"imageId":"1*y6TtdKlSFBCCH2t385XObA.png","filter":"","backgroundSize":"","originalWidth":134,"originalHeight":119,"strategy":"resample","height":0,"width":0},"colorPalette":{"defaultBackgroundSpectrum":{"colorPoints":[{"color":"#FF858484","point":0},{"color":"#FF7C7B7B","point":0.1},{"color":"#FF727271","point":0.2},{"color":"#FF696868","point":0.3},{"color":"#FF5F5E5E","point":0.4},{"color":"#FF555454","point":0.5},{"color":"#FF4A4949","point":0.6},{"color":"#FF3F3E3E","point":0.7},{"color":"#FF343333","point":0.8},{"color":"#FF272727","point":0.9},{"color":"#FF1A1A1A","point":1}],"backgroundColor":"#FFFFFFFF"},"tintBackgroundSpectrum":{"colorPoints":[{"color":"#FF2C2C2C","point":0},{"color":"#FF474747","point":0.1},{"color":"#FF605F5F","point":0.2},{"color":"#FF777675","point":0.3},{"color":"#FF8C8B8B","point":0.4},{"color":"#FFA1A09F","point":0.5},{"color":"#FFB5B4B3","point":0.6},{"color":"#FFC9C7C7","point":0.7},{"color":"#FFDCDAD9","point":0.8},{"color":"#FFEFECEC","point":0.9},{"color":"#FFFFFEFE","point":1}],"backgroundColor":"#FF2C2C2C"},"highlightSpectrum":{"colorPoints":[{"color":"#FFF5F2F1","point":0},{"color":"#FFF3F0EF","point":0.1},{"color":"#FFF1EEEE","point":0.2},{"color":"#FFEFECEC","point":0.3},{"color":"#FFEDEAEA","point":0.4},{"color":"#FFEBE8E8","point":0.5},{"color":"#FFE9E7E6","point":0.6},{"color":"#FFE7E5E4","point":0.7},{"color":"#FFE5E3E2","point":0.8},{"color":"#FFE3E1E0","point":0.9},{"color":"#FFE1DFDF","point":1}],"backgroundColor":"#FFFFFFFF"},"darkBackgroundSpectrum":{"colorPoints":[{"color":"#FF9D9C9C","point":0},{"color":"#FFA6A5A4","point":0.1},{"color":"#FFAFADAD","point":0.2},{"color":"#FFB7B6B5","point":0.3},{"color":"#FFC0BEBE","point":0.4},{"color":"#FFC8C6C6","point":0.5},{"color":"#FFD0CECE","point":0.6},{"color":"#FFD8D6D6","point":0.7},{"color":"#FFE0DEDE","point":0.8},{"color":"#FFE8E6E5","point":0.9},{"color":"#FFF0EEED","point":1}],"backgroundColor":"#FF000000"}},"navItems":[{"type":1,"title":"Adobe Developer Platform","tagSlug":"platform","url":"https://blog.developer.adobe.com/tagged/platform","source":"tagSlug"},{"type":1,"title":"Creative Cloud","tagSlug":"adobe-creative-cloud","url":"https://blog.developer.adobe.com/tagged/adobe-creative-cloud","source":"tagSlug"},{"type":1,"title":"Experience Cloud","tagSlug":"adobe-experience-cloud","url":"https://blog.developer.adobe.com/tagged/adobe-experience-cloud","source":"tagSlug"},{"type":1,"title":"Document Cloud","tagSlug":"adobe-document-cloud","url":"https://blog.developer.adobe.com/tagged/adobe-document-cloud","source":"tagSlug"},{"type":1,"title":"Engineering","tagSlug":"adobe-engineering","url":"https://blog.developer.adobe.com/tagged/adobe-engineering","source":"tagSlug"},{"type":1,"title":"Security","tagSlug":"security","url":"https://blog.developer.adobe.com/tagged/security","source":"tagSlug"}],"colorBehavior":2,"ampLogo":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"header":{"backgroundImage":{},"logoImage":{"id":"1*oAeMgTGdZTw8rriJQU3Iiw@2x.png","originalWidth":800,"originalHeight":184,"alt":"Adobe Tech Blog"},"alignment":2,"layout":5},"subscriberCount":7850,"tagline":"News, updates, and thoughts related to Adobe, developers…","isOptedIntoAurora":false,"newsletterV3":{"newsletterV3Id":"9bfd5e345380","type":1,"name":"Adobe Document Cloud","description":"Get the latest articles relating to Adobe Document Services API, Adobe Sign as well integrations into partner eco-systems.","collectionId":"9342990108af","newsletterSlug":"adobe-document-cloud","isSubscribed":false,"showPromo":false,"avatarImageId":"","creatorId":"dc4248042e46","showNewsletterPostsInCollectionHome":false,"exportableSubscribersCount":267,"subscribersCount":1212,"promoHeadline":"","promoBody":"","replyToEmail":""},"isCurationAllowedByDefault":false,"polarisCoverImage":{"imageId":"","filter":"","backgroundSize":"","originalWidth":0,"originalHeight":0,"strategy":"resample","height":0,"width":0},"ptsQualifiedAt":1616092800187,"type":"Collection"},"header":{"backgroundImage":{},"logoImage":{"id":"1*oAeMgTGdZTw8rriJQU3Iiw@2x.png","originalWidth":800,"originalHeight":184,"alt":"Adobe Tech Blog"},"alignment":2,"layout":5},"streamItems":[{"createdAt":1741989799574,"randomId":"a76773e462cc","section":{"items":[{"post":{"postId":"a510e71c2c92"},"itemType":"post"},{"post":{"postId":"7cbc584c29f6"},"itemType":"post"},{"post":{"postId":"d3176272b3a8"},"itemType":"post"},{"post":{"postId":"ae1ac8d7ceca"},"itemType":"post"},{"post":{"postId":"c45283ab6942"},"itemType":"post"},{"post":{"postId":"481421fae95a"},"itemType":"post"},{"post":{"postId":"3a237b760a6d"},"itemType":"post"}],"layout":7},"itemType":"section","type":"StreamItem"},{"createdAt":1741989799574,"randomId":"20d757a80519","section":{"items":[{"post":{"postId":"8404940e4d43"},"itemType":"post"},{"post":{"postId":"0dd5c663563e"},"itemType":"post"},{"post":{"postId":"62520c603a2b"},"itemType":"post"}],"layout":4,"heading":{"fallbackTitle":"Creative Cloud & Adobe Express","headingBasic":{"title":"Creative Cloud & Adobe Express"},"headingType":"headingBasic"}},"itemType":"section","type":"StreamItem"}]}) // ]]></script><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'92070f75bad8fde8',t:'MTc0MTk4OTc5OS4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>