Lets improve the Forge developer experience

Hey Forge community!

My name is Jordan and I’m one of the Product Managers working on improving the Forge developer experience - I’ve taken over from Huw, who I know many of you have spoken to on this forum in the past.

As Forge has now been generally available for some time, I’m keen to speak to any of you who are currently in the process of (or even thinking about) building a Forge app. In doing this, I have two goals in mind that I’d love to get community input on:

  1. Making sure we are addressing any pain-points that you might be experiencing during the development process
  2. Understanding if there are any feature-gaps that are prohibiting you from building your app on Forge (especially from a Forge vs Connect point-of-view)

Personally, my areas of expertise are UI kit, Custom UI and the CLI, however relevant Product, Design and Engineering experts can easily be looped in for any questions outside of these scopes.

If you are currently building a Forge app (or have even decided to build a Connect app instead) and have concerns related to the above goals, I’d love to hear your thoughts on how we can improve Forge to better suit your needs in the future.

Please reach out via email or book a call with me:

Email: jkoukides@atlassian.com
Book a call: Calendly - Jordan Koukides

Looking forward to hearing about all the exciting Forge apps being built :slight_smile:

3 Likes

I would really be interested in using react-router and getting the URL persisted out of the iframe into the parent URL somehow when using Custom UI. That would be awesome :slight_smile:

Also some better query mechanism like query by-value for storage API would be great :slight_smile:

Thanks a lot for all that great progress on forge until now :+1:

1 Like

Totally agree with @clouless! A “query by-value” functionality for storage API would be super important for us. The key/value like persistence is just not sufficient. To be exact we would need an Api to get data depending on a numeric field value with compound queries (e.g.: “ Get documents with a lastEditedDate between 1200 and 1800 AND where the creator equals xyz ”).

Forge has strict limits regarding the max. document size (32kb) and the max. function runtime (10sec) why there aren’t many possibilities to build hacks around the Storage Api limits like fetching ALL documents from multiple pages and filter contents by hand.

Cheers :slightly_smiling_face:

1 Like

I have a few discrepancies that are blocking us from moving forward too much with Forge:

  • Ability to publish Forge versions of Connect apps on MPAC (for migrating apps from Connect to Forge)
  • Secrets / secure storage (important for OAuth-based 3rd party integrations)

Lastly a question that might also turn out to be a discrepancy:
How would OAuth callbacks after authorization work? I assume web triggers might work, but they’re only available in development right now. Or general pages would be the answer, but they would be different base URLs, which need to be fixed for OAuth authentication. The only thing I can currently think of is running a service ourselves that would act as a callback proxy for now.

3 Likes

@JordanKoukides There are many feature gaps, but one of the main ones is lack of real time database and communications. We don’t want to end up with an app filled with a bunch of refresh buttons. On the other hand we can do it outside of Forge at low cost and great reliability(Google Firebase).

Any plans to work on this aspect of Froge apps?

1 Like

Good point. We are using Google Firestore for our Connect apps as well and rely on the real-time and query-functionalities. As long as Forges persistence solutions can not keep up with other Cloud database competitors it will be hard for many apps to migrate customer data into the Atlassian Forge ecosystem.

Thanks for the feedback everyone! To answer a few of your questions:

  • @clouless Custom UI routing is something that we are working on right now - keep an eye out for comms related to this. Out of curiosity, which extension point would you be interested in using this in?
  • @clouless @JulianWolf @Grzegorz.Tanczyk @tobitheo Improvements to the Forge storage API are something we are aware of. I’ll let my backend-expert counterparts @Nir and @SushantBista share if they have any more details on timing of implementing these capabilities.
  • @tobitheo For publishing Forge versions of Connect apps, I have put this comment to the Marketplace team and will get back to you with their reply. For OAuth callbacks after authorization, providing a special configuration out of the box for Atlassian external auth is something that we are aware of as a solution, however this hasn’t been roadmapped yet. I’ll keep you in the loop.
3 Likes

Hi Jordan, sounds great :slight_smile: for Custom UI routing I would like to use Jira adminPage and Jira projectPage :slight_smile:

@clouless Full-page routing should be about 2 weeks away for those extension points :slight_smile:

2 Likes

Hey everyone,

Quick intro:
I’m Nir, a Product Manager working on the capabilities for Forge.
And @SushantBista, a Product Manager who will be focusing on improving our hosted storage for Forge.

Thanks so much for your feedback! At this time we can’t provide specific deadlines for storage improvements, but we are listening and it’s something we’re planning for and focusing on for the coming financial year.

If you have any further feedback around the capabilities or storage areas, please feel free to contact us - it will be great to hear from you about blockers and use cases:

Nir → Forge backend & capabilities
Email: nnikolaevsky@atlassian.com
Book a call: Calendly - Nir Nikolaevsky
Sushant → Forge storage
Email: sbista@atlassian.com

2 Likes