# Welcome to Nootti docs

This guide helps you to get started and find answers to your questions.

## Quick links

{% content-ref url="/pages/2OJ5gywZ1hfIaUi2dPD7" %}
[Add accounts](/get-started/add-accounts)
{% endcontent-ref %}

{% content-ref url="/pages/8W9G5taF0ANSZv1OX2us" %}
[How-to videos](/get-started/how-to-videos)
{% endcontent-ref %}

{% embed url="<https://apps.apple.com/us/app/nootti/id6476751741>" %}

## Get Started

Check out the links for tips and how to post messages.

{% content-ref url="/pages/BudN8ISwdQHTtNSsUyJq" %}
[Main View](/posting/main-view)
{% endcontent-ref %}

{% content-ref url="/pages/ZT86WAOJj9W8SICtXyMt" %}
[Compose your main message](/posting/compose-your-main-message)
{% endcontent-ref %}

{% content-ref url="/pages/KfRr1kT9ZfRyyQ7xC7ai" %}
[Customise the content](/posting/customise-the-content)
{% endcontent-ref %}

{% content-ref url="/pages/Iop8ppKDJSmJf9B3pydM" %}
[Character limits](/posting/character-limits)
{% endcontent-ref %}

{% content-ref url="/pages/pzejfR88EWiVVULQhlYS" %}
[Add media](/posting/add-media)
{% endcontent-ref %}

{% content-ref url="/pages/eLLM2v7itSDxPKgKwumj" %}
[Share Before Posting](/posting/share-before-posting)
{% endcontent-ref %}

{% content-ref url="/pages/Xu8RjYQKLEo8tVNeNbla" %}
[Current Post Settings](/posting/current-post-settings)
{% endcontent-ref %}

{% content-ref url="/pages/IcoKdQ5yqkPsdu4Sc7Lz" %}
[Send the post](/posting/send-the-post)
{% endcontent-ref %}

## Questions?

{% content-ref url="/pages/JrzqcAjN6gP05aXcLEnr" %}
[FAQ](/faq)
{% endcontent-ref %}

{% content-ref url="/pages/JrzqcAjN6gP05aXcLEnr#contact" %}
[FAQ](/faq#contact)
{% endcontent-ref %}


# Add accounts

### 1) Visit Settings to Add a New Service

![](/files/kjCV7GQSeihRR47yUUkr) &#x20;

<img src="/files/no1aeDgkr6EXDWuBlanc" alt="" data-size="original">

### 2) Choose Your Account Type and Set Up the Details

**Account Name:** Specify a unique name for your account (e.g., Mastodon Personal).&#x20;

**Enabled:** This option makes your account visible for posting.&#x20;

**Delete:** To remove your account from Nootti.

{% tabs %}
{% tab title="Bluesky" %}

<div align="left"><figure><img src="/files/HlTMDYp8zY1OlwEqQ1Ft" alt="" width="375"><figcaption></figcaption></figure></div>

**Username:** Your Bluesky user handle (e.g user.bsky.social or your domain name: example.com)

**Password:** App Password (or main password).&#x20;

See the [video](/get-started/how-to-videos#bluesky-account-setup-video) for generating an App Password or follow the instructions:

Visit your Bluesky account settings (when logging in) and go to Settings > Advanced > App Passwords. Generate a new App Password and copy-paste it to Nootti’s password field.

You can revoke the password at any time from the same place where you set it.

**Instance:** bsky.social if you're on the main network

**Verify login** (optional)**:** Test your account settings after you have filled in the details.
{% endtab %}

{% tab title="Mastodon" %}

<div align="left"><figure><img src="/files/YS05d1NlBlrQFic7yP7c" alt="" width="375"><figcaption></figcaption></figure></div>

**Username:** The [local username](https://docs.joinmastodon.org/user/signup/#address) (e.g. user)

For example, *@<user@mastodon.social>* consists of the username: *user* and the website domain (server/instance): *mastodon.social*.

**Permission:** *Grant access* asks for permissions to access your account for posting. (See the [video](/get-started/how-to-videos#mastodon-account-setup) for details.)

**Instance:** bsky.social if you're on the main network

**Post visibility:** Choose the default option for your posts.

The [levels](https://docs.joinmastodon.org/user/posting/#privacy) are public/unlisted/private (followers-only).

You can override the general level for the current post temporarily from the Current post settings.

How is the post privacy selected when posting a message? The current post will have the stricter one.

For example, if you have set “public” on your Mastodon account settings and “unlisted” for the current draft, the post will have the “unlisted” publishing level.
{% endtab %}

{% tab title="Nostr" %}

<div align="left"><figure><img src="/files/0JsceTKocgXb3c6enswj" alt="" width="375"><figcaption></figcaption></figure></div>

**Npub:** The public key (starting with [npub](https://nostr.how/en/get-started#understanding-keys))

**Nsec:** The private key (starting with [nsec](https://nostr.how/en/get-started#understanding-keys))

**Add relays:** The [relays](https://nostr.how/en/relays) (servers) you want the post to be sent (e.g. wss\://relays.example.com)&#x20;

**Media server** (optional)**:** Add the media server  ([nip-96](https://github.com/nostr-protocol/nips/blob/master/96.md#list-of-supporting-file-storage-servers)) you’re using on your Nostr account settings (e.g. <https://nostr.build)&#x20>;

See [the video](/get-started/how-to-videos#nostr-account-setup) for how to create a new Nostr account, add it to Nootti and create a post with an image uploaded to a Nostr media server.
{% endtab %}
{% endtabs %}


# How-to videos

### Bluesky account setup <a href="#bluesky-account-setup-video" id="bluesky-account-setup-video"></a>

{% embed url="<https://youtu.be/SrOPRg9QEZE>" %}
Bluesky account setup: How to add handle, instance and generate an App Password
{% endembed %}

### Mastodon account setup <a href="#mastodon-account-setup-video" id="mastodon-account-setup-video"></a>

{% embed url="<https://youtu.be/GThgYJLIuiM>" %}
How to setup a Mastodon account: add handle, instance and grant permissions
{% endembed %}

### Nostr account setup

{% embed url="<https://www.youtube.com/watch?v=P-Uevl4EOJw>" %}
How to create a new Nostr account , add it to Nootti and create a post with an image uploaded to a Nostr media server.
{% endembed %}

### Main View explained

{% embed url="<https://youtube.com/shorts/OWyDkDRSDMk>" %}
Nootti's Main View menu bar and areas explained
{% endembed %}

### Share to Nootti (with Shortcuts)

{% embed url="<https://www.youtube.com/watch?v=Ih8kTSWKtTI>" %}
Share text content from apps and Siri to Nootti
{% endembed %}


# Main View

<div align="left"><figure><img src="/files/0XnmIA9TM9mGZLodUqbO" alt="" width="375"><figcaption><p>Nootti's Main View for composing messages</p></figcaption></figure></div>

### **Main View** Sections:

1. **Text Area** for composing messages
2. **Menu Bar** for settings and posting
3. **Media Preview Area**
4. **Selected Platforms** for the current draft
5. **Link Preview Area**

<div align="left"><figure><img src="/files/8pzMjBNjJALIg9gnmwMJ" alt="" width="375"><figcaption><p>Compose view sections</p></figcaption></figure></div>


# Compose your main message

You can type, copy-paste or drag-and-drop content in the text area.

If you have an existing Bluesky or Mastodon post you'd like to use as a draft, insert the post link in the text area. The content will become the draft. This works only for the accounts you have set up on Nootti.

<div align="left"><figure><img src="/files/odH2ytOrdwbss81ADT2k" alt="" width="375"><figcaption><p>Drag-and-drop content to the Main View</p></figcaption></figure></div>


# Customise the content

You can use the same message for all the networks or customise the message for each.

{% hint style="info" %}
If you’ve selected two Mastodon accounts for the current post, they will receive the same message. This is because the customisation applies to each platform (e.g. Bluesky and Mastodon), not to each selected account.
{% endhint %}

After creating your main message, you can modify it to different platforms by clicking on the corresponding platform label. This action duplicates your main message into a draft for the chosen network.&#x20;

<div align="left"><figure><img src="/files/tJuLEMJkjJP6avPcqlqq" alt="" width="304"><figcaption></figcaption></figure></div>

{% hint style="info" %}
Finalise the main message before opening the selected platform tabs since any modifications made to the main draft after selecting a platform tab will not update that platform's draft.
{% endhint %}


# Character limits

Each platform has its accepted message character lengths. The character count displays the current count. It turns orange when nearing the maximum limit and red when exceeded.

### First Link as Embed URL (Bluesky only)

If your message includes links they can limit the available text length considerably. You can extend this by moving the first link in the message as a link preview only. This removes the URL from the message body text and attaches it only as a link preview embed in the posting process.

{% tabs %}
{% tab title="Settings" %}

<div align="left"><figure><img src="/files/baA2BYRzBgysoVGOKjY3" alt="" width="375"><figcaption></figcaption></figure></div>

Enable the First Link as Embed URL for Bluesky posts on Settings
{% endtab %}

{% tab title="Current Post Settings" %}

<div align="left"><figure><img src="/files/qsWXHulpyH9TZ0yvsPbR" alt="" width="375"><figcaption></figcaption></figure></div>

You can override the First Link as Embed URL setting for the current draft post only from  Current Post Settings.

{% hint style="info" %}
Current Post Settings are for the current draft only. They are reset after you have posted or deleted the draft.\
\
This allows you to have the general settings on but override them temporarily. For example, if you don't want to use the First Link as Embed URL feature for the current post but want to keep it on for most of the posts.
{% endhint %}

{% endtab %}
{% endtabs %}

<div align="left"><figure><img src="/files/64YOzlhPhUpWwVxBL8T9" alt="" width="304"><figcaption><p>The character count is underlined when this feature is active. <br>Note the difference in the counts.</p></figcaption></figure></div>

{% hint style="info" %}
Notice the position (empty spaces) and line breaks of the message text after the first link has been removed from the main text. \
\
For example, if the link is the last item in your Bluesky message, you can keep the link after the text without any line breaks to avoid empty lines in the final post.
{% endhint %}


# Add media

<div align="left"><figure><img src="/files/H8PmLdEEv0VsKi0vSyG7" alt="" width="188"><figcaption><p>Select media from Photos</p></figcaption></figure></div>

Add media files to your post by selecting them from Photos or by dragging-and-dropping them to the Media Preview area.

<div align="left"><figure><img src="/files/qMXXIk7tthzdnU0k0JJi" alt="" width="249"><figcaption><p>Attach images to your post</p></figcaption></figure></div>

Nootti will post the media files in the order you have selected them.

### Alt

Media files have an alt text option to describe the content. If the network has the option, it will be included in the media file post metadata. For Bluesky videos, you can add a "vtt" subtitle file and set the language for it.

### Media limitations

If some of the items are not accepted they are ignored for the network. For example, if you have more images than the platform post limit, only the first ones are posted for the network and the rest are skipped.

For Bluesky and Mastodon accounts, if you have a video and images the video will posted instead of the images.

Too large Images are resized to the maximum accepted dimensions for Bluesky and Mastodon.

Nootti may try to compress files if they are too large for the platform but the outcome depends on the original format and size. \
\
See the media formats and limits for [Bluesky](https://docs.bsky.app/docs/tutorials/creating-a-post#images-embeds) and [Mastodon](https://docs.joinmastodon.org/user/posting/#media).

{% hint style="info" %}
Each network has its rules for accepted media. The media formats, sizes and counts vary.

For example, Mastodon only accepts one video or images but not both.&#x20;

Bluesky accepts four images (with a max size of  1MB each) or one video (a max size of 50MB and duration of 60 seconds; "mp4", "webm", "mpeg", "mov" or "gif" formats; a subtitle format: "vtt").
{% endhint %}


# Share Before Posting

<div align="left"><figure><img src="/files/TFlM7WSn0x3tE1tZJMY0" alt="" width="188"><figcaption></figcaption></figure></div>

You can share the current post with the "Share via" feature to apps that you have installed on your device and support the feature. For example, X/Twitter accepts text and images.&#x20;

<div align="left"><figure><img src="/files/p2ue78xq5tWDxllUxCli" alt="" width="300"><figcaption><p>Posting to X/Twitter with Share</p></figcaption></figure></div>

{% hint style="info" %}
"Share via…" functionality depends on the receiving app. Some apps are not supporting media files,  accept only text or may have other limitations (or unexpected behaviour).
{% endhint %}


# Current Post Settings

<div align="left"><figure><img src="/files/hUrAH2DlXBumBjkDl3zC" alt="" width="188"><figcaption><p>Customise post settings</p></figcaption></figure></div>

Current Post Settings allow you to select the accounts to post and customise some of settings for the current post only.

### Select accounts to post

<div align="left"><figure><img src="/files/bH4qedFoDyqXLzexgABk" alt="" width="375"><figcaption><p>Choose the accounts for the current post only.</p></figcaption></figure></div>

You can enable or disable accounts from Settings. But what if you would like to post to an account except for the current post?\
\
Select Accounts to Post  feature allows you to choose which accounts the current post will be sent to. These settings will revert after the post has been sent or the current draft has been deleted.

<div align="left"><figure><img src="/files/EC3vAwHHF1zMp6D43bTU" alt="" width="249"><figcaption><p>Main View's Selected Platforms show the current selection</p></figcaption></figure></div>

> Tip: To make lasting changes, go to Settings and select the service you want to enable/disable.

### Active Profiles

Active Profiles help to simply account selection for posting.&#x20;

When you have multiple accounts selecting the accounts for each post becomes complex, time-consuming and prone to errors.

Posting profiles limit the current selection options to the ones in the profile.

<div align="left"><figure><img src="/files/MvZZxaeKx0FbyYa74xkA" alt="" width="375"><figcaption><p>Posting profiles</p></figcaption></figure></div>

You can define pre-set posting profiles and activate them when needed. If no active profile is selected all enabled accounts are used for posting.

<div align="left"><figure><img src="/files/YBlMIoOkKKqqB3JusRHW" alt="" width="249"><figcaption><p>Create posting profiles and choose an Active Profile</p></figcaption></figure></div>

Create a new posting profile by giving it a descriptive name and check from the list of enabled accounts the ones you wish to include in the profile.

{% hint style="warning" %}
Remember to activate your new posting profile after creating it.
{% endhint %}

<div align="left"><figure><img src="/files/Pz6VMC3FpWP6jN9rE3QC" alt="" width="375"><figcaption><p>You can see the Active Profile on the Main View (e.g. 'Work' in the image)</p></figcaption></figure></div>

### Account specific settings

Some account settings become visible when the respective account is selected for the current post.

<div align="left"><figure><img src="/files/f1vbNQ4WpfmCKAIxpPgT" alt="" width="375"><figcaption><p>Bluesky and Mastodon specific current post override options.</p></figcaption></figure></div>

For explanations, see Mastodon [visibility ](/get-started/add-accounts#mastodon)and Bluesky [link as an embed option](/posting/character-limits#first-link-as-embed-url-bluesky-only).&#x20;

The post language can be selected (optional) for Bluesky and Mastodon networks.&#x20;

If you have set the general app language, it will be used as a default. You can remove the language setting either from the general Settings or from the post settings. This omits the language value from the post metadata either for all (general) posts or from the current post.&#x20;

Bluesky video subtitles have a separate language option (set from the video "alt" view) that uses the general language setting (if available) or the defined option. You can also leave the value empty.

{% hint style="info" %}
These settings will revert after the post has been sent or the current draft has been deleted.\
\
Visit Settings to make lasting changes.
{% endhint %}


# Send the post

<div align="left"><figure><img src="/files/sCZWa7pOjCOR8iE8FBS8" alt="" width="375"><figcaption></figcaption></figure></div>

The post button sends the message to your current selected accounts for the post.

### Why is the send button disabled and grey?

The button is disabled (and grey):

* if there are no enabled or selected accounts to post
* there’s no content (including media)
* the message character limit has been exceeded in one of the platforms
* alt text image editor is open.


# Share to Nootti

Share text content to Nootti from apps, web pages and Siri.

{% embed url="<https://youtu.be/Ih8kTSWKtTI>" %}
Share to Nootti from apps, web pages or Siri with Shortcuts.\
It takes seconds to install (see 0:42 onwards)
{% endembed %}

Add [Post to Nootti](https://www.icloud.com/shortcuts/0d88893cf26a496a87e14aaae4cd773b) Shortcut or create your own.

<figure><img src="/files/d4IrNG7miTbASHgcTmej" alt=""><figcaption><p>Nootti Shortcut example</p></figcaption></figure>

<div align="center"><figure><img src="/files/oujUv0Ca9qjWr3crNKel" alt="" width="304"><figcaption><p>Post to Nootti is a versatile feature</p></figcaption></figure></div>

The Share to Nootti feature allows you to input content from two sources simultaneously: copying to the clipboard (for example, a link) and using the share feature to select text. Nootti will pop up, allowing you to paste the previously copied link. You can post your content with a single visit to Nootti.


# FAQ

## Accounts

<details>

<summary>Can I sign up to new social media accounts?</summary>

You can only add existing social media accounts to Nootti.

</details>

<details>

<summary>If I delete my account in Nootti does it delete the social media account?</summary>

If you delete the account in Nootti it only removes it from the app.

</details>

### Bluesky

<details>

<summary>How to find my user handle?</summary>

Your Bluesky user handle is user.bsky.social (if you are in the current main instance) or if you have your own domain then it’s your domain name; e.g. user.com.

When you visit your profile the user handle can be found on the URL (e.g. bsky.app/profile/userhandle) or on the page starting with @, e.g. @user.bsky.app.

Insert your full handle (without @) into the handle field on the Bluesky account setting in Nootti.

</details>

<details>

<summary>What is my instance?</summary>

Your Bluesky instance is bsky.social if you’re on the main network (before federation).

</details>

<details>

<summary>How to find the App password?</summary>

Visit your Bluesky account settings (when logging in) and go to Settings > Advanced > App Passwords. Generate a new App Password and copy-paste it to Nootti’s password field.

You can revoke the password any time from the same place where you set it.

</details>

### Mastodon

<details>

<summary>How to find my user handle and instance?</summary>

The [local username](https://docs.joinmastodon.org/user/signup/#address) is your handle. For example, @<user@mastodon.social> consists of the username: user and the website domain: mastodon.social.

Insert your local username into the handle field on the Mastodon account settings in Nootti, and the website domain name into the instance field.

</details>

<details>

<summary>How is the post privacy selected when posting a message?</summary>

The post will have the stricter one.

For example, if you have set “public” on your Mastodon account settings and “unlisted” for the post, the post will have the “unlisted” publishing level.

</details>

<details>

<summary>Why I see the app more than once in the Mastodon “Authorized apps” settings?</summary>

If you install the app on multiple devices they all have their separate authorisations.

</details>

### Nostr

<details>

<summary>How can I include media files in Nostr posts?</summary>

Add the media server you’re using on your Nostr account settings. Search nostr ecosystem for more details (nip-96), or start [here](https://github.com/nostr-protocol/nips/blob/master/96.md#list-of-supporting-file-storage-servers).

</details>

## General

<details>

<summary>What does the enabled option on Settings mean?</summary>

Only enabled accounts are considered for posting. You can disable an account if you don’t want to use it but still want to keep the account settings.

For each post, you can select the enabled accounts to post into so there’s no need to switch off the account “enabled” option for temporary purposes.

</details>

<details>

<summary>Is it ok to post to Mastodon, Bluesky and Nostr with Nootti?</summary>

Bluesky, Mastodon and Nostr are open-source projects. Anybody can participate and should since that’s the only way they can develop as credible alternatives.

Just remember when posting to third-party services that they have their policies and content guidelines.

</details>

<details>

<summary>How to send feedback, bug reports and feature ideas/improvements?</summary>

Send an email to feedback at nootti dot com. If you’re on TestFlight you can use its reporting system.

</details>

## Security

<details>

<summary>Good to know</summary>

Mastodon, Bluesky and Nostr are all new social networks that are under development, and things may change unexpectedly. Use your judgement when using them.

Nootti is an early-beta app. Use it at your own risk. It may have bugs and things may break while you use it.

Passwords in Nootti are stored locally in your device’s Keychain and they are used only to log in to your account for using the app.

Bluesky accounts: You should not use your main password for any third-party apps, Nootti included. Instead, create an App Password that is limited and can be revoked. You can find it on Bluesky at Settings/App Passwords.

Mastodon accounts: Nootti will not ask for your password. You will be asked to grant access that you can revoke at any time. You can find your Authorized apps under Account settings on Mastodon.

</details>

### Troubleshooting

<details>

<summary>Authentication issues?</summary>

Basics:

* Is your connection online?
* can you login to your account on another client

Bluesky:

* Check you have filled in all the settings fields and that they are in the correct format
* Test that your App password works with another client (and copy-paste it to avoid spelling mistakes)
* Delete the account on Nootti, [quit the app](https://support.apple.com/en-us/109359), and try to add the account again

Mastodon:

* Check you have filled in all the settings fields and that they are in the correct format
* Login to your Mastodon client and go to Settings/Account/Authorized Apps settings and check whether you see Nootti there. (There you can also revoke the access to Nootti at any time.)
* Delete the account on Nootti, [quit the app](https://support.apple.com/en-us/109359), and try to add it agai

</details>

<details>

<summary>Media trouble?</summary>

Check the [limitations](/posting/add-media#media-limitations). For example, Bluesky has a file size limit of 1 MB for each image upload.\
\
**Nostr**

Have you added a [media server](/get-started/add-accounts#nostr) ([file hosting](https://github.com/quentintaranpino/NIP96-compatible-servers)) for the uploads? Nostr relays accept only text.

</details>

## Contact <a href="#contact" id="contact"></a>

You can send us email at <feedback@nootti.com>


