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!)