# Writing Notifications

After designing your rule's logic, the final step is writing the notification content that the user will see. The text in your Notification Templates is what translates complex data into a simple, helpful, and actionable message.

Clear and empathetic writing is essential for building user trust and ensuring your recommendations are well-received, whether they are delivered via push notification or in-app.

***

## Best Practices

### Write a Clear, Actionable Title

The title is the first thing the user sees. It should summarize the situation and the recommended action.

{% hint style="danger" %}
Bad Title - Not specific to the content of the Recommendation

`New Alert` or `MOOST Notification`
{% endhint %}

{% hint style="success" %}
Good Title - Summarizing the situation and the recommended action.

`High Grid Usage: Pause Charging?` or `Solar Surplus: Start Appliances`
{% endhint %}

### Be Clear and Direct, Not Vague

The message body must be easy to understand in 3 seconds. Avoid technical jargon.

{% hint style="danger" %}
Bad Message - Explaining the situation instead of showing the impact of given situation.

`Your PV system is currently experiencing a high delta between production and consumption.`
{% endhint %}

{% hint style="success" %}
Good Message - Presenting the result of the triggering situation with an actionable recommendation

`You're producing 2.1 kW more solar power than you're using. This is a good time to run your dishwasher.`
{% endhint %}

### Front-Load Key Info and Respect Character Limits

Users scan notifications, so put the most critical information first. Aim for your core message to be visible without requiring the user to expand the notification.

**Safe Zone**

Character limits vary by OS (iOS, Android), device, and font size. As a general best practice, aim to keep your title under 40 characters and the most important part of your message body under 50 characters.

**Visibility**

* Android: Typically shows a title (approx. 30-65 chars) and a single line of body text (approx. 40-50 chars) when collapsed.
* iOS: Shows several lines of text (approx. 150-170 chars total) but can be truncated by banner previews.

**The Rule**

Always assume the user will only see the first few words of your title and the first line of your message. Ensure this preview is compelling enough to make them want to read more.

### Use the Notification Preview Feature

Text can look very different once it's inside a notification bubble. Always use the built-in preview feature within the Notification Templates editor. This will show you an image of how your title and message will appear on a standard Example device.

This step is essential to confirm that your message is clear and effective *before* you test it with the Rule Simulator.

### Use Dynamic Data (Variables) in the Message

Your rule logic uses specific data points; put them in the notification. This builds trust and provides concrete context. The Rule Language allows you to format data directly in the message.

{% hint style="danger" %}
Bad Message - Generic message without any personlized insights.

`You are currently drawing power from the grid.`
{% endhint %}

{% hint style="success" %}
Good Message - Using personlized data to show the exact impact for the user.

`"You are currently drawing " + ($GridPowerConsumption / 1000) + " kW from the grid.`
{% endhint %}

### Frame it Positively

Frame recommendations as helpful advice or opportunities, not as warnings or criticisms.

{% hint style="danger" %}
Bad Message - Negative critic against the users.

`You failed to use your solar power. You are wasting 1.5 kW.`
{% endhint %}

{% hint style="success" %}
Good Message - Positive, opportunity focused message

`You have 1.5 kW of extra solar power! We recommend turning on your water heater to use it.`
{% endhint %}

### Match the Message to the Delivery Method

**For Push Notifications**

Keep the message short and ensure the primary action is clear, as the user is likely on their lock screen.&#x20;

**For In-App Recommendations**

You can be slightly more detailed, as the user is already engaged with your application.
