Office Hours 2/3 Recap

Thank you to everyone who attended our first monthly Office Hours for Creative Cloud Developers! From new developers to long-time partners imparting their expertise during the session, we appreciate each and every one of you for taking the time to register and submit questions. For your own reference, we’ve compiled this list of notes from the event.

Q: What are the plans on updating the (UXP) docs and really keeping it up to date?

A: We’re working on it. UXP will definitely be a priority this year (it’s part of our Developer Experience team plan this year, which also includes updating documentation, code samples, etc.). We now have more people who can work on this: Amanda, Pablo, and Padma. (We previously were a little under-staffed, with a few people having left Adobe recently) ⇒ There’s hope!

Q: Any plans to fix all UXP UI issues? Eg. buttons borders, ellipsis colors, etc.

A: It depends on the specific issues you’re talking about. We’re working to improve UXP overall, including reported issues like these. If it’s a bug, we’re working on it. (Naturally, crashing bugs take high priority, even if we want small issues to be fixed as much as you do!) That said, if the issue is just that “UXP is not a browser,” that’s just how it is

Q: What is the currently recommended way of building (cross-platform) interfaces for native (C/C++) plugins? (trying to stay mostly native, trying to figure out what UXP is / how it plays into this)

A: UXP is the new way of building panels for Creative Cloud (what CEP was before). UXP isn’t replacing C++ native SDKs.

UXP is slowly getting rolled out, and is currently only supported in XD and Photoshop, so it is not quite cross-platform yet, depending on what you mean by that. In Photoshop (where a C++ native SDK exists, as compared to XD), UXP can communicate to the C/C++ SDK ⇒ it’s possible to build your UI with UXP and do the “heavy lifting”.

Overall, better integration and documentation for C++ “hybrid” plugins is on the roadmap, and work is underway. You can combine C++ Native SDK with UXP, which probably makes it easier to build rich UIs for your integrations, but of course adds some level of complexity. We don’t necessarily have a recommended way, yet , but are looking into this and improving (stay tuned).

Q: What are the plans for stabilizing the new AIUUIDSuite (not AIUIDSuite!)? What are known shortcomings?

A: I didn’t find any information on this, so far ⇒ neither have I found plans to stabilize it nor evidence of the contrary. I’ll ask around internally and as soon as I (hopefully) get an answer, I’ll reach out.

That is to say, we read the same note you probably read in the comments to an SDK:

/** @ingroup Suites
This suite is in an experimental state, it is not completely production-ready.
These functions allow you to interact with the UUID and associated art
\li Acquire this suite using \c #SPBasicSuite::AcquireSuite() with the constants
\c #kAIUUIDSuite and \c #kAIUUIDVersion.
@see \c #ai::uuid */

Q: Please provide more details (properties & limitations) about WebView support in UXP.

A: Initially Webview will be limited to modal dialogs. Using system Webview (which isn’t necessarily Chrome), on macOS: Safari, on Windows: Edge (i.e., essentially Chromium). It’s a web view, not a browser (so, no native file download handling, etc.)

  • Don’t OAuth through webview (Google immediately refuses to handle OAuth through web view). Other service providers might work for now, but don’t rely on that. Better OAuth support is on UXP roadmap, hopefully scheduled for later this year, but it is a big security issue (security isn’t easy).
  • Content will initially have to be externally (remotely) hosted, i.e., as a web app.

Q: I’m still using Script UI with ExtendScript in Adobe InDesign and Adobe InCopy for modal dialogs. What is its replacement and where can I find resources to learn to use it?

A: Eventually UXP may be able to replace Script UI use cases. ExtendScript (which Script UI is a part of) will, eventually, become UXP, as it becomes supported in each app.

  • UXP will support both scripting and things like modal dialogs, but it’s different from Script UI (you may have to learn things like HTML/JS to make that work, but there are libraries to let you do things without knowing tons of HTML).
  • Since UXP isn’t even available in InDesign, yet, it will be a while until ExtendScript is slowly retired. You can experiment with UXP in Photoshop or XD, if you’d like to get a glimpse into it, but it’s currently not in InDesign (at least not for developers outside of Adobe).

Q: What are your plans for having a video in Marketplace?

A: Follow up answer: We have not yet identified the “when” for video. With video, storage is a big issue so if devs want want today, they can create YouTube videos and provide links in the description.

Q: When could I expect having discount code settings in Marketplace so I could manage it on my own?

A: Self-service coupons are not yet planned, as we are looking at all the payment options we are providing to users; this will be 2023 roadmap.

Q: Forum Question: For the API 2 version, is it possible to turn off the progress bar completely with executeAsModal() function. It flashes on so briefly sometimes that it’s a distraction more than something that is useful. In addition, it shows up behind dialog windows that are purposefully opened for user actions with "_options": { "dialogOptions": "display"} in batchPlay. The spinner that shows up when Photoshop is busy is sufficient, I think, to alert users that Photoshop is busy and a progress bar would only rarely be needed.

  • Photoshop 23.1 shows the progress bar during executeAsModal when it shouldn’t (causing the described flashing). This is addressed in a future release.
  • Having a version of executeAsModal that does not show a progress bar is a common request that we are looking into.

Again, thanks for helping make this event a success, and we hope to engage with you all more at the next Office Hours! (March 10th!)


Regarding to links in Marketplace. That is a big problem too!

  1. your links are not clickable therefore it is just text
  2. but you can’t select and copy that text either
  3. “Website” link on the right side… I am not sure if people are clicking it at all. And if they do it same link for all my plugins.
  4. “Get support” button on the right side. What does it tell? It looks like start to chat with someone or call or write e-mail. It is not very convincing users to click there to see plugin details and video.

Since Adobe decided to review even all description changes could we have at least clickable links in description? Or customizable buttons on the right side?

Regarding to coupons.

That’s good to know. Since it won’t happen in next 12-18 months it makes sense to create also a second version of my plugin that integrates Gumroad API with its own licensing and sell it also in a different place where I do have much more control about everything. I was trying to avoid it since it means more work but it could actually be worth it. A few days ago I provided a coupon code and I have no idea how many people used it. The only thing I know is that when I sort plugins by popularity it jumped a bit higher.


Totally agree with @Jarda, I think it’s a big concern that we have little to no info at all about how our plugins perform. Sure, you can check revenue in FastSpring, but as mentioned in other threads before, they have the most weird and unintuitive interface I’ve seen in a while. Still couldn’t figure out a way of seeing actual sale counts there. And of course this leaves out free plugins competely, for which it would be nice to have some kind of statistics.


@Jarda @simonhenke Thank you for providing this feedback about the marketplace and plugin analytics. We want to find ways to help you focus on developing awesome plugins instead, and we’re working on updates in the marketplace. For now, FastSpring is the only source of insights for developers and we recognize that this has been a huge pain point. We’re working on solidifying requirements for plugin insights for developers and this is being surfaced to our internal teams for further discussion.