Configuring a poll from page editor
Vote submission form
Usage idea: collect feedback on meeting effectiveness
Usage idea: make decisions together as a team
Usage idea: help run exercises like Team Health Monitor remotely
Feature: multiple-choice votes
Feature: anonymous polls (use names hidden)
I was inspired by how simple yet powerful Forge and Forge UI is, even in the early stages, and set out to build a production-grade app that would leverage the new platform. There are several poll apps in the Marketplace but they are either too sophisticated or look dated. I saw an opportunity to build something simple for the user, something that "just works" and is easily accessible.
What it does
The app allows you to add polls to Confluence pages. It focuses on simplicity and empowering teams to easily collect feedback and make decisions.
- Anyone on your team can easily add polls to Confluence pages
- Results are instantly available to those who voted and are continuously updated
- Single or multiple-choice voting available
- Polls can be made anonymous
- Respondents can correct their votes if needed
- Close the poll to stop receiving votes and display the results
- Reset the poll to discard existing vote data (useful if significant edits to poll choices were made)
- No data ever leaves your Confluence instance because the app doesn't make any external requests
How I built it
The app is built with Atlassian Forge. It implements a Macro component and uses a number of other elements and hooks offered by Forge UI. Poll data is stored in page properties.
Challenges I ran into
I ran into a number of limitations and bugs in Forge that prevented me from delivering an ideal user experience in some places (see "What's next..." below), but I was able to find reasonable workarounds.
Accomplishments that I'm proud of
I'm proud to have built a production-ready app from scratch using the new development platform and can't wait to ship it!
What I learned
I learned how Forge works and the platform's current capabilities. Despite being in early stages and having some limitations, you can already implement a lot of things with it, including apps with sophisticated multi-modal UI.
What's next for Simple Polls For Confluence
First and foremost, I can't wait to publish my app in the Atlassian Marketplace when it supports Forge apps!
I plan on keeping the app simple and am not looking to overload it with features. That said, as the Forge platform matures, new opportunities to deliver more value may arise.
There are also areas where the UX is suboptimal due to platform's current limitations. I'm hoping to incorporate improvements as these issues are addressed:
- Ability for first-time users to authorize the app from page editor. Because of FRGE-110, the first time you create a poll, you have to save the page, authorize, then go back to configure the poll.
- Ability to delete a non-last option in poll configuration. Currently you can only remove choices from the end due to FRGE-103.
- Lock down poll anonymity once it has votes (once Forge UI supports
disabledprop on Checkbox)
- Add visual feedback when the macro editor is loading.
- Immediately open macro editor when adding the poll macro - it's useless without prior configuration.
- Always show preview of the poll submission form in poll editor, even if the current user has voted. Currently the macro app has no way of telling whether it's being rendered inside the page editor or not.
- More component styling and layout options to create a more aesthetically pleasing UI.