<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Frank</title>
    <description>The latest articles on DEV Community by Frank (@productific).</description>
    <link>https://dev.to/productific</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F292698%2F21fb81d5-2f25-423a-ba50-533e4fd5279c.png</url>
      <title>DEV Community: Frank</title>
      <link>https://dev.to/productific</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/productific"/>
    <language>en</language>
    <item>
      <title>How to write a good changelog and publish product news</title>
      <dc:creator>Frank</dc:creator>
      <pubDate>Fri, 09 Apr 2021 09:40:31 +0000</pubDate>
      <link>https://dev.to/productific/how-to-write-a-good-changelog-and-publish-product-news-29p2</link>
      <guid>https://dev.to/productific/how-to-write-a-good-changelog-and-publish-product-news-29p2</guid>
      <description>&lt;p&gt;You are a product manager, owner, app developer or marketing manager of a product and want to spread the word about the latest product enhancements. This article is for you: we explain how to maintain a good changelog. &lt;/p&gt;

&lt;h1&gt;
  
  
  What is a changelog?
&lt;/h1&gt;

&lt;p&gt;A new feature was ideated, designed, built and shipped - now users need to know about it. A changelog does just that: a changelog is a list of product enhancements and product news. Typically sorted by availability date (latest first) each entry informs users about an enhancement. This can be new features, additional documentation, better integration, or the removal of major constraints or bugs. &lt;/p&gt;

&lt;h1&gt;
  
  
  Who writes a changelog?
&lt;/h1&gt;

&lt;p&gt;Anyone with product responsibility or ownership should maintain a changelog. Typically, this is a:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product owner&lt;/li&gt;
&lt;li&gt;Product manager&lt;/li&gt;
&lt;li&gt;Developer &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;or a related role/group like&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Product analyst&lt;/li&gt;
&lt;li&gt;Marketing manager&lt;/li&gt;
&lt;li&gt;Customer success &lt;/li&gt;
&lt;li&gt;Sales&lt;/li&gt;
&lt;li&gt;Documentation &lt;/li&gt;
&lt;li&gt;Support&lt;/li&gt;
&lt;/ul&gt;

&lt;h1&gt;
  
  
  Who reads a changelog?
&lt;/h1&gt;

&lt;p&gt;A changelog is made for two types of consumers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Existing users&lt;/strong&gt; of the product. People currently using your product can easily be engaged in new enhancements. During their daily usage they're not always searching for new features, especially in SaaS where product updates are shipped without notice to users. A changelog entry points users to new functionality, ideally the product news is embedded in-product to be noticed by users en-passent. Actively engaging users in new features is of great benefit. All the investments are paid for, all the work of building it has been done. Now it's time to foster usage of this feature to draw benefit from the investment: happier users, increased customer benefit and greater competitive positioning for your product. After all, the more benefit your customers get from the product the more likely the will keep paying for it. Active changelog communication is essential to engage existing users. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New customers&lt;/strong&gt;, like sales leads, new deals or any other interested candidate. A changelog can activate existing sales leads when their "deal breaker" is added to the product. Product news can attract prospects from new markets and industries when appropriately published. After all, change log content increases your search engine discoverability because it can be written in non-marketing, straight forward product language. People in the information and discovery phases of their purchasing desission can be attracted by professional changelog content. &lt;/p&gt;

&lt;h1&gt;
  
  
  Where is a changelog placed?
&lt;/h1&gt;

&lt;p&gt;A changelog can be placed in-product, with embedded product news or a changelog widget. This best addresses existing users. &lt;/p&gt;

&lt;p&gt;A changelog can also be published publicly, on a changelog page or via release notes distribution. This best addresses new customers, supporting your marketing and sales efforts. &lt;/p&gt;

&lt;p&gt;Ideally, changelog info multi channel, reaching existing users and new customers. &lt;/p&gt;

&lt;h1&gt;
  
  
  What makes a good changelog entry?
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;Changelog content is not marketing content. Users expect a precise description in the changelog item. They want to understand what's written. Entries do not need to be of excessive length or size, for example they can simply point to where the new feature is available and what it does. &lt;/li&gt;
&lt;li&gt;The title is short and on the spot. Especially in-product changelog/news should carry a short and crisp title. Avoid clickbait, just describe the new feature/function like you would talk to another user of the product. &lt;/li&gt;
&lt;li&gt;The description contains text that introduces the new feature to existing users. A screenshot or sketch can work wonders... whatever works best for you. 
Avoid bug fixes. Mention only major bug fixes, avoid them for news placed in-product. Keep a separate log for bug fixes in case this is really required for your product, usually a ticked system will be of better service for chasing bugs. &lt;/li&gt;
&lt;li&gt;Be honest, don't over-promise because it will kick back when interested users are disappointed after exploring the new feature. 
Focus on customer value. Tell the user what gets better and in particular how the new feature creates value. Think of money, time, savings or anything quantifiable. &lt;/li&gt;
&lt;li&gt;Provide examples. When introducing new features off the beaten path provide examples to guide your users towards adoption. Use "you can use this to...", "get better... with..." or "increase your... by..." to drive adoption of the new feature. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Following these tips will help writing a good changelog and publishing product news that drive adoption. Like with every rule there are exceptions: of course you can to any viral marketing stunt that helps pushing new features to the public. You can run dedicated press releases and marketing campaigns. Though reliable, high quality changelog information will be appreciated by all users, existing and new. With Productific you can publish such a changelog, on dedicated pages and placed inside your product via embeddable widget. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;This article originally appeared on &lt;a href="https://productific.com/@Productific/How-to-write-a-good-changelog-and-publish-product-news-4qQC"&gt;https://productific.com/@Productific/How-to-write-a-good-changelog-and-publish-product-news-4qQC&lt;/a&gt; and relates to Productific's &lt;a href="https://productific.com/features-changelog"&gt;product changelog feature&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Spam bots and fake sign-ups — managed with two simple tricks</title>
      <dc:creator>Frank</dc:creator>
      <pubDate>Sat, 14 Dec 2019 22:13:08 +0000</pubDate>
      <link>https://dev.to/productific/spam-bots-and-fake-sign-ups-managed-with-two-simple-tricks-4l3h</link>
      <guid>https://dev.to/productific/spam-bots-and-fake-sign-ups-managed-with-two-simple-tricks-4l3h</guid>
      <description>&lt;p&gt;Lately I noticed an increase in ‘empty’ sign-ups for Productific: new users join but they do not create a product listing. While there is always room for improvement in the onboarding flow, the large number of empty sign-ups made me suspicous. Signing up for a roadmap voting tool without even listing a product just doesn’t make any sense. Once I noticed that many sign-ups to not appear in Google Analytics stats (which is running via javascript in the client browser) it was obvious: there is an increase in SPAM sign-ups. Automated scripts are flooding Productific’s sign-up form with dummy accounts. The business mechanics behind this are unclear (any ideas? please comment), yet these fake sign-ups hurt my service in various ways:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Email reputation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While the sign-ups are obvious fake, the actual email addresses appear to be real. So any confirmation email send to these addresses will be -correctly- regarded as SPAM and hurt Productific’s email reputation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Email cost&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While the sign-ups are obvious fake, the actual email addresses appear to be real. So any confirmation email send to these addresses will be -correctly- regarded as SPAM and hurt Productific’s email reputation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sign-up metrics&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;User metrics are polluted by fake sign-ups. Filtering these in all analysis is extra work, ideally fake accounts should not appear in user metrics.&lt;/p&gt;

&lt;p&gt;That pain must stop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Counter measures&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So I took the decision to block sign-up SPAM. The obvious choice is to introduce a captcha. Adding such a captcha would require my users to confirm that they are not a bot. Sometimes this is just a simple checkbox, sometimes they will be presented a short test to solve in order to prove they are not a bot. While it is an appropriate measure against fake sign-ups I do not want to put that burdon on my onboarding flow.&lt;/p&gt;

&lt;p&gt;Digging a little deeper I analyzed the bot’s behavior and weakness. I introduced the following automated counter measures which can successfully block fake sign-ups.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trick #1: measure sign-up time&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Bots are fast. They do not type a username and password, they automatically fill the form fields and submit their data. This is efficient to them but also reveals their true objectives. A human user would always take a few seconds to type username/password on a keyboard, the least a human would pull account info from Google/Apple’s keystores which also takes a moment. Hence, any sign-up that happens with zero time in the browser or with only a few milliseconds between page load and sign-up form submit is a bot.&lt;/p&gt;

&lt;p&gt;To measure sign-up time you can simply post a getTime() in server.render() or client.ready() and post the time elapsed since page load in a hidden form field. Submit that time elapsed to your backend and handle with appropriate care…&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trick #2: the honeypot&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Some bots blindly fill all the fields in a sign-up form. So I added a ‘honeypot’ username field, next the email address required, which the system is hiding via CSS. Bots which do not evaluate CSS will see this field and submit a username to sign-up, while human users will not see that field and not submit a user name. Just post that username to the backend, any sign-up with the ‘honeypot’ user provided must be a bot.&lt;/p&gt;

&lt;p&gt;Putting things in perspective: both tricks can be easily be bypassed by bots. Once someone has resources and willingness, these counter measures can be avoided by a bot. Adding a wait and avoiding a honeypot field is simple and easy. However, to actually bypass these counter measures a bot enhancement individual to my sign-up form is required — which represents real work to the bot owner. SPAM bots are rather moving elsewhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The obvious choice for blocking fake sign-ups is a captcha. But captchas dilute the onboarding experience. To avoid that burden for my users and maintain a lean onboarding experience I use the sign-up time and a honeypot field to automatically identify and flag sign-up bots. With two simple enhancements Productific is relieved of the sign-up SPAM pain — no captcha required.&lt;/p&gt;

</description>
      <category>spam</category>
      <category>bots</category>
      <category>signup</category>
      <category>fake</category>
    </item>
    <item>
      <title>Feature voting for your mobile app</title>
      <dc:creator>Frank</dc:creator>
      <pubDate>Sat, 14 Dec 2019 21:20:06 +0000</pubDate>
      <link>https://dev.to/productific/feature-voting-for-your-mobile-app-kc8</link>
      <guid>https://dev.to/productific/feature-voting-for-your-mobile-app-kc8</guid>
      <description>&lt;p&gt;App development is fun. And it sucks because it's a higly competitive market, only the best mobile apps succeed and prosper. Building what users really want is essential for survival and success.&lt;/p&gt;

&lt;p&gt;Choosing the best feature to build next is a difficult task. Many dependencies are to be considered, any feature-decision comes with advantages and drawbacks. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Q2Mwmzm---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://productific.com/image/5c7a3969ed2bed2441ec560a" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Q2Mwmzm---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://productific.com/image/5c7a3969ed2bed2441ec560a" alt="Choosing the best feature to build next is a difficult task"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Besides all the uncertainties there is also good guidance available: your &lt;strong&gt;active users&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;They use your product on a daily basis. They know what provides value to them and how your product can improve. Letting your users suggest improvements and vote for new features is a great way of engaging and including their perspective. After all, you and your users share a common goal: &lt;strong&gt;improving the product&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MFmMxH5N--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://productific.com/image/5c7a4064ed2bed2441ec560b" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MFmMxH5N--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://productific.com/image/5c7a4064ed2bed2441ec560b" alt="User feedback"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Feature voting&lt;/strong&gt; gives you the ability to see which improvements are desired most - by real users. By voting for new features users shape a roadmap for your app that optimizes user experience and product success at the same time. A product with happier users is a better product and a better product leads to greater business growth. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Tool support&lt;/strong&gt; drives growth. Some general purpose collaboration tools like Trello and Asana are optimized for "love at first sight": you start using it, like it immediately and want to put it to action anywhere in your business. While you can use a general purpose tool for feature voting, it can be a pain because these tools aren't tailor-made for shaping a product roadmap. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://productific.com"&gt;Productific&lt;/a&gt;, a leightweight SaaS tool for roadmap voting, gives you additional benefit:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Users engage in a dedicated tool, no chunky spreadsheets or task boards. &lt;/li&gt;
&lt;li&gt;Users can contribute new ideas directly via "request new feature", without having to use generic "create task" or "new entry" buttons. &lt;/li&gt;
&lt;li&gt;Feature requests are mapped to new or existing features in your backlog, you can also ignore requests when they are outside your targets. &lt;/li&gt;
&lt;li&gt;Users can view and vote on existing ideas&lt;/li&gt;
&lt;li&gt;Users can forward, share and comment ideas - built in. &lt;/li&gt;
&lt;li&gt;Users do not need to go through your support team to influence the product roadmap.&lt;/li&gt;
&lt;li&gt;Users can see which improvements are being worked on and stay engaged &lt;/li&gt;
&lt;li&gt;Ideas are automatically ranked to show the most attractive ones on top&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's all you need to identify the most attractive new features for your mobile app - and increase your app's popularity.&lt;/p&gt;

</description>
      <category>android</category>
      <category>ios</category>
      <category>feedback</category>
      <category>growth</category>
    </item>
  </channel>
</rss>
