Hi everyone! I’m Josh Pullen. Many of you are probably here because you saw me in a video where I discovered the need for a free AAC app in the world.
I am a developer, not an SLP or other AAC expert. My goal between now and the EdTech-a-thon event is to learn everything I can about these apps and make a plan for which features our AAC app should include.
I need your help. I’ve done my best to synthesize some online research and all the information that has been sent to me via DM from our videos. Based on that, I created a plan below for the features I think our app should have long-term. Now I need feedback from SLPs, parents, and other experts. Which parts of my notes are wrong? What am I missing? What do we need to consider? Please reply to this topic with anything and everything you think of.
App Plan
The EdTech-a-thon is a 3-day event, but building an AAC app is clearly a much longer, ongoing task. Our goal during the 3-day event is to build and ship a first prototype that is usable enough to test, and then continue to improve the app over the year(s).
I propose the following long-term design. I would love feedback on ALL of these points.
- Our app should be completely, 100%, absolutely free forever
- Our app should work on as many devices as possible.
- It should work as an iOS app (phones & tablets)
- It should work as an Android app (phones & tablets)
- It should work in a web browser without installing anything (phones, tablets, computers)
- The grid
- The board should be a rectangular grid, with tiles always remaining in the same physical location on screen (to help with motor planning)
- The grid size (# of rows/columns) should be customizable
- Feedback received: The app should include an onboarding wizard that helps parents choose the best grid size (because they often start with too few squares and then have to rearrange the icons later)
- Feedback received: When using the same board across multiple devices such as phone/tablet, keep all the tile positioning the same and just stretch/shrink the grid.
- Tiles
- Each tile can have an icon and a text label (both are optional; see multi-lingual support details below)
- When tapped, tiles can be configured to do one of a few things…
- Add a word/phrase/sentence to the message bar (sometimes the same word/phrase as the label on the icon itself, but not always)
- There should be a global, app-wide setting for “speak on selection” to also play the sound immediately on tap
- Certain tiles can be configured to speak immediately without being added to the message bar
- Navigate into a folder
- Navigate home
- Question: Should tiles be able to do anything else?
- Feedback received: Press and hold to change grammar (I assume tense/plural/etc)
- Add a word/phrase/sentence to the message bar (sometimes the same word/phrase as the label on the icon itself, but not always)
- Tiles can be temporarily hidden/shown without being deleted
- Tiles can be dragged & dropped into new locations on the board (without disrupting the rest of the layout)
- Tiles have a background color. The app should make it easy to use a consistent color palette when customizing the board, and should provide a default set of colors aligned with the Fitzgerald Key
- It should be easy to have multiple different boards installed & switch between them
- Feedback received: Distinguish between core word boards and vocabulary boards.
- Feedback received: Have a setting that can be turned on so that every time a vocabulary word is selected the user is automatically brought back to the core word screen (for easier motor planning)
- We should support non-grid layouts and visual scenes, where buttons can be placed & sized anywhere on screen (not restricted to a grid) and a background image can optionally be added (for example, to allow users to tap on on the different play structures on a photo of a park)
- We need a “find word” feature. When tapped, it should allow the user to search for a tile by name and then practice getting there by graying out everything other than the correct folder/icon to touch until reaching the word.
- The board should be a rectangular grid, with tiles always remaining in the same physical location on screen (to help with motor planning)
- Board Customization
- It should be easy to customize existing boards
- It should be possible to create completely new boards from scratch and share them with others
- Users should be able to customize images/icons
- By taking a photo using the camera
- By uploading an image
- By picking an icon from pre-made packs like Open Symbols
- Question: Would a built-in drawing mode be useful? It would allow users to draw icons directly within the app, possibly with Apple Pencil support. Feedback received on this point has been very mixed so far.
- Question: Would using emojis as symbols be a helpful option?
- Question: Would AI icon generation be useful? (Type a word and it makes an icon for you)
- Question: Are there any other image creation methods that would help?
- Users should be able to customize audio
- By using a built-in AI voice
- Customizing the accent/gender/speed/etc is really important to help users feel comfortable with their voice. (I’m not sure how we can do this in a cost-effective way. Can we get ElevenLabs credits as a nonprofit?)
- By recording using the built-in microphone
- By uploading audio files (One AAC user messaged me explaining that they like to have sound effects and sound bites from movies available for fun communication)
- By using a built-in AI voice
- Users should be able to share their customized boards
- It should be possible to download the board as a file to be shared via email, Google Drive, Teachers Pay Teachers, AirDrop, etc.
- Question: Is it helpful to support the open board format?
- It should be easy to generate URLs or QR codes so that others can add your board to their device instantly
- It should be possible to download the board as a file to be shared via email, Google Drive, Teachers Pay Teachers, AirDrop, etc.
- Multi-lingual use
- The entire app, including its UI, should be available in as many languages as possible
- Users should be able to turn on multiple languages. When they do so, a language picker should be added to the UI that allows them to quickly switch the speaking language
- Icons with text should display in the selected language
- Question: Would it be helpful to let users set language-specific boards, or does switching languages just mean keeping the same board but in a different language?
- Question: Are there other features we need for excellent multi-lingual support?
- Other Accessibility Needs
- Scanning support
- Parental controls
- We should enable setting a PIN that must be entered to modify the board/app settings
- We should make it easy for users to turn on “guided access” (iOS) or “app pinning” (Android) to prevent closing the app. On Android, we can have a button within the app that instantly enables this. iOS is more limited; we can include instructions that teach users how to turn on guided access but we can’t make a button that does it automatically. (On the web, this might just mean going full-screen.)
- In-app training & help
- Feedback received: In practice, families often struggle with supporting AAC-using children because parents/guardians aren’t familiar with these tools themselves and are learning alongside their child. Built-in help and support would dramatically increase the practical usefulness of the app.
- Josh says: We should have built-in text and videos strategically placed throughout the app to help folks learn how to use the app and effectively support the AAC user. These support resources must be developed by SLPs, not app developers. I think we should focus on making the app work first, and then find SLPs who would be willing to help create the support resources later.
Bigger Questions
- I’ve seen a lot of talk about Gestalt vs Analytic language processing. I understand that gestalt processors start with full phrases and then break them down whereas analytic processors start with individual words and build them up. Are there features above and beyond the board customization I’ve explained above that are needed to support both use cases?
There is clearly a TON of work that goes into designing board layouts, and that’s the world of SLPs, not app developers. As a first step this year, is it good enough for us to ship an app that is mostly an empty skeleton by default that allows users to build & share their own boards? I’m hoping that building boards could become a longer-term community effort, but it has to begin with building a functioning (albeit mostly empty) app. Does this approach feel effective?The feedback we’ve received is that it’s essential to ship with built-in boards, and we might be able to use Project Core as a starting point for picking a set of core words. I would still love more help/feedback around what our starting board should look like (while avoiding any legal/plagiarism issues!)- I’ve seen talk about core words vs vocabulary, with the idea that core words should always remain a tap away and have a more stable layout, whereas niche vocabulary can be a bit more buried into an organized folder system and is more frequently customized. Aside from the board customization features described above, are there other features we need to specifically help handle core words vs vocabulary?
- We had a developer, AJ, reach out to us who is already building a free AAC app. AJ offered to let us use it as a starting point for free if we wish. If you have the time, we’d love feedback on that app as well.
We need your expert help!
- Please reply to this topic with any and all feedback about the app plan & questions above (feel free to highlight a specific part of the text above with your mouse and then click “quote” to reference that bullet point directly)
- I will continually update the app plan based on the feedback I receive
- Please check this forum periodically because we will be using it a ton during the actual event from July 20 - 22
From the bottom of our hearts, thank you so much for your time. We hope to make you proud and help the community!
A huge thank you to OpenAAC for their list of development considerations. Very helpful!